GNOME Bugzilla – Bug 686592
jhbuild sysdeps --install problem on Debian
Last modified: 2021-05-17 15:54:58 UTC
Created attachment 226944 [details] sysdeps output I'm trying to start to contribute to gnome, but I'm having a hard time with jhbuild on Debian. Since there are a lot of dependencies not on Debian (some newer than available in repos), someone on gnome-shell-list pointed me that I should use 'jhbuild sysdeps --install' that it would install those dependencies as system packages (using apt) if they were found, and directly on jhbuild environment if they are not. The problem is that running it is doing nothing. The complete output is attached on the bug. I tried to do a simple debug..The problem seems to be here: (line 188 to 208 on utils/systeminstall.py) I put a print before the "if len(pk_package_ids) == 0" for pk_package_ids and pkconfig_ids. This is what they printed: pk_package_ids = set([]) # empty set pkconfig_ids = [u'soundtouch-1.4', u'python', u'wavpack', u'xcb-aux', u'vpx', u'icu-i18n', u'flac', u'libv4l2', u'taglib', u'libnl-3.0', u'libpulse', u'speex', u'oauth', u'pycairo', u'libexif', u'sndfile', u'libxslt', u'libproxy-1.0', u'libgphoto2', u'icon-naming-utils', u'libcanberra-gtk', u'poppler-glib', u'bluez',u'json', u'liboil-0.3'] I don't know what WhatProvides does, but it's ending as an empty set at the end. Maybe it would check for available system packages, but it's strange because most of those packages exists on Debian (like python, bluez, speex, etc). And even if it didn't find any, I was expecting it to install those on jhbuild (maybe that is another bug?) I'm on Debian Wheezy (testing) running the last version of jhbuild from git.
Thank you for the detailed report. Here are my thoughts on what might be happening: JHBuild uses PackageKit's WhatProvides [1]. For 'values' JHBuild passes ['pkgconfig(soundtouch-1.4)', 'pkgconfig(python)', ...]. The documentation says 'values' is backend specific, so perhaps 'pkgconfig(blah)' isn't supported by apt backend. If so, JHBuild shouldn't use pkgconfig(blah) on apt backend. Maybe use SearchFiles [2] with /usr/lib/pkgconfig/blah.pc 'pkgconfig(blah)' works on yum backend - PackageKit forwards 'pkgconfig(blah)' onto rpmdb which handles the request. [1] http://www.packagekit.org/gtk-doc/Transaction.html#Transaction.WhatProvides [2] http://www.packagekit.org/gtk-doc/Transaction.html#Transaction.SearchFiles
One thing that I noticed now.. When running the installer, it first tries to use AptSystemInstall. It didn't before because I didn't have apt-file installed (Maybe it could be something that sanitycheck checks on apt based systems? It's not a default package on Debian and probably neither on derivate distros like Ubuntu) So this is not a problem to me anymore, but still a bug. And just to be sure: After installing some packages using apt, some others weren't found. As I pointed out on my first post, I was hopping that in the end, that other missing packages would be download and installed in jhbuild environment. Am I doing something wrong? Is this a bug too (if it is, I'll open another bug for it)? Or is another command responsibility? And many thanks for the fast response. I'll see if I can provide a patch for this if I have some time (and if no one fix this first :P).
-- GitLab Migration Automatic Message -- This bug has been migrated to GNOME's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/jhbuild/-/issues/148.