| Summary: | Не хватает перезапуска xinetd | ||
|---|---|---|---|
| Product: | Sisyphus | Reporter: | Андрей Строганов <djandreysxe> |
| Component: | FirebirdCS | Assignee: | Boris Savelev <boris> |
| Status: | CLOSED NOTABUG | QA Contact: | qa-sisyphus |
| Severity: | normal | ||
| Priority: | P3 | ||
| Version: | unstable | ||
| Hardware: | all | ||
| OS: | Linux | ||
|
Description
Андрей Строганов
2011-07-11 15:57:33 MSK
rpm -q --scripts -p /var/ftp/pub/ALTLinux/Sisyphus/i586/RPMS.classic/firebird-server-classic-2.1.3.18185.0-alt4.3.i586.rpm
postinstall scriptlet (through /bin/sh):
for f in gsec fb_lock_print; do
if [ -e /usr/bin/$f.classic ]; then
ln -sf /usr/bin/$f.classic /usr/bin/$f
fi
done
if [ ! -f /etc/gds_hosts.equiv ]; then
echo localhost > /etc/gds_hosts.equiv
fi
/usr/sbin/post_service xinetd
preuninstall scriptlet (through /bin/sh):
/usr/sbin/preun_service xinetd
for f in gsec fb_lock_print; do
if [ "$(readlink /usr/bin/$f)" = "/usr/bin/$f.classic" ]; then
rm -f /usr/bin/$f
fi
done
в постин есть /usr/sbin/post_service xinetd
оно вызывает /sbin/service xinetd condrestart
этого должно быть достаточно
> в постин есть /usr/sbin/post_service xinetd
> оно вызывает /sbin/service xinetd condrestart
Извиняйте, надо было сразу дать больше информации.
Может, баг у меня в голове.
Всё, что я описал, относится ко времени выполнения %post моей rpm,
зависимостью которой является в том числе firebird.
Значимые куски SPEC-а:
Requires: ... firebird-classic ...
# ...
%post
# без этого fb classic здесь ещё не работает, но нужен прямо сейчас
service xinetd restart
# дальше работаем с fb...
Выясняется, что после установки моего пакета (где дёрг xinetd отсутствует),
которая конечно же вся изругалась, происходит нечто:
Running /usr/lib/rpm/posttrans-filetriggers
Done.
После чего fb, оказывается, прекрасно работает.
Вы правы, xinetd когда-то всё же рестартится, только поздно.
То же самое заметил с apache (он — зависимость и тоже не рестартится из %post).
Кажется, я глобально что-то не так делаю и не того человека потревожил.
Вопрос простой: как избежать костыля
apt-get install apache2
apt-get install firebird-classic
apt-get install своё
и реализовать всё в пределах
apt-get install своё
?
То есть форсировать выполнение ПОЛНОЙ установки зависимостей до меня из моего спека или наоборот отодвинуть выполнение команд из моего %post в самый конец установки с кучей зависимостей. Возможно ли?
Писать firebird в PreReq не помогло в Requires(post) не помогло в Requires(pre) не помогло тестирую установку на altlinux-6.0.0_beta20110616-centaurus-i586-ru-install-dvd5.iso + репозиторий сизиф Фиг с ней, с красотой, костыль (перезапуск xinetd) для fb проблему решает. Если apache останется непобеждённым, спрошу в соответствующем месте. Благодарю. Not a bug. честно говоря, я не знаю почему так. спросите в sisyphus или в devel |