HOWTO: busybox 1.19.3 - Tarball aus GIT generieren und einbinden

Status
Für weitere Antworten geschlossen.

dileks

Neuer User
Mitglied seit
7 Apr 2006
Beiträge
180
Punkte für Reaktionen
0
Punkte
0
Der Server <freetz.org> war diese Woche down [1], glücklicherweise wird die Entwickler-Version in einem GIT Repository auf GIThub [2] unabhängig von der Erreichbarkeit des SVN-Servers als Kopie bereitgestellt.

Dieses HOWTO zeigt einen schönen Anwendungsfall von GIT: Erzeugen und Einbinden eines Tarballs, hier am Beispiel von busybox-1.19.3 (welches noch nicht offiziell angekündigt wurde).

[A] BUSYBOX TARBALL ERZEUGEN

busybox GIT Repository klonen und 1_19_stable Branch auschecken:
Code:
git clone git://git.busybox.net/busybox

cd busybox

git checkout -b 1_19_stable origin/1_19_stable

Letzten Commit mit einem Tag "v1.19.3" versehen & Tarball aus GIT Repository generieren:
Code:
git log --pretty=short -1 | cat
[ OUTPUT ]
commit 1e98f3741c5a844c1d3d7966f20cd09dded05d0d
Author: Denys Vlasenko <[email protected]>

    Apply post-1.19.2 patches, bump version to 1.19.3

git tag v1.19.3 1e98f3741c5a844c1d3d7966f20cd09dded05d0d

git archive --format=tar --prefix=busybox-1.19.3/ v1.19.3 | bzip2 -9c > ../busybox-1.19.3.tar.bz2

MD5SUM erzeugen:
Code:
cd ..

md5sum busybox-1.19.3.tar.bz2 > busybox-1.19.3.tar.bz2.md5sum

cat busybox-1.19.3.tar.bz2.md5sum
[ OUTPUT ]
f48e5b9fea1a5dce48c0b33fa8b44c28  busybox-1.19.3.tar.bz2

MODIFIKATIONEN AM BUILD-SYSTEM

Freetz aus GIThub Repository klonen:
Code:
git clone https://github.com/olistudent/freetz freetz-git

cd freetz-git

Gegenfalls Source-Dir und Build-Dir von busybox-tools und busybox löschen (wenn zuvor erfolgreich gebaut wurde):
Code:
make busybox-tools-dirclean

make busybox-dirclean

Selbst erstelltes Tarball ins dl-Dir kopieren (bei frischem Checkout dl-Dir zuvor erstellen via 'mkdir dl'):
Code:
cp -v /path/to/busybox-1.19.3.tar.bz2 dl/

Editieren von busybox-tools und busybox Makefiles:
Code:
[ tools/make/busybox-tools.mk ]
BUSYBOX_TOOLS_VERSION:=1.19.3
BUSYBOX_TOOLS_SOURCE_MD5:=f48e5b9fea1a5dce48c0b33fa8b44c28

[ make/busybox/busybox.mk ]
$(call PKG_INIT_BIN, 1.19.3)
$(PKG)_SOURCE_MD5:=f48e5b9fea1a5dce48c0b33fa8b44c28

busybox-1.19.2 Patches löschen (in v1.19.3 enthalten):
Code:
rm -f make/busybox/patches/busybox-1.19.2-*.patch

In einem bereits fertig kompilierten Build-Dir (anderfalls 'make menuconfig'):
Code:
yes "" | make oldconfig

busybox-tools und busybox v1.19.3 bauen (im o.g. Build-Dir wird nur fortgesetzt):
Code:
make

[C] REFERENZEN

[1] http://www.ip-phone-forum.de/showthread.php?t=240965
[2] https://github.com/olistudent/freetz
[3] http://git.busybox.net/busybox/log/?h=1_19_stable
 
Zuletzt bearbeitet:
Hmm, und wieso in dem Falle ein git clone, und nicht, weil der Server wieder stabil erreichbar ist, ein svn co für freetz.org? Ich mein, bb von mir aus, wenn es dort nichts andere gibt, aber wozu freetz? Nur weil es geht? Da müsste man dann der Vollständigkeit halber vllt. auch den Weg des Ausdruckens und Abtippens mit angeben...

Wobei mir einfällt, dass github ja vllt. ganz nett ist, aber dann habe ich das git-Repository lieber auch noch iauf dem Server. Tut wenig weh.
 
Wobei mir einfällt, dass github ja vllt. ganz nett ist, aber dann habe ich das git-Repository lieber auch noch iauf dem Server. Tut wenig weh.

Warum ausgerechnet GIThub muss man Oliver fragen. GIThub ist eine stabile Plattform und diente nach Einbruch auf <kernel.org> für viele Maintainer als Ersatz-GIT.

Gerade darin sehe ich den Vorteil, wenn der <freetz.org> Server down ist, kann man zumindest GIT(hub) als Alternative verwenden bis dieser wieder da ist. Ich selber benutze "freetz-git" seit einigen Tagen als primäre Plattform.

Ein offizielles GIT-Repo auf eigenem Server bedeutet zusätzliche Arbeit und Maintenance, ggf. müssen auch die SVN->GIT Hooks angepasst werden. IMHO nicht der Arbeit wert, ist aber meine Meinung.

Was man natürlich noch machen könnte, wären die stabilen SVN Branches nach GIT zu überführen. Ich selbst benötige das nicht.

Viele Projekte bieten neben SVN auch GIT an oder sind ganz auf GIT umgestiegen.
Nach Rücksprache mit Oliver habe ich die GIT Alternative unter [1] eingetragen.

