Hvordan vi byggede Ballerina Homebrew Formula

Opret din egen hjemmebryggerpakke

Foto af Elevate på Unsplash
For dem, der ikke har hørt om Homebrew; Det er en velkendt pakkeadministrator til Mac OS-brugere.

Med denne artikel lærer du, hvordan du bidrager med din egen pakke til Homebrew-systemet. Troede, det er værd at forstå indersiden af ​​Homebrew før vi hopper ind i hacking. Oplys dig selv!

1. Hvorfor får vi ikke indbyggede pakkeadministratorer til OSX?

Ikke sikker på, om det kun er for mig, nedenfor er de ord, der kom ind i mit sind; når jeg hører Homebrew for første gang.

Hvis Debian har forudleveret apt-get, RedHat har omdrejninger pr. Minut, FreeBSD har havnesnap, NetBSD har pkgsrc, hvorfor skal OSX nu have tredjepart-pakkehåndtere som Homebrew, MacPorts?

Lad os svare det først! Det er højt og tydeligt. Apple OSX er en kommerciel software og har en lille interesse i at investere i pakkeadministratorer, men promoverer App Stores. På den anden side fødes pakkeledere gennem UNIX-lignende operativsystemer ud fra nødvendigheden af ​​at holde styr på delte afhængigheder mellem pakkerne (eller biblioteker). Det er dybt. I sammendrag gør pakkeledere udviklerens liv meget lettere med en masse forenklede API'er og styring af afhængighedshelvede. Takeaway er, at du ikke får en indbygget pakkehåndtering til Mac OSX.

Dette er grunden til, at Homebrew reklamerer for sig selv som "Den manglende pakkeadministrator for macOS".

2. Homebrew Økosystemet

Homebrew selv står på skuldrene af teknologier; Git VCS og Ruby sprog. En anden mærkbar fangst er, at de fleste af begreber og udtryk for Homebrew er baseret på dens bogstavelige betydning; hjemmelavet-øl. Med hjemmebrygget terminologi kaldes en pakke en formel. Herefter bruger vi ordet formler til pakkerne.

Hvordan fungerer homebrew?

Brug nogle få sekunder på at gennemgå nedenstående billede. Det forklarer, hvordan vi får alle formlerne ind i vores maskine.

Homebrew-installationsprocessen starter med vandhanerne. Kraner er depoterne, der bidrager med formler. Hver gang du kører bryggeopdateringen, gør det en god træk. For eksempel; hvis du prøver at brygge, installer ballerina; første Homebrew synkroniserer sine lokale vandhaner med git pulls. Derefter søger den på alle lokale vandhaner efter formlerne med navnet; "ballerina". hvis formlen findes; det udfører koden, der er defineret i den Ruby-fil.

Nemlig! for eksempel nedenfor er ballerina.rb, det er en pakkedefinition skrevet i Ruby. Disse formler er Ruby-filer, der beskriver den software, de installerer, og indeholder instruktioner til installation og test af den.

Lad os se, hvordan 'bryg installere ballerina' fungerer;

  1. Homebrew henter URL'en (her er https://product-dist.ballerina.io/downloads/0.990.2/ballerina-0.990.2.zip) ved hjælp af curl og gemmer arkivet i et cache-bibliotek for at sikre dig, at du ikke download det to gange.
  2. Det beregner kontrolsummen mod det kontrolsum, som formlen giver, for at sikre, at du har downloadet den korrekte fil (uden korruption).
  3. Bekræftelse af ballerina-0.990.2.zip checksum: sha256 (612ecebfb1c68908cb2ec25ed3d4f13ad35a6fb137aea49909fe40992f682642)
  4. Brug for java8, før du installerer ballerina
  5. Udfør andre trin i ballerina.rb

3. Skrivning af din egen formel

Nedenstående trin forklarer, hvordan du kan oprette en formel fra bunden.

en. Oprettelse af din nye formel

Du kan altid starte din formel med brew create . Indtast derefter navnet på formlen; Homebrew åbner den nye formel i standardteksteditoren for dig.

Hvad med SHA256? Må ikke bekymre dig om det. Fyld bare resten og udsted en bryggeinstallation. Homebrew vil råbe den faktiske og forventede. Nu kan du ændre hash med den forventede ved hjælp af bryggeredigering.

b. Installation af din nye formel

Da du fik .rb i dine lokale vandhaner; nu kan du udstede bryggeinstallation .

c. Fejlsøgning af din nye formel

Hvis du støder på problemer i installationsprocessen, kan du prøve at brygge installation - debug . Dette åbner en debugging shell.

d. Deling af din nye formel

Valgmulighed 1: Bidrag til homebrew-core

Hvis du synes, din nye formel burde være en del af Homebrew-kernen; Du kan indsende en Git PR til hjemmebryggen / homebrew-core depotet. Du kan læse Formula Cookbook for alle instruktioner.

# Kør revisioner for at følge retningslinjerne for hjemmebrug
bryg revision - streng 
# Naviger ind i Homebrew Repository
cd $ (bryg - repo homebrew / core)
# Opret en ny gitgren til din formel, så din pull-anmodning
# er let at ændre, hvis der opstår ændringer under gennemgangen.
git checkout -b  origin / master
git add Formula /  .rb
git commit

Valgmulighed 2: Opret og vedligehold dit eget tryk

En anden mulighed er at have din egen trykrepo; ligesom homebrew-nginx. Ulempen med at have en separat formelrepo er, at brugerne først skal tilføje din repo ved hjælp af kommandobrygttap / . Læs mere om vedligeholdelse af vandhaner her.

Vil du læse mere?

TL; DR - Resume

Du kan oprette din egen formel med brew create . Prøv at installere det; bryg installation . Hvis det skal gå ind i homebrew / homebrew-core, kan du enten indsende en PR-henvisning til formel-kogebog eller have dit eget git repo (som f.eks. Brugernavn / homebrew- ), som brugerne kan tilføje hanen med bryg-tap-brugernavn / .

Tak for at have læst. Hvis du nød denne artikel, er du velkommen til at trykke på klapknappen for at hjælpe andre med at finde den.

Nyttige links: