[newbies] Документация по сборке пакетов под ALT

Andrey Savchenko bircoph на altlinux.org
Вт Окт 4 12:02:50 MSK 2022


Добрый день!

On Mon, 3 Oct 2022 16:22:19 +0400 SokolovValy.158 на gmail.com wrote:
> Здравствуйте. В сентябре я прислал в данную рассылку свой переведённый
> гайд по сборке пакетов от RedHat. На основе той документации я начал
> делать документацию под дистрибутивы ALT. Присылаю свои наработки и
> обращаюсь со следующими вопросами:
> Ссылка на документацию: https://alt-packaging-guide.github.io/
> Сейчас документация не полная, так как находится в разработке.
> Вопрос первый. Насколько стоит дополнить первые две главы? (Вступление
> и знакомство с APT) Или введения и описание инструментария для начала
> достаточно.

Самого главного инструмента для сборки пакетов — hasher — там нет
вовсе. Gear тоже нет. Увидел описание сборки пакетов с помощью
голого rpmbuild — в Альте так не делают. Получается, что Вы пишете
руководство ради руководства, оторванное от рельной жизни. Так
нельзя. На данный момент представленное руководство мне
представляется не просто бесполезным, но и вводящим в заблуждение.

Всё руководство не читал, но ряд моментов резанул глаза:

1) Вы пишете `su -`. У многих разработчиков `su` даже не установлен.
Кто-то ssh root на localhost использует, кто-то sudo bash; есть и
другие способы. Просто напишите, что команды нужно выполнять от
рута. А как стать рутом — вопрос тривиальный и вне рамок
руководства (если всё же очень хочется, то можно отдельный раздел
под это дело сделать).

2) В большинстве популярных шеллов командная строка пользователя
начинается с '$ ', а root с '# '. У вас команды root начинаются с
'$ ' — это безобразие.

> Вопрос второй. Так как полноценных и подробных гайдов практически нет,
> а в тех, которые есть, для демонстрации сборки используется обычный
> Hello-world. Какой пакет из доступных можно применить для демонстрации
> сборки? Какой бы пакет вы могли бы посоветовать мне, как начинающему
> разработчику, который, помимо документации, я смогу использовать для
> прохождения Join?

У Вас неправильный подход: нет эталонного spec, не было и не будет.

В Альте мейнтенеру даётся широкая свобода выбора способа
организации репозитория пакета:
- это может быть srpm или git;
- для git патчи могут быть файлами или коммитами в отдельных ветках;
- апстримный код может импортироваться из тарбола или браться из
  гита апстрима по тегу;
- могут быть "чистые исходники" с отдельной непересекающейся по
  коду веткой со spec и прочими файлами вне апстримного дерева,
  могут быть комбинированные;
- и т.д. и т.п.

Среди всех этих способов нет хороших и плохих, правильных
и неправильных. Всё зависит как от особенностей пакета, так и от
личных предпочтений мейнтенера.

Я бы предложил описать все известные способы и для каждого из них
привести пример или даже несколько. В качестве источника
вдохновения рекомендую взять git со всеми spec:
git://git.altlinux.org/people/specbot/public/specs.git

> Вопрос третий. Какие моменты стоит максимально подробно осветить в
> документации, которые на данный момент являются важными, но информации
> о которых крайне мало?
 
Слабовата документация на specsubst, но это достаточно редкий
специфический случай.

Чего в общем плане не хватает — систематизированного структурного
обзора всех возможных способов и практик пакетирования в Альте.

Best regards,
Andrew Savchenko
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 833 байтов
Описание: отсутствует
Url     : <http://lists.altlinux.org/pipermail/devel-newbies/attachments/20221004/e2ab070a/attachment.bin>


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