Ich bereite im Rahmen der FreetzConf meinen Vortrag zu GIT an. Ich werde weitere Howtos noch anbieten, bin z.Zt. am Überlegen diese ins Freetz-Wiki mit aufzunehmen.

[1] http://freetz.org/wiki/WikiStart#Entwicklerversion
 
Ich denke, man sollte sich auf einen Weg einigen, alles andere stiftet Verwirrung bei einem nicht geringen Teil der User. Ich habe wenig Lust und vor allem keine Zeit, auch noch Untershciede zwischen git und svn irgendwem hier im Forum dutzendfach zu erklären, das mache ich in der Firma alle paar Tage, das reicht.

Von daher, als imho wirklich wichtiger Punkt: Einen Weg an X Stellen dokumentieren, alles andere macht mehr Chaos als Wirkung. Deswegen eben meine Nachfrage. An der Freetzcvonf btw. kann und werde ich allerhöchstens per Livestream teilnehmen, wenn ihr einen anbietet, denn mein Privatleben ist eh schon so eingeschränkt, dass es mich wundert, dass Freunde und Freundin mir nicht schon komplett gekündigt haben. Dann noch 2 Tage Frankfurt... Machbar, aber.. nun ja ;) Wobei ich ort gut unterkommen könnte. *sfz*
 
Von daher, als imho wirklich wichtiger Punkt: Einen Weg an X Stellen dokumentieren, alles andere macht mehr Chaos als Wirkung.

Deine Sorge ist unberechtigt. In vielen Projekte koexistieren beide Technologien.

Erst jüngst habe ich auf #llvm auf die fehlenden Tags für 30_release im GIT-Repo aufmerksam gemacht. Auch dort wird zum Einpflegen der Commits der SVN-Mirror verwendet. Natürlich kannst du lokal in GIT arbeiten und nach SVN committen, alles heutzutage kein Problem.

Als Projekt sollte man verschiedene User-/Kundenwünsche bedienen können. Das war auch die Motivation von Oliver als Projekt-Leiter.
 
GIT versus SVN ist BTW nicht Topic dieses Threads!
 
Dieses HOWTO hat nichts damit zu tun, dass freetz.org down war, von daher kann ich nicht nachvollziehen, warum Du das als Aufhänger verwendest.

Außerdem kann ich auch nicht nachvollziehen, warum Du das hier überhaupt geschrieben hast. Wer nicht selbst in der Lage ist, aus Git ein Tar heraus zu holen, wird sicherlich keine Veranlassung dazu haben, es zu tun. Insbesondere gilt die Anleitung genau für den Fall, dass diese konkrete Busybox ersetzt werden soll.

Und kurz vor 12 schreibst Du hier, wie man das auf dem umständlichen Weg machen kann, weniger als 2 Stunden später gibt es die Datei fertig zum Download. Und wofür das Ganze? Gibt es wichtige Änderungen, die in Freetz noch nicht drin waren?
 
Aufhänger aus gegebenem Anlass [1] plus Verbreitung der Information, dass es freetz auch in Geschmacksrichtung GIT gibt. Das ist vielen Usern nicht bekannt.

busybox-Release hat sich mit dem Howto überschnitten, zuerst war Howto dann Release.

busybox wurde als aktuelles Beispiel gewählt (s.w.o.):
Dieses HOWTO zeigt einen schönen Anwendungsfall von GIT: Erzeugen und Einbinden eines Tarballs, hier am Beispiel von busybox-1.19.3...


[1] http://www.ip-phone-forum.de/showthread.php?t=240965
 
Der Anlass für den Aufhänger ist mir durchaus klar, er hat trotzdem nichts mit der Überschrift oder dem Rest des Beitrags zu tun und eignet sich somit wenig als Aufhänger.

Und der Nutzwert des restlichen Beitrags ist auch gering. Wer eine nicht freigegebene Version in Erwägung zieht, für den sollte das Erstellen einer Tar-Datei das kleinste Problem sein.

Bleibt noch die Information, dass es Freetz auch in GIT gibt. Da Du das selbst auf die Freetz Startseite geschrieben hast, sollte es jeder herausbekommen können, der sich dafür interessiert. Hier wird die Information mit Sicherheit untergehen.
 
Wenn dileks Spaß daran hat solches Howtos zu schreiben, dann ist das seine Sache. Ich verstehe nicht warum ihr so auf ihm rumhackt?

Gruß
Oliver
 
Da keine Kommentare zum Howto Inhalt kommen, bitte hier zumachen.

@olistudent: Wo wäre deiner Meinung nach der ideale Platz im Freetz-Wiki? Ich plane eine Artikel-Serie speziell zu GIT.
 
Vermutlich, weil er einen unpassenden Aufhänger dafür genommen hat.

Klar darf er schreiben, was er will. Und andere können schreiben, was sie davon halten.
 
Wenn dileks Spaß daran hat solches Howtos zu schreiben, dann ist das seine Sache. Ich verstehe nicht warum ihr so auf ihm rumhackt?

Nichts gegen das Howto an sich, aber Ralf erwähnte ja schon den Aufhänger "Da er down war, nutze ich git für alles". Seit wann sind nachfragen denn zu Sinn und Zweck exakt dieser Vorgehensweise verpönt?
 
@dileks
Du wirst schon einen passenden Platz finden. Notfalls kann ich die Seite auch noch verschieben.

Und damit hier zu...
 
Status
Für weitere Antworten geschlossen.
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.