LINUX.ORG.RU

Сборка пакетов в Void Linux

 


1

2

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

Ситуация такая. Я бы хотел поддерживать свой локальный репозиторий с парочкой несложных пакетов, код которых я контролирую сам (в основном это suckless, возможно, что-то ещё). Как это сделать без лишнего геморроя?

  1. Можно, конечно, забить на опакечивание и тупо делать make && make install. Но это, по-моему, не вариант: управлением пакетов должен заниматься пакетный менеджер.
  2. Можно использовать xbps-src. Плюс, как я понимаю, в том, что сборка происходит в контролируемом окружении (в chroot’е), куда подтягивается всё нужное для сборки, что позволяет в том числе не засорять основную систему ненужными devel-пакетами. Минус в том, что придётся поддерживать форк void-packages, что для моих целей кажется лишним гемором.
  3. Можно использовать make && make install в какую-нибудь другую папку && xbps-create. Это кажется вполне разумной альтернативой п.1, можно даже написать враппер, устанавливающий/удаляющий необходимые devel-пакеты. Если совсем заморочиться, можно, наверное, даже chroot замутить в этом враппере (может кто-то уже заморочился?). В чём подводные камни этого способа?

Буду рад, если кто-то поделится своим опытом.


Void - слишком сложный дистрибутив для ЛОРа, здесь в основном мажоры на убунточках заседают. Лишь считанные единицы типа Спуффика тебе смогут подсказать по подобной тематике.

anonymous
()

Вызывай Iron Bug в студию. ))

anonymous
()

в основном это suckless, возможно, что-то ещё

И что тебе надо? Научить пользоваться make? Какие пакетные менеджеры? Опакечивания? Что за ламерство? Твой make отрабатывает по умолчанию путь /usr/local/bin. Если тупо бинарник - кладём папку в /opt и делаем сслыку исполняемого файла опять же в /usr/local/bin. Опакечивать…

По опакечиванию есть нормальная документация и IRC для вопросов. Не можешь - оно тебе не надо.

Храни свой suckless просто в папочке, как и делают нормальные пользователи. Или постоянно трать время и настраивай config.h

B0B
()

В данный момент я думаю над переходом на Void, и, соответственно, продумываю то, как я буду на нём жить.

поставь и попробуй. Есть критичные пакеты, без которых нет жизни? иди на https://voidlinux.org/packages/ и смотри, есть или нет. Если нет, но ты очень очень хочешь, то можно подать заявку, тебе опакетят.

B0B
()

я уже много лет живу на самосборном Void'е (ну, он уже порядком разошёлся с основным репозиторием, но пакетный менеджер тот же).

если какие-то конкретные вопросы - могу ответить. но писать опусы про howto не буду: некогда и лень.

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

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

из минусов: само собой там ничего не настраивается и конфиги часто надо либо писать вручную, либо править под свои требования.

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

Спасибо!

Я уже успешно переехал, осваиваюсь. На самом деле, я уже жил на Void’е довольно долго, но пару лет назад по некоторым причинам решил переехать на Debian.

В результате я остановился на первом варианте сборки своих пакетов, т.е. собираю стандартным xbps-src. С ним всё ок, кроме того, что я до сих пор не понимаю, нафига я должен тащить за собой весь Void’овский репозиторий. По-моему, было бы логично отделить саму xbps-src от описаний пакетов в srcpkgs.

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

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

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

более того, форматы пакетов также зависят от версии сборщика. так что разделить их у тебя всё равно не получится.

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