ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Mikhail Novosyolov <mikhailnov@altlinux.org>
To: devel@lists.altlinux.org
Subject: Re: [devel] I: rpm-build supports %autopatch directive
Date: Sun, 24 Nov 2019 19:33:57 +0300
Message-ID: <38bec663-a2e3-dbd6-2773-17a2de63f3f7@dumalogiyamail.ru> (raw)
In-Reply-To: <20191006142120.GA930@altlinux.org>

06.10.2019 17:21, Dmitry V. Levin пишет:
> 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)

Здесь еще стоит отметить возможность совместить такую конструкцию с expand:

cat %{expand:%(for i in `seq 1 3`; do echo "%%SOURCE$((200+${i}))" | tr 
"\n" " "; done)} >> file

Это превратится в:
cat %SOURCE201 %SOURCE202 %SOURCE203 >> file
А уже затем %SOURCE<...> или любые другие макросы раскроются, как обычно 
раскрываются макросы RPM.

Такое иногда применяется для генерации множества однотипных подпакетов, 
например, по подпакету на каждую из множества локалей.

На ALT Linux такое не пробовал, но, думаю, работает.



  parent reply	other threads:[~2019-11-24 16:33 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-03 20:23 Vladimir D. Seleznev
2019-10-03 20:26 ` Anton Farygin
2019-10-03 20:29 ` Dmitry V. Levin
2019-10-04 22:20 ` Grigory Ustinov
2019-10-05 18:47   ` Vladimir D. Seleznev
2019-10-05 23:34     ` Grigory Ustinov
2019-10-06  0:03       ` Vladimir D. Seleznev
2019-10-06 11:39         ` Andrey Savchenko
2019-10-06  5:02 ` Anton Farygin
2019-10-06 12:00   ` Dmitry V. Levin
2019-10-06 12:10     ` Andrey Savchenko
2019-10-06 12:20       ` Dmitry V. Levin
2019-10-06 12:30         ` Andrey Savchenko
2019-10-06 14:21           ` Dmitry V. Levin
2019-10-06 14:57             ` Andrey Savchenko
2019-11-24 16:33             ` Mikhail Novosyolov [this message]
2019-10-06 14:06         ` Alexey V. Vissarionov
2019-10-06 20:36   ` Vladimir D. Seleznev
2019-10-07 17:56 ` Andrey Savchenko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=38bec663-a2e3-dbd6-2773-17a2de63f3f7@dumalogiyamail.ru \
    --to=mikhailnov@altlinux.org \
    --cc=devel@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git