[devel] I: rpm-build supports %autopatch directive

Andrey Savchenko bircoph на altlinux.org
Вс Окт 6 17:57:20 MSK 2019


On Sun, 6 Oct 2019 17:21:20 +0300 Dmitry V. Levin wrote:
> On Sun, Oct 06, 2019 at 03:30:46PM +0300, Andrey Savchenko wrote:
> > On Sun, 6 Oct 2019 15:20:35 +0300 Dmitry V. Levin wrote:
> > > On Sun, Oct 06, 2019 at 03:10:14PM +0300, Andrey Savchenko wrote:
> > > > On Sun, 6 Oct 2019 15:00:54 +0300 Dmitry V. Levin wrote:
> > > > > On Sun, Oct 06, 2019 at 08:02:40AM +0300, Anton Farygin wrote:
> > > > > > On 03.10.2019 23:23, Vladimir D. Seleznev wrote:
> > > > > > > Hi!
> > > > > > >
> > > > > > > rpm-build начиная с версии 4.0.4-alt133 поддерживает директиву
> > > > > > > %autopatch в секции %prep, которая сразу прикладывает все перечисленные
> > > > > > > в глобальной секции патчи.  Директива поддерживает две опции, -p и -F, с
> > > > > > > семантикой, аналогичной для таковых опций директивы %patch, значения
> > > > > > > которых применяется для всех патчей.
> > > > > > >
> > > > > > А %autosetup планируется добавить ?
> > > > > 
> > > > > Насколько я понимаю, в плане был бэкпорт не только %autopatch, но и
> > > > > %autosetup.  Однако во время ревью выяснилось, что %autosetup в rpm.org
> > > > > кривой: в отличие от %setup, %autosetup -a1 -a2 молча теряет -a1.
> > > > 
> > > > Что за -aN? В документации %autosetup этой опции нет:
> > > > https://rpm.org/user_doc/autosetup.html
> > > 
> > > К сожалению, эта документация не соответствует реализации.  Там не только
> > > -aN не упомянуто, но и некоторые другие параметры, а про -b указана
> > > информация, не соответствующая реализации, в которой на самом деле
> > > сделан проброс -bN в %setup (такой же кривой, как и -aN).
> > > 
> > > > > В результате бэкпорт %autosetup'а пришлось отложить.
> > > > 
> > > > А есть ли у нас поддержка генерации строк, как вот эта
> > > > (из документации выше):
> > > > %{lua:for i=1,45 do print(string.format("Patch%u: bash42-%03u\n", i, i)) end}
> > > 
> > > Поддержки lua в нашем rpm-build нет.
> > 
> > Для данной задачи не обязательна поддержка lua, достаточно любого
> > вида генератор строк по шаблону сделать.
> 
> Это есть с незапамятных времен.
> Эквивалентная конструкция с bash вместо lua выглядит так:
> %(for i in {1..45}; do printf 'Patch%%u: bash42-%%03u\n' $i $i; done)

Замечательно. Ещё бы это было задокументировано где, чтоб не
узнавать из почтовых рассылок :)

Best regards,
Andrew Savchenko
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 833 байтов
Описание: отсутствует
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20191006/fb578635/attachment.bin>


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