From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Fri, 31 Aug 2007 17:11:58 +0300 From: Michael Shigorin To: ALT Devel discussion list Message-ID: <20070831141158.GD22284@osdn.org.ua> Mail-Followup-To: ALT Devel discussion list References: <20070830211520.1828B1CB46A4@ssh.git.local.altlinux.org> <20070830212422.GA21110@basalt.office.altlinux.org> Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20070830212422.GA21110@basalt.office.altlinux.org> User-Agent: Mutt/1.4.2.1i Subject: Re: [devel] [git update] packages/nginx: heads/master X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.9rc1 Precedence: list Reply-To: ALT Devel discussion list List-Id: ALT Devel discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Aug 2007 14:11:57 -0000 Archived-At: List-Archive: List-Post: On Fri, Aug 31, 2007 at 01:24:22AM +0400, Dmitry V. Levin wrote: > > +OLDBINPID=/var/run/nginx.pid.oldbin > > +BINARY=/usr/sbin/nginx > Зачем это?? Постфактум: Костик объяснил правильно; и оно почти работало. Собственно, эти костыли были этапом экспериментов -- то, куда оно пришло сегодня, вчера в общих чертах и представлялось. > > - 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 посмотрите? Дим, смотрел и не раз. Здесь проблема была не в починке методом s,nginx,/usr/sbin/nginx, а в применении --name nginx с самого начала. Где бы правильное применение задокументировать -- в template? Каждый раз читать /etc/init.d/functions не очень интересно. > Какому пользователю принадлежит файл $PIDFILE? root:root > Делать kill -USR2 `cat "$PIDFILE"` не глядя нельзя, если слово > "безопасность" для вас не пустой звук. А то. Более подробный анализ -- здесь: https://bugzilla.altlinux.org/show_bug.cgi?id=12655#c9 > > 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? Поскольку можно круто выпендриться и выполнить необычный =) Со времён nginx-0.1.x так хотел, но только теперь добрался. УМВР и потому в git. -- ---- WBR, Michael Shigorin ------ Linux.Kiev http://www.linux.kiev.ua/