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"

Reply via email to