Bug 19020 - directory /etc/xinetd.d belongs to xinetd
Summary: directory /etc/xinetd.d belongs to xinetd
Status: CLOSED NOTABUG
Alias: None
Product: Sisyphus
Classification: Development
Component: rpm (show other bugs)
Version: unstable
Hardware: all Linux
: P2 normal
Assignee: placeholder@altlinux.org
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-02-27 21:15 MSK by led
Modified: 2009-03-20 01:10 MSK (History)
11 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description led 2009-02-27 21:15:05 MSK
Прошу убрать из /usr/lib/rpm/0common-files.req.list строку:
/etc/xinetd.d xinetd
Comment 1 Dmitry V. Levin 2009-02-27 21:28:42 MSK
(In reply to comment #0)
> Прошу убрать из /usr/lib/rpm/0common-files.req.list строку:
> /etc/xinetd.d xinetd

Я хочу, чтобы каталог /etc/xinetd.d был запакован только в пакете xinetd.
Comment 2 Mikhail Gusarov 2009-02-27 21:31:18 MSK
2led: А какому другому пакету может потребоваться владеть каталогом /etc/xinetd.d?
Comment 3 led 2009-02-27 21:38:27 MSK
(В ответ на комментарий №1)
> Я хочу, чтобы каталог /etc/xinetd.d был запакован только в пакете xinetd.

Понятно. Значит демоны, которые могут работать и через xinetd, и standalone у нас принципиально запрещены? Или ставить зависмость на xinetd придётся в любом случае, даже если предполагаю установить использовать демон только в standalone режиме?
Comment 4 Dmitry V. Levin 2009-02-27 21:44:04 MSK
(In reply to comment #3)
> (В ответ на комментарий №1)
> > Я хочу, чтобы каталог /etc/xinetd.d был запакован только в пакете xinetd.
> 
> Понятно. Значит демоны, которые могут работать и через xinetd, и standalone у
> нас принципиально запрещены?

С чего бы вдруг?

> Или ставить зависмость на xinetd придётся в любом
> случае, даже если предполагаю установить использовать демон только в standalone
> режиме?

Зависимость поставится сама.  А чем она мешает?
Comment 5 led 2009-02-27 21:46:22 MSK
(В ответ на комментарий №4)
> Зависимость поставится сама.  А чем она мешает?

Тем, что пакет будет вытягивать по зависмостям xinetd (при том, что в системе он не нужен)
Comment 6 Mikhail Gusarov 2009-02-27 21:47:26 MSK
(В ответ на комментарий №4)
> Зависимость поставится сама.  А чем она мешает?

Например, на тонком клиенте может не быть достаточно места.

2led: как вариант - mydaemon и mydaemon-xinetd, второй зависит от mydaemon и xinetd.
Comment 7 led 2009-02-27 21:49:06 MSK
(В ответ на комментарий №6)
> 2led: как вариант - mydaemon и mydaemon-xinetd, второй зависит от mydaemon и
> xinetd.

Не вариант. потому что после обновления пакета (который раньше был xinetd-only) пользователь "потеряет" его из системы.
Comment 8 Mikhail Gusarov 2009-02-27 21:51:24 MSK
Тогда наоборот: mydaemon и mydaemon-standalone.
Comment 9 led 2009-02-27 21:59:05 MSK
(В ответ на комментарий №8)
> Тогда наоборот: mydaemon и mydaemon-standalone.

И зависимость mydaemon -> mydaemon-standalone?

Есть какие-то другие причины, кроме указанных в "comment #1", чтобы городить всё это, вынося в отдельный пакет только невесомый, никому не мешающий скрипт размером < 0.5К?
Comment 10 Mikhail Gusarov 2009-02-27 22:04:23 MSK
Если не выносить отдельно - получится пакет с неполными зависимостями, требующий доустановки xinetd для работы с xinetd.

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

Возможно, для данного (какого, кстати?) демона это неважно, но это создаст прецедент для других.
Comment 11 led 2009-02-27 22:08:42 MSK
(В ответ на комментарий №10)
> Если не выносить отдельно - получится пакет с неполными зависимостями,
> требующий доустановки xinetd для работы с xinetd.
> 
> В этом случае, скажем, создание какого-нибудь VE-шаблона потребует
> дополнительных плясок с набором пакетов, чтобы получить работающий через xinetd
> сервис.

Если этот сервис работает только через xinetd, то почему в нём не проставлено
Requires: xinetd
? Это явная бага упаковки такого пакета.

> 
> Возможно, для данного (какого, кстати?)

В данный момент - tftpd

> демона это неважно, но это создаст
> прецедент для других.

да, это создаст возможность для других пакетов иметь возможность работать и через xinetd, и standalone
Comment 12 Mikhail Gusarov 2009-02-27 22:13:30 MSK
(В ответ на комментарий №11)

> Если этот сервис работает только через xinetd, то почему в нём не проставлено
> Requires: xinetd? Это явная бага упаковки такого пакета.

Нет, как раз наоборот: если сервис работает и так, и так.

Т.е. для VE-шки с tftpd-через-xinetd придётся указывать оба пакета: и tftpd, и xinetd, что есть нехорошо: зависимость потеряна.

> > демона это неважно, но это создаст прецедент для других.
> да, это создаст возможность для других пакетов иметь возможность работать и
> через xinetd, и standalone

Это сомнительный путь: субпакет с поддержкой xinetd тоже даёт возможность работать и через xinetd, и standalone, при этом зависимости остаются корректными, и, что более важно, явными: два пакета в выводе apt-cache search, с различающимся описанием гораздо лучше самодокументированы, чем один, с неявной слабой зависимостью на xinted.
Comment 13 led 2009-02-27 22:20:48 MSK
(В ответ на комментарий №12)
> (В ответ на комментарий №11)
> 
> > Если этот сервис работает только через xinetd, то почему в нём не проставлено
> > Requires: xinetd? Это явная бага упаковки такого пакета.
> 
> Нет, как раз наоборот: если сервис работает и так, и так.
> 
> Т.е. для VE-шки с tftpd-через-xinetd придётся указывать оба пакета: и tftpd, и
> xinetd, что есть нехорошо: зависимость потеряна.

Какая зависимость? Для tftpd не требуется xinetd - он и без xinetd отлично работает. Если же кому-то требуется, чтобы tftpd работал именно через xinetd, он поставит (или доавит в список) xinetd. Что здесь нелогично?

> Это сомнительный путь: субпакет с поддержкой xinetd тоже даёт возможность
> работать и через xinetd, и standalone, при этом зависимости остаются
> корректными,

Они так корректны. tftpd не требует для своей корректной работы обязательного наличия xinetd.

> и, что более важно, явными: два пакета в выводе apt-cache search,
> с различающимся описанием гораздо лучше самодокументированы, чем один, с
> неявной слабой зависимостью на xinted.

У меня прямо противоположное мнение на этот счёт:)
Comment 14 Mikhail Gusarov 2009-02-27 23:05:47 MSK
С одной стороны - xinetd-скрипт слишком мелок, чтобы его отпиливать в подпакет. С другой - точка зрения Димы, что все сервисы, работающие через xinetd (даже если это только один из вариантов их работы), должны зависеть от xinetd, тоже понятна.

Вероятно, субпакет тут является оптимальным компромиссом (жаль, что нельзя сделать-таки tftpd и tftpd-xinetd, было бы нагляднее).
Comment 15 led 2009-02-28 00:16:41 MSK
Может основной мейнтейнер tftp выскажет своё мнение?
Мне он любезно разрешил положить в Sisyphus пододную сборку, но городить костыли вокруг tftp-server в виде полукилобайтовых пакетов врядли одобрит:)
Да и самому мне это неинтересно, из-за того, что достаточных причин для этого мне так никто и не указал:)
Вижу только, что компромиса не получается (наверное, у меня слишком извращенные запросы) и теперь ещё и rpm с tfpp-server'ом в Sisyphus для моих задач абсолютно не подходят - значит будем пользоваться своими:)
Comment 16 led 2009-02-28 00:27:47 MSK
(В ответ на комментарий №14)
> С другой - точка зрения Димы, что все сервисы, работающие через xinetd (даже
> если это только один из вариантов их работы), должны зависеть от xinetd, тоже понятна.

