Bug 36558

Summary: fails to optimize subpackage deps
Product: Sisyphus Reporter: alexey.tourbin
Component: rpm-buildAssignee: placeholder <placeholder>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P3 CC: arseny, glebfm, imz, ldv, placeholder, vt
Version: unstable   
Hardware: all   
OS: Linux   

Description alexey.tourbin 2019-04-08 00:37:53 MSK
Мужчины, у вас в пакете librpm-devel сидит странная зависимость на librpm7:

$ rpm -qR librpm-devel
librpm7
rpm = 4.13.0.1-alt6:sisyphus+221238.100.2.1
librpmbuild7 = 4.13.0.1-alt6:sisyphus+221238.100.2.1

при том что оба пакета rpm и librpmbuild7 содержат строгую зависимость на librpm7.  И поскольку build/interdep.c оптимизирует зависимости транзитивно, то зависимость на librpm7 должна быть удалена.

Чота вы там нахимичили, и оно стало хуже работать.  Я уж думал не заучить ли мне рукава, но что-то мне тяжело на тот код лишний раз смотреть.  Как там писал Пушкин, "Воспоминание передо мной свой с... развивает свиток" и еще: "Не пой Черкешенка при мне ты песен Грузии печальной".

Напомню однако принцоп работы алгоритма, при котором таких сбоев быть не должно. На первом проходе устанавливаются пары подпакетов со строгими зависимости: A->B.  Пары транзитивно дополняются: A->B, B->C => A->C.  На втором каждая пара по отдельности чикается: удаляются лишние зависимости из A.
Comment 1 Dmitry V. Levin 2019-04-08 00:42:58 MSK
Там была ошибка, она уже исправлена.
Если пересобрать этот пакет, то избыточная зависимость уйдёт, см.
http://git.altlinux.org/beehive/logs/Sisyphus-x86_64/latest/success/rpm-4.13.0.1-alt6