Как мне написать рецепт домашнего приготовления?

19

Каковы основные характеристики рецепта доморощенного?

Если я хочу добавить рецепт, например, этот для удюнитов, в репозиторий hombrew-science, как мне преобразовать скрипт командной строки следующим образом:

wget ftp://ftp.unidata.ucar.edu/pub/udunits/udunits-2.1.24.tar.gz
tar -xvf udunits-2.1.24.tar.gz
cd udunits-2.1.24
./configure 
make 
make check
make clean

в действительный рецепт?

Дэвид Лебауэр
источник
Заваривать будет извлекать и cdавтоматически. Вам не нужно запускаться make clean, потому что каталог сборки является временным. Текущий ответ имеет остальное.
daviewales

Ответы:

22

Этот README Homebrew дает следующие шаги (со ссылками на дополнительную информацию):

Содействие

Короче говоря:

  1. Вилка доморощенная .
  2. brew create http://example.com/foo-0.1.tar.gz
  3. git checkout -b foo
  4. git commit Library/Formula/foo.rb && git push
  5. Потяните Запрос .

В длинных:

Доморощенные формулы написаны на Ruby (проверено на Ruby 2.0.0). Знание Ruby, безусловно, помогает, но вы можете почувствовать, как выполнять базовые процедуры, описанные выше, просто прочитав несколько существующих формул.

Получение принятой формулы также требует небольшого знания запросов на Git и GitHub, но рассматривается как открыть запрос на получение Homebrew (и объединить его)

echristopherson
источник
4
Что касается «формул Homebrew, написанных на Ruby point» - я уже видел несколько формул, которые используют Ruby в качестве вызывающей стороны для процедуры установки, написанной на другом языке. Поэтому, как минимум, вам нужно знать достаточно Ruby для выполнения процедур установки / удаления, а все остальное вы можете сделать на <insert language по вашему выбору здесь>, вызвав вспомогательный скрипт.
Ян С.
1
Это хорошо знать.
echristopherson
5
Количество Ruby, которое вам нужно знать для создания рецепта, практически ничто, около 0,00001% от полного языка Ruby. По сути, вы устанавливаете несколько параметров, но большое преимущество написанного на Ruby состоит в том, что у вас есть все, что доступно для Ruby, чтобы делать все, что вам нужно. (Люди, распространяющие FUD о Homebrew, Vagrant, Puppet и т. Д., Использующие Ruby, либо невежественны, либо нечестны, так как во всех случаях вы можете обойтись составлением чего-то столь же сложного, как файл .INI, но вы не ограничены этим.) Итог: не пугайтесь. Вам не нужен опыт Ruby.
иконоборчество