Bug 35580

Summary: Строгие зависимости и ошибки установки
Product: Sisyphus Reporter: Ivan A. Melnikov <iv>
Component: aptAssignee: Vladimir D. Seleznev <vseleznv>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: blocker    
Priority: P3 CC: aen, boyarsh, eugine.kosenko, evg, glebfm, imz, ldv, placeholder, rider, sin, vseleznv
Version: unstable   
Hardware: all   
OS: Linux   
Bug Depends on:    
Bug Blocks: 34231    

Description Ivan A. Melnikov 2018-11-06 16:34:04 MSK
По мотивам https://lists.altlinux.org/pipermail/sisyphus/2018-November/367288.html

Свежий Сизиф:

$ sudo apt-get install ntp
Reading Package Lists... Done
Building Dependency Tree... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.

Since you only requested a single operation it is extremely likely that
the package is simply not installable and a bug report against
that package should be filed.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
  ntp: Depends: .sisyphus.213754.100.1.1-ntpd-4.2.8p12-alt1
E: Broken packages


Очевидная реакция пользователя -- пакет ntp в Сизифе сломан. На самом деле никакие пакеты не сломаны, просто ntp зависит от ntpd, а для его установки нужно снести что-нибудь (на этой системе это chrony, у Евгения в sisyphus@ это openntpd), а apt почему-то не решается это сделать.

Я не уверен, но мне кажется что раньше (когда зависимость была на ntpd, а не на .sisyphus....), apt предложил бы вариант с заменой chrony (или openntpd) на ntpd.

Считается ли текущее поведение правильным? Если да, то нельзя ли поправить сообщение об ошибке? Если нет, то нельзя ли исправить поведение?
Comment 1 Dmitry V. Levin 2018-11-07 05:03:11 MSK
*** Bug 35579 has been marked as a duplicate of this bug. ***
Comment 2 Dmitry V. Levin 2018-11-07 05:18:06 MSK
Известно, что зависимости на реальные и виртуальные пакеты apt обрабатывает по-разному.
Поведение apt в данном случае, конечно, неправильное, его необходимо исправить.
Это regression не только для Сизифа, но и для всех платформ, где rpm-build уже поддерживает RPM_STRICT_INTERDEPS: p8, c8, c7.
Comment 3 Anton Farygin 2018-12-08 11:01:29 MSK
Вот это уже хуже. Система Sisyphus, обновлённый с минимального p8.

# apt-get install i586-libnss
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Выбрано i586-libnss.32bit для 'i586-libnss'
Некоторые пакеты установить невозможно. Это может означать, что Вы
потребовали невозможного, либо пользуетесь нестабильным репозиторием.
Часть необходимых пакетов либо ещё не создана, либо была удалена
из каталога 'Входящие'.

Так как для выполнения Вашего запроса достаточно одной операции, то
скорее всего этот пакет просто невозможно установить. Сообщите, пожалуйста,
об этом как о найденной ошибке в пакете.
Эти сведения могут помочь найти выход из ситуации:

Следующие пакеты имеют неудовлетворенные зависимости:
  i586-libnss.32bit: Требует: libnspr4.so (>= set:mfmFrZ03pQtZ8f2s8wn8gU0SVNiLaTDPYnRmfVHq2JS23f4faewlkOtWZrz933wm8tciPeAW8X1qLjKYSlEEc2XkZwUK7ZHerw5pXT3CvkS3upZASOB0H3HGbxru8au2eipSXOxm8u0o7A2uCVKMqygSCckq3RVoYXPCNEyK3L73GY5qDZsZ2unDj56SH6HbqR2Gv6XzdoOsDwdZxS31F6HtFZGNM4JRZCBnLU5DaBPjznXlQ9ZLdAUIMx7kYfZth5QZfQaV)
                     Требует: libplc4.so (>= set:jfpsValz8jUF4rdUsjgPIwjOI4tfI2)
                     Требует: libplds4.so (>= set:idc8tK18vcZHzVknZAxvUP6DtQzyapIAiNDKn3)
E: Извините, `битые' пакеты

# apt-get install libplc4.so
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Выбрано i586-libnspr.32bit для 'libplc4.so'
Некоторые пакеты установить невозможно. Это может означать, что Вы
потребовали невозможного, либо пользуетесь нестабильным репозиторием.
Часть необходимых пакетов либо ещё не создана, либо была удалена
из каталога 'Входящие'.

Так как для выполнения Вашего запроса достаточно одной операции, то
скорее всего этот пакет просто невозможно установить. Сообщите, пожалуйста,
об этом как о найденной ошибке в пакете.
Эти сведения могут помочь найти выход из ситуации:

Следующие пакеты имеют неудовлетворенные зависимости:
  i586-libnspr.32bit: Требует: .sisyphus.216395.100.1.1-libnspr-1:4.20-alt1
E: Извините, `битые' пакеты

