[devel] check_*_pkg? Was: Re: RFC: *-install-test

Ivan Zakharyaschev imz на altlinux.org
Вс Дек 24 13:08:45 MSK 2017


On Sun, 24 Dec 2017, Dmitry V. Levin wrote:

>> Да, сделаю. Надо только написать в описании пакета, что он существует
>> только для install-test в сборочнице и его не нужно ставить в реальную
>> систему. Мне не слишком нравится, что в Сизифе будет такие пакеты, но
>
> Мне кажется, что это, наоборот, очень перспективная тема.
>
> Для того, чтобы пакеты *-install-test не были установлены случайно, можно
> - индексировать их отдельно, по аналогии с *-debuginfo;
> - подключать этот индекс только при тестировании установки пакетов
>  *-install-test;
> - завести фиксированный формат %description таких пакетов,
>  и проверять их на стадии sisyphus_check.

Да, я тоже хотел такое начать делать! Не помню, как я назвал первую 
попытку (кажется: *-checkpkg), потом обдумывал, как это вообще может быть 
устроено в целом, и заодно родились схемы названий (Не буду утверждать, 
что они лучше):

1) check_*_pkg

2)
check_NAME0_pkg_with_NAME1
check_NAME0_pkg_with_NAME1_NAME2

или check_NAME0_NAME1_NAME2_pkgs

Второе -- на случаи, если захочется тестировать каждый раз, например, при 
обновлении NAME1, NAME2 (поставить зависимость на их EVR).

Разделитель другой (_), чтобы легче было читать NAME* обычных пакетов 
(вычленять), учитывая, что обычный разделитель -- это - (rpm-build так 
оформляет подпакеты).

Чтобы не спутатьс пакетами, просто пакующими тесты, я решил, что нужно 
использовать на слово test в названии, а check. (Чтобы ни люди не 
спутали, ни автоматика, которая их будет откладывать в отдельный 
подрепозиторий.) К тому же это больше похоже на команду "Check smth!", что 
отражает суть: поставить этот пакет == проверить что-то (это действие 
произойдёт в системе).

Обрамлять название пакета с двух сторон (check_*_pkg) мне захотелось, 
чтобы с большей вероятностью избежать совпадений с обычными пакетами.

Единственное, что мне в этой схеме не очень нравится -- это то, что они 
все будут иметь одинаковое начало, а это мешает сортировке, работе со 
спсиком (как со "словарём") пакетов отдельного подрепозитория...

Есть ещё мысль: следует иметь в виду разные возможности:

1) более сильные install-time проверки check_NAME0_NAME1_NAME2_pkgs с
    зависимостями на EVR всех пакетов. Будут вызывать unmet-ы при,
    требовать прохождения при сборке новых релизов сразу же.

2) более слабые (информационные) аналоги check_NAME0_NAME1_NAME2_pkgs с 
build-time проверками; они в BuildPreReq ставят проверяемые пакеты, и в 
%build делают их тесты. Тогда о нерохождении мы будем информироваться 
просто раз в сутки в рамках FTBFS от beehive. Схему именования я ещё не 
придумал.

-- 
Best regards,
Ivan


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