Bug 28454 - non-strict inter-package dependencies
Summary: non-strict inter-package dependencies
Status: CLOSED NOTABUG
Alias: None
Product: Sisyphus
Classification: Development
Component: osec (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: Alexey Gladkov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-01-24 06:10 MSK by Dmitry V. Levin
Modified: 2013-01-26 23:01 MSK (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dmitry V. Levin 2013-01-24 06:10:58 MSK
warning: osec-cronjob: non-strict dependency on osec-mailreport
warning: osec-mailreport: non-strict dependency on osec-cronjob

Это не совсем типичный случай, здесь была попытка реализовать альтернативные провайдеры, но она, судя по всему, не удалась.
Comment 1 Alexey Gladkov 2013-01-24 13:56:27 MSK
Почему не удалась ?

$ rpmquery -a osec\*
osec-1.2.5-alt2
osec-mailreport-1.2.5-alt2
osec-cronjob-1.2.5-alt2

$ rpm -e osec-mailreport
ошибка: удаление этих пакетов нарушит зависимости:
	osec-reporter нужен для osec-cronjob-1.2.5-alt2

$  apt-cache search osec-reporter
osec-mailreport - Collection of reporters for osec

Я и хотел, чтобы osec-cronjob вытягивал не только osec-mailreport.
Comment 2 Dmitry V. Levin 2013-01-24 15:13:23 MSK
Не удалось в том смысле, что единственный osec-reporter это osec-mailreport,
и единственный osec-cronjob это сам osec-cronjob.
Comment 3 Alexey Gladkov 2013-01-24 15:19:32 MSK
(В ответ на комментарий №2)
> Не удалось в том смысле, что единственный osec-reporter это osec-mailreport,
> и единственный osec-cronjob это сам osec-cronjob.

Это же не повод перестать надеяться :)

Хотя я уже утвердился в мнении, что кроме нескольких человек этим пакетом никто не пользуется ... да и те его используют по историческим причинам. Разумеется это тоже не повод перестать его дорабатывать :)

А по сути баги. Так почему же то как я сделал делать нельзя ?
Comment 4 Dmitry V. Levin 2013-01-24 15:44:58 MSK
Давай по частям.  Ты согласен, что
warning: osec-mailreport: non-strict dependency on osec-cronjob
это правильное предупреждение, вне зависимости от числа пользователей?

Что касается
warning: osec-cronjob: non-strict dependency on osec-mailreport
ты действительно надеешься на независимые альтернативы osec-reporter,
или любой провайдер osec-reporter будет собираться из того же самого пакета, что и osec-mailreport?
Comment 5 Alexey Gladkov 2013-01-24 16:02:51 MSK
(В ответ на комментарий №4)
> Давай по частям.  Ты согласен, что
> warning: osec-mailreport: non-strict dependency on osec-cronjob
> это правильное предупреждение, вне зависимости от числа пользователей?

В osec-mailreport может быть более строгая зависимость, хотя она тут не нужна т.к. взаимодействие у них по принципу пайпов. Но для того чтобы кто-нибудь стал счастливее зависимость можно сделать жёстче.

> Что касается
> warning: osec-cronjob: non-strict dependency on osec-mailreport
> ты действительно надеешься на независимые альтернативы osec-reporter,
> или любой провайдер osec-reporter будет собираться из того же самого пакета,
> что и osec-mailreport?

Наличие других форматировщиков отчётов допускаю и если они появятся не хочу их всех поддерживать.

На самом деле, всё прибить гвоздями конечно можно т.к. никто это не использует. Мне просто не нравится, что сейчас ты всё под одну гребёнку загоняешь. Формально тут сделано так как и задумано т.е. сделаны нестрогие зависимости и даже warning тут не нужен.
Comment 6 Dmitry V. Levin 2013-01-25 02:05:04 MSK
(In reply to comment #5)
> (В ответ на комментарий №4)
> > Давай по частям.  Ты согласен, что
> > warning: osec-mailreport: non-strict dependency on osec-cronjob
> > это правильное предупреждение, вне зависимости от числа пользователей?
> 
> В osec-mailreport может быть более строгая зависимость, хотя она тут не нужна
> т.к. взаимодействие у них по принципу пайпов. Но для того чтобы кто-нибудь стал
> счастливее зависимость можно сделать жёстче.

Спасибо. :)

