Paketmanager für den Mac, Teil 2 Software in Homebrew listen und verbreiten

Von Christian Rentrop 4 min Lesedauer

Anbieter zum Thema

Software-Entwickler und -Anbieter profitieren deutlich davon, wenn ihre Anwendungen sich einfach per Homebrew auf dem Mac installieren und pflegen lassen. Doch wie bringt man ein Programm ins offizielle Homebrew-Repository?

Wie bekommt man Homebrew-Formulae in den offiziellen Homebrew-Core?(Bild:  Brew.sh)
Wie bekommt man Homebrew-Formulae in den offiziellen Homebrew-Core?
(Bild: Brew.sh)

Homebrew ist auf Anwenderseite eine deutliche Erleichterung, wenn es um den Umgang mit Software auf dem Mac geht. Doch auch Developer und Unternehmen können davon profitieren, ihre Tools in das Core-Repository des beliebten Linux- und Mac-Paketmanager einzupflegen. So können Homebrew-Nutzer die Software einfach installieren und pflegen, was der Beliebtheit und Menge der Nutzer zugutekommt.

Homebrew bedient sich sogenannter Formulae und Casks: „Rezepten“ für die Zusammenstellung einer Software. Während Formulae („Formeln“) Paketdefinitionen über Quellen sind – etwa für Kommandozeilen-Anwendungen –, sind Casks („Fässer“) Formeln für MacOS-native Anwendungen, die in aller Regel grafisch sind. Zudem gibt es noch sogenannte taps („Zapfhähne“), um externe Repositories (hauptsächlich von GitHub) in die Formulae aufzunehmen. Es gibt noch weitere Homebrew-Terminologien, allesamt Bier-Analogien, doch mit diesen drei Begriffen kommt man für den Anfang schon recht weit.

Homebrew hat gewisse Anforderungen an die Software

Die Vorgehensweise ist einfach: Um eine Software ins Core-Repository von Homebrew einzupflegen, muss es eine Formula oder ein Cask geben, das seinerseits anschließend per Pull-Request ins Homebrew-Repository aufgenommen werden kann.

Außerdem ist es nötig, die Anforderungen an Formulae bzw. die Cask-Kriterien zu erfüllen: Die Software darf kein Fork oder Duplikat sein, muss stabil laufen, soll sich nicht selbst aktualisieren und darf kein Nischenprodukt sein, das anschließend nicht gepflegt wird. Zudem sollte die Software so angelegt sein, dass sie keine großartige Vor- und Nachbereitung der Installation braucht.

Homepage und Lizenz notwendig

Wer ins Homebrew-Core-Repository aufgenommen werden möchte, muss zudem eine Homepage für die Software haben: Homebrew akzeptiert keine Formeln oder Casks ohne eine zugehörige Website. Zu guter Letzt muss es Lizenzinformationen geben, die normalerweise ja ohnehin vorhanden sind. Die Software sollte zudem als Git vorliegen. Diese Grundregeln sind nicht in Stein gemeißelt, erhöhen aber die Chance, dass eine Software tatsächlich ihren Weg in Homebrew findet.

Eigenes Tap macht vieles leichter

Alternativ können Entwickler aber auch einfach ein eigenes Tap erstellen. Das hat den Nachteil, dass die Software (zunächst) nicht direkt per Homebrew-Core verfügbar ist. Der Vorteil ist aber, dass Freigabeprozesse der Homebrew-Macher umgangen werden können.

Auf diesem Weg lässt sich Homebrew ohne das Core-Repository nutzen. Dies bietet sich zum Beispiel an für interne, nicht für den öffentlichen Gebrauch gedachte Anwendungen oder auch für Software, die nicht den Anforderungen des Homebrew-Core entsprechen. Ein eigenes Tap ist natürlich auch zum Üben und für Testzwecke gut geeignet.

Formel oder Cask erstellen

Vor der Homebrew-Nutzung steht die Erstellung der Formel. Zunächst muss die Software dazu wie gehabt in GitHub angelegt werden. Es sollte ein fertiges Release vorliegen. Der Link zu diesem Release – normalerweise eine gepackte Datei – muss in GitHub kopiert und anschließend mit dem Befehl …

brew create (Link zur Release-Datei)

… als Formula angelegt werden. Homebrew erstellt diese automatisch und legt eine Grundstruktur in Ruby an, die sich in einem beliebigen Editor öffnen lässt. Es kann sinnvoll sein, aus dieser Datei Entwickler-Kommentare zu entfernen. Außerdem können Entwickler hier weitere Anpassungen vornehmen, etwa den Secure-Hash anpassen, die Lizenz einbinden oder eine Testroutine etablieren. Mit dem Befehl …

brew audit --new (projektname)

… lässt sich zunächst die Formel auf Fehler prüfen. Mit …

brew install --build-from-source (projektname)

…kann sie dann getestet werden.

Wenn Tap und Anwendung lokal funktionieren, spricht nichts dagegen, das Tap zu publizieren: Das Naming ist hier wichtig, denn jedes Homebrew-Tap verlangt das Präfix homebrew-. Ein Tap kann also zum Beispiel homebrew-meinetollesoftware heißen. Anschließend muss nur noch die GitHub-Quelle hinzugefügt und gepusht werden.

Eigenes Tap verwenden

User können jetzt mit …

brew tap user/repo

… in das Online-Tab wechseln und von dort aus mit „brew install“ die Software installieren. Natürlich ist das nicht ganz so komfortabel wie etwa im Homebrew-Core der Fall ist – allerdings bedienen sich selbst namhafte Firmen dieser Technik, weil sie gewisse Freiheiten gibt. So verwendet Apple beispielsweise ein eigenes, GitHub-gehostetes Homebrew Tap für das Game Porting Toolkit.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Cloud Computing

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung

Software in Homebrew-Core einpflegen

Doch wie bekommt man Homebrew-Formulae in den offiziellen Homebrew-Core? Nun: Dafür ist es notwendig, einen GitHub-Pull-Request zu erstellen. Im Homebrew-Core-Repository auf GitHub kann dafür ein Pull-Request erstellt werden. Zuvor gilt es jedoch noch, das Homebrew-Repository zu forken.

Nach erfolgtem Pull-Request wird die Software geprüft und bei positivem Ergebnis in den Homebrew-Core aufgenommen. Einmal eingepflegt, kann die Software anschließend mithilfe von Git und Homebrew gepflegt und aktualisiert werden. Ist die Software hier erst einmal gelistet, können auch Updates über Homebrew bereitgestellt werden.

Die Verfügbarkeit von Anwendungen in Homebrew ist vor allem für versierte Mac-Nutzer und Entwickler ein gutes Argument, sich für – oder gegen – eine bestimmte Software zu entscheiden. Natürlich sollte das Projekt aber auch anderweitig beworben und über die gängigen Download-Portale verteilt werden. Homebrew ist nach wie vor ein Tool für einen Bruchteil der Mac-Anwender, die ihrerseits einen Bruchteil der Computer-Nutzer darstellen. Dennoch: Für eben diese Zielgruppe ist Homebrew praktisch – und der Aufwand zum Einpflegen vergleichsweise gering.

(ID:50059539)