Source: vlc
Version: 2.0.0-5
Severity: serious
Justification: FTBFS

Hi Benjamin and others,

as you know I have been spending countless hours trying to get vlc to
build on kfreebsd to unfuck some transitions. I was finally getting at a
working patch (part of it *from upstream*), while you uploaded the
(upstream) patch with another change which basically reverts its effect.
(Hint: --as-needed)

You'll find attached the patch I prepared and which has been tested both
on kfreebsd and on linux.


(On a personal note, next time, please don't blame me for:
 - your failure to attribute the patch to its actual author;
 - your failure to wait for the patch I said I was polishing, and
   actually testing on a porter box;
 - your basically reverting the patch through an extra link flag.

I realize I'm probably sounding angry. But that's the current state of
affairs.)

Mraw,
KiBi.
diff -Nru vlc-2.0.0/debian/changelog vlc-2.0.0/debian/changelog
--- vlc-2.0.0/debian/changelog	2012-03-01 16:04:30.000000000 +0100
+++ vlc-2.0.0/debian/changelog	2012-03-01 16:05:40.000000000 +0100
@@ -1,3 +1,16 @@
+vlc (2.0.0-4.1) unstable; urgency=high
+
+  * Non-maintainer upload.
+  * Fix FTBFS on GNU/kFreeBSD:
+    - Add link-vlc-cache-gen-with-libstdc++.patch taken from upstream
+      after some investigation with Sam. This prevents vlc-cache-gen
+      from crashing.
+    - Exclude some more plugins from non-Linux .install files (on a
+      separate sed line to ease further maintainer review).
+  * Set urgency to high for the RC bug fix.
+
+ -- Cyril Brulebois <k...@debian.org>  Thu, 01 Mar 2012 07:52:44 +0000
+
 vlc (2.0.0-4) unstable; urgency=low
 
   * Enable and install Open Sound System (OSS) plugin.
diff -Nru vlc-2.0.0/debian/patches/link-vlc-cache-gen-with-libstdc++.patch vlc-2.0.0/debian/patches/link-vlc-cache-gen-with-libstdc++.patch
--- vlc-2.0.0/debian/patches/link-vlc-cache-gen-with-libstdc++.patch	1970-01-01 01:00:00.000000000 +0100
+++ vlc-2.0.0/debian/patches/link-vlc-cache-gen-with-libstdc++.patch	2012-03-01 16:05:40.000000000 +0100
@@ -0,0 +1,34 @@
+From: Sam Hocevar <s...@hocevar.net>
+Date: Wed, 29 Feb 2012 19:53:07 +0000 (+0100)
+Subject: Link vlc-cache-gen with the C++ standard library
+X-Git-Url: http://repo.or.cz/w/vlc.git/commitdiff_plain/07d38617832be934896fa7a14fe52f1a65c901ab
+
+Link vlc-cache-gen with the C++ standard library to avoid issues when we
+dlclose() a C++ plugin that was built with a faulty library that may have
+registered __cxa_atexit callbacks (usually through the libstdc++ that
+library was built with).
+
+Upgrading libstdc++ is not always a solution since some code may have been
+inlined and we can't get rid of it.
+---
+
+diff --git a/bin/Makefile.am b/bin/Makefile.am
+index 832d482..40b4f46 100644
+--- a/bin/Makefile.am
++++ b/bin/Makefile.am
+@@ -59,7 +59,7 @@ vlc_win32_rc.rc: $(top_builddir)/config.status vlc_win32_rc.rc.in
+ vlc_win32_rc.$(OBJEXT): vlc_win32_rc.rc
+ 	$(WINDRES) --include-dir $(top_srcdir)/share/icons -i $< -o $@
+ 
+-vlc_cache_gen_SOURCES = cachegen.c
++vlc_cache_gen_SOURCES = cachegen.c dummy.cpp
+ vlc_cache_gen_LDADD = \
+ 	$(GNUGETOPT_LIBS) \
+ 	../compat/libcompat.la \
+diff --git a/bin/dummy.cpp b/bin/dummy.cpp
+new file mode 100644
+index 0000000..56a8b38
+--- /dev/null
++++ b/bin/dummy.cpp
+@@ -0,0 +1 @@
++/* This file is only here to force cachegen to be linked against libstdc++ */
diff -Nru vlc-2.0.0/debian/patches/series vlc-2.0.0/debian/patches/series
--- vlc-2.0.0/debian/patches/series	2012-03-01 16:04:30.000000000 +0100
+++ vlc-2.0.0/debian/patches/series	2012-03-01 16:05:40.000000000 +0100
@@ -1,3 +1,4 @@
 bp-monotonic-clock.patch
 altivec-cflags.patch
 v4l-kfreebsd.patch
+link-vlc-cache-gen-with-libstdc++.patch
diff -Nru vlc-2.0.0/debian/rules vlc-2.0.0/debian/rules
--- vlc-2.0.0/debian/rules	2012-03-01 16:04:30.000000000 +0100
+++ vlc-2.0.0/debian/rules	2012-03-01 16:05:40.000000000 +0100
@@ -181,6 +181,8 @@
 	# Remove some modules on non-linux arch
 	sed -e '/\(lib\|libaccess_\)\(alsa\|atmo\|dc1394\|dv\|fb\|pvr\|udev\)_/d' \
 	 debian/vlc-nox.install > debian/vlc-nox.install.kfreebsd
+	# More of them for 2.0.0
+	sed -i '/libdtv_plugin\|liblinsys_hdsdi_plugin\|liblinsys_sdi_plugin/d' debian/vlc-nox.install.kfreebsd
 	sed -e '/\(lib\|libaccess_\)v4l2_/d' \
 	 debian/vlc-nox.install.kfreebsd > debian/vlc-nox.install.hurd
 	cp tmp/libvlc.a debian/tmp/usr/lib

Attachment: signature.asc
Description: Digital signature

Reply via email to