там https://github.com/gentoo/gentoo/blob/master/dev-java/openjdk/openjdk-21.0.1_p12.ebuild#L102-L107 написано:
IUSE="... +system-bootstrap ..."
...
DEPEND="
...
system-bootstrap? (
|| (
dev-java/openjdk-bin:${SLOT}
dev-java/openjdk:${SLOT}
)
)
"
Мне непонятно, как это должно работать, и почему пакетный менеджер сообщает о циклической зависимости dev-java/openjdk от dev-java/openjdk вместо того, чтобы тихо и молча установить dev-java/openjdk-bin
# emerge -av dev-java/openjdk
These are the packages that would be merged, in order:
Calculating dependencies... done!
Dependency resolution took 38.57 s.
[ebuild NS ~] dev-java/openjdk-bin-21.0.1_p12:21::gentoo [17.0.8.1_p1:17::gentoo] USE="alsa cups -headless-awt (-selinux) -source" 202982 KiB
[ebuild NS ~] dev-java/openjdk-21.0.1_p12:21::gentoo [17.0.8.1_p1:17::gentoo] USE="alsa cups jbootstrap (system-bootstrap) (-big-endian) -debug -doc -examples -headless-awt (-javafx) -lto (-selinux) -source -systemtap" 109611 KiB
Total: 2 packages (2 in new slots), Size of downloads: 312592 KiB
Would you like to merge these packages? [Yes/No]
Пропадёт ли залоченность USE-флага USE=«(system-bootstrap)» после второго мёржа? Что станет после этого с пакетом dev-java/openjdk-bin, например при выполнении emerge --depclean
. Почему для сборки используется бинарник, вместо того, чтобы собирать всё из исходников, как это делают в репозитории gentoo-bootstrap ?