История изменений
Исправление wandrien, (текущая версия) :
Да я тоже никого не агитирую, но при воспоминаниях о Дебиане у меня периодически пригорает. Личная травма =)
И как же там пакеты делают без мануалов?
https://wiki.archlinux.org/title/Category:Package_development
Тут всё описано языком для людей.
А теперь для сравнения откроем что-нибудь про Дебиан. Например вот здесь: https://www.debian.org/doc/manuals/maint-guide/first.ru.html#workflow
Целиком цитировать не буду, т.к. на форум не удобно форматирование вставлять, но достаточно прочитать параграф 2.1, который начинается словами «При создании пакета Debian из исходного кода программы в процессе сборки на каждом этапе генерируется несколько файлов со специальными именами: <…>»
А если читать следующие параграфы, ситуация становится всё хуже.
Это не для людей написано. У меня от таких руководств начинает болеть голова, и я начинаю задаваться вопросом, зачем я пытаюсь страдать бесплатно.
Вообще-то должен сказать что делать пакет полностью с нуля - это крайне редкая задача. Обычно если возиться с пакетированием и приходится - то это пересборка того что есть с какими-то патчами или с другими флагами компиляции. И это не особо сложно при наличии мануала перед глазами.
Это потому, что Дебиан – огромная бюрократическая шарага, которая не имеет целью, чтобы ПОЛЬЗОВАТЕЛЬ (не являющийся членом шараги) что-то мог легко в Дебиан добавить.
При наличии общих скиллов работы с UNIX-like системами сборка пакета состоит из двух достаточно тривиальных операций:
- Описать машине, как надо собирать пакет.
- Запустить процесс сборки.
Ворох бесполезного барахла, не имеющего отношения к делу, для этого не нужен.
В разработке ПО, да и не только ПО, есть две опасности, которые подстерегают разработчика:
- Использование низкоуровневых абстракций создаёт много ручной работы и порождает ошибки.
- Использование высокоуровневых абстракций создаёт необходимость подчиняться искусственным правилам, но всё равно не избавляет от ошибок на низком уровне, потому что абстракции протекают.
Чтобы эту неотъемлемую проблему разработки купировать, требуется много опыта, немного таланта, а также трудноуловимое чувство стиля.
Дебиан умудрилась собрать в своём пакетном менеджере проблемы обоих видов. Абстракции недостаточно высокоуровневые в одних местах, но излишне оверинженернутые в других, как следствие неверного выбора абстракций – они усиленно текут.
Примеры пакетных систем, где пакетирование ПО достаточно тривиально для продвинутого пользователя:
- Arch
- Alpine
- Gentoo
- Void
- pkgsrc
Исходная версия wandrien, :
Да я тоже никого не агитирую, но при воспоминаниях о Дебиане у меня периодически пригорает. Личная травма =)
И как же там пакеты делают без мануалов?
https://wiki.archlinux.org/title/Category:Package_development
Тут всё описано языком для людей.
А теперь для сравнения откроем что-нибудь про Дебиан. Например вот здесь: https://www.debian.org/doc/manuals/maint-guide/first.ru.html#workflow
Целиком цитировать не буду, т.к. на форум не удобно форматирование вставлять, но достаточно прочитать параграф 2.1, который начинается словами «При создании пакета Debian из исходного кода программы в процессе сборки на каждом этапе генерируется несколько файлов со специальными именами: <…>»
А если читать следующие параграфы, ситуация становится всё хуже.
Это не для людей написано. У меня от таких руководств начинает болеть голова, и я начинаю задаваться вопросом, зачем я пытаюсь страдать бесплатно.
Вообще-то должен сказать что делать пакет полностью с нуля - это крайне редкая задача. Обычно если возиться с пакетированием и приходится - то это пересборка того что есть с какими-то патчами или с другими флагами компиляции. И это не особо сложно при наличии мануала перед глазами.
Это потому, что Дебиан – огромная бюрократическая шарага, которая не имеет целью, чтобы ПОЛЬЗОВАТЕЛЬ (не являющийся членом шараги) что-то мог легко в Дебиан добавить.
При наличии общих скиллов работы с UNIX-like системами сборка пакета состоит из двух достаточно тривиальных операций:
- Описать машине, как надо собирать пакет.
- Запустить процесс сборки.
Ворох бесполезного барахла, не имеющего отношения к делу, для этого не нужен.
В разработке ПО, да и не только ПО, есть две опасности, которые подстерегают разработчика:
- Использование низкоуровневых абстракций создаёт много ручной работы и порождает ошибки.
- Использование высокоуровневых абстракций создаёт необходимость подчиняться искусственным правилам, но всё равно не избавляет от ошибок, потому что абстракции протекают.
Чтобы эту неотъемлемую проблему разработки купировать, требуется много опыта, немного таланта, а также трудноуловимое чувство стиля.
Дебиан умудрилась собрать в своём пакетном менеджере проблемы обоих видов. Абстракции недостаточно высокоуровневые в одних местах, но излишне оверинженернутые в других, как следствие неверного выбора абстракций – они усиленно текут.
Примеры пакетных систем, где пакетирование ПО достаточно тривиально для продвинутого пользователя:
- Arch
- Alpine
- Gentoo
- Void
- pkgsrc