ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: "Vladimir D. Seleznev" <vseleznv@altlinux.org>
To: ALT Linux Team development discussions <devel@lists.altlinux.org>
Subject: Re: [devel] как правильно использовать %check?
Date: Mon, 29 Jun 2020 18:59:46 +0300
Message-ID: <20200629155946.GA121290@portlab> (raw)
In-Reply-To: <alpine.LFD.2.20.2006291832450.13569@imap.altlinux.org>

On Mon, Jun 29, 2020 at 06:40:41PM +0300, Ivan Zakharyaschev wrote:
> On Mon, 29 Jun 2020, Dmitry V. Levin wrote:
> 
> > On Mon, Jun 29, 2020 at 05:52:24PM +0300, Vladimir D. Seleznev wrote:
> > > On Mon, Jun 29, 2020 at 05:38:13AM +0300, Денис Смирнов wrote:
> > > > On Fri, Jun 26, 2020 at 07:06:16PM +0300, Vitaly Lipatov wrote:
> > > > 
> > > > >> А зачем обязательно в PDF? Почему недостаточно HTML? Его и проверить
> > > > >> проще, что там получилось...
> > > > > Ещё у нас есть механизм, использующий упаковку тестов в подпакет 
> > > > > checkinstall
> > > > > И некоторые даже о нём знают и пользуются:
> > > > > https://lists.altlinux.org/pipermail/devel/2019-December/209294.html
> > > > 
> > > > То есть идея в создании виртуального подпакета %name-checkinstall, у которого в %pre или %post скрипте выполняется тест?
> > > 
> > > Мне кажется, это слишком сложно для данного случая. Лучше ограничиться
> > > скриптом в секции %check.
> > 
> > С другой стороны, существуют токсичные пакеты, попадание которых
> > в сборочную среду следует избегать.  К таким пакетам относится
> > rpm-build-ruby, который имеет свойство гулять по файловой системе,
> > и texlive, который вытягивает несколько гигабайт неизвестно чего.
> 
> Ещё не бОльшая, а меньшая сложность оформления запуска тестов как 
> *-checkinstall-пакета (зависящего от пакета *-tests) может достигаться 
> благодаря автопоиску зависимостей в пакете *-tests -- вместо того, чтобы 
> долго и мучительно их вручную подбирать, записывать, потом поддерживать в 
> актуальном состоянии.

Это верно, но для простых скриптов это не актуальная проблема, по-моему.

Некоторое время назад в rpm.org сделали автогенерацию BuildRequires [1]
[2], которую можно было бы использовать в том числе для этого. У нас
этого нет, и даже если это реализовать, то придётся дорабатывать
сборочницу, чтобы она могла с этим работать, и делать дополнительные
ручки для rpm-build, как, например, %filter_from_buildrequires.

> Думаю, со многими python-* пакетами это сильно упростило бы спек-файлы. 
> Правда, на этом пути есть небольшая проблема: в питоновских тестах пишут 
> import-ы часто на более глубоком уровне вложенности, чем учитывает 
> автопоиск зависимостей (но это настраиваемый параметр в принципе -- но при 
> большой глбуине возникнут проблемы исключающих альтернатив):
> 
> try:
> 	import XXX
> 
> Ещё одно преимущество избавления от BuildRequires ради тестов -- разрыв 
> циклов по сборочным зависимостям при пересборке множества пакетов 
> (например, с новым ABI библиотеки -- тогда старые сборки уже не работают 
> в промежутке между старым и новым состоянием) или при бутстрапе новой 
> архитектуры: можно сначала кучу пакетов собрать, а когда вся куча будет 
> готова -- запустить их взаимозависимые тесты.

В т.ч. для этого %if_with check и прописывается.

Ссылки:
[1] https://fedoraproject.org/wiki/Changes/DynamicBuildRequires
[2] https://github.com/rpm-software-management/rpm/commit/58dcfddc376a7c97de1432f0082be0d5f01adbcd

-- 
   WBR,
   Vladimir D. Seleznev


  reply	other threads:[~2020-06-29 15:59 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-25 20:46 Денис Смирнов
2020-06-25 21:25 ` Paul Wolneykien
2020-06-26  0:59   ` Денис Смирнов
2020-06-26 16:06   ` Vitaly Lipatov
2020-06-29  2:38     ` Денис Смирнов
2020-06-29 12:39       ` Vitaly Lipatov
2020-06-29 14:52       ` Vladimir D. Seleznev
2020-06-29 15:28         ` Dmitry V. Levin
2020-06-29 15:40           ` Ivan Zakharyaschev
2020-06-29 15:59             ` Vladimir D. Seleznev [this message]
2020-06-29 17:05               ` Ivan Zakharyaschev
2020-06-29 15:58           ` Andrey Savchenko
2020-06-29 16:51             ` Vladimir D. Seleznev
2020-06-29 17:32               ` Dmitry V. Levin
2020-06-29  7:19     ` Michael Shigorin
2020-06-26  1:24 ` Vladimir D. Seleznev
2020-06-26  3:51   ` Денис Смирнов
2020-06-26 15:40     ` Mikhail Novosyolov
2020-06-26  9:11   ` Alexey V. Vissarionov
2020-06-26 10:26     ` Andrey Savchenko
2020-06-26 10:47       ` Alexey V. Vissarionov
2020-06-26 10:52         ` 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=20200629155946.GA121290@portlab \
    --to=vseleznv@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