<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>38525</bug_id>
          
          <creation_ts>2020-05-22 19:09:14 +0300</creation_ts>
          <short_desc>apt-cache policy не работает с виртуальными пакетами</short_desc>
          <delta_ts>2020-10-30 20:20:34 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>apt</component>
          <version>unstable</version>
          <rep_platform>x86_64</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anton Farygin">rider</reporter>
          <assigned_to name="Ivan Zakharyaschev">imz</assigned_to>
          <cc>boyarsh</cc>
    
    <cc>glebfm</cc>
    
    <cc>imz</cc>
    
    <cc>lav</cc>
    
    <cc>ldv</cc>
    
    <cc>placeholder</cc>
    
    <cc>rider</cc>
    
    <cc>sotor</cc>
    
    <cc>vt</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>190259</commentid>
    <comment_count>0</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2020-05-22 19:09:14 +0300</bug_when>
    <thetext>И это приводит, в частности, к тому что виртуальные пакеты нельзя приоритезировать над реальными через 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</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>190261</commentid>
    <comment_count>1</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2020-05-22 19:13:59 +0300</bug_when>
    <thetext>Не знаю, почему это повесилось на Глеба, реально этим пакетом в последнее время Глеб не занимается.

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

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

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

$ ./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</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>190262</commentid>
    <comment_count>2</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2020-05-22 20:35:06 +0300</bug_when>
    <thetext>Мне кажется какая-то похожая ситуация обсуждалась тут:
https://lists.altlinux.org/pipermail/devel/2006-December/039317.html

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

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

    </bug>

</bugzilla>