[devel] LSB init headers [was: fresh repocop report]
Igor Vlasenko
=?iso-8859-1?q?vlasenko_=CE=C1_imath=2Ekiev=2Eua?=
Чт Мар 6 13:10:58 MSK 2008
On Thu, Mar 06, 2008 at 02:50:06AM +0300, Денис Смирнов wrote:
> On Wed, Mar 05, 2008 at 05:20:58PM +0200, Igor Vlasenko wrote:
>
> IV> 1) Дима что-то не проясняет свою позицию.
>
> Насколько я понимаю -- загонять всех в светлое будущее в виде LSB пинками
> пока очень рано. А вот информировать мантейнеров о том, что
> LSB-initscripts могут быть для них полезны -- можно и нужно.
Да, но лучше сейчас потратить время на обсуждение,
рассмотреть возможные проблемы и пути решения и зафиксировать
результат на вики, чем послать людей в никуда ;)
Наощупь можно таких дров наломать...
> IV> 2) К тесту не хватает странички на wiki -
> IV> кто-то должен заявить о своей компетентности в разрешении вопросов.
> Думаю та ссылка на Debian уже очень неплохой вариант.
Не хватает alt-specific. Например, вопрос ниже
> IV> например, есть ли у нас X-Start-Before/X-Stop-After?
> Не знаю. Но, скажу честно, _пока_ они мне не были ни разу нужны.
У меня был другой опыт, я сразу столкнулся с пакетом, где они были
естественным образом нужны. я ниже поясню на примерах.
> Тут не X-.* нужны, а Should (в пику Requires). Например если конфигурация
> сервиса предусматривает что он может пользоваться услугами БД, то ему надо
> говорить что он Should-Start все виды БД, которыми он может пользоваться.
Надо небольшое отступление.
Should-Start и X-Start-Before представляют собой
отношение и ко-отношение, логически эквивалентные друг другу.
Т.е. если А хочет В, то В ко-хочет А.
но эквивалентные логически, они крайне не эквивалентны практически.
Вот простой критерий, когда нужно использовать отношение,
а когда отношение:
Утверждение:
------------
отношение (ко-отношение) естественно, если в нем стрелки ведут
_из_ пакета, порождающего это отношение (ко-отношение),
и неестественно (изврат, по простому), если стрелки идут наоборот.
Поясню это на примере. Сначала возьмем Should-Start:
Пример 1 (Should-Start:)
--------
некий странный сервис bubbalizer использует mysql.
Этот факт порождает отношение bubbalizer <-> mysql.
В этом случае естественно писать в заголовке bubbalizer
Should-Start: mysql
и противоестественно писать в заголовке mysql
X-Start-Before: bubbalizer
В противном случае на майнтайнера mysql свалятся проблемы
работоспособности всех этих бесчисленных bubbalizer'ов :(
Пример 2 (X-Start-Before:)
---------
Сервис hpiod (был в hplip 1.x-2.6.x) предоставляет cups (альтернативную)
возможность печати на принтеры hp, и должен запускаться перед cups.
В этом случае естественно писать в заголовке hpiod
X-Start-Before: cups
и противоестественно писать в заголовке cups
Should-Start: hpiod.
В противном случае на майнтайнера cups свалятся проблемы
работоспособности всех этих бесчисленных backend'ов :(
В основном это экзотика, никому не нужная кроме несчастного
их обладателя, с загрузкой firmware и другой гадостью.
И даже если несчастный обладатель опакетит дрова, то
без X-Start-Before:
они просто так не заработают, нужно будет править заголовки
сторонних пакетов (cups). При чем и в Сизифе, и во всех branch...
Таким образом,
проще добавить поддержку (если еще ее нет)
X-Start-Before:. Патчи можно взять в SuSE.
--
Dr. Igor Vlasenko
--------------------
Topology Department
Institute of Math
Kiev, Ukraine
Подробная информация о списке рассылки Devel