[devel] A: Прошу пропустить доработанные sustemd и dbus

Aleksey Avdeev solo на solin.spb.ru
Вс Янв 31 13:43:26 MSK 2016


31.01.2016 03:20, Dmitry V. Levin пишет:
> Hi,
> 
> On Sun, Jan 31, 2016 at 12:49:10AM +0300, Aleksey Avdeev wrote:
>> Приветствую.
>>
>>   Прошу пропустить в Сизиф и p7 пакеты исправляющие
>> <https://bugzilla.altlinux.org/show_bug.cgi?id=31718> и
>> <https://bugzilla.altlinux.org/show_bug.cgi?id=31740>:
>>
>>
>> 1. <http://git.altlinux.org/tasks/156192/> -- systemd-228-alt3 (см.
>> <http://git.altlinux.org/people/solo/packages/?p=systemd.git;a=commit;h=73373da6e0f745faba2914dad30ff9eb3643d7e1>),
>> в Сизиф. Изменения относительно текущего systemd-228-alt2:
>>
>> 1.а) Каталог /usr/lib/tmpfiles.d добавлен в фильтр
>> systemd-tmpfiles.filetrigger (предоставляется подпакетом systemd-utils).
> 
> У нас вместо /usr/lib/tmpfiles.d используется /lib/tmpfiles.d

  Знаю. Но не вижу чем обработка /usr/lib/tmpfiles.d может помешать
данной политике. А вот уменьшить (не значительно) количество ситуаций
когда пакет не работает после установки но начинает работать после
перезагрузки -- может. Кроме того:

1. У нас по прежнему есть пакеты использующие конфиги
в /usr/lib/tmpfiles.d: в Сизифе это selinux-policy, в p7/t7 --
selinux-policy иlightdm.

2. Судя по коду, systemd-tmpfiles обрабатывает /usr/lib/tmpfiles.d (как
и /usr/local/lib/tmpfiles.d, но /usr/local зарезервирован для локальных
сборок и не должен использоваться в пакетах), см.:

$ cat src/tmpfiles/tmpfiles.c
...
static const char conf_file_dirs[] = CONF_PATHS_NULSTR("tmpfiles.d");
...

$ cat src/basic/def.h
...
#define CONF_PATHS_NULSTR(n) \
        "/etc/" n "\0" \
        "/run/" n "\0" \
        "/usr/local/lib/" n "\0" \
        "/usr/lib/" n "\0" \
        _CONF_PATHS_SPLIT_USR(n)

> 
>> 1.б) В подпакет systemd-utils добавлены средства обеспечивающие
>> поддержку systemd-tmpfiles под sysvinit -- init и cron daily скрипты
>> tmpfiles, позволяющие выполнять запуск
>>
>> systemd-tmpfiles --create --remove
>>
>> при старте и
>>
>> systemd-tmpfiles --clean
>>
>> раз в сутки и при стопе системы.
> 
> Вы /etc/rc.d/scripts/cleanup видели?

  Да, как и /etc/cron.daily/stmpclean. Но оба решения обрабатывают
фиксированный список каталогов по фиксированным правилам задания времени
жизни файлов. А systemd-tmpfiles может обрабатывать произвольный список
каталогов с произвольным временем жизни файлов (за счёт конфигов
принадлежащим пакетам).

> В любом случае не надо добавлять sysv-specific скрипты в systemd.

  А как тогда быть с udevd.init -- явный sysv-specific скрипт, уже
добавленный в systemd?

Причина предлагаемых изменений одна: Управление всё большим количеством
временных каталогов и файлов переезжает в конфиги tmpfiles.d. С учётом
отсутствия обработки содержимого tmpfiles.d под sysvinit -- данный
процесс может приводить к смолам работы sysvinit (на один из которых я и
нарвался). А с учётом того, что новый udev в любом случаи тянет за собой
systemd-utils -- sysv-specific скриптовая обвязка выглядит логичной...
(Работе под systemd она не мешает, т. к. там есть защита от исполнения
под systemd.) Если есть другие варианты -- готов их рассматривать.

-- 

С уважением. Алексей.


----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : signature.asc
Тип     : application/pgp-signature
Размер  : 230 байтов
Описание: OpenPGP digital signature
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20160131/8216037b/attachment-0001.bin>


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