[devel] LSB initscript -- грабли

Igor Vlasenko =?iso-8859-1?q?vlasenko_=CE=C1_imath=2Ekiev=2Eua?=
Вс Фев 1 23:11:43 MSK 2009


On Sun, Feb 01, 2009 at 10:36:39PM +0300, Ivan Fedorov wrote:
> в инит-скрипте clock из пакета не прописаны какие-то поля, которые
> нынче необходимы чтобы выполнить:
> 
> chkconfig --add clock
> 
> Чего именно там не хватает я уже не помню, а времени съездить и
> посмотреть нету, потому и баги нет...

Да, действительно нет.
clock выглядит (и расположен) как инит-скрипт,
но в действительности вызывается из rc.sysinit

$ grep -r clock /etc/rc.d/rc.sysinit 
# Set the system clock (when /etc/adjtime is missing)
[ -s /etc/adjtime ] || /etc/init.d/clock start
# Set the system clock (when /etc/adjtime is present)
[ ! -s /etc/adjtime ] || /etc/init.d/clock start

IMHO, либо уж сделать его честным init script,
либо переложить в
/etc/rc.d/scripts.

К сожалению, не так легко отличить 
инит-скрипт с ошибкой от просто скрипта.

Если это тема важна, можно предложить полиси,
что в /etc/rc.d/init.d не должно быть ничего 
кроме init scriptов, 

библиотек функций
/etc/init.d/functions
/etc/init.d/functions-compat
/etc/init.d/outformat

и традиционных исключений.
/etc/init.d/halt
/etc/init.d/killall
/etc/init.d/local
/etc/init.d/single

Относительно такого полиси проверку написать можно.

-- 

Dr. Igor Vlasenko
--------------------
Topology Department
Institute of Math
Kiev, Ukraine



Подробная информация о списке рассылки Devel