як написати рецепт домашньої кашки?


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

Цей Homebrew README дає такі кроки (із посиланнями на додаткову інформацію):

Сприяючи

Коротко:

  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). Знання про Рубі, безумовно, допомагає, але ви можете отримати уявлення про те, як робити основні процедури, як ви окреслили вище, просто прочитавши кілька існуючих формул.

Отримання прийнятої формули також вимагає трохи знань про запити на тягнення Git та GitHub, але охоплюється Як відкрити запит на тягнення домівки (і об'єднати його)


4
До "Формули домівки написані в рубіновій точці" - я вже бачив купу формул, які використовують Ruby як абонент для встановлення програмного забезпечення, написаного іншою мовою. Тож як мінімум вам потрібно знати достатньо Ruby, щоб виконати встановлення / видалення підпрограм, а все інше ви можете зробити у <вставці на ваш вибір тут>, зателефонувавши до помічника сценарію.
Ян Ч.

1
Це добре знати.
echristopherson

5
Кількість Ruby, яку ви повинні знати, щоб створити рецепт, практично нічого, приблизно 0,00001% від усієї мови Ruby. Ви в основному встановлюєте кілька параметрів, але велика перевага того, що це написано в Ruby, полягає в тому, що у вас є весь Ruby, який вам доступний, щоб робити все, що вам потрібно. (Люди, які розповсюджують FUD про Homebrew, Vagrant або Puppet тощо, використовуючи Ruby, є або неосвіченими, або нечесними, оскільки у всіх випадках ви можете скласти щось складне, як файл .INI, але ви цим не обмежуєтесь.) Підсумок: не лякайтеся. Вам не потрібен досвід Ruby.
іконоборство

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.