Мне кажется вы неправильно поняли его точку зрения. ИМХО она не в том, что "все сервисы, работающие через xinetd должны зависеть от xinetd", потому что это очень легко решается без прибивания гвоздями /etc/xinet.d в 0common-files.req.list:)
Comment 17 Damir Shayhutdinov 2009-03-01 18:03:09 MSK
Мантейнер tftp не понимает этой глупой войны с 0common-files.req.list. Также мантейнер не понимает, почему так сложно напилить пакет потоньше. Мне лично не жалко дополнительных 10 килобайт на дополнительный пакет в Сизифе, лишь бы на системах, где каждый бит дискового пространства на счету, можно было сэкономить 300 килобайт на xinetd.
Поэтому, надо делать так:
Делается пакет tftp-server-common, содержащий то же, что сейчас содержит tftp-server, но без скрипта для xinetd
В пакете tftp-server остается скрипт для xinetd и добавляется зависимость на tftp-server-common
Делается пакет tftp-server-standalone, содержащий init-скрипт, с зависимостью на tftp-server-common.

Что я упустил?
Comment 18 Damir Shayhutdinov 2009-03-01 18:40:26 MSK
А, еще можно пакет tftp-server переименовать в tftp-server-xinetd через provides/obsoletes.
Comment 19 led 2009-03-01 20:24:46 MSK
(В ответ на комментарий №17)
> Мантейнер tftp не понимает этой глупой войны с 0common-files.req.list.

Нет никакой "войны". Просто натыкаюсь на это почти каждый день:)

> Также
> мантейнер не понимает, почему так сложно напилить пакет потоньше.

Ок, если можно - "напилим":)
Comment 20 led 2009-03-01 20:27:56 MSK
(В ответ на комментарий №18)
> А, еще можно пакет tftp-server переименовать в tftp-server-xinetd через
> provides/obsoletes.

И первый, и второй предложенный вами вариант я рассматривал. Так как вы не против, то так и сделаю, остановившись на втором варианте. Правда вызывает сомнение: нужен ли provides, не достаточно ли одного obsoletes?
Comment 21 Damir Shayhutdinov 2009-03-01 20:48:20 MSK
Не знаю, достаточно ли одного obsoletes. По идее provides нужен для того, чтобы даже после удаления пакета tftp-server из репозитария можно было делать apt-get install tftp-server. А obsoletes нужен для того, чтобы уже присутствующий в системе пакет tftp-server был заменен на tftp-server-xinetd при выполнении dist-upgrade. Я лично всегда делаю и provides, и obsoletes. Возможно, это просто перестраховка.
Comment 22 led 2009-03-02 20:51:49 MSK
так вопрос решился другим способом, наверное, стОит считать, что NOTABUG