[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