$Id: README 675 2004-05-15 08:26:56Z joergs $ $Id: README 675 2004-05-15 08:26:56Z joergs $ Dokumentation zum automatischen Build-Vorgang: Der automatische Build-Vorgang basiert auf dem skript "build.sh" von Ingo Börnig und build_srpm.sh (ehemalig) von Philipp Storz. Zur Übersetzung werden folgende Programme/Dateien verwendet: buldlist : Beispiel für die Übersetzung der SmartClient-Pakete buildall.pl : Übersetzung aller in der buildlist genannten Pakete build.pl : Übersetzung _eines_ Pakets, wird von buildall.pl aufgerufen extract_srpm.sh : zum Auspacken von srpm Paketen; schafft die Voraussetzung zum Einsazt von build[all].pl für srpms. Es macht ggf. Sinn, das Verzeichnis ../common/build in $PATH aufzunehmen bzw. die ausführbaren Dateien ins ~/bin zu verlinken. Build der Smartclient Pakete: ----------------------------- Der Buildvorgang wird in einer Datei (z.B. buildlist) konfiguriert. Jede Zeile enthält drei Einträge: 1. Verzeichnis des Pakets relativ zum Verzeichnis "technical" 2. gewünschte Distribution, für die dieses Paket gebaut werden soll 3. Optionen für den Build-Vorgang (--no-init oder --clean) Beispiel: common/base/ :sles7-i386+update :--clean lib/perl/ :sles7-i386+update :--no-init Das ausführbare Programm ist das Skript buildall.pl. Die Liste der zu übersetzenden Pakete (buildlist) wird mit dem Parameter -b übergeben. Gegenwärtig muss das Programm aus dem Verzeichnis technical/common/build/ heraus aufgerufen werden. Vor dem Aufruf ist darauf zu achten, dass alle srpm Pakete mit extract_srpm.sh ausgepackt wurden (s.u.). # gegenwärtig auskommentiert: # # Mit dem Parameter -x wird optional ein xterm-fenster mit den Ausgaben der # logfiles öffnet. Build der srpm-Pakete: ---------------------- Das Script buildall.pl unterscheidet nicht zwischen rpms und (ursprünglichen) srpm Paketen. Die srpm Pakete müssen vor dem Einsaztz von buildall.pl in entsprechende Verzeichnisse ausgepackt werden. Dieses geschieht mit dem Script extract_srpm.sh . Als Parameter werden alle (mit rpm2cipi) auszupackenden Pakete im jeweiligen Verzeichnis angegeben. Beispiel: > cd $SMART_CLIENT_BASE/technical/external/SuSE/ > extract_srpm.sh *.src.rpm extract_srpm.sh erzeugt damit Unterverzeichnisse _ohne_ die Versionsnummer des Pakets und hinterlegt darin den Inhalt des Pakets. ACHTUNG: nach jedem Uptate der Source-RPMs mit "cvs commit" in diesen Verzeichnissen muss (gegenwärtig) bei den jeweils neueren Pakteten das entsprechende (versionslose) Verzeichnis gelöscht und das Paktet nochmal ausgepackt werden.