В сборочной задаче в hasher добавлена поддержка проверок для образов через distro_check, в частности лицензий из пакета distro-licenses: #329971 EPERM #1 sisyphus hasher.git=1.7.3-alt1 В пакет distro-licenses включен скрипт проверки имени лицензии (должен быть из списка утвержденных в каталоге /usr/share/distro-licenses) и применимости лицензии на установленной системе по имени бранча и архитектуры. Список доступных лицензий: $ distro-license-check -l ALT_Community_License ALT_SP_License ALT_Product_License ALT_Regular_License ALT_Simply_License ALT_Server_License ALT_Server_License/10.1 Назначение лицензий на продукты (образы), собираемые на сборочнице: - ALT_Community_License - лицензия на сборки сообщества (лицензия в стиле GPL); - ALT_SP_License - лицензия на сертифицированные продукты; - ALT_Product_License - базовая лицензия на продукты (Workstation, Workstation K, Education, Virtualization); - ALT_Regular_License - текущая лицензия на регулярки (в стиле GPL); - ALT_Simply_License - лицензия на Simply; - ALT_Server_License - лицензия на Server; - ALT_Server_License/10.1 - лицензия на конкретный релиз выпущенного продукта ALT Server 10.1. Для унификации ALT_Regular_License логично свести к ALT_Community_License и оставить только последнюю. Имя бранча вычисляется такой командой: $ rpm --eval %_priority_distbranch | cut -d _ -f 1 А архитектура вычислется такой командой (взято из недр наших shell-приложений): $ rpm --showrc |sed -ne 's/^install arch[[:space:]]*:[[:space:]]*\([^[:space:]]\+\).*/\1/p' Ограничения для лицензии задаются в отдельных файлах явно: $ cat /usr/share/distro-licenses/ALT_Server_License/10.1/distbranch.list p10 $ cat /usr/share/distro-licenses/ALT_Server_License/10.1/target.list x86_64 aarch64 Утилита distro_check реализована по образы и подобию sisyphus_check: $ distro_check --help distro_check - check distribution for acceptability for Sisyphus. This program is free software, covered by the GNU General Public License. distro_check comes with ABSOLUTELY NO WARRANTY, see license for details. Usage: distro_check [options] <target>... Valid options are: --quiet try to be more quiet; --verbose print a message for each action; --fast-check stop checking after first error; --show-checks show list of available checks; --license distro license type to check; --distros treat <target> as a distribution. This is default behavior; --directories treat <target> as a directory. Distros in this directory will be checked; --recursive search packages recursively; --show-bad-distros print bad distributions; --[no-]check=LIST change the list of checks; --[no-]check-license_name --[no-]check-license_text_all --[no-]check-license_text_ru Дополнительные проверки предусмотрены в отдельный скриптах: $ ls -1 /etc/distro_check/check.d 010-check-license_name 020-check-license_text_ru 030-check-license_text_all
Лицензии сразу сделать бы в соответствии со стандартом SPDX. И добавить версию (если нет версии, то год-номер)