Пример магии:
~/tools # USE="static" emerge --root=$PWD coreutils -a
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild N ] virtual/libintl-0-r2 to /home/theta/tools/ ABI_X86="32 (64) (-x32)"
[ebuild R ] sys-apps/attr-2.4.47-r2 USE="static-libs*"
[ebuild R ] sys-apps/acl-2.2.52-r1 USE="static-libs*"
[ebuild N ] sys-apps/coreutils-8.29 to /home/theta/tools/ USE="acl nls static xattr -caps -gmp -hostname -kill -multicall (-selinux) {-test} -vanilla"
The following USE changes are necessary to proceed:
(see "package.use" in the portage(5) man page for more details)
# required by sys-apps/coreutils-8.29::gentoo[static,acl]
# required by @system
# required by @world (argument)
>=sys-apps/acl-2.2.52-r1 static-libs
# required by sys-apps/coreutils-8.29::gentoo[static,xattr]
# required by @system
# required by @world (argument)
>=sys-apps/attr-2.4.47-r2 static-libs
Would you like to add these changes to your config files? [Yes/No]
Я бы понял и оценил, если бы он половину системы запихал на новый рут и компилил там как душе угодно, включая пусть даже glibc, но почему он трогает пакеты вне префикса?
Предыстория: хочу собрать initramfs и напихать туда статически слинкованных утилиток. Мержить в системный корень и копировать оттуда не хочу, уж больно грязно получается, да и перекомпилировать обратно потом надо, ибо сидеть со статикой не комильфо.