LINUX.ORG.RU

История изменений

Исправление Shushundr, (текущая версия) :

А зачем они так сделали?
https://github.com/gentoo/gentoo/blob/master/profiles/base/package.use.force#L58-L62

# Arthur Zamarin <arthurzam@gentoo.org> (2022-01-13)
# Force to use installed openjdk{,-bin} for bootstrapping
dev-java/openjdk:11 system-bootstrap
dev-java/openjdk:17 system-bootstrap
dev-java/openjdk:21 system-bootstrap

Если этот флаг всегда включен, то он, получается, в принципе не нужен.

Вот если бы они с его помощью могли бы предотвращать циклическую зависимость, это было бы интересно.

DEPEND="
	...
	|| (
	        system-bootstrap ( dev-java/openjdk-bin:${SLOT} )
		!system-bootstrap ( dev-java/openjdk:${SLOT} )
	)
"

но именно так оно не сработает. Надо как-то по-другому.

Есть alternatives и Virtual Packages пакет dev-java/openjdk мог бы зависеть от virtual/openjdk, а представлять интерфейс этого пакета мог бы как dev-java/openjdk-bin, так и dev-java/openjdk.

Там прям с virtuals есть отсылка на установку -bin пакетов в качестве альтернативы.

В общем, мне не ясно, как сделать наилучшим образом.

Например, если в world прописана установка virtual/пакета, то в качестве реализации первой будет установлена первая альтернатива? Или это не определено? GLEP 37 невнятный, в нём непонятно, можно ли/нужно ли прописывать «+system-bootstrap» в IUSE для виртуального пакета.

Исправление Shushundr, :

А зачем они так сделали?
https://github.com/gentoo/gentoo/blob/master/profiles/base/package.use.force#L58-L62

# Arthur Zamarin <arthurzam@gentoo.org> (2022-01-13)
# Force to use installed openjdk{,-bin} for bootstrapping
dev-java/openjdk:11 system-bootstrap
dev-java/openjdk:17 system-bootstrap
dev-java/openjdk:21 system-bootstrap

Если этот флаг всегда включен, то он, получается, в принципе не нужен.

Вот если бы они с его помощью могли бы предотвращать циклическую зависимость, это было бы интересно.

DEPEND="
	...
	|| (
	        system-bootstrap ( dev-java/openjdk-bin:${SLOT} )
		!system-bootstrap ( dev-java/openjdk:${SLOT} )
	)
"

но именно так оно не сработает. Надо как-то по-другому.

Есть alternatives и Virtual Packages пакет dev-java/openjdk мог бы зависеть от virtual/openjdk, а представлять интерфейс этого пакета мог бы как dev-java/openjdk-bin, так и dev-java/openjdk.

Там прям с virtuals есть отсылка на установку -bin пакетов в качестве альтернативы.

В общем, мне не ясно, как сделать наилучшим образом.

Например, если в world прописана установка virtual/пакета, то в качестве реализации первой будет установлена первая альтернатива? Или это не определено?

Исправление Shushundr, :

А зачем они так сделали?
https://github.com/gentoo/gentoo/blob/master/profiles/base/package.use.force#L58-L62

# Arthur Zamarin <arthurzam@gentoo.org> (2022-01-13)
# Force to use installed openjdk{,-bin} for bootstrapping
dev-java/openjdk:11 system-bootstrap
dev-java/openjdk:17 system-bootstrap
dev-java/openjdk:21 system-bootstrap

Если этот флаг всегда включен, то он, получается, в принципе не нужен.

Вот если бы они с его помощью могли бы предотвращать циклическую зависимость, это было бы интересно.

DEPEND="
	...
	|| (
	        system-bootstrap ( dev-java/openjdk-bin:${SLOT} )
		!system-bootstrap ( dev-java/openjdk:${SLOT} )
	)
"

но именно так оно не сработает. Надо как-то по-другому.

Есть alternatives и Virtual Packages пакет dev-java/openjdk мог бы зависеть от virtual/openjdk, а представлять интерфейс этого пакета мог бы как dev-java/openjdk-bin, так и dev-java/openjdk.

Там прям с virtuals есть отсылка на установку -bin пакетов в качестве альтернативы.

В общем, мне не ясно, как сделать наилучшим образом.

Исходная версия Shushundr, :

А зачем они так сделали?
https://github.com/gentoo/gentoo/blob/master/profiles/base/package.use.force#L58-L62

# Arthur Zamarin <arthurzam@gentoo.org> (2022-01-13)
# Force to use installed openjdk{,-bin} for bootstrapping
dev-java/openjdk:11 system-bootstrap
dev-java/openjdk:17 system-bootstrap
dev-java/openjdk:21 system-bootstrap

Если этот флаг всегда включен, то он, получается, в принципе не нужен.

Вот если бы они с его помощью могли бы предотвращать циклическую зависимость, это было бы интересно.

DEPEND="
	...
	|| (
	        system-bootstrap ( dev-java/openjdk-bin:${SLOT} )
		!system-bootstrap ( dev-java/openjdk:${SLOT} )
	)
"

но именно так оно не сработает. Надо как-то по-другому.

Есть alternatives и Virtual Packages пакет dev-java/openjdk мог бы зависеть от virtual/openjdk, а представлять интерфейс этого пакета мог бы как dev-java/openjdk-bin, так и dev-java/openjdk.

В общем, мне не ясно, как сделать наилучшим образом.