[devel] [git update] packages/rpm: heads/mod

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Пт Сен 21 19:29:03 MSD 2007


On Fri, Sep 21, 2007 at 06:59:03PM +0400, Dmitry V. Levin wrote:
> On Fri, Sep 21, 2007 at 06:24:46PM +0400, Alexey Tourbin wrote:
> > On Fri, Sep 21, 2007 at 05:37:50PM +0400, Dmitry V. Levin wrote:
> > > On Fri, Sep 21, 2007 at 05:05:07PM +0400, Alexey M. Tourbin wrote:
> > > [...]
> > > >  	if [ -n "${RPM_BUILD_ROOT-}" ] && [ -z "${rep##$RPM_BUILD_ROOT*}" ]; then
> > > 
> > > Этот код не будет работать правильно при пустом значении RPM_BUILD_ROOT.
> > 
> > Обоснуй.
> 
> OK, будет и так работать.

Да это же по сути код
	if [ -n "$RPM_BUILD_ROOT" ] && [ -z "${rep##$RPM_BUILD_ROOT*}" ]; then
	...

в котором при первом использовании RPM_BUILD_ROOT добавлен минус,
потому что скрипты работают в режиме 'sh -u'.  Минус означает что
"я действительно знаю, что такой переменной может и не быть, это
не опечатка".

Кстати, код
	if [ -n "${RPM_BUILD_ROOT-}" -a -z "${rep##$RPM_BUILD_ROOT*}" ]; then
	...
в этом отношении уже не проканает, потому что с точки зрения шелла это
одна и та же команда, и если первый минус "гасит" -u, то во втором
RPM_BUILD_ROOT минуса уже нет, а подстановка происходит всех переменных
СРАЗУ (до интерпретации), и шелл по идее должен вывалиться.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?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/20070921/071f2bcc/attachment-0002.bin>


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