GNOME Bugzilla – Bug 742266
[meta] make 'jhbuild sysdeps' absolutely comprehensive
Last modified: 2021-05-17 16:00:58 UTC
This is a meta-bug for a lot work around the 'jhbuild sysdeps' command. I want to make 'jhbuild sysdeps' absolutely comprehensive. In practical terms that means that any user who has jhbuild installed will be able to type 'jhbuild sysdeps --install' and get a system that will proceed through the build without any problems. In terms of a concrete goal, I consider this a nice test: I want to get to a place where we can do: jhbuild sysdeps --dump-all and get a list of dependencies. I then want to have a tool to turn that into a list of packages for a given distribution (this will probably be a separate tool from jhbuild -- for most users 'sysdeps --install' is what they want). Installing those packages into a minbase debootstrap chroot should result in an environment that is completely capable of building everything. To take this up to 'level two', I think that we should also be able to repeat this process in a pristine chroot for every single individual package in the output of 'jhbuild list'. For example, picking NetworkManager, I should be able to type (on a clean system): jhbuild sysdeps --install NetworkManager jhbuild build NetworkManager and expect that to work. There are currently a large number of missing dependencies that go unnoticed because they are required by other packages in the same moduleset (and those other packages are not a dependency of the package in question). Actually testing this, as described, would be prohibitively expensive. I therefore also want to develop a system where it is possible to do 'jhbuild buildone --to-tar module' that builds a single module and puts the results in a .tar file. We could then proceed (roughly) as follows: foreach pkgname in `jhbuild list`: prepare pristine chroot jhbuild sysdeps --install $pkgname foreach dep in `jhbuild list $pkgname`: unpack .tar for dep jhbuild postinst # run triggers jhbuild buildone --to-tar pkgname save .tar, delete chroot in effect, each package would be built in its own pristine environment with only its explicitly listed dependencies present. The result is a set of .tar files -- one for each built module. If we automate it, then it's possible to imagine some nice things that could be done with those... I don't think that this feature should be part of jhbuild proper, but it would probably make a nice scripts/ addition.
-- 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/207.