18.02.2016 02:26, Dmitry V. Levin пишет: > On Mon, Feb 15, 2016 at 01:06:23PM +0300, Alexey Shabalin wrote: >> 11 февраля 2016 г., 9:06 пользователь Aleksey Avdeev написал: >>> 10.02.2016 23:41, Aleksey Avdeev пишет: >>> ... >>>> >>>> 2. sysvinit-tmpfiles-0.1-alt0.M70T.1 (см. >>>> ) >>>> -- Поддержка tmpfiles для sysvinit. >>> >>> В вариант для Сизифа: >>> sysvinit-tmpfiles-0.1-alt1 (см. >>> ). >> >> Алексей, в задании #159059 новый systemd-229, в который добавлен ваш >> сервис tmpfiles, с небольшими моими правками. > > Там в пакет systemd-utils просочились %_initdir/tmpfiles и > %_sysconfdir/cron.daily/tmpfiles; если эти файлы не нужны > для systemd-only системы, то их надо убрать из systemd-utils. По результатам экспериментов с sysvinit-tmpfiles у меня сложилось мнение, что наиболее простой вариант получения чистых systemd-only систем -- вынос поддержки sysvinit в отдельные подпакеты, например с названиями вида *-sysvinit (тогда на systemd-only системах их можно не ставить). Причины: 1. Для нормальной установки на систему под systemd, пакет содержащий %_initdir/ должен содержать и /lib/systemd/system/.service. Иначе при установки пакета будут наблюдаться ошибки (см. ). 2. При этом симлинк вида /lib/systemd/system/.service -> /dev/null к исправлении ситуации не приводит. А симлинк на реальный service, вида /lib/systemd/system/.service -> /lib/systemd/system/.service, приведёт к зависимости на пакет его содержащий, что не всегда допустимо. 3. В свете предыдущего пункта, исключения зависимости на пакет содержащий /lib/systemd/system/.service, пакету с %_initdir/ потребуется: а) обвить /lib/systemd/system/.service как %ghost; б) иметь тригер, отслеживающий установку/удаление/наличие пакета содержащего .service и в зависимосте от этого создающего/удаляющего симлинк .service -> .service. В общем, наиболее простой вариант: 1. Симлинк .service -> .service пометить в пакет содержащий .service. 2. %_initdir/, без .service, в отдельный пакет. -- С уважением. Алексей.