Improve handling of circular dependencies

Several packages end up with circular dependencies, depending on which
Portage profile is selected.  The default profiles have a circular
dependency between *sys-libs/pam* and *sys-libs/libcap*.  Systemd and
SELinux profiles have even more issues.

We can break the circular dependencies by explicitly building *libcap*
with`USE=-pam` first, which happens to be the default configuration
generated by `crossdev`.  Then, we need to switch to a more complete
profile in order to build *glibc* and *util-linux*.  At this point, the
build root should be complete enough to build anything without circular
dependencies.
This commit is contained in:
2023-02-21 09:47:38 -06:00
parent 50b20eee8c
commit a8ccbe45a0
4 changed files with 32 additions and 11 deletions

View File

@@ -5,10 +5,7 @@ set -e
. ./config
USE=-pam \
${target}-emerge -1nvj --nodeps sys-libs/libcap
USE='-cramfs -ncurses -nls -pam -readline -su -suid -systemd -udev' \
${target}-emerge -1nvj --nodeps sys-apps/util-linux
${target}-emerge -vuUDj sys-apps/util-linux
${target}-emerge -vnuUDj \
net-misc/openssh \