summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--contrib/Makefile.am2
-rw-r--r--contrib/README.contrib47
2 files changed, 49 insertions, 0 deletions
diff --git a/contrib/Makefile.am b/contrib/Makefile.am
index 7b7ad76c4..388d53831 100644
--- a/contrib/Makefile.am
+++ b/contrib/Makefile.am
@@ -39,3 +39,5 @@ clean-local:
distclean-local:
-$(MAKE) -C ffmpeg distclean
+
+EXTRA_DIST = README.contrib
diff --git a/contrib/README.contrib b/contrib/README.contrib
new file mode 100644
index 000000000..8881dfcba
--- /dev/null
+++ b/contrib/README.contrib
@@ -0,0 +1,47 @@
+The contrib/ subdirectory for xine-lib contains the code for libraries
+that are not developed by the xine project, but are rather imported
+from other projects.
+
+These libraries are imported either because they need to be patched to
+fix bugs not yet fixed in any released version, to make it simpler for
+the users to have the library installed, or because there's no proper
+release done by that project.
+
+This README file should explain how to upgrade the code present in the
+contrib/ directory with new sources from the development project.
+
+FFmpeg
+------
+
+FFmpeg does not have proper releases at the moment, which means that
+to be safe that the correct version of FFmpeg is used by xine-lib
+users, a copy of the Subversion repository has to be imported in the
+source package.
+
+To upgrade the code coming from FFmpeg project, you have to run the
+following commands:
+
+ cd ${xine-lib-checkout}/contrib
+ rm -rf ffmpeg
+ svn export svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
+ find ffmpeg > ffmpeg-distfiles
+
+This will take a new checkout of FFmpeg and put it in place; if there
+hasn't been functional changes in their build system, this should be
+enough (if there has been, and you don't know about them, you
+shouldn't be doing the contrib/ upgrade).
+
+After this, you need to make sure that Mercurial knows to remove the
+files that were removed by FFmpeg upstream and to add the files that
+were added by FFmpeg upstream. A way to handle this is (assuming that
+you didn't try to compile xine-lib with the updated ffmpeg yet):
+
+ cd ${xine-lib-checkout}/contrib/ffmpeg
+ hg status | egrep '^!' | cut -d ' ' -f 2 | xargs hg rm
+ hg status | egrep '^?' | cut -d ' ' -f 2 | xargs hg add
+
+This should register the file changes that happened.
+
+The ffmpeg-distfiles file is used by the make dist target to know
+which files needs to be copied over in the tarball file, so it's
+important that is always up to date.