Как упрощается сборка пакетов в ALT Linux с помощью etersoft-build-utils (Виталий Липатов, OSSDEVCONF-2015) — различия между версиями

Материал из 0x1.tv

(Новая страница: «== Аннотация == ;Докладчик: {{Speaker|Виталий Липатов}} <blockquote> </blockquote> == Видео == {{vimeoembed|134705166|800|4…»)
 
== Аннотация ==
;Докладчик: {{Speaker|Виталий Липатов}}
<blockquote>
Чтобы прийти к качественной сборке пакетов за минимальное время, требуется пройти длительный путь, при этом
учитывая происходящие изменения в процедуре сборки. 

Набор команд из etersoft-build-utils и предлагаемые типовые
практики помогают сократить порог вхождения и облегчить затраты на первичную и последующую сборку пакетов.
</blockquote>

== Видео ==

{{vimeoembed|134705166|800|450}}
<!-- {{youtubelink|}} -->

== Слайды ==
[[File:Как упрощается сборка пакетов в ALT Linux с помощью etersoft-build-utils (Виталий Липатов, OSSDEVCONF-2015).pdf|left|page=-|256px]]

{{----}}

== Расширенные тезисы ==
Чтобы собрать даже простой пакет, нужно знать и учесть множество нюансов. С приобретением опыта сборка пакетов начинает
казаться несложной, но рутинной задачей. С целью упростить сборку пакетов, то есть скрыть мелкие подробности и
выполнить за человека рутинные задачи, и создаётся уже более 10 лет набор утилит <tt>etersoft-build-utils</tt>. 

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

На самом деле собрать пакет очень просто. Берём git-репозиторий с пакетом и запускаем
 $ rpmbb
если мы хотим собрать пакет в своей системе, или
 $ rpmbsh
если мы хотим собрать пакет в hasher, или
 $ rpmbs -u
если мы хотим отправить пакет на сборку в ALT Linux Sisyphus, или
 $ rpmbph -b p7 -u
если мы хотим отправить пакет на сборку для ALT Linux p7.

При этом вам не нужно беспокоиться о временных коммитах, создании рабочего каталога для \Sys{hasher}, публикации репозитория,
создании и публикации тэга для сборки, создании задания на сборку.

Но где же взять git-репозиторий с пакетом? Помимо очевидного решения с созданием такого  репозитория с нуля
самостоятельно, есть дополнительные пути:

Можно склонировать репозиторий из ALT Linux, если такой пакет уже собран:
 $ rpmgp -g normalize
а можно посмотреть, нет ли такого пакета в других системах:
 $ rpmgp -a normalize
 List for altautoimports: 
    nodejs-normalize-package-data-0.2.1-alt1_1.src.rpm 
    ...
 List for rosa2012: 
    normalize-0.7.7-11.src.rpm

и скачать его, указав полное название файла, а потом преобразовать в git-репозиторий:
 $ rpmgp -a -d normalize-0.7.7-11.src.rpm && rpmgp -m normalize-0.7.7-11.src.rpm

Если нужную вам программу вы вчера написали сами, и она ещё не собрана ни в одну из популярных систем, придётся писать
спек для сборки самому. Но ни в коем случае не пишите спек с нуля. Возьмите подходящий пример отсюда:
https://www.altlinux.org/SampleSpecs или загрузите репозиторий другого, уже собранного в ALT Linux Sisyphus пакета и
используйте его в качестве образца.

Если сборка пакетов всё ещё кажется вам сложной, просто [https://bugzilla.altlinux.org/enter_bug.cgi?product=New\%2Fproposed\%20packages создайте задачу на добавление нового пакета]:

И когда кто-то соберёт пакет, вы сможете его скачать и улучшать, чтобы им можно было пользоваться. Или просто соберёте
новую версию пакета командой
 $ rpmrb 4.32
которая скачает и закоммитит новую версию исходников, произведёт изменения в спеке, обновив версию и добавив запись в
changelog, проверит собираемость в локальном hasher и отправит на сборку в Сизиф в случае успеха.

== Примечания и отзывы ==
<!-- <blockquote>[©]</blockquote> -->

<references/>

[[Category:OSSDEVCONF-2015]]
[[Category:Open-source]]

<!-- topub -->

Версия 10:43, 17 ноября 2015

Аннотация

Докладчик
Виталий Липатов.jpg
Виталий Липатов

Чтобы прийти к качественной сборке пакетов за минимальное время, требуется пройти длительный путь, при этом учитывая происходящие изменения в процедуре сборки.

Набор команд из etersoft-build-utils и предлагаемые типовые практики помогают сократить порог вхождения и облегчить затраты на первичную и последующую сборку пакетов.

Видео

Слайды

Как упрощается сборка пакетов в ALT Linux с помощью etersoft-build-utils (Виталий Липатов, OSSDEVCONF-2015).pdf Как упрощается сборка пакетов в ALT Linux с помощью etersoft-build-utils (Виталий Липатов, OSSDEVCONF-2015).pdf Как упрощается сборка пакетов в ALT Linux с помощью etersoft-build-utils (Виталий Липатов, OSSDEVCONF-2015).pdf Как упрощается сборка пакетов в ALT Linux с помощью etersoft-build-utils (Виталий Липатов, OSSDEVCONF-2015).pdf Как упрощается сборка пакетов в ALT Linux с помощью etersoft-build-utils (Виталий Липатов, OSSDEVCONF-2015).pdf Как упрощается сборка пакетов в ALT Linux с помощью etersoft-build-utils (Виталий Липатов, OSSDEVCONF-2015).pdf Как упрощается сборка пакетов в ALT Linux с помощью etersoft-build-utils (Виталий Липатов, OSSDEVCONF-2015).pdf Как упрощается сборка пакетов в ALT Linux с помощью etersoft-build-utils (Виталий Липатов, OSSDEVCONF-2015).pdf Как упрощается сборка пакетов в ALT Linux с помощью etersoft-build-utils (Виталий Липатов, OSSDEVCONF-2015).pdf Как упрощается сборка пакетов в ALT Linux с помощью etersoft-build-utils (Виталий Липатов, OSSDEVCONF-2015).pdf Как упрощается сборка пакетов в ALT Linux с помощью etersoft-build-utils (Виталий Липатов, OSSDEVCONF-2015).pdf Как упрощается сборка пакетов в ALT Linux с помощью etersoft-build-utils (Виталий Липатов, OSSDEVCONF-2015).pdf

Расширенные тезисы

Чтобы собрать даже простой пакет, нужно знать и учесть множество нюансов. С приобретением опыта сборка пакетов начинает казаться несложной, но рутинной задачей. С целью упростить сборку пакетов, то есть скрыть мелкие подробности и выполнить за человека рутинные задачи, и создаётся уже более 10 лет набор утилит etersoft-build-utils.

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

На самом деле собрать пакет очень просто. Берём git-репозиторий с пакетом и запускаем

$ rpmbb

если мы хотим собрать пакет в своей системе, или

$ rpmbsh

если мы хотим собрать пакет в hasher, или

$ rpmbs -u

если мы хотим отправить пакет на сборку в ALT Linux Sisyphus, или

$ rpmbph -b p7 -u

если мы хотим отправить пакет на сборку для ALT Linux p7.

При этом вам не нужно беспокоиться о временных коммитах, создании рабочего каталога для \Sys{hasher}, публикации репозитория, создании и публикации тэга для сборки, создании задания на сборку.

Но где же взять git-репозиторий с пакетом? Помимо очевидного решения с созданием такого репозитория с нуля самостоятельно, есть дополнительные пути:

Можно склонировать репозиторий из ALT Linux, если такой пакет уже собран:

$ rpmgp -g normalize

а можно посмотреть, нет ли такого пакета в других системах:

$ rpmgp -a normalize
List for altautoimports: 
   nodejs-normalize-package-data-0.2.1-alt1_1.src.rpm 
   ...
List for rosa2012: 
   normalize-0.7.7-11.src.rpm

и скачать его, указав полное название файла, а потом преобразовать в git-репозиторий:

$ rpmgp -a -d normalize-0.7.7-11.src.rpm && rpmgp -m normalize-0.7.7-11.src.rpm

Если нужную вам программу вы вчера написали сами, и она ещё не собрана ни в одну из популярных систем, придётся писать спек для сборки самому. Но ни в коем случае не пишите спек с нуля. Возьмите подходящий пример отсюда: https://www.altlinux.org/SampleSpecs или загрузите репозиторий другого, уже собранного в ALT Linux Sisyphus пакета и используйте его в качестве образца.

Если сборка пакетов всё ещё кажется вам сложной, просто создайте задачу на добавление нового пакета:

И когда кто-то соберёт пакет, вы сможете его скачать и улучшать, чтобы им можно было пользоваться. Или просто соберёте новую версию пакета командой

$ rpmrb 4.32

которая скачает и закоммитит новую версию исходников, произведёт изменения в спеке, обновив версию и добавив запись в changelog, проверит собираемость в локальном hasher и отправит на сборку в Сизиф в случае успеха.

Примечания и отзывы