GNOME Bugzilla – Bug 659770
gnome-shell-build-setup.sh does not correctly resolve dependencies on Ubuntu 11.10
Last modified: 2011-11-05 12:55:28 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
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.
wrt libreadlineX-dev, there's a libreadline-dev package, that depends on the correct version. (cf <http://packages.ubuntu.com/search?keywords=libreadline-dev>)
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
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§ion=all&arch=any&searchon=names&keywords=libnm
Created attachment 199716 [details] [review] patch v3 Same as v2, but OK_ed libnm for debian. Much shorter commit message too. Thanks!
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.
Created attachment 199899 [details] [review] patch v4 Same as v3, but incorporated suggestion to use libmozjs over xulrunner. Thanks!
Review of attachment 199899 [details] [review]: Looks fine to me.
Do you need someone to push this patch for you?
Jasper, yep I do. Thanks!