node-nightly-25.8.2-alt2 объявляет виртуальные Provides, дублирующие базовый пакет node, причём с более высокой версией: Provides: node = %EVR (= 25.8.2-alt2) Provides: nodejs = %EVR (= 25.8.2-alt2) Provides: node.js = %EVR (= 25.8.2-alt2) Provides: npm(npm) = 11.11.1 Стабильный node в Sisyphus — 22.22.2-alt1. Он предоставляет `nodejs`/`node.js`, но НЕ предоставляет `node` (это его собственное Name). В результате виртуальные capability `node`, `nodejs`, `node.js` теперь имеют двух провайдеров, и версия у node-nightly всегда выше (nightly-канал: 25.x, 26.x против stable 22.x). apt при разрешении любой зависимости вида Requires: nodejs Requires: nodejs >= 22.18.0 Requires: node BuildRequires: nodejs >= <любая> выбирает node-nightly как провайдера с наибольшей версией, вместо стабильного node. Тем самым node-nightly, будучи установленным/доступным в репозитории, ПОЛНОСТЬЮ вытесняет node для всей экосистемы, а не только для тех, кто явно хочет nightly. Особенно опасен `Provides: node = %EVR`: nightly выдаёт себя за сам пакет node (а не только за виртуальный nodejs), поэтому его подхватывают даже пакеты, зависящие конкретно от `node` / `/usr/bin/node`. Дополнительно рассинхронизируется npm: stable node выносит npm в отдельный subpackage (Requires: node), а node-nightly бандлит npm внутри и отдаёт лишь capability `npm(npm)`. Пакет, ожидающий бинарь /usr/bin/npm из subpackage npm, при выборе node-nightly может остаться без него. Steps to Reproduce: 1. Репозиторий содержит node-22.22.2-alt1 и node-nightly-25.8.2-alt2. 2. В чистом hasher-окружении затребовать зависимость: apt-get install nodejs или собрать пакет с `BuildRequires: nodejs >= 22.18.0` (пример: electron). 3. Посмотреть, какой пакет установлен. Actual result: Установлен node-nightly-25.8.2-alt2 (Provides: nodejs = 25.8.2 — старшая версия). Появление/исчезновение бинаря npm зависит от того, какой node выбран, что даёт невоспроизводимые сборки: разные сборщики одной задачи получают разный node. Expected result: При отсутствии явного запроса именно nightly должен ставиться стабильный node-22.22.2-alt1. node-nightly — параллельный/opt-in канал и не должен автоматически перехватывать зависимости на node/nodejs. Notes: Обнаружено при сборке electron-42.4.0-alt1: BuildRequires: nodejs >= 22.18.0 резолвился в node-nightly, чей бандленный npm присутствовал непредсказуемо (в Sisyphus сборка проходила, на p11 — падала: npm-run.py → FileNotFoundError: 'npm').
А BuildConflicts не пробовали?