Jhbuild sysdeps reports incorrectly components with matching version as unavailable
Submitted by Sindhu S
Link to original bug (#712240)
Description
I am running Arch Linux with latest jhbuild.
Running jhbuild sysdeps
gives me:
System installed packages which are new enough: libnl (libnl-3.0.pc, required=3.2.7, installed=3.2.22) libpng (libpng.pc, installed=1.6.6) libproxy (libproxy-1.0.pc, installed=0.4.11) libtiff libwebp neon (neon.pc, installed=0.30.0) nspr (nspr.pc, required=4.9.2, installed=4.10.1) bison (required=2.0) pam libffi (libffi.pc, required=3.0.0, installed=3.0.13) ppp cracklib py3cairo (py3cairo.pc, required=1.10.0, installed=1.10.0) cups (required=1.4) intltool (required=0.50) js185 (mozjs185.pc) ragel ruby wayland-egl (wayland-egl.pc, required=1.0, installed=9.2.2) libXft (xft.pc, required=2.0.0, installed=2.3.1) libXinerama expat texinfo flex (required=2.0) xorg-kbproto (kbproto.pc, installed=1.0.6) wireless-tools (required=25) libacl geoclue1 (geoclue.pc, installed=0.12.99) libgcrypt (required=1.5.0) gperf libjpeg Required packages: System installed packages which are too old: (none) No matching system package installed: liboauth (oauth.pc, required=0.9.4) xkeyboard-config (xkeyboard-config.pc) libtasn1 (libtasn1.pc, required=2.7) icon-naming-utils (icon-naming-utils.pc, required=0.8.90) sqlite3 (sqlite3.pc, required=3.7.3) libusb1 (libusb-1.0.pc) libuuid (uuid.pc) libv4l (libv4l2.pc) libXcursor (xcursor.pc) startup-notification (libstartup-notification-1.0.pc, required=0.12) libvpx (vpx.pc) libxkbfile (xkbfile.pc) libxklavier (libxklavier.pc, required=5.2.1) libxml2 (libxml-2.0.pc, required=2.7.8) libxslt (libxslt.pc, required=1.1.26) libXt (xt.pc) nss (nss.pc, required=3.12.11) libXtst (xtst.pc, required=1) avahi (avahi-gobject.pc, required=0.6.31) pixman (pixman-1.pc, required=0.20) cairomm (cairomm-1.0.pc, required=1.8.4) dbus (dbus-1.pc, required=1.4.10) dbus-glib (dbus-glib-1.pc, required=0.98) lcms2 (lcms2.pc, required=2.2) libatasmart (libatasmart.pc, required=0.17) libX11 (x11.pc) libXcomposite (xcomposite.pc) dvdread (dvdread.pc, required=4.2.0) libXfixes (xfixes.pc) enchant (enchant.pc, required=1.6.0) shared-mime-info (shared-mime-info.pc, required=1.0) libXrandr (xrandr.pc, required=1.3) taglib (taglib.pc, required=1.5) flac (flac.pc, required=1.1.4) wavpack (wavpack.pc, required=4.2) sm (sm.pc) xorg-macros (xorg-macros.pc) gbm (gbm.pc) xorg-xproto (xproto.pc) libicu (icu-i18n.pc, required=4) libcanberra (libcanberra.pc, required=0.30) smbclient (smbclient.pc) xorg-wacom (xorg-wacom.pc) gl (gl.pc) libdrm (libdrm.pc, required=2.4.45) xcb-dri2 (xcb-dri2.pc, required=1.8.1) libexif (libexif.pc, required=0.6.19) gmime (gmime-2.6.pc, required=2.6.6) libarchive (libarchive.pc, required=3.0.0) libgphoto2 (libgphoto2.pc, required=2.4.13) gudev (gudev-1.0.pc, required=173) Optional packages: (JHBuild will build the missing packages) System installed packages which are too old: (none) No matching system package installed: poppler (poppler-glib.pc, required=0.24.1) exempi (exempi-2.0.pc, required=2.2.0) gnutls (gnutls.pc, required=3.0.26) libnice (nice.pc, required=0.1.3) cairo (cairo.pc, required=1.12.14) libmusicbrainz (libmusicbrainz5.pc, required=5.0.1) js17 (mozjs-17.0.pc, required=17.0.0) WebKit (webkitgtk-3.0.pc, required=2.3.1)
My PKG_CONFIG_PATH: /opt/gnome/lib64/pkgconfig:/opt/gnome/share/pkgconfig:/usr/lib/pkgconfig:/opt/gnome/lib/pkgconfig
pkg-config is able to find the packages that jhbuild reports as "No matching system package installed". For example:
➜ ~ pkg-config --modversion gnutls
3.0.26
➜ ~ pkg-config --modversion exempi-2.0
2.2.0
➜ ~ pkg-config --modversion webkitgtk-3.0
2.3.1
➜ ~ pkg-config --modversion nice
0.1.4
➜ ~ pkg-config --modversion libmusicbrainz
2.1.5
➜ ~ pkg-config --modversion cairo
1.12.14
I looked into sysdeps.py in the source code saw that module_state is where the new_enough var is coming from. I printed it out:
<SystemModule 'libnl'>
<SystemModule 'liboauth'>
<SystemModule 'libpng'>
<SystemModule 'libproxy'>
<SystemModule 'xkeyboard-config'>
<SystemModule 'libtasn1'>
<SystemModule 'icon-naming-utils'>
<SystemModule 'libtiff'>
<SystemModule 'sqlite3'>
<SystemModule 'libusb1'>
<SystemModule 'libuuid'>
<SystemModule 'libv4l'>
<SystemModule 'libXcursor'>
<SystemModule 'startup-notification'>
<SystemModule 'libvpx'>
<SystemModule 'libxkbfile'>
<SystemModule 'libxklavier'>
<SystemModule 'libxml2'>
<SystemModule 'libxslt'>
<SystemModule 'libwebp'>
<SystemModule 'libXt'>
<SystemModule 'neon'>
<SystemModule 'nss'>
<SystemModule 'nspr'>
<SystemModule 'libXtst'>
<SystemModule 'avahi'>
<SystemModule 'bison'>
<SystemModule 'pam'>
<SystemModule 'libffi'>
<SystemModule 'pixman'>
<SystemModule 'ppp'>
<SystemModule 'cairomm'>
<SystemModule 'cracklib'>
<AutogenModule 'poppler'>
<SystemModule 'py3cairo'>
<SystemModule 'cups'>
<SystemModule 'intltool'>
<AutogenModule 'exempi'>
<SystemModule 'js185'>
<SystemModule 'dbus'>
<SystemModule 'ragel'>
<SystemModule 'dbus-glib'>
<SystemModule 'ruby'>
<SystemModule 'lcms2'>
<AutogenModule 'gnutls'>
<SystemModule 'libatasmart'>
<SystemModule 'wayland-egl'>
<SystemModule 'libX11'>
<SystemModule 'libXcomposite'>
<AutogenModule 'libnice'>
<SystemModule 'dvdread'>
<SystemModule 'libXfixes'>
<SystemModule 'enchant'>
<SystemModule 'shared-mime-info'>
<SystemModule 'libXft'>
<SystemModule 'libXinerama'>
<SystemModule 'libXrandr'>
<SystemModule 'expat'>
<SystemModule 'taglib'>
<SystemModule 'texinfo'>
<SystemModule 'flac'>
<SystemModule 'wavpack'>
<SystemModule 'flex'>
<SystemModule 'sm'>
<SystemModule 'xorg-macros'>
<SystemModule 'gbm'>
<AutogenModule 'cairo'>
<SystemModule 'xorg-xproto'>
<SystemModule 'xorg-kbproto'>
<SystemModule 'wireless-tools'>
<SystemModule 'libacl'>
<SystemModule 'geoclue1'>
<SystemModule 'libicu'>
<SystemModule 'libcanberra'>
<SystemModule 'smbclient'>
<SystemModule 'xorg-wacom'>
<SystemModule 'gl'>
<SystemModule 'libdrm'>
<SystemModule 'xcb-dri2'>
<SystemModule 'libexif'>
<SystemModule 'gmime'>
<SystemModule 'libarchive'>
<SystemModule 'libgcrypt'>
<SystemModule 'libgphoto2'>
<SystemModule 'gperf'>
<CMakeModule 'libmusicbrainz'>
<SystemModule 'gudev'>
<AutogenModule 'js17'>
<AutogenModule 'WebKit'>
<SystemModule 'libjpeg'>
Notice how the same modules reported to be "No matching system package installed" are also listed as new_enough?