[devel] [Sisyphus-cybertalk] I: Sisyphus-20060214 packages: +7! -7 +60 (5500)

Sergey Vlasov =?iso-8859-1?q?vsu_=CE=C1_altlinux=2Eru?=
Ср Фев 15 21:17:16 MSK 2006


On Wed, Feb 15, 2006 at 11:48:48PM +0600, php-coder wrote:
> --- Led 2006-02-15 13:17:57 +0200
> +++ php-coder 2006-02-15 23:28:38 +0600
> 
> L> > Не сработает такая адресация, потому как за тэгом %description не
> L> > обязательно идет %package. Теоретически, наверное, сработает просто
> L> > /^%description/,/^%/
> L> Это тоже не прокатит, потому как в тексте %description запросто может 
> L> попасться % (например, %name).
> 
>     Нет. Там второе условие - '^%', т.е. строка должна начинаться с знака
>     процента.
> 
>     Хотя некоторый шанс, что %description такой большой, что его разбили
>     на несколько строк, да ещё и одна из строк начинается с %name есть.

Я даже могу привести пример такого пакета - apt (там, правда, не
%name, а совсем нестандартный макрос, определённый в спеке рядом).

Вообще концом секции %description является начало любой следующей
секции:

    { PART_PREAMBLE,      0, "%package"},
    { PART_PREP,          0, "%prep"},
    { PART_BUILD,         0, "%build"},
    { PART_INSTALL,       0, "%install"},
    { PART_CLEAN,         0, "%clean"},
    { PART_PREUN,         0, "%preun"},
    { PART_POSTUN,        0, "%postun"},
    { PART_PRE,           0, "%pre"},
    { PART_POST,          0, "%post"},
    { PART_FILES,         0, "%files"},
    { PART_CHANGELOG,     0, "%changelog"},
    { PART_DESCRIPTION,   0, "%description"},
    { PART_TRIGGERPOSTUN, 0, "%triggerpostun"},
    { PART_TRIGGERUN,     0, "%triggerun"},
    { PART_TRIGGERIN,     0, "%triggerin"},
    { PART_TRIGGERIN,     0, "%trigger"},
    { PART_VERIFYSCRIPT,  0, "%verifyscript"},

Однако даже это в общем случае не поможет, поскольку разделители
секций вполне могут получаться в результате расширения макросов -
например, такой пакет прекрасно собирается:

=======================================================================
Name: xxx
Version: 0.1
Release: alt1
Summary: XXX
License: GPL
Group: Development/Other

%define DESC %description
%define BUILD %build

%DESC
This is XXX.

%BUILD
echo XXX

%files
%changelog
=======================================================================

Вот такая гадость этот rpm.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?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/20060215/80899e4b/attachment-0001.bin>


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