From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Mon, 29 Jun 2020 18:59:46 +0300 From: "Vladimir D. Seleznev" To: ALT Linux Team development discussions Message-ID: <20200629155946.GA121290@portlab> References: <20200625204628.GA876153@mw.mithraen.ru> <54a896d911b75f70d71840173d6acae7@altlinux.ru> <20200629023812.GA310285@mw.mithraen.ru> <20200629145224.GA110346@portlab> <20200629152842.GC19837@altlinux.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.10.1 (2018-07-13) Subject: Re: [devel] =?utf-8?b?0LrQsNC6INC/0YDQsNCy0LjQu9GM0L3QviDQuNGB0L8=?= =?utf-8?b?0L7Qu9GM0LfQvtCy0LDRgtGMICVjaGVjaz8=?= X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2020 15:59:47 -0000 Archived-At: List-Archive: List-Post: 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