ALexH hat geschrieben:
Dies alles geht über Skripte sehr zügig. Diese komplett umzubauen, Patches für newmake zu erstellen damit wieder alles so baut, wie man es persönlich am besten findet und bis das ganze dann auch funkioniert wird wohl noch sehr viel Zeit brauchen.
... ist aber eigentlich gar nicht so wild: nachdem "newmake" einigermassen weit fortgeschritten war und ich mich mit der Funktionsweise näher vertraut gemacht hatte, war es dann ziemlich fix erledigt, meine bestehende "buildscript-Sammlung" (war der von yadi ähnlich) anzupassen. Natürlich kann bzw. darf

man in Zs. mit "newmake" noch scripte einsetzen. Alles was
vor dem eigentlichen Buildprozess, der durch (new)make angestossen wird, gemacht werden muß, läßt sich somit (immer noch) wunderbar automatisieren und meist in unveränderter Form.
Den Gesamtprozess hab ich in folgende Phasen unterteilt und für jede dieser Phasen ein passendes Script erstellt
1) CVS auschecken
2) CVS Stand patchen (Sourcen)
3) autogen und configure durchführen
4) Buildprozess mit Hilfe von newmake
Jedes der Scripte kann noch mehr oder weniger über Aufruf- Parameter variiert werden, wobei ich dies aber lediglich für 4) ausgenutzt habe: dort wird dann in Abhängigkeit der Parameter der "Vorbau" für "newmake" gemacht, was im Wesentlichen das Kopieren passendener
root-scripte nach 'tuxbox-cvs/cdk' ist. Die "letzte Zeile" im 4)er-Script ist dann ein 'make' mit dem passenden "target".
Wichtig zu wissen: alle Modifikationen, die nicht in den Phasen 1) bis 3) möglich sind (wie z.B. " -Einfügen von temporären Änderungen, bis das CVS angepasst wird" oder
"- Compilieren und Einbauen von eigenen Programmen") können elegant in den
root-scripten erledigt werden, ... dazu ist in keinem das Patchen von "newmake"-Bestandteilen an sich nötig !
In meinem Fall hab ich das 4)er-Script u.a. so ausgelegt, daß ich verschiedene Optionen, wie
- Images für alle Filesysteme bauen
- nur squashfs-Image bauen
- nur cramfs-Image bauene
- nur jffs2-Image bauen
- yadd bauen
pro Aufruf wählen kann. Auch ist der "wiederholte" Aufruf mit der gleichen Option (nach einem build Fehler) oder mit einer anderen Option, wenn ich z.B. später doch noch ein "yadd" bauen will, möglich.
Der Aufwand zur Umstellung meiner bisherigen Scripte betraf die Sachen für Phase 1) bis 3) nur geringfügig. Lediglich das Script für Phase 4) war eine "Neuauflage", wurde aber dank "newmake" einfacher und übersichtlicher

Und wenn man sich ein wenig mit der Materie beschäftigt, endeckt man immer noch weitere Möglichkeiten und findet auch für anfänglich "unlösbar" scheinende Aufgaben dann doch noch einen geeigneten Weg.
Wie gesagt, bei mir war die Ausgangssituation ähnlich wie für "yadi". Und bestimmt gibt es ein paar Leute hier im Forum, die den
"yadi2newmake"-Umstieg ein wenig supporten werden ...
- GMo -