[devel] [git update] packages/nginx: heads/master

Dmitry V. Levin =?iso-8859-1?q?ldv_=CE=C1_altlinux=2Eorg?=
Пт Авг 31 01:24:22 MSD 2007


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
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20070831/e126c7c9/attachment-0001.bin>


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