[pacman-dev] [RFC] adding a --sysroot option

Andrew Gregory andrew.gregory.8 at gmail.com
Sun Dec 18 14:53:17 UTC 2016


On 11/29/16 at 10:58am, Andrew Gregory wrote:
> pacman's --root option is regularly (mis)used to use pacman to manage
> a mounted guest system, typically one whose pacman installation is
> currently broken.  We have a few configuration defaults in place to
> make this sort of work, but support is incomplete.  Those defaults
> only actually take effect if the settings haven't been set in
> a configuration file, several options still default to the host system
> resources, and using the guest's pacman configuration requires
> updating all configured paths to the new mounted location.
> 
> Adding a --sysroot/--chroot option would allow pacman to properly
> operate in a mounted guest system.  At the moment, there are two ways
> we could accomplish this:  prefix all paths with the sysroot or just
> call chroot(2).  Obviously, the problem with chroot(2) is that it
> requires special privileges.  Unfortunately, I think my symbolic
> user/group patch (https://patchwork.archlinux.org/patch/3694/) will
> require chroot to work properly as I can't find any other way to look
> up users/groups in a mounted guest.  So, we may have to implement both
> approaches so that regular users can perform queries but privileged
> users can perform transactions with proper symbolic name support.

How should --sysroot handle user-provided paths on the command-line?
Should they be treated as relative to --sysroot or the current root?
Assuming that at some point this will be implemented using chroot(2)
in at least some instances, all paths, including any package files
given to -U, *must* exist under --sysroot.  So, even though I think
interpreting paths relative to the current root is more intuitive, it
means extra work for us to determine if the path is accessible under
--sysroot.

apg


More information about the pacman-dev mailing list