Add a wrapper for LD_LIBRARY_PATH to gnome-shell so we don't have to rebuild gjs for xulrunner updates

Bug #576991 reported by Micah Gersten on 2010-05-07
96
This bug affects 19 people
Affects Status Importance Assigned to Milestone
gjs (Ubuntu)
Medium
Micah Gersten
Lucid
Medium
Unassigned
Maverick
Medium
Micah Gersten
gnome-shell (Ubuntu)
Medium
Micah Gersten
Lucid
Medium
Micah Gersten
Maverick
Medium
Micah Gersten

Bug Description

Reason for SRU: stop the need to rebuild gjs after every xulrunner upload
SRU Test Case:
Install Try xulrunner-1.9.2 1.9.2.8 and gnome-shell
Upgrade to xulrunner-1.9.2 1.9.2.9 and watch gnome-shell be removed
downgrade to xulrunner-1.9.2 1.9.2.8
install proposed packages
gnome-shell should work
upgrade to xulrunner-1.9.2 1.9.2.9 and gnome-shell should still work

----------------------------------------------

Binary package hint: gnome-shell

We'll add a wrapper so that gnome-shell and gjs can find the xulrunner libs it needs dynamically and we don't have to rebuild gjs for every xulrunner security upload.

Micah Gersten (micahg) wrote :

For gjs, it's a matter of building against xulrunner-1.9.2 without specifying a version.

Changed in gnome-shell (Ubuntu):
assignee: nobody → Micah Gersten (micahg)
importance: Undecided → Medium
milestone: none → lucid-updates
status: New → In Progress
Changed in gjs (Ubuntu):
assignee: nobody → Micah Gersten (micahg)
importance: Undecided → Medium
status: New → In Progress
milestone: none → lucid-updates
Changed in gjs (Ubuntu Lucid):
assignee: nobody → Micah Gersten (micahg)
Changed in gnome-shell (Ubuntu Lucid):
assignee: nobody → Micah Gersten (micahg)
Changed in gjs (Ubuntu Lucid):
importance: Undecided → Medium
Changed in gnome-shell (Ubuntu Lucid):
importance: Undecided → Medium
Changed in gjs (Ubuntu Lucid):
status: New → Triaged
Changed in gnome-shell (Ubuntu Lucid):
status: New → Triaged
Micah Gersten (micahg) wrote :

Sorry, for gjs it's adding unversioned binary depends on xulrunner-1.9.2

I'm not sure whether this would be the best way to solve the problem, but couldn't you install a file in /etc/ld.so.conf.d for xulrunner-1.9.2 so that the appropriate directory is included in the library search path? A related bug, from which this suggestion comes, is https://bugs.launchpad.net/ubuntu/+source/xulrunner-1.9/+bug/557275.

Chris Coulson (chrisccoulson) wrote :

Thanks, but we won't be installing a file in /etc/ld.so.conf.d because we don't want xulrunner to be treated as a normal system library (this is why it is not already installed in an existing search path). If we wanted to treat xulrunner as a system library, then we would install all of the libraries in /usr/lib instead.

Harry (harry33) wrote :

Could this be done the debian way.
The debian packages gnome-shell (2.31.5), gjs (0.7.1-1) and libgjs0a (0.7.1-1) depend on the package libmozjs2d, which provides the file libmozjs.so.2d.
So these are not depending on the package xulrunner.

Not unless we add back libmozjs which is what bug 286906 is for.

On 08/07/2010 02:58 PM, Harry wrote:
> Could this be done the debian way.
> The debian packages gnome-shell (2.31.5), gjs (0.7.1-1) and libgjs0a
(0.7.1-1) depend on the package libmozjs2d, which provides the file
libmozjs.so.2d.
> So these are not depending on the package xulrunner.
>

Harry (harry33) wrote :

Exactly, this works in debian.
libmozjs2d for xulrunner_1.9.1.11
libmozjs3d for xulrunner_1.9.2.8

