LINUX.ORG.RU

История изменений

Исправление wandrien, (текущая версия) :

Ну уж bash-лапша то намного лучше!

Всё, что нужно от скрипта сборки, это две вещи.

Объявить десяток переменных такие как название пакета, версия, откуда качать, какие чексуммы и т.п.

И иметь возможность объявить функции для prepare(), build() и package(). В случае source-based дистрибутива там еще USE-флаги нужно учесть. Всё.

bash не лучшее, что изобрела цивилизация, но этот язык:

  • Всё равно знают все разработчики под linux.
  • Достаточен, чтобы справиться с вышеуказанным.

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

Как этой задаче помогает портянка на make с кучей внутренних потрохов сборочной автоматики, вытащенных наружу, мне непонятно.

Я не успеваю за вашим «взагали по загалям», извините.

Могу еще вот такой пример привести: https://git.alpinelinux.org/aports/tree/main/gmp/APKBUILD

Arch, Void, Gentoo, Alpine — это всё примеры дистрибутивов с качественной сборочной автоматикой, где труд мейнтейнера пакета сосредоточен на решении фактических сборочных задач, а не на борьбе с бесполезным низкоуровневым DSL.

Исходная версия wandrien, :

Ну уж bash-лапша то намного лучше!

Всё, что нужно от скрипта сборки, это две вещи.

Объявить десяток переменных типа названия пакета, версии, откуда качать, какие чексуммы и т.п.

И иметь возможность объявить функции для prepare(), build() и package(). В случае source-based дистрибутива там еще USE-флаги нужно учесть. Всё.

bash не лучшее, что изобрела цивилизация, но этот язык:

  • Всё равно знают все разработчики под linux.
  • Достаточен, чтобы справиться с вышеуказанным.

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

Как этой задаче помогает портянка на make с кучей внутренних потрохов сборочной автоматики, вытащенных наружу, мне непонятно.

Я не успеваю за вашим «взагали по загалям», извините.

Могу еще вот такой пример привести: https://git.alpinelinux.org/aports/tree/main/gmp/APKBUILD

Arch, Void, Gentoo, Alpine — это всё примеры дистрибутивов с качественной сборочной автоматикой, где труд мейнтейнера пакета сосредоточен на решении фактических сборочных задач, а не на борьбе с бесполезным низкоуровневым DSL.