On Sat, May 05, 2012 at 11:25:13PM +0300, Igor Vlasenko wrote: > On Sat, May 05, 2012 at 11:55:30PM +0400, Dmitry V. Levin wrote: > > У нас chkconfig и service пока справляются и без триггеров. > > До тех пор, пока в пакетах есть sysv-скрипты, и нет нестандартных задач, > > обычные %post_service и %preun_service будут продолжать справляться. > > Понял. А если systemd сервис есть, а init скрипта нет, > %post_service и %preun_service отработают корректно? > 1) под systemd ? > 2) под sysVinit ? Сейчас нет. %post_service и %preun_service не были предназначены для ситуации, когда sysv-скрипта нет. > я хочу репозиторий развернуть, autoimpots, > и мне бы было удобно иметь поддержку пакетов с systemd сервисами, > но без init скриптов. Распознавать ненужные %pre*/%post*-скрипты вообще реально? > > Возможно ли создать такой универсальный файлтриггер, который бы не наломал > > дров в нестандартной ситуации? Навскидку мне кажется, что нет, но вы > > можете попробовать доказать обратное. > > IMHO, нестандартные ситуации возникают именно из-за init скриптов. На чем основано это IMHO? У sysctemctl много разных поддерживаемых операций (15 unit commands, 9 unit files commands), это довольно гибкий инструмент "на все случаи жизни". Весьма вероятно, что из-за этой гибкости создать универсальный файлтриггер невозможно. Возможно создать универсальный файлтриггер, годный для типовых ситуаций, но при этом вредный в более редких ситуациях. > Если окажется, что в отсутствие init скрипта > %post_service и %preun_service отработают некорректно, > то IMHO если разделить мухи и котлеты, т.е. пусть > %post_service и %preun_service продолжают заниматься init скриптами, > а systemd файлы (при запущенном systemd) обрабатывает filetrigger, > было бы проще и надежнее. Файлтриггер хорош в типовых ситуациях. Если в какой-то редкой ситуации файлтриггер будет вреден, то эта вредность будет усугубляться тем, что его нельзя обойти. Таким образом, если мы идем путем реализации файлтриггера, то мы должны объявить, какие ситуации являются типовыми, и фактически запретить все остальные. Тоже вариант, конечно, если хорошо все проработать, но я бы не хотел оказаться в ситуации необходимости обходить файлтриггер. -- ldv