LINUX.ORG.RU

Получить deb-пакет из исходников, чтобы все было по-взрослому

 , ,


2

2

Исходно проблема такая. Нужно в Ubuntu 22.04 поставить Slurm версии не менее 22.05. Предлагаемая в Ubuntu 22.04 версия Slurm меня не устраивает по причине отсутствия поддержки Cgroups v2, переключаться на v1 мне не хотелось бы. Смешивать пакеты из разных дистрибутивов, как я понимаю, не благословляется из-за конфликта зависимостей.

Возникла идея сделать свою сборку из исходников, но чтобы было все по-взрослому, прям как пакет из дистрибутива. Чтобы пакет учитывал особенности Ubuntu, были разные дополнительные вещи типа поддержки logrotate и другие тонкости о которых я даже не знаю. Для этого, видимо, нужны дополнительные файлы, которые делают Сопровождающие.

В Ubuntu 23.04 есть подходящая версия Slurm — 22.05.8. На сайте Ubuntu можно найти файлы: slurm-wlm_22.05.8-3.dsc, slurm-wlm_22.05.8.orig.tar.gz и slurm-wlm_22.05.8-3.debian.tar.xz. Это, я так понимаю, исходник и необходимые вспомогательные файлы. Теперь это надо как-то легким движение превратить в полноценный deb-пакет, но только для Ubuntu 22.04.

Это вообще реально? Как сделать? Какие могут быть проблемы?


Собралось по инструкциям выше. Сделал на чистой установке в VirtualBox. apt-get build-dep . делал заранее. В целом собранный slurm работает, но все функции не проверял.

Возникла сложность с пакетом librocm-smi-dev (одна из зависимостей slurm 22.05.8), который отсутствует в Ubuntu 22.04, но, к счастью, этот функционал мне не нужен и он легко вырезается из сборки.

Несколько вопросов.

  1. В slurm-wlm_22.05.8-3.debian.tar.xz есть директория с какими-то тестами, но, похоже они не проводятся. Во всяком случае пробовал что-нибудь в них портить, сборка все равно успешно завершается. Как их запустить?

  2. Что-то не проходит проверка цифровой подписи при распаковке исходников. Пишет:

gpgv: Signature made Ср 08 фев 2023 07:01:54 UTC
gpgv:                using RSA key EB3345F56441B8B81A7798767DFA41AD961985D7
gpgv:                issuer "oliva.g@na.icar.cnr.it"
gpgv: Note: signatures using the SHA1 algorithm are rejected
gpgv: Can't check signature: Bad public key

Хотя проверка самого dsc-файла проходит:

gpg --auto-key-locate keyserver --locate-keys oliva.g@na.icar.cnr.it
gpg --verify slurm-wlm_22.05.8-3.dsc

Ключ берется с сервера hkps://keys.openpgp.org.

Что делать?

zb2
() автор топика
Ответ на: комментарий от zb2

Можно не обращать внимания. Но если очень хочется, то можно установить пакет с ключами разработчиков debian-keyring. Почему скачанный тобой ключ не подошёл, не знаю. Возможно не тот ключ скачал. Был тут случай, когда на сервера ключей какой-то добрый человек загрузил ключи всех разработчиков Debian, причем с частично совпадающим отпечатком (8 последних цифр).

TeopeTuK ★★★★★
()
Ответ на: комментарий от TeopeTuK

Это сообщение уже после установки debian-keyring. Да, хочется проверить. Особенно учитывая какую-то странную нелюбовь идеологов Убунты использовать https. Я понимаю, это не защищает от подмены данных на сервере, но, по крайней мере, защищает от подмены при передаче…

zb2
() автор топика
Ответ на: комментарий от zb2

Это сообщение уже после установки debian-keyring. Да, хочется проверить

а ничего, что?

gpgv: Note: signatures using the SHA1 algorithm are rejected

kindof
()
Ответ на: комментарий от zb2

Вот еще, проверка не проходит из-за того, что подпись с устаревшим алгоритмом SHA1.

TeopeTuK ★★★★★
()
Ответ на: комментарий от zb2

Если я правильно помню, то в современных версиях apt поддержку SHA1 в подписях выключили совсем-совсем. Так что ты ничего не можешь сделать, только ругаться.

TeopeTuK ★★★★★
()
Последнее исправление: TeopeTuK (всего исправлений: 1)
Ответ на: комментарий от zb2

Ну и если проверка подписи в ручном режиме проходит, то можно расслабиться.

TeopeTuK ★★★★★
()
Ответ на: комментарий от TeopeTuK

Добавил weak-digest SHA1 в gpg.conf, теперь он выдает

dpkg-source: warning: extracting unsigned source package (slurm-wlm_22.05.8-3.dsc)

Это как понять? Проверка прошла или просто выводит другое предупреждение? :)

zb2
() автор топика
Ответ на: комментарий от TeopeTuK

Пардонтель, ошибочка вышла. :) Сообщение от 08.03.23 01:54:23 не имеет смыла. Я случайно оригинальный dsc перезаписал файлом без подписи когда игрался флажками dpkg-buildpackage.

zb2
() автор топика
Последнее исправление: zb2 (всего исправлений: 1)
Ответ на: комментарий от zb2

Сделал на чистой установке в VirtualBox.

Для сборки в чистом окружении есть pbuilder.

pbuilder create - создает в chroot’е минимальную систему и пакует ее в архив.

pbuilder build пакет.dsc - собирает пакет.

У тулзы есть куча полезных опций. Например, можно создать окружение для иного deb дистрибутива и пилить пакеты для убунты из дебиана. С помощью нее и собирают пакеты в официальных репозиториях.

В slurm-wlm_22.05.8-3.debian.tar.xz есть директория с какими-то тестами, но, похоже они не проводятся.

Это автотесты для бинарных пакетов. Запускаются в виртуалке или в контейнере. man autopkgtest

undef ★★★
()
Ответ на: комментарий от undef

Для официальных репозиториев пакеты (по крайней мере в Debian) собирают не с помощью pbuilder, а с помощью sbuild (https://wiki.debian.org/sbuild). Но pbuilder для домашнего использования очень удобен, подтверждаю.

TeopeTuK ★★★★★
()
Ответ на: комментарий от TeopeTuK

Да, точно, sbuild для официальных реп. pbuilder для локальной сборки.

undef ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.