Micah Gersten (micahg) on 2010-09-03
Changed in gjs (Ubuntu Maverick):
milestone: lucid-updates → ubuntu-10.10
Changed in gnome-shell (Ubuntu Maverick):
milestone: lucid-updates → ubuntu-10.10
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gjs - 0.7.1-1ubuntu2

---------------
gjs (0.7.1-1ubuntu2) maverick; urgency=low

  * fix LP: #576991 - Make gjs not need a rebuild for each xulrunner release;
    Use dh_xulrunner to add binary depends on xulrunner for libgjs0a;
    Add binary depends on xulrunner-dev (>= 1.9.2) for libgjs-dev
    - update debian/control
    - update debian/rules
  * fix LP: #629631 - gnome-shell will not install due to depends issues; fixed
    by the above changes
  * Add back chrpath as a build-dep and delete the rpath in libgjs; Any rdepends
    of libgjs will now need a wrapper script to find libmozjs
    - update debian/rules
    - update debian/control
  * Add a wrapper around gjs-console so it can find libmozjs; install wrapper
    in override_dh_install
    - update debian/rules
 -- Micah Gersten <email address hidden> Sat, 04 Sep 2010 21:03:36 -0500

Changed in gjs (Ubuntu Maverick):
status: In Progress → Fix Released
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gnome-shell - 2.31.5-2ubuntu2

---------------
gnome-shell (2.31.5-2ubuntu2) maverick; urgency=low

  * Fix gnome-shell to set LD_LIBRARY_PATH so that libmozjs can be found;
    Don't use pkg-config, use xulrunner-1.9.2 to figure out the path to
    libmozjs (LP: #576991) (LP: #629828)
    - update debian/patches/04_workaround_libmozjs_build.patch
  * Drop binary depends on pkg-config and replace with xulrunner-1.9.2;
    xulrunner-1.9.2 is already pulled in by the depends in any case, but
    now it's needed directly by gnome-shell
    - update debian/control.in
 -- Micah Gersten <email address hidden> Sat, 04 Sep 2010 21:00:09 -0500

Changed in gnome-shell (Ubuntu Maverick):
status: In Progress → Fix Released
thiagoss (thiagossantos) wrote :

Any plans for Lucid?

Micah Gersten (micahg) wrote :

 Yes, shortly.

On 09/10/2010 07:04 AM, thiagoss wrote:
> Any plans for Lucid?
>

Micah Gersten (micahg) wrote :
Changed in gjs (Ubuntu Lucid):
assignee: Micah Gersten (micahg) → nobody
status: Triaged → Confirmed
Changed in gnome-shell (Ubuntu Lucid):
assignee: Micah Gersten (micahg) → nobody
status: Triaged → Confirmed
Micah Gersten (micahg) on 2010-09-13
description: updated
Stefano Rivera (stefanor) wrote :

gjs:
O: libgjs0: binary-or-shlib-defines-rpath ./usr/lib/libgjs-gi.so.0.0.0 /usr/lib/xulrunner-1.9.2.3

gnome-shell:
I don't see the dependancy changes mentioned in the changelog.

Micah Gersten (micahg) wrote :

Dropped rpath for /usr/lib/libgjs-gi.so.0.0.0 as well

Micah Gersten (micahg) wrote :

Fixed binary depends

Stefano Rivera (stefanor) wrote :

I: libgjs0: unused-override binary-or-shlib-defines-rpath

Do we want to drop that override too?

Changed in gnome-shell (Ubuntu Lucid):
status: Confirmed → Fix Committed

Accepted gnome-shell into lucid-proposed, the package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

tags: added: verification-needed
Micah Gersten (micahg) wrote :

lintian override removed

Stefano Rivera (stefanor) wrote :

gjs uploaded to lucid-proposed.

As soon as it's accepted we can rebuild the gnome-shell in proposed, sorry I think my pbuilder didn't test it with -updates and -proposed enabled.

Changed in gjs (Ubuntu Lucid):
status: Confirmed → Fix Committed

Verification for Lucid:
I can not test the version in lucid-proposed because of bug 642724 which seems to be a regression for bug 608940

Martin Pitt (pitti) wrote :

Accepted gjs into lucid-proposed, the package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

 That's not a regression. That's expected until this bug is fixed
(which is what the packages in -proposed are supposed to do :) )