> > Что касается
> > warning: osec-cronjob: non-strict dependency on osec-mailreport
> > ты действительно надеешься на независимые альтернативы osec-reporter,
> > или любой провайдер osec-reporter будет собираться из того же самого пакета,
> > что и osec-mailreport?
> 
> Наличие других форматировщиков отчётов допускаю и если они появятся не хочу их
> всех поддерживать.

Они смогут мирно сосуществовать с нынешним osec-mailreport, или они будут конфликтовать?

> На самом деле, всё прибить гвоздями конечно можно т.к. никто это не использует.
> Мне просто не нравится, что сейчас ты всё под одну гребёнку загоняешь.
> Формально тут сделано так как и задумано т.е. сделаны нестрогие зависимости и
> даже warning тут не нужен.

Когда от нестрогих зависимостей нет совсем никакой пользы, от них стоит ждать какого-нибудь вреда.  Кто-нибудь точечно обновит систему, возникнут подземные стуки, люди будут тратить на это свое и чужое время...

Я хочу поменять умолчание с прежнего "строгие внутрипакетные зависимости не нужны, пока не доказана их нужность" на "строгие внутрипакетные зависимости нужны, пока не доказана их вредность".
Comment 7 Dmitry V. Levin 2013-01-25 09:37:21 MSK
OK, как ты отнесешься к следующему *автоматическому* поведению rpmbuild:

adding strict dependency to osec-cronjob on osec-mailreport
adding strict dependency to osec-mailreport on osec-cronjob
removing 1 extra deps from osec-cronjob due to dependency on osec-mailreport
removing 1 extra deps from osec-mailreport due to dependency on osec-cronjob
removing 1 extra deps from osec-cronjob due to repentancy on osec-mailreport
Comment 8 Alexey Gladkov 2013-01-25 12:33:52 MSK
(В ответ на комментарий №6)
> Они смогут мирно сосуществовать с нынешним osec-mailreport, или они будут
> конфликтовать?

Они могут сосуществовать т.к. они переключаются в конфиге. Также могут использоваться совместно т.к. osec-cronjob содержит базовую обвязку для обработки отчёта.

В osec-mailreport находятся форматер и отправщик. Согласись, что вариантов этих скриптов может быть много.

> Когда от нестрогих зависимостей нет совсем никакой пользы, от них стоит ждать
> какого-нибудь вреда.  Кто-нибудь точечно обновит систему, возникнут подземные
> стуки, люди будут тратить на это свое и чужое время...

Эта нестрогая зависимость была очень давно и ни разу из-за неё не было проблем.

> Я хочу поменять умолчание с прежнего "строгие внутрипакетные зависимости не
> нужны, пока не доказана их нужность" на "строгие внутрипакетные зависимости
> нужны, пока не доказана их вредность".

Вредность строгой зависимости у osec-cronjob на osec-mailreport в том, что osec-mailreport имеет зависимости, которые не всем нужны:

$ rpmquery -R osec-mailreport |egrep -i '(mail|RPM/)'
/bin/mail  
perl(RPM/Database.pm) 

если первый ещё как-то, но вот второй...
(В ответ на комментарий №7)
> OK, как ты отнесешься к следующему *автоматическому* поведению rpmbuild:
> 
> adding strict dependency to osec-cronjob on osec-mailreport
> adding strict dependency to osec-mailreport on osec-cronjob

Мне не понятно. Что это значит ?

> removing 1 extra deps from osec-cronjob due to dependency on osec-mailreport
> removing 1 extra deps from osec-mailreport due to dependency on osec-cronjob
> removing 1 extra deps from osec-cronjob due to repentancy on osec-mailreport

А это что ?
Comment 9 Alexey Gladkov 2013-01-26 18:43:44 MSK
Хорошо. Раз ты так считаешь, я добавлю строгую зависимость.
Comment 10 Dmitry V. Levin 2013-01-26 19:20:12 MSK
Тестируемый сейчас rpmbuild делает следующее:
adding strict dependency to osec-mailreport on osec-cronjob
warning: osec-cronjob: non-strict dependency on osec-mailreport
removing 1 extra deps from osec-mailreport due to dependency on osec-cronjob
removing 1 extra deps from osec-mailreport due to repentancy on osec-cronjob
Comment 11 Dmitry V. Levin 2013-01-26 22:47:32 MSK
rpm-build >= 4.0.4-alt100.63 все сделает сам.
Специально заливать ради этого пакет нет необходимости.
Comment 12 Alexey Gladkov 2013-01-26 23:01:36 MSK
Пусть так. После обсуждения в рассылке мне уже без разницы.