Jhbuild custom repositories and packages

How do I add custom repositories (other than gitlab.gnome.org) and packages to jhbuild?

Specifically, I would like to checkout and build https://gitlab.freedesktop.org/polkit/polkit/ as part of my jhbuild workspace. jhbuild will try to checkout any package form gitlab.gnome.org/GNOME, e.g. jhbuild buildone polkit will try to fetch the package from https://gitlab.gnome.org/GNOME/polkit.

The reason I want to add polkit to the workspace is that gnome-shell depends on more recent versions of polkit than what is available in the host distribution:
(gnome-shell:31894): Gjs-WARNING **: 01:11:05.996: JS ERROR: Error: Requiring Shell, version none: Typelib file for namespace 'PolkitAgent', version '1.0' not found @resource:///org/gnome/shell/ui/environment.js:13:7 @<main>:1:1

Bonus question: How would I add this setting to the jhbuild repository such that these packages, which are not part of the GNOME repo, will be checked out automatically?

This is very unlikely. gnome-shell depends on polkit 0.100, which was released in early 2011 (that’s before GNOME 3.0).

The more likely reason is that your distribution split the typelib in question from the main polkit package.

jhbuild is not tied to gitlab.gnome.org, that’s merely a fallback when you try to build a module it doesn’t know about.

The existing modulesets contain quite a few dependencies that are not hosted on GNOME infrastructure, which can serve as a template.

(But note that polkit-agent is a system dependency for a good reason, see above)

Then I am not sure which package would be missing. I experienced this on Ubuntu 18.04 LTS and the latest 20.04 development version. jhbuild sysdeps does not show unresolved dependencies. I can work around this by manually cloning the polkit repo into checkout and building this explicitly.

Does this mean, that I can add custom packages to bootstrap.modules and potentially open a MR for this?

Does this mean that polkit should not be part of the moduleset?

I’m not a Ubuntu expert (or even user), but my guess is on gir1.2-polkit-1.0.

Modules are usually added to one of gnome-suites-core, gnome-suites-core-deps, gnome-apps or gnome-world rather than bootstrap - that moduleset provides basic buildtools on Mac OS where sysdeps don’t work - but yes, it’s possible to open MR for any jhbuild changes (including moduleset changes).

But not for adding polkit, because …

… it already is part of the gnome-sysdeps-latest moduleset. Which is appropriate, given that RHEL 6 is probably the only supported distribution that doesn’t satisfy the dependency (RHEL 7 and 8 of course do).

However there clearly is an issue with sysdeps support on Ubuntu, I’m sure any MR that improves its adequacy is welcome.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.