On 09/23/2010 05:38 AM, Jean-Baptiste Lallement wrote:
> Verification for Lucid:
> I can not test the version in lucid-proposed because of bug 642724 which seems to be a regression for bug 608940
>

Stefano Rivera (stefanor) wrote :

> (which is what the packages in -proposed are supposed to do :) )

Except that they were uploaded in the wrong order, so gnome-shell hasn't built yet, and build until gjs has built. I'll organise the rebuilds.

situations improving on lucid used to be having to restrict the version of xulrunner to get things to work now its simpler
 as harry said in the duplicate (he made a link to the version in xulrunner-1.9.2.8)
As a workaround, I made a symlink to /usr/lib/xulrunner-1.9.2.10/libmozjs.so in the directory /usr/lib/
Now gnome-shell loads OK.
wonder if it will break again on the next update - least ways now gnome-shell doesn't get uninstalled on upgrades which i found happening previously.

Stefano Rivera (stefanor) wrote :

To update this bug with a conversation that happened on IRC:
gnome-shell doesn't seem to build on lucid-proposed (it did before upload). Micah Gersten will investigate this and provide a new patch.

Changed in gnome-shell (Ubuntu Lucid):
assignee: nobody → Micah Gersten (micahg)
Micah Gersten (micahg) wrote :

This patch adds LD_LIBRARY_PATH to the build system which should fix the FTBFS.

Stefano Rivera (stefanor) wrote :

Uploaded

Accepted gnome-shell into lucid-proposed, the package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

I have never left feedback on a bug before so sorry if this isn't useful. I enabled lucid-proposed, gnome-shell installed with no broken packages. Please let me know if you need any more information.

Martin Pitt (pitti) wrote :

Thanks for testing!

tags: added: verification-done
removed: verification-needed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gjs - 0.5-1ubuntu2.3

---------------
gjs (0.5-1ubuntu2.3) lucid-proposed; urgency=low

  * fix LP: #576991 - Make gjs not need a rebuild for each xulrunner release;
    Use dh_xulrunner to add binary depends on xulrunner for libgjs0a;
    Add binary depends on xulrunner-dev (>= 1.9.2) for libgjs-dev
    - update debian/control
    - update debian/rules
  * Add back chrpath as a build-dep and delete the rpath in libgjs and
    libgjs-gi.so; Any rdepends of libgjs will now need a wrapper script to find
    libmozjs
    - update debian/rules
    - update debian/control
  * Add a wrapper around gjs-console so it can find libmozjs; install wrapper
    in override_dh_install
    - update debian/rules
    - add debian/gjs-console.sh
  * Drop lintian override for libgj0 since we dropped the rpath
    - drop debian/libgjs0.lintian-overrides
 -- Micah Gersten <email address hidden> Fri, 17 Sep 2010 09:29:37 +0200

Changed in gjs (Ubuntu Lucid):
status: Fix Committed → Fix Released
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gnome-shell - 2.28.1~git20091125-1ubuntu0.2

---------------
gnome-shell (2.28.1~git20091125-1ubuntu0.2) lucid-proposed; urgency=low

  * Add LD_LIBRARY_PATH to the build system so libmozjs symbols can be found
    (LP: #576991); Patch adapted from Maverick version
    - add debian/patches/04_workaround_libmozjs_build.patch
 -- Micah Gersten <email address hidden> Tue, 19 Oct 2010 08:49:07 +0200

Changed in gnome-shell (Ubuntu Lucid):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers