Компонент под названием "distromap-db-query-binary-name" возвращает заданный код ошибки и тогда когда пакета действительно нет $ distromap-db-query-binary-name --exit-not-found 7 --destrepo altlinux --originrepo fedora abcdefg; echo $? 7 и тогда когда названия в destrepo и originrepo совпадают $ distromap-db-query-binary-name --exit-not-found 7 --destrepo altlinux --originrepo fedora firefox; echo $? 7 $ distromap-db-query-binary-name --exit-not-found 7 --destrepo altlinux --originrepo fedora virtualbox; echo $? 7 $ distromap-db-query-binary-name --exit-not-found 7 --destrepo altlinux --originrepo fedora vi; echo $? 7 Код ошибки не возвращается, а соответствующее название (названия) возвращается только в случае различия названий $ distromap-db-query-binary-name --exit-not-found 7 --destrepo altlinux --originrepo fedora bash; echo $? bash sh 0 $ distromap-db-query-binary-name --exit-not-found 7 --destrepo altlinux --originrepo fedora vim; echo $? vim-common vimtutor 0 Видимо, это связано с организацией базы данных - в ней (видимо) хранятся только отличающиеся названия (группы названий)
это несколько другой эффект в приведенных примерах для указанного пакета в Сизифе есть сразу несколько альтернатив: = firefox, firefox-esr, firefox-gost = bash, bash4 ядро утилит для генерации distrodb-utils сейчас II поколения, оно подобрать точную альтернативу не может. ручных правок нет, так как маппинг по умолчанию firefox -> firefox bash -> bash достаточно корректный. Ядро distrodb-utils II поколения сейчас в разработке, там будет разрешение альтернатив.
Насчёт альтернатив firefox - пусть так, но почему тогда для bash не выдаётся ошибки, хотя у него тоже есть альтернативы?
да, сорри. для bash прописано: binary/40-distrodb.txt:bash bash sh
Поведение то же, что и в отчёте. Контейнер Sisyphus, perl-DistroMap 0.396-alt1 (01.05.2025) с картой distromap-fedora-rawhide-altlinux-sisyphus 0.459-alt1: distromap-db-query-binary-name abcdefg -> пусто, rc=7 distromap-db-query-binary-name firefox -> пусто, rc=7 distromap-db-query-binary-name vi -> пусто, rc=7 distromap-db-query-binary-name bash -> "bash sh", rc=0 distromap-db-query-binary-name vim -> "vim-common vimtutor", rc=0 То есть неотличимость "нет пакета" и "есть, но альтернатив несколько" сохранилась: firefox и vi по-прежнему возвращают --exit-not-found. Разрешение альтернатив, обещанное в комментарии 1 ("ядром II поколения, оно в разработке"), за прошедшее время не появилось. Оставляю открытым.