summaryrefslogtreecommitdiff
path: root/misc
diff options
context:
space:
mode:
authorDaniel Caujolle-Bert <f1rmb@users.sourceforge.net>2001-04-18 22:33:39 +0000
committerDaniel Caujolle-Bert <f1rmb@users.sourceforge.net>2001-04-18 22:33:39 +0000
commitdb6b7c2e1c52c536a7f9690a410bf69817e0b2c5 (patch)
treefdaf7537abca3d4875ad21322c54888914ed15a2 /misc
downloadxine-lib-db6b7c2e1c52c536a7f9690a410bf69817e0b2c5.tar.gz
xine-lib-db6b7c2e1c52c536a7f9690a410bf69817e0b2c5.tar.bz2
Initial revision
CVS patchset: 1 CVS date: 2001/04/18 22:33:39
Diffstat (limited to 'misc')
-rw-r--r--misc/Makefile.am20
-rw-r--r--misc/SlackBuild.in191
-rwxr-xr-xmisc/autogen.sh74
-rw-r--r--misc/build_rpms.sh.in93
-rw-r--r--misc/debian/changelog25
-rw-r--r--misc/debian/control52
-rw-r--r--misc/debian/copyright32
-rw-r--r--misc/debian/menu2
-rwxr-xr-xmisc/debian/rules75
-rw-r--r--misc/debian/xine.docs3
-rwxr-xr-xmisc/upload.pl131
-rw-r--r--misc/xine-config.in81
-rw-r--r--misc/xine-lib.spec.in80
-rw-r--r--misc/xine_logo.pngbin0 -> 41894 bytes
14 files changed, 859 insertions, 0 deletions
diff --git a/misc/Makefile.am b/misc/Makefile.am
new file mode 100644
index 000000000..14efe45d9
--- /dev/null
+++ b/misc/Makefile.am
@@ -0,0 +1,20 @@
+EXTRA_DIST = autogen.sh upload.pl SlackBuild.in SlackBuild build_rpms.sh \
+ xine-lib.spec.in xine-lib.spec \
+ debian/control debian/copyright debian/menu \
+ debian/rules debian/changelog debian/xine.docs
+
+bin_SCRIPTS = xine-config
+
+datadir = $(XINE_SKINDIR)
+data_DATA = xine_logo.png
+
+debug:
+
+mostlyclean-generic:
+ -rm -f *~ \#* .*~ .\#*
+
+
+maintainer-clean-generic:
+ -@echo "This command is intended for maintainers to use;"
+ -@echo "it deletes files that may require special tools to rebuild."
+ -rm -f Makefile.in
diff --git a/misc/SlackBuild.in b/misc/SlackBuild.in
new file mode 100644
index 000000000..5db360cda
--- /dev/null
+++ b/misc/SlackBuild.in
@@ -0,0 +1,191 @@
+#!/bin/sh
+#
+# This script generate some valid Slackware packages
+#
+#
+# Some variables.
+#
+CWD=`pwd`
+PACKAGE=@PACKAGE@.tgz
+SLCK=$CWD/slack
+PREFIX=@prefix@
+PKG=$CWD/slktmp
+TMPBUILD=$CWD/tmpbuild
+#DOINSTDIR=/install
+
+#
+# Create package description for pkgtool.
+#
+do_descr() {
+cat > package_descriptions << EOF
+@PACKAGE@: @PACKAGE@ @SPEC_VERSION@.
+@PACKAGE@:
+@PACKAGE@: xine is a free gpl-licensed video player for unix-like systems.
+@PACKAGE@: We support mpeg-2 and mpeg-1 system (audio + video multiplexed) streams,
+@PACKAGE@: eventually mpeg-4 and other formats might be added.
+
+@PACKAGE@: xine plays the video and audio data of mpeg-2 videos and synchronizes
+@PACKAGE@: the playback of both. Depending on the properties of the mpeg stream,
+@PACKAGE@: playback will need more or less processor power, 100% frame rate
+@PACKAGE@: has been seen on a 400 MHz P II system.
+EOF
+}
+
+#
+# Building binaries process, then install and move package in right place
+#
+do_build() {
+ cd $CWD
+ rm -rf $TMPBUILD
+ mkdir -p $TMPBUILD
+ cd $TMPBUILD && tar -xzf $CWD/@TAR_NAME@.tar.gz
+ cd @TAR_NAME@
+ DIE=1
+ ./configure --prefix=$PREFIX && make && make install-strip prefix=$PKG/$PREFIX && \
+ cd $PKG && \
+ echo "n" | makepkg $PACKAGE && \
+ mv $PACKAGE $SLCK && \
+ cd $SLCK && DIE=0
+ do_descr
+}
+
+#
+# Cleaning building directory
+#
+do_clean() {
+ rm -rf $TMPBUILD
+ rm -f $PACKAGE package_descriptions
+ rm -rf $PKG
+ cd $CWD
+}
+
+#
+# Build for PPro
+#
+build_pentiumpro() {
+ echo "*****************************************************"
+ echo
+ echo "building slack for @PACKAGE@ @VERSION@"
+ echo
+ echo "current architecture:pentiumpro"
+ echo "slackware package will be copied to ./slack directory"
+ echo
+ echo "*****************************************************"
+ rm -rf $PKG
+ export XINE_BUILD=i686-pc-linux-gnu
+ do_build
+ if test "$DIE" -eq 0; then
+ tar -czvf @PACKAGE@-@VERSION@-i686.tar.gz $PACKAGE package_descriptions
+ fi
+ do_clean
+}
+
+#
+# Build for Pentium
+#
+build_pentium() {
+ echo "*****************************************************"
+ echo
+ echo "building slack for @PACKAGE@ @VERSION@"
+ echo
+ echo "current architecture:pentium"
+ echo "slackware package will be copied to ./slack directory"
+ echo
+ echo "*****************************************************"
+ rm -rf $PKG
+ export XINE_BUILD=i586-pc-linux-gnu
+ do_build
+ if test "$DIE" -eq 0; then
+ tar -czvf @PACKAGE@-@VERSION@-i586.tar.gz $PACKAGE package_descriptions
+ fi
+ do_clean
+}
+
+#
+# Build for K6
+#
+build_k6() {
+ echo "*****************************************************"
+ echo
+ echo "building slack for @PACKAGE@ @VERSION@"
+ echo
+ echo "current architecture:k6"
+ echo "slackware package will be copied to ./slack directory"
+ echo
+ echo "*****************************************************"
+ rm -rf $PKG
+ export XINE_BUILD=k6-pc-linux-gnu
+ do_build
+ if test "$DIE" -eq 0; then
+ tar -czvf @PACKAGE@-@VERSION@-k6.tar.gz $PACKAGE package_descriptions
+ fi
+ do_clean
+}
+
+#
+# Build for K7
+#
+build_k7() {
+ echo "*****************************************************"
+ echo
+ echo "building slack for @PACKAGE@ @VERSION@"
+ echo
+ echo "current architecture:k7"
+ echo "slackware package will be copied to ./slack directory"
+ echo
+ echo "*****************************************************"
+ rm -rf $PKG
+ export XINE_BUILD=athlon-pc-linux-gnu
+ do_build
+ if test "$DIE" -eq 0; then
+ tar -czvf @PACKAGE@-@VERSION@-k7.tar.gz $PACKAGE package_descriptions
+ fi
+ do_clean
+}
+
+#
+# Main function
+#
+main() {
+ rm -rf $SLCK
+ mkdir -p $SLCK
+ rm -f config.cache && ./autogen.sh && make dist
+ build_pentiumpro
+ build_pentium
+ build_k6
+ build_k7
+ mv -f $CWD/@TAR_NAME@.tar.gz $SLCK
+}
+
+
+#
+# Handle arguments if available.
+#
+build_arch() {
+ rm -rf $SLCK
+ mkdir -p $SLCK
+ rm -f config.cache && ./autogen.sh && make dist
+ $barch
+ mv -f $CWD/@TAR_NAME@.tar.gz $SLCK
+}
+case "$1" in
+ pentiumpro | ppro | i686 | 686)
+ barch=build_pentiumpro
+ build_arch
+ ;;
+ pentium | i586 | 586)
+ barch=build_pentium
+ build_arch
+ ;;
+ k6)
+ barch=build_k6
+ build_arch
+ ;;
+ k7 | athlon)
+ barch=build_k7
+ build_arch
+ ;;
+ *)
+ main
+ ;;
+esac \ No newline at end of file
diff --git a/misc/autogen.sh b/misc/autogen.sh
new file mode 100755
index 000000000..2d347ee18
--- /dev/null
+++ b/misc/autogen.sh
@@ -0,0 +1,74 @@
+#!/bin/sh
+# Run this to generate all the initial makefiles, etc.
+# This was lifted from the Gimp, and adapted slightly by
+# Raph Levien, slightly hacked for xine by Daniel Caujolle-Bert.
+
+DIE=0
+
+PROG=xine-lib
+
+(autoconf --version) < /dev/null > /dev/null 2>&1 || {
+ echo
+ echo "You must have autoconf installed to compile $PROG."
+ echo "Download the appropriate package for your distribution,"
+ echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
+ DIE=1
+}
+
+(libtool --version) < /dev/null > /dev/null 2>&1 || {
+ echo
+ echo "You must have libtool installed to compile $PROG."
+ echo "Get ftp://ftp.gnu.org/pub/gnu/libtool-1.2.tar.gz"
+ echo "(or a newer version if it is available)"
+ DIE=1
+}
+
+(automake --version) < /dev/null > /dev/null 2>&1 || {
+ echo
+ echo "You must have automake installed to compile $PROG."
+ echo "Get ftp://ftp.gnu.org/pub/gnu/automake-1.3.tar.gz"
+ echo "(or a newer version if it is available)"
+ DIE=1
+}
+
+(aclocal --version) < /dev/null > /dev/null 2>&1 || {
+ echo
+ echo "**Error**: Missing aclocal. The version of automake"
+ echo "installed doesn't appear recent enough."
+ echo "Get ftp://ftp.gnu.org/pub/gnu/automake-1.3.tar.gz"
+ echo "(or a newer version if it is available)"
+ DIE=1
+}
+
+if [ "$DIE" -eq 1 ]; then
+ exit 1
+fi
+
+aclocalinclude="$ACLOCAL_FLAGS"; \
+(echo -n " + Running aclocal: "; \
+ aclocal $aclocalinclude; \
+ echo "done.") && \
+(echo -n " + Running libtoolize: "; \
+ libtoolize --force; \
+ echo "done.") && \
+(echo -n " + Running autoheader: "; \
+ autoheader; \
+ echo "done.") && \
+(echo -n " + Running automake: "; \
+ automake --gnu --add-missing; \
+ echo "done.") && \
+(echo -n " + Running autoconf: "; \
+ autoconf; \
+ echo "done.")
+
+rm -f config.cache
+
+if [ x"$NO_CONFIGURE" = "x" ]; then
+ echo " + Running 'configure $@':"
+ if [ -z "$*" ]; then
+ echo " ** If you wish to pass arguments to ./configure, please"
+ echo " ** specify them on the command line."
+ fi
+ ./configure "$@" && \
+ echo "Now type 'make' to compile $PKG_NAME" || exit 1
+fi
diff --git a/misc/build_rpms.sh.in b/misc/build_rpms.sh.in
new file mode 100644
index 000000000..22630b35b
--- /dev/null
+++ b/misc/build_rpms.sh.in
@@ -0,0 +1,93 @@
+#!/bin/sh
+
+#if [ $# -ne 1 ] ; then
+# echo "usage: $0 version number"
+# exit 1
+#fi
+
+# Some rpm checks
+RPMVERSION=`rpm --version | tr [A-Z] [a-z] | sed -e 's/[a-z]//g' -e 's/\.//g' -e 's/ //g'`
+
+# rpm version 4 return 40
+if [ `expr $RPMVERSION` -lt 100 ]; then
+ RPMVERSION=`expr $RPMVERSION \* 10`
+fi
+
+if [ `expr $RPMVERSION` -lt 400 ]; then
+ RPM_BA="rpm -ba -ta ./@PACKAGE@_@VERSION@.tar.gz"
+ RPM_BB="rpm -bb -ta ./@PACKAGE@_@VERSION@.tar.gz"
+else
+ RPM_BA="rpm -ta ./@PACKAGE@_@VERSION@.tar.gz -ba"
+ RPM_BB="rpm -ta ./@PACKAGE@_@VERSION@.tar.gz -bb"
+fi
+
+##VERSION="@XINE_MAJOR@.@XINE_MINOR@.@XINE_SUB@"
+
+echo "Creating tarball..."
+rm -f config.cache && ./autogen.sh && make dist
+mv -f @TAR_NAME@.tar.gz @PACKAGE@_@VERSION@.tar.gz
+rm -rf rpms
+mkdir rpms
+
+echo "*****************************************************"
+echo
+echo "building rpm for @PACKAGE@ @VERSION@"
+echo
+echo "current architecture:pentiumpro"
+echo "rpms will be copied to ./rpms directory"
+echo
+echo "*****************************************************"
+
+export XINE_BUILD=i686-pc-linux-gnu
+
+eval $RPM_BA
+
+cp '/usr/src/redhat/SRPMS/@PACKAGE@-@SPEC_VERSION@-0.src.rpm' ./rpms/
+mv '/usr/src/redhat/RPMS/i386/@PACKAGE@-@SPEC_VERSION@-0.i386.rpm' './rpms/@PACKAGE@-@SPEC_VERSION@-0.i686.rpm'
+
+echo "*****************************************************"
+echo
+echo "building rpm for @PACKAGE@ @VERSION@"
+echo
+echo "current architecture:k6"
+echo "rpms will be copied to ./rpms directory"
+echo
+echo "*****************************************************"
+
+export XINE_BUILD=k6-pc-linux-gnu
+
+eval $RPM_BB
+
+mv '/usr/src/redhat/RPMS/i386/@PACKAGE@-@SPEC_VERSION@-0.i386.rpm' './rpms/@PACKAGE@-@SPEC_VERSION@-0.k6.rpm'
+
+echo "*****************************************************"
+echo
+echo "building rpm for @PACKAGE@ @VERSION@"
+echo
+echo "current architecture:pentium"
+echo "rpms will be copied to ./rpms directory"
+echo
+echo "*****************************************************"
+
+export XINE_BUILD=i586-pc-linux-gnu
+
+eval $RPM_BB
+
+mv '/usr/src/redhat/RPMS/i386/@PACKAGE@-@SPEC_VERSION@-0.i386.rpm' './rpms/@PACKAGE@-@SPEC_VERSION@-0.i586.rpm'
+
+echo "*****************************************************"
+echo
+echo "building rpm for @PACKAGE@ @VERSION@"
+echo
+echo "current architecture:k7"
+echo "rpms will be copied to ./rpms directory"
+echo
+echo "*****************************************************"
+
+export XINE_BUILD=athlon-pc-linux-gnu
+
+eval $RPM_BB
+
+mv '/usr/src/redhat/RPMS/i386/@PACKAGE@-@SPEC_VERSION@-0.i386.rpm' './rpms/@PACKAGE@-@SPEC_VERSION@-0.k7.rpm'
+
+echo "Done."
diff --git a/misc/debian/changelog b/misc/debian/changelog
new file mode 100644
index 000000000..83d7296aa
--- /dev/null
+++ b/misc/debian/changelog
@@ -0,0 +1,25 @@
+xine (0.4.0-2) unstable; urgency=low
+
+ * added upstream ChangeLog (closes: Bug#88402)
+
+ -- Siggi Langauf <siggi@debian.org> Sun, 4 Mar 2001 13:04:42 +0100
+
+xine (0.4.0-1) unstable; urgency=low
+
+ * new upstream version with totally new architecture (refer to ChangeLog)
+
+ * now using seperate binary packages for input plugins
+ * switched to non-native package format
+ * separate binary package for DVD plugin
+
+
+ -- Siggi Langauf <siggi@debian.org> Sat, 3 Mar 2001 01:35:01 +0100
+
+
+(old changelog entries are in upstream ChangeLog)
+
+
+
+Local variables:
+mode: debian-changelog
+End:
diff --git a/misc/debian/control b/misc/debian/control
new file mode 100644
index 000000000..2e4c2d4bb
--- /dev/null
+++ b/misc/debian/control
@@ -0,0 +1,52 @@
+Source: xine
+Section: graphics
+Priority: optional
+Maintainer: Siggi Langauf <siggi@debian.org>
+Build-Depends: debhelper (>>2.0.0), imlib-dev (>=1.9.8.1), libasound1-dev (>=0.5.9), liborbit-dev (>=0.5.6-1)
+Standards-Version: 3.1.1
+
+Package: xine
+Architecture: i386
+Depends: ${shlibs:Depends}
+Suggests: xserver-xfree86 (>> 4.0)
+Description: MPEG, VCD, DVD audio/video player for X11
+ Xine plays MPEG system streams (ie. MPEG videos with sound). In contrast
+ to many other players, it does its best to synchronize audio and video.
+ .
+ MPEG streams can be read from plain files, pipes, network sockets, Video CDs
+ or DVDs.
+ .
+ For DVD playback, an input plugin is required. You can use xine-dvd, the
+ original plugin that comes with xine. If you want to play region locked or
+ encrypted DVDs, you'll need an enhanced DVD plugin, like xine-dvd-css.
+ .
+ Xine currently _cannot_ play pure MPEG video streams (without audio).
+ You will need another Player (like smpeg-xmms or the old smpeg-gtv)
+ for this.
+ .
+ For optimal performance (and full screen support), the Xvideo extension (Xv)
+ is reqired. Xv is supported by some XFree4 drivers. Of course, xine will also
+ run with XFree 3.x, using the MIT-shm extension, but you might experience
+ performance problems. For windows codecs, Xv is required.
+ (See the README for more info)
+ .
+ Rudimentary support for AVI files (DivX;-) is known to work) is included.
+ However, you'll need windows codec DLLs for that. Of course, xine will
+ happily work without those DLLs, playing only MPEG streams.
+
+Package: xine-dvd
+Architecture: i386
+Depends: xine (>=0.4.0), ${shlibs:Depends}
+Conflicts: xine (<<0.4.0)
+Provides: xine-input-plugin
+Description: DVD (non-CSS) input plugin for xine
+ This input plugin enables xine to play unencrypted, region-free
+ DVDs. It does NOT contain CSS decryption or IFO parsing, so most
+ DVDs will look quite poor: Chapters, subtitle colors, names for
+ subtitle or audio channels, multi-angle support are not supported by
+ this plugin.
+ .
+ This is the "official" DVD plugin from the xine project. There are some
+ unofficial plugins which support CSS descrambling or IFO parsing. However,
+ the legal status of these features is unclear...
+
diff --git a/misc/debian/copyright b/misc/debian/copyright
new file mode 100644
index 000000000..ef4e6b87e
--- /dev/null
+++ b/misc/debian/copyright
@@ -0,0 +1,32 @@
+Xine was written by Günter Bartsch <guenter@users.sourceforge.net>
+and the xine development team. (see AUTHORS file for more credits)
+
+This package is maintained by Siggi Langauf <siggi@debian.org> as part of
+the upstream source, so the Debian source package is the upstream source.
+The original source, including current CVS versions can also be found on
+the xine homapage at
+
+http://xine.sourceforge.net/
+
+
+
+Copyright (C) 2000 the xine project
+
+xine is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+xine is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+
+On Debian systems, the full text of the GPL can be found in
+/usr/share/common-licenses/GPL
+
+
diff --git a/misc/debian/menu b/misc/debian/menu
new file mode 100644
index 000000000..c78fa7283
--- /dev/null
+++ b/misc/debian/menu
@@ -0,0 +1,2 @@
+?package(xine):needs=X11 section=Apps/Viewers\
+ title="xine" command="/usr/bin/xine"
diff --git a/misc/debian/rules b/misc/debian/rules
new file mode 100755
index 000000000..dca6fd40d
--- /dev/null
+++ b/misc/debian/rules
@@ -0,0 +1,75 @@
+#!/usr/bin/make -f
+#
+# debian/rules file for xine, the debhelper version.
+# inspired by a sample debian/rules file from dh_make
+
+# to make debhelper verbose:
+#export DH_VERBOSE=1
+
+export DH_COMPAT=2
+
+# Build architecture "i686-pc-linux-gnu" ensures that all optimizations
+# are compiled in. They are checked at runtime, so this has no portability
+# issues (on i386 arch...)
+ifeq ($(strip $(XINE_BUILD)),)
+export XINE_BUILD=i686-pc-linux-gnu
+endif
+
+configure: configure-stamp
+configure-stamp:
+ dh_testdir
+ ./configure --prefix=/usr --mandir=/usr/share/man
+ touch configure-stamp
+
+build: configure-stamp build-stamp
+build-stamp:
+ dh_testdir
+ $(MAKE)
+ touch build-stamp
+
+clean:
+ dh_testdir
+ dh_testroot
+ rm -f build-stamp configure-stamp
+ -$(MAKE) distclean
+ dh_clean
+
+install: build
+ dh_testdir
+ dh_testroot
+ dh_clean -k
+ dh_installdirs
+ $(MAKE) install prefix=`pwd`/debian/xine/usr \
+ mandir=`pwd`/debian/xine/usr/share/man
+ chmod a-x debian/xine/usr/lib/xine/plugins/*
+ mkdir -p debian/xine-dvd/usr/lib/xine/plugins
+ mv debian/xine/usr/lib/xine/plugins/input_dvd.so \
+ debian/xine-dvd/usr/lib/xine/plugins/input_dvd.so
+ rm debian/xine/usr/lib/xine/plugins/*.la
+# The freebsd README is not really interesting for Debian users
+ -rm debian/xine/usr/share/doc/xine/README.freebsd
+
+
+binary-indep: build install
+# no architecture independent files.
+
+
+binary-arch: build install
+ dh_testdir
+ dh_testroot
+ dh_installdocs
+ dh_installmenu
+# dh_installmanpages
+ dh_installchangelogs -k ChangeLog
+ dh_strip
+ dh_compress
+ dh_fixperms
+# dh_makeshlibs
+ dh_installdeb
+ dh_shlibdeps
+ dh_gencontrol
+ dh_md5sums
+ dh_builddeb
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary install configure
diff --git a/misc/debian/xine.docs b/misc/debian/xine.docs
new file mode 100644
index 000000000..2904d3e30
--- /dev/null
+++ b/misc/debian/xine.docs
@@ -0,0 +1,3 @@
+AUTHORS
+TODO
+doc/dataflow.dia
diff --git a/misc/upload.pl b/misc/upload.pl
new file mode 100755
index 000000000..8a87dea16
--- /dev/null
+++ b/misc/upload.pl
@@ -0,0 +1,131 @@
+#!/usr/bin/perl
+#
+# upload.pl - upload files to the xine "Download" page
+#
+# usage: upload.pl [-y] [-r<release-version>] [-s<section>] <file> [...]
+#
+# OPTIONS: release-version: the version number of this file. If omitted, the
+# newest version on the page is used.
+# Only the last -r option counts.
+#
+# section: the heading under which this file should appear. If
+# omitted, we'll try to autodetect it from the file suffix:
+# .rpm => "RPMs"
+# .tar.gz => "source tarball"
+# .deb => "Debian"
+# .dsc => "Debian"
+#
+# -y: don't ask for upload confirmation
+#
+# EXAMPLE:
+# ./upload.pl -r1.0 xine_1.0_i386.deb -sSlackware xine-1.0.tar.gz
+#
+
+## begin configuration ######################################################
+
+$UPLOAD_HOST = "xine.sourceforge.net";
+$UPLOAD_PATH = "/home/groups/xine/htdocs";
+$INDEX_FILE = "download.html";
+$FILE_SUBDIR = "files";
+$TMP_DIR = "/tmp/xine-upload.$$";
+$PROGRAM_NAME = "xine";
+$LINK_FONT = '<font face="Verdana,Helvetica,Arial" size=4>';
+$END_FONT = '</font>';
+
+## end of configuration #####################################################
+
+mkdir $TMP_DIR, 0755 || die "could not mkdir $TMP_DIR";
+mkdir "$TMP_DIR/$FILE_SUBDIR", 0755;
+
+print "fetching old Download page...\n";
+system ("scp $UPLOAD_HOST:$UPLOAD_PATH/$INDEX_FILE $TMP_DIR");
+open(IN, "$TMP_DIR/$INDEX_FILE") || die "unable to open $TMP_DIR/$INDEX_FILE";
+if (!read(IN, $thepage, 409600)) {
+ die "unable to read $TMP_DIR/$INDEX_FILE";
+}
+close(IN);
+
+if ($thepage =~ /<h1>\s*$PROGRAM_NAME\s+(\S+)\s*<\/h1>/si) {
+ $current_release=$1;
+ print "current release is $current_release.\n";
+}
+else {
+ $current_release="(unknown version)";
+ print "WARNING: could not find current release in download page.\n";
+}
+
+## parse command line
+$section = "source tarball";
+$release = $current_release;
+%files = ();
+$yes = 0;
+
+foreach (@ARGV) {
+ if (/^\-r/) {
+ $release = $_;
+ $release =~ s/\-r//;
+ }
+ elsif (/^\-s/) {
+ $section = $_;
+ $section =~ s/\-s//;
+ }
+ elsif (/^\-y/) {
+ $yes = 1;
+ }
+ else {
+ die "$_: no such file" unless -f $_;
+ $filen = $_;
+ $filen =~ s/^.*?([^\/]*)$/\1/;
+ $files{$section} .= " $filen";
+ print "will add $filen to section $section.\n";
+ system("cp $_ '$TMP_DIR/$FILE_SUBDIR'");
+ }
+}
+print "using release id $release.\n";
+
+## add new files to the page
+sub ensureSection() { #$section, $release
+ $rel = $thepage;
+ $rel =~ s/^.*<h1>\s*$PROGRAM_NAME\s+$release\s*<\/h1>//si;
+ $rel =~ s/<h1>.*$//si;
+ if ($rel =~ /<h2>\s*$section\s*<\/h2>/si) {
+ return;
+ }
+ else {
+ print "creating new section \"$section\" for release $release.\n";
+ unless ($thepage =~ /<h1>\s*$PROGRAM_NAME\s+$release\s*<\/h1>/si) {
+ $thepage = "<h1>$PROGRAM_NAME $release</h1>\n" . $thepage;
+ }
+ $newSection = "<h2>$section</h2>\n\n$LINK_FONT\n$END_FONT\n\n\n";
+ $thepage =~ /^(.*<h1>\s*$PROGRAM_NAME\s+$release\s*<\/h1>.*?)(<h1>.*)$/is;
+ $thepage = $1.$newSection.$2;
+ return;
+ }
+}
+
+print "editing Download page...\n";
+foreach (keys(%files)) {
+ $section = $_;
+ ensureSection();
+ $newLinks = $files{$section};
+ print "file list for \"$section\": $newLinks\n";
+ $newLinks =~ s/ (\S*)/<a href=\"$FILE_SUBDIR\/\1\">\1<\/a> <br>\n/sg;
+ $thepage =~ /^(.*<h1>\s*$PROGRAM_NAME\s+$release\s*<\/h1>.*?<h2>\s*$section\s*<\/h2>.*?)($END_FONT.*)$/is;
+ $thepage = $1 . $newLinks . $2;
+}
+
+open(OUT, ">$TMP_DIR/$INDEX_FILE");
+print OUT $thepage;
+close(OUT);
+
+unless ($yes) {
+ print "\nAre you sure you want to upload files? [no] ";
+ $answer = <STDIN>;
+ $yes = 1 if $answer =~ /^y/i;
+}
+
+if ($yes) {
+ system("scp -r '$TMP_DIR/$INDEX_FILE' '$TMP_DIR/$FILE_SUBDIR' '$UPLOAD_HOST:$UPLOAD_PATH'");
+}
+
+system("rm -r $TMP_DIR");
diff --git a/misc/xine-config.in b/misc/xine-config.in
new file mode 100644
index 000000000..4081407dd
--- /dev/null
+++ b/misc/xine-config.in
@@ -0,0 +1,81 @@
+#!/bin/sh
+#
+#
+
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+exec_prefix_set=no
+
+usage()
+{
+ cat <<EOF
+Usage: xine-config [OPTIONS] [LIBRARIES]
+Options:
+ [--prefix[=DIR]]
+ [--exec-prefix[=DIR]]
+ [--version]
+ [--libs]
+ [--cflags]
+EOF
+ exit $1
+}
+
+if test $# -eq 0; then
+ usage 1 1>&2
+fi
+
+while test $# -gt 0; do
+ case "$1" in
+ -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) optarg= ;;
+ esac
+
+ case $1 in
+ --prefix=*)
+ prefix=$optarg
+ if test $exec_prefix_set = no ; then
+ exec_prefix=$optarg
+ fi
+ ;;
+ --prefix)
+ echo_prefix=yes
+ ;;
+ --exec-prefix=*)
+ exec_prefix=$optarg
+ exec_prefix_set=yes
+ ;;
+ --exec-prefix)
+ echo_exec_prefix=yes
+ ;;
+ --version)
+ echo @XINE_MAJOR@.@XINE_MINOR@.@XINE_SUB@
+ ;;
+ --cflags)
+ echo_cflags=yes
+ ;;
+ --libs)
+ echo_libs=yes
+ ;;
+ *)
+ usage 1 1>&2
+ ;;
+ esac
+ shift
+done
+
+if test "$echo_prefix" = "yes"; then
+ echo $prefix
+fi
+
+if test "$echo_exec_prefix" = "yes"; then
+ echo $exec_prefix
+fi
+
+if test "$echo_cflags" = "yes"; then
+ echo -I@includedir@
+fi
+
+if test "$echo_libs" = "yes"; then
+ echo -L@libdir@ -lxine
+fi
+
diff --git a/misc/xine-lib.spec.in b/misc/xine-lib.spec.in
new file mode 100644
index 000000000..4cc2c019c
--- /dev/null
+++ b/misc/xine-lib.spec.in
@@ -0,0 +1,80 @@
+# Note that this is NOT a relocatable package
+%define ver @SPEC_VERSION@
+%define rel 0
+%define prefix @prefix@
+%define name @PACKAGE@
+
+Name: %{name}
+Summary: A Free Video Player.
+Summary(ko): °ø°³ µ¿¿µ»ó Ç÷¹À̾î
+Version: %{ver}
+Release: %{rel}
+Copyright: GPL
+Group: Applications/X11
+Source: http://xine.sourceforge.net/files/@PACKAGE@_@VERSION@.tar.gz
+URL: http://xine.sourceforge.net
+Packager: Daniel Caujolle-Bert <f1rmb@users.sourceforge.net>
+BuildRoot: /tmp/%{name}-root
+
+%description
+xine is a free gpl-licensed video player for unix-like systems.
+We support mpeg-2 and mpeg-1 system (audio + video multiplexed) streams,
+eventually mpeg-4 and other formats might be added.
+
+xine plays the video and audio data of mpeg-2 videos and synchronizes
+the playback of both. Depending on the properties of the mpeg stream,
+playback will need more or less processor power, 100% frame rate
+has been seen on a 400 MHz P II system.
+
+%description -l fr
+xine est un lecteur vidéo libre sous license GPL pour les systèmes de
+type unix. Nous supportons les flux mpeg-2 et mpeg-1 (audio + vidéo
+multiplexés), éventuellement le mpeg-4 et d'autres formats peuvent
+êtres ajoutés.
+
+xine joue les données vidéo et audio de vidéo mpeg-2 et synchronise
+la lecture des deux. En fonction des propriétes du flux mpeg,
+la lecture aura besoin de plus ou moins de puissance du processeur,
+100% de restitution de trame a été vus sur un système PII 400MHz.
+
+%description -l ko
+xine ´Â GPL¶óÀ̼±½º¸¦ µû¸£´Â UNIX¿ë °ø°³ µ¿¿µ»ó Ç÷¹À̾îÀÔ´Ï´Ù. ÀÌ
+Ç÷¹À̾î´Â mpeg-2 ¿Í mpeg 1 ½ºÆ®¸²À» Áö¿øÇϸç, ÇöÀç´Â Áö¿øÇÏÁö
+¾ÊÁö¸¸ ³ªÁß¿¡´Â mpeg-4 ¿Í ´Ù¸¥ Çü½ÄÀÇ µ¿¿µ»óµµ Áö¿øÇÒ ¿¹Á¤ÀÔ´Ï´Ù.
+
+%prep
+%setup -n @TAR_NAME@
+
+%build
+./configure --prefix=%{prefix}
+make
+
+%install
+if [ -d $RPM_BUILD_ROOT ]; then rm -rf $RPM_BUILD_ROOT; fi
+#mkdir -p $RPM_BUILD_ROOT/usr/include/X11/pixmaps
+make install-strip prefix=$RPM_BUILD_ROOT%{prefix}
+#cp doc/*.xpm $RPM_BUILD_ROOT/usr/include/X11/pixmaps
+
+#%post
+#/sbin/ldconfig
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files
+%defattr(-,root,root)
+%{prefix}/bin/xine
+%{prefix}/man/man1/xine.*
+%{prefix}/man/fr/man1/xine.*
+%{prefix}/lib/xine/plugins/*.la
+%{prefix}/lib/xine/plugins/*.so
+%{prefix}/share/xine/skins/*
+%{prefix}/share/doc/xine/*
+
+%changelog
+* Thu Mar 28 2001 Daniel Caujolle-Bert <f1rmb@users.sourceforge.net>
+- add korean summary, patch from Louis JANG <louis@ns.mizi.com>
+* Thu Jan 11 2001 Daniel Caujolle-Bert <f1rmb@users.sourceforge.net>
+- patch from Sung-Hyun Nam <namsh@lgic.co.kr> applied.
+* Fri Oct 17 2000 Daniel Caujolle-Bert <f1rmb@users.sourceforge.net>
+- first spec file.
diff --git a/misc/xine_logo.png b/misc/xine_logo.png
new file mode 100644
index 000000000..3aad01fc9
--- /dev/null
+++ b/misc/xine_logo.png
Binary files differ