допустим, подключено несколько оверлеев
во всех есть некий пакет
как задать железно раз и навсегда «ставить пакет только из Х оверлея»?
т.е. даже на версии должно быть плевать
судя по докам портажа и ко, такого пока нет - он сам решает откуда и не даёт на это повлиять юзверю
да, есть
emerge -options пакет::реп
запиливать в мир запись вида «пакет::реп» тоже бесполезно
[ root@desktop ] megabaks # grep nvidia-drivers /var/lib/portage/world
x11-drivers/nvidia-drivers::gentoo
[ root@desktop ] megabaks # emerge -pv nvidia-drivers
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild R #] x11-drivers/nvidia-drivers-290.10 USE="acpi gtk -custom-cflags (-multilib) -rt" 0 kB [1]
Total: 1 package (1 reinstall), Size of downloads: 0 kB
Portage tree and overlays:
[0] /usr/portage
[1] /usr/local/portage/layman/stuff
[ root@desktop ] megabaks #
переменные типа PORTDIR, PORTDIR_OVERLAY и что-то там про REPO доступны только для чтения - т.е. их поменять не вариант через bashrc&co
думаем дальше:
можно придумать обёртку, которая выдернет претендентов на установку из выхлопа «emerge -pv $*»
потом заменит некоторые пакеты на «пакет::реп», в соответствии с вело-конфигом
и только потом запустит emerge с уже «правильными» претендентами
но это вообще феерия какая-то!
как быть?
писать гневное письмо гентардам?