[devel] обновления пакетов с поддержкой systemd

Alexey Shabalin a.shabalin на gmail.com
Чт Авг 11 11:36:49 UTC 2011


10 июня 2011 г. 22:49 пользователь Alexey Shabalin написал:
> 27 мая 2011 г. 21:11 пользователь Dmitry V. Levin написал:
>> On Sat, May 21, 2011 at 04:42:31PM +0400, Alexey Shabalin wrote:
>>> Чёрт, с этим исправлением возникает другая проблема.
>>> В ALTLinux много имён init-скриптов не соответствуют названиям из upstream.
>>> Например udev -> udevd,  bluetooth -> bluetoothd.service и т.п.
>>> (добавляется d в конце имени).
>>
>> Вопрос, эти названия из upstream существуют в виде init-скриптов, или в
>> каком-то ином виде?  Например, если апстрим реализует некий демон
>> SERVICEd, то init-скрипт у нас с высокой вероятностью будет называться
>> SERVICEd а не SERVICE.  Просьба прояснить картину.
>>
>>> Для работы с systemd на такие имена сделаны симлинки
>>> # ls -l /lib/systemd/system/udevd.service
>>> lrwxrwxrwx 1 root root 12 Май 21 17:39
>>> /lib/systemd/system/udevd.service -> udev.service
>>> [root на shabalin-nb ~]# ls -l /lib/systemd/system/bluetoothd.service
>>> lrwxrwxrwx 1 root root 17 Май 21 17:39
>>> /lib/systemd/system/bluetoothd.service -> bluetooth.service
>>>
>>> Это работает  для start|stop (systemctl start|stop foo.service или
>>> service foo start|stop ),
>>> но не работает для enable|disable ( systemctk enable|disable
>>> foo.service или chkconfig foo enable|disable)
>>> Ругается что это symlink и хочет правильное имя.
>>>
>>> Как это объезжать?
>>> - привести имена init-скриптов к апстримному виду
>>
>> В этом случае сломаются обновление пакетов и привычки у людей.
>>
>>> - привести имена .service файлов к ALTLinux виду
>>
>> В этом случае может ухудшиться переносимость .service-файлов.
>>
>> Если идти путем переименования, то придется рассматривать каждый случай
>> в отдельности.
>>
>>> - научить systemd делать enable|disable для симлинков (а симлинк может
>>> быть и на /dev/null - для systemd это нормальный способ выключить или
>>> замаскировать сервис).
>
> в версии 28-alt3 я убрал ограничение на симлинки. Теперь можно делать
> enable|disable на симлинки.
> start|stop можно было делать и раньше.
> Экспериментировал с bluetoothd.service - вроде все нормально.
> Даже работает, если включать bluetoothd.service, а выключать уже
> bluetooth.service - выдаёт предупреждение, но ошибок нет.

В новой версии 33-alt1 опять нельзя сделать enable|disable для симлинка.
Этот код сильно переписали, и я пока не нашёл способа изменить.

>> Если симлинк ведет на /dev/null, то как ему можно сделать enable|disable?
> про симлинки на /dev/null можно не беспокоится, ни start, ни enable
> для них не работает.
>
> --
> Alexey Shabalin
>



-- 
Alexey Shabalin


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