Bug 38525

Summary: apt-cache policy не работает с виртуальными пакетами
Product: Sisyphus Reporter: Anton Farygin <rider>
Component: aptAssignee: Ivan Zakharyaschev <imz>
Status: NEW --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: boyarsh, glebfm, imz, lav, ldv, placeholder, rider, sotor
Version: unstable   
Hardware: x86_64   
OS: Linux   

Description Anton Farygin 2020-05-22 19:09:14 MSK
И это приводит, в частности, к тому что виртуальные пакеты нельзя приоритезировать над реальными через apt/preferences.

$ apt-cache policy rpm-macros-ninja-build
rpm-macros-ninja-build:
  Установлен: (нет)
  Кандидат: (нет)
  Таблица версий:
$ apt-cache showpkg rpm-macros-ninja-build
Package: rpm-macros-ninja-build
Versions: 

Reverse Depends: 
  ninja-build,rpm-macros-ninja-build 1.10.0-alt2
Dependencies: 
Provides: 
Reverse Provides: 
ninja-build 1.10.0-alt2:sisyphus+251572.100.1.1@1589274283
Comment 1 Anton Farygin 2020-05-22 19:13:59 MSK
Не знаю, почему это повесилось на Глеба, реально этим пакетом в последнее время Глеб не занимается.

Добавлю, что т.к. виртуальные пакеты не получается приоритезировать над реальными, то мы получаем вот такую ситуацию:

$ ./apt-get install ninja-build rpm-macros-ninja-build --dry-run
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Некоторые пакеты установить невозможно. Это может означать, что Вы
потребовали невозможного, либо пользуетесь нестабильным репозиторием.
Часть необходимых пакетов либо ещё не создана, либо была удалена
из каталога 'Входящие'.
Эти сведения могут помочь найти выход из ситуации:

Следующие пакеты имеют неудовлетворенные зависимости:
  ninja-build: Вытесняет: rpm-macros-ninja-build (< 1.10.0-alt2)
E: Извините, `битые' пакеты

$ ./apt-cache showpkg rpm-macros-ninja-build
Package: rpm-macros-ninja-build
Versions: 
1.9.0-alt1:sisyphus+220351.200.2.1@1549032786(/tmp/.private/rider/hasher/aptbox/var/lib/apt/lists/_mnt_ftp_pub_distributions_ALTLinux_p9_branch_noarch_base_pkglist.classic)

Reverse Depends: 
  ninja-build,rpm-macros-ninja-build 1.10.0-alt2
Dependencies: 
1.9.0-alt1:sisyphus+220351.200.2.1@1549032786 - /usr/lib/rpm/macros.d (0 (null)) 
Provides: 
1.9.0-alt1:sisyphus+220351.200.2.1@1549032786 - rpm-macros-ninja-build 
Reverse Provides: 
ninja-build 1.10.0-alt2:p9+251992.40.2.1@1589982761
rpm-macros-ninja-build 1.9.0-alt1:sisyphus+220351.200.2.1@1549032786

$ ./apt-cache policy rpm-macros-ninja-build
rpm-macros-ninja-build:
  Установлен: (нет)
  Кандидат: 1.9.0-alt1:sisyphus+220351.200.2.1@1549032786
  Таблица версий:
     1.9.0-alt1:sisyphus+220351.200.2.1@1549032786 0
        500 file: noarch/classic pkglist
Comment 2 Anton Farygin 2020-05-22 20:35:06 MSK
Мне кажется какая-то похожая ситуация обсуждалась тут:
https://lists.altlinux.org/pipermail/devel/2006-December/039317.html

Но в том случае речь шла, если я правильно понял, о двух версионированных виртуальных пакетах.

и ещё в Changelog упоминается опция APT::Install::VirtualVersion (вероятно которая могла оказывать влияние на это поведение), концов которой я сейчас не нашёл.