# apt-get install .sisyphus.216395.100.1.1-libnspr-1:4.20-alt1
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Выбрано libnspr для '.sisyphus.216395.100.1.1-libnspr-1:4.20-alt1'
Последняя версия libnspr уже установлена.
0 будет обновлено, 0 новых установлено, 0 пакетов будет удалено и 30 не будет обновлено.


# apt-cache showpkg libnspr
Package: libnspr
Versions: 
1:4.20-alt1(/var/lib/rpm/Packages)
1:4.20-alt1(/var/lib/apt/lists/ftp.altlinux.org_pub_distributions_ALTLinux_Sisyphus_x86%5f64_base_pkglist.classic)

Reverse Depends: 
  pidgin-encryption,libnspr
Dependencies: 
1:4.20-alt1 - libc.so.6(GLIBC_2.14)(64bit) (0 (null)) libc.so.6(GLIBC_2.15)(64bit) (0 (null)) libc.so.6(GLIBC_2.17)(64bit) (0 (null)) libc.so.6(GLIBC_2.2.5)(64bit) (0 (null)) libc.so.6(GLIBC_2.3)(64bit) (0 (null)) libc.so.6(GLIBC_2.3.4)(64bit) (0 (null)) libc.so.6(GLIBC_2.4)(64bit) (0 (null)) libdl.so.2(GLIBC_2.2.5)(64bit) (0 (null)) libpthread.so.0(GLIBC_2.2.5)(64bit) (0 (null)) libpthread.so.0(GLIBC_2.3.2)(64bit) (0 (null)) librt.so.1()(64bit) (2 set:jiq20) librt.so.1(GLIBC_2.2.5)(64bit) (0 (null)) rtld(GNU_HASH) (0 (null)) 
1:4.20-alt1 - libc.so.6(GLIBC_2.14)(64bit) (0 (null)) libc.so.6(GLIBC_2.15)(64bit) (0 (null)) libc.so.6(GLIBC_2.17)(64bit) (0 (null)) libc.so.6(GLIBC_2.2.5)(64bit) (0 (null)) libc.so.6(GLIBC_2.3)(64bit) (0 (null)) libc.so.6(GLIBC_2.3.4)(64bit) (0 (null)) libc.so.6(GLIBC_2.4)(64bit) (0 (null)) libdl.so.2(GLIBC_2.2.5)(64bit) (0 (null)) libpthread.so.0(GLIBC_2.2.5)(64bit) (0 (null)) libpthread.so.0(GLIBC_2.3.2)(64bit) (0 (null)) librt.so.1()(64bit) (2 set:jiq20) librt.so.1(GLIBC_2.2.5)(64bit) (0 (null)) rtld(GNU_HASH) (0 (null)) 
Provides: 
1:4.20-alt1 - libnspr .p8.216526.40.2.1-libnspr-1:4.20-alt1 libplds4.so()(64bit) libplc4.so()(64bit) libnspr4.so()(64bit) nspr 
1:4.20-alt1 - libnspr .sisyphus.216395.100.1.1-libnspr-1:4.20-alt1 libplds4.so()(64bit) libplc4.so()(64bit) libnspr4.so()(64bit) nspr 
Reverse Provides: 
libnspr 1:4.20-alt1
libnspr 1:4.20-alt1
Comment 4 Anton Farygin 2018-12-08 11:08:27 MSK
Нет, прошу прощения. Это опять вылезло:
https://bugzilla.altlinux.org/show_bug.cgi?id=35529

Просто раньше сервера обновлялись нормально, то теперь и минимальная установка не обновляется из-за выросшего количества пакетов, портированных в стабильные ветки через rebuild без изменения релиза.
Comment 5 Ivan A. Melnikov 2019-04-18 19:47:30 MSK
С переходом от .sisyphus* к зависимостям с дисттагом эта конкретная проблема, похоже, исправлена:

$ sudo apt-get install ntp
Reading Package Lists... Done
Building Dependency Tree... Done
The following extra packages will be installed:
  ntp-doc ntp-utils ntpd ntpq perl-HTTP-Tiny perl-NTP-Util
The following packages will be REMOVED:
  chrony
The following NEW packages will be installed:
  ntp ntp-doc ntp-utils ntpd ntpq perl-HTTP-Tiny perl-NTP-Util
0 upgraded, 7 newly installed, 1 removed and 378 not upgraded.
Need to get 0B/2099kB of archives.
After unpacking 4385kB of additional disk space will be used.
Do you want to continue? [Y/n] n