On Fri, Aug 31, 2007 at 01:15:18AM +0400, Denis Smirnov wrote: > Update of /people/mithraen/packages/nginx.git [...] > Full diff since `nginx/0.5.31-alt2' follows: > diff --git a/nginx.init b/nginx.init > index 342181a..290bf4e 100755 > --- a/nginx.init > +++ b/nginx.init > @@ -13,6 +13,8 @@ WITHOUT_RC_COMPAT=1 > > LOCKFILE=/var/lock/nginx/nginx > PIDFILE=/var/run/nginx.pid > +OLDBINPID=/var/run/nginx.pid.oldbin > +BINARY=/usr/sbin/nginx Зачем это?? > RETVAL=0 > > start() > @@ -26,7 +28,7 @@ start() > > stop() > { > - stop_daemon --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --expect-user root --name nginx -- /usr/sbin/nginx > + stop_daemon --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --expect-user root --name nginx -- $BINARY Не нужен никакой $BINARY, выкиньте --name nginx и напишите по-человечески. Может хотя бы /etc/init.d/template посмотрите? > upgrade() > { > - check > - RETVAL=$? > - if [ $RETVAL -eq 0 ]; then > - echo -n $"Upgrading nginx: " > - kill -USR2 `cat $PIDFILE` > + conftest > RETVAL=$? > + echo -n "Upgrading nginx: " > + if [ $RETVAL -eq 0 ]; then > + # TODO: use start-stop-daemon? > + [ -s "$PIDFILE" ] && kill -USR2 `cat "$PIDFILE"` > + RETVAL=$? > + # let the signal through; the system might be fairly busy, > + # so if we don't see the oldpidfile immediately, wait 5 sec > + [ -s "$OLDBINPID" ] || sleep 5 > + [ -s "$OLDBINPID" ] && kill -TERM `cat "$OLDBINPID"` > + success > + else > + failure > + RETVAL=1 > + fi Какому пользователю принадлежит файл $PIDFILE? Делать kill -USR2 `cat "$PIDFILE"` не глядя нельзя, если слово "безопасность" для вас не пустой звук. > condrestart) > - [ -e "$LOCKFILE" ] && upgrade ||: > + # package upgrade should invoke upgrade(); > + # sysadmin doing condrestart by hand > + # should invoke restart() if nginx's running. > + # see also manual/triggers in rpm docs > + # and /usr/sbin/post_service > + if ! [ "$RPM_INSTALL_ARG1" -ge 0 ] 2>/dev/null; then > + if [ -e "$LOCKFILE" ]; then > + restart > + fi > + exit 0 > + fi > + if [ "$RPM_INSTALL_ARG1" -gt 1 ]; then > + upgrade > + fi А почему при обновлении пакета нельзя выполнить обычный condrestart? -- ldv