Hi. You explained it more or less yourself. If you set up a build chroot you install "base-devel". This pulls in pacman, that pulls in systemd and this pulls in dbus-units to the "root container". Pacman always looks at the real package if there is one available and only consider a "provider" if there is no real package available. Since dbus-units is the "real package" and dbus-daemon-units/dbus-broker- units only provide "dbus-units", it will install the real package. dbus-units is there to have a default implementation. Otherwise the user would have to choose from the providers and this would break automation. Am Dienstag, dem 24.09.2024 um 23:41 +0000 schrieb u34@net9.cf:
$ pacman -Qi dbus-broker-units | grep Provides Provides : dbus-units
Seeing that, I assumed it is enough to have the dbus-broker-units package, without having the dbus-units package. That assumption turns to be wrong. While trying to build a chroot environment, if the dbus-units package can not be obtained, the process fails.
:: Retrieving packages... dbus-units-36-4-x86_64.pkg.tar.zst failed to download error: failed retrieving file 'dbus-units-36-4- x86_64.pkg.tar.zst' from the_repo : The requested URL returned error: 404 warning: failed to retrieve some files error: failed to commit transaction (failed to retrieve some files) Errors occurred, no packages were upgraded. ==> ERROR: Failed to install packages to new root ==> ERROR: Failed to install all packages
One reason for the explicit search for dbus-units is that systemd explicitly depends on dbus-units.
$ pacman -Qi systemd | grep dbus-units Depends On : ... dbus dbus-units ...
Am I confused? Why the chroot must have a dbus-units package?
-- u34