Bug 38525 - apt-cache policy не работает с виртуальными пакетами
Summary: apt-cache policy не работает с виртуальными пакетами
Status: NEW
Alias: None
Product: Sisyphus
Classification: Development
Component: apt (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Ivan Zakharyaschev
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-05-22 19:09 MSK by Anton Farygin
Modified: 2020-10-30 20:20 MSK (History)
8 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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 (вероятно которая могла оказывать влияние на это поведение), концов которой я сейчас не нашёл.