Re: pkg installation into non-default location
- Reply: Emmanuel Vadot : "Re: pkg installation into non-default location"
- In reply to: Emmanuel Vadot : "Re: pkg installation into non-default location"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 11 Aug 2021 09:59:52 UTC
On 2021-08-10 16:57, Emmanuel Vadot wrote: > On Tue, 10 Aug 2021 15:47:03 +0300 > Andriy Gapon <avg@FreeBSD.org> wrote: > >> >> I noticed at least three way of installing a package under "alternative >> root". One of them is very straightforward, but for two other I am not >> sure about details. I guess, I can get them all from the source code, >> but maybe someone would be kind to give me a summary. >> >> So, the obvious way is to use pkg with -c or -j option. In this case >> pkg just chroot-s or jexec-s before doing anything. So, conceptually >> everything is like the normal operation, but in the chroot or the jail. >> >> Then, there is -r option: >> -r ?root directory?, --rootdir ?root directory? >> pkg will install all packages within the specified ?root >> directory?. >> It's not entirely clear what that means and when that can be useful. >> In other words, why this option exists if we already have -c and -j. > > Having -r is useful for different things : > > - We use that for the tests so every test installation/delete is done > under a specified dir. > - It's also useful when creating image for a different arch than the > native one. > - It's also useful for pkgbase to bootstrap a system/jail/whatever as > at first you will not have something to chroot/jail on. Thank you for the information! Still curious about some technical details. I assume that -r simply unpacks packages files under an alternative root (similar to DESTDIR). So, does it still use the package database under the main root? Is a package installed with -r marked as such? Or is it registered as if there was no -r ? What about installation scripts that the package may have? Is that the script's job to ensure that it works correctly with -r or does pkg arrange an alternative root somehow? Thank you. -- Andriy Gapon