Package: gjs Version: 0.4-4 Severity: wishlist Tags: patch User: ubuntu-de...@lists.ubuntu.com Usertags: origin-ubuntu lucid ubuntu-patch
*** /tmp/tmpZdM6qE In Ubuntu, we've applied the attached patch to achieve the following: + debian/control: - Add Build-Depends on dbus-x11 and uuid-runtime for the testsuite + debian/rules: - Apply ltmain-add-as-needed.patch after autoreconf to fix libtool handling of --as-needed. - Add -Wl,--as-needed -Wl,z,defs to LDFLAGS. This removes unnecessary linkages from the libraries, fixing some dpkg-shlibdeps warnings. - Remove testEverythingBasic.js and testEverythingEncapsulated.js from the test suite. These fail because our gobject-introspection packages don't include Everything-1.0.typelib. (Launchpad bug 510426 filed for this, Debian bug is #550478). - Enable the rest of the testsuite. + debian/ltmain-add-as-needed.patch - Patch from Debian bug 347650 to fix libtools --as-needed handling. We thought you might be interested in doing the same. -- System Information: Debian Release: squeeze/sid APT prefers lucid-security APT policy: (500, 'lucid-security'), (500, 'lucid') Architecture: amd64 (x86_64) Kernel: Linux 2.6.32-10-generic (SMP w/2 CPU cores) Locale: LANG=en_AU.utf8, LC_CTYPE=en_AU.utf8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash
diff -u gjs-0.4/debian/rules gjs-0.4/debian/rules --- gjs-0.4/debian/rules +++ gjs-0.4/debian/rules @@ -13,15 +13,32 @@ - dh_auto_configure --sourcedirectory=_build + cd _build && patch -p3 < ../debian/ltmain-add-as-needed.patch + dh_auto_configure --sourcedirectory=_build -- LDFLAGS="$(LDFLAGS) -Wl,-z,defs -Wl,--as-needed" override_dh_auto_build: dh_auto_build --sourcedirectory=_build override_dh_auto_install: dh_auto_install --sourcedirectory=_build override_dh_clean: rm -rf _build dh_clean override_dh_auto_test: - true + # Our gir-repository packages don't build Everything.typelib, so the + # Everything tests will fail. Just remove them. + rm _build/test/js/testEverythingBasic.js + rm _build/test/js/testEverythingEncapsulated.js + dh_auto_test --sourcedirectory=_build diff -u gjs-0.4/debian/changelog gjs-0.4/debian/changelog diff -u gjs-0.4/debian/control gjs-0.4/debian/control --- gjs-0.4/debian/control +++ gjs-0.4/debian/control @@ -1,22 +1,25 @@ Source: gjs Section: interpreters Priority: extra -Maintainer: Gustavo Noronha Silva <gustavo.noro...@collabora.co.uk> +Maintainer: Ubuntu Developers <ubuntu-devel-disc...@lists.ubuntu.com> +XSBC-Original-Maintainer: Gustavo Noronha Silva <gustavo.noro...@collabora.co.uk Build-Depends: debhelper (>= 7.3.0), autotools-dev, autoconf, automake1.7, libtool, pkg-config, libdbus-glib-1-dev, libglib2.0-dev, libgirepository1.0-dev (>= 0.6.3), gobject-introspection (>= 0.6.5-3), gir1.0-glib-2.0, - xulrunner-dev (>= 1.9) + xulrunner-dev (>= 1.9), + dbus-x11, + uuid-runtime Standards-Version: 3.8.3 Homepage: http://live.gnome.org/Gjs Package: gjs @@ -32,7 +35,12 @@ Package: libgjs0 Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends}, ${gir:Depends} Description: Mozilla-based javascript bindings for the GNOME platform Makes it possible for applications to use all of GNOME's platform libraries using the Javascript language. It's mainly based on the @@ -45,8 +53,9 @@ Section: libdevel Depends: libgjs0 (= ${binary:Version}), ${misc:Depends}, libgirepository1.0-dev Description: Mozilla-based javascript bindings for the GNOME platform Makes it possible for applications to use all of GNOME's platform libraries using the Javascript language. It's mainly based on the only in patch2: unchanged: --- gjs-0.4.orig/debian/ltmain-add-as-needed.patch +++ gjs-0.4/debian/ltmain-add-as-needed.patch @@ -0,0 +1,43 @@ +Description: Patch to add --as-needed magic to ltmain.sh + This patch needs to be applied after autoreconf is run, and autoreconf should + be copying files, not symlinking (ie: the '-s' option should not be given) so + that system-wide files aren't accidentally patched. + . + This should be more robust than copying a pre-patched version of ltmain.sh + from debian/ on build, as ltmain.sh needs to be exactly the same version as + the rest of libtool. + . + This is somewhat of a hack taken from an attachment to Debian bug 347650 +Author: Josselin Mouette <j...@debian.org> + + +--- libtool-2.2.6b/libltdl/config/ltmain.sh 2010-01-04 05:33:00.810981679 +0000 ++++ libtool-as-needed/libltdl/config/ltmain.sh 2010-01-04 00:18:29.715388881 +0000 +@@ -4716,6 +4716,11 @@ + arg=$func_stripname_result + ;; + ++ -Wl,--as-needed) ++ deplibs="$deplibs $arg" ++ continue ++ ;; ++ + -Wl,*) + func_stripname '-Wl,' '' "$arg" + args=$func_stripname_result +@@ -5070,6 +5075,15 @@ + lib= + found=no + case $deplib in ++ -Wl,--as-needed) ++ if test "$linkmode,$pass" = "prog,link"; then ++ compile_deplibs="$deplib $compile_deplibs" ++ finalize_deplibs="$deplib $finalize_deplibs" ++ else ++ deplibs="$deplib $deplibs" ++ fi ++ continue ++ ;; + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs"