come faccio a scrivere una ricetta homebrew?


19

Quali sono le caratteristiche principali di una ricetta homebrew?

Se volessi contribuire con una ricetta, ad esempio questa per udunits, al repository hombrew-science, come avrei convertito uno script da riga di comando come questo:

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

in una ricetta valida?


Brew verrà estratto e cdautomaticamente. Non è necessario eseguire make clean, poiché la directory di generazione è temporanea. La risposta attuale ha il resto.
daviewales,

Risposte:


22

Questo README Homebrew fornisce questi passaggi (con collegamenti a ulteriori informazioni):

contribuire

In breve:

  1. Fork Homebrew .
  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. Richiesta pull .

A lungo:

Le formule homebrew sono scritte in Ruby (testato contro Ruby 2.0.0). La conoscenza di Ruby sicuramente aiuta, ma potresti essere in grado di avere un'idea di come eseguire le procedure di base come indicato sopra semplicemente leggendo alcune formule esistenti.

Ottenere una formula accettata richiede anche una piccola conoscenza delle richieste pull di Git e GitHub, ma è coperto Come aprire una richiesta pull Homebrew (e farla unire)


4
Per le "formule homebrew sono scritte nel punto Ruby" - ho visto un sacco di formule che ora usano Ruby come chiamante in una routine di installazione scritta in un'altra lingua. Quindi, come minimo, devi conoscere abbastanza Ruby per eseguire le routine di installazione / disinstallazione e tutto il resto che puoi fare in <inserisci la lingua che preferisci qui> chiamando uno script di supporto.
Ian C.

1
Buono a sapersi.
ecristopherson

5
La quantità di Ruby che devi sapere per creare una ricetta è praticamente nulla, circa lo 0,00001% dell'intero linguaggio Ruby. Fondamentalmente stai impostando alcuni parametri, ma il grande vantaggio di essere scritto in Ruby è che hai tutto Ruby a tua disposizione per fare tutto ciò di cui hai bisogno. (Le persone che diffondono FUD su Homebrew o Vagrant o Puppet ecc. Usando Ruby sono all'oscuro o disonesti, come in tutti i casi puoi cavartela componendo qualcosa di così complesso come un file .INI, ma non sei limitato a quello.) Bottom line: non essere intimidito. Non hai bisogno dell'esperienza di Ruby.
iconoclasta,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.