After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 659770 - gnome-shell-build-setup.sh does not correctly resolve dependencies on Ubuntu 11.10
gnome-shell-build-setup.sh does not correctly resolve dependencies on Ubuntu ...
Status: RESOLVED FIXED
Product: gnome-shell
Classification: Core
Component: building
unspecified
Other Linux
: Normal normal
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
Depends on:
Blocks:
 
 
Reported: 2011-09-21 22:01 UTC by mh512
Modified: 2011-11-05 12:55 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Patch for above mentioned problem (3.01 KB, patch)
2011-09-21 22:01 UTC, mh512
needs-work Details | Review
patch v2 (3.55 KB, patch)
2011-10-09 04:09 UTC, mh512
needs-work Details | Review
patch v3 (3.05 KB, patch)
2011-10-22 03:14 UTC, mh512
reviewed Details | Review
patch v4 (3.11 KB, patch)
2011-10-25 06:33 UTC, mh512
committed Details | Review

Description mh512 2011-09-21 22:01:20 UTC
Created attachment 197193 [details] [review]
Patch for above mentioned problem

The gnome-shell-build-setup.sh script does not correctly resolve dependencies on Ubuntu 11.10

The following packages are not (yet?) available in the oneiric repo:
  xulrunner-dev libreadline5-dev

The following packages are needed:
  gnome-doc-utils liboauth-dev libgjs-dev python-gobject-dev libxtst-dev liblcms2-dev libnm-glib-dev libnm-util-dev libwebkitgtk-3.0-dev


I have modified the script by adding an if branch for ubuntu.
I also added checks via "apt-cache search" to ensure that the script does not ask the user to install a package that cannot be found in the repo.

Attached is my patch.

Thanks,
minghan
Comment 1 Florian Müllner 2011-09-22 02:53:41 UTC
Review of attachment 197193 [details] [review]:

The missing dependencies are required on non-Ubuntu systems as well, so it would be a lot nicer to check the Debian/Mint sites for the respective packages. Other comments below:

::: tools/build/gnome-shell-build-setup.sh
@@ +65,3 @@
 # libgcrypt, libtasn1, libgnome-keyring, libgtop, cups, xcb, WebKit-gtk
 # libusb, libproxy, libdb, libproxy, sqlite, gudev, lcms2, sane
+# liboauth, libgjs, python-gobject, libxtst, liblcms2, libnm-glib, libnm-util

gjs is in the moduleset, so it should not be in this list. py(thon-)gobject and (lib)lcms2 are already included in the list. libnm-util is a Ubuntu specific package name (build from NetworkManager).

@@ +92,3 @@
+    reqd="
+      $reqd
+      gnome-doc-utils

I doubt gnome-doc-utils is only available for Ubuntu - check the Debian/Mint websites and add it above if possible (same applies to the other packages below)

@@ +98,3 @@
+  fi
+
+  reqdmaybe=" autopoint xulrunner-dev libreadline5-dev"

Those are not optional - the current autopoint check just makes it look like it was (if there is no separate autopoint package, it is provided by gettext - the package was split at some point).

In the case of libreadline, I suspect 11.10 will include a newer version, so do something like:

if apt-cache show libreadline6-dev > /dev/null 2> /dev/null; then
  reqd="$reqd libreadline6-dev"
else
  reqd="$reqd libreadline5-dev"
fi

With regard to xulrunner (just the js engine really), Ubuntu may now include mozjs (which is very much preferred anyway), so do another if/else for that.
Comment 2 Frederic Peters 2011-09-22 07:19:48 UTC
wrt libreadlineX-dev, there's a libreadline-dev package, that depends on the correct version.
(cf <http://packages.ubuntu.com/search?keywords=libreadline-dev>)
Comment 3 mh512 2011-10-09 04:09:40 UTC
Created attachment 198642 [details] [review]
patch v2

I have incorporated (most) of the feedback and updated the patch.
Tested on Ubuntu 11.10 beta 1.

Thanks,
minghan
Comment 4 Florian Müllner 2011-10-12 22:24:10 UTC
Review of attachment 198642 [details] [review]:

Apart from treating libnm-foo as "Ubuntu specific" which does not appear to be the case, the commit message is way too verbose - keep in mind that the *exact* changes are already contained in the patch ;-)

::: tools/build/gnome-shell-build-setup.sh
@@ +66,3 @@
+# libusb, libproxy, libdb, libproxy, sqlite, gudev, liblcms2, sane,
+# python-gobject, libxtst, liboauth,
+# libnm (Ubuntu specific)

Wrong according to the Debian package DB[0]

[0] http://packages.debian.org/search?suite=all&section=all&arch=any&searchon=names&keywords=libnm
Comment 5 mh512 2011-10-22 03:14:18 UTC
Created attachment 199716 [details] [review]
patch v3

Same as v2, but OK_ed libnm for debian.
Much shorter commit message too.

Thanks!
Comment 6 Jasper St. Pierre (not reading bugmail) 2011-10-24 20:06:00 UTC
Review of attachment 199716 [details] [review]:

::: tools/build/gnome-shell-build-setup.sh
@@ +92,3 @@
 
+  if apt-cache show xulrunner-dev > /dev/null 2> /dev/null; then
+    reqd="$reqd xulrunner-dev"

We tend to prefer libmozjs *over* xulrunner.
Comment 7 mh512 2011-10-25 06:33:59 UTC
Created attachment 199899 [details] [review]
patch v4

Same as v3, but incorporated suggestion to use libmozjs over xulrunner.

Thanks!
Comment 8 Jasper St. Pierre (not reading bugmail) 2011-10-25 08:49:56 UTC
Review of attachment 199899 [details] [review]:

Looks fine to me.
Comment 9 Jasper St. Pierre (not reading bugmail) 2011-11-04 20:44:23 UTC
Do you need someone to push this patch for you?
Comment 10 mh512 2011-11-05 06:43:55 UTC
Jasper, yep I do. Thanks!