$Id: README,v 1.3 2002/10/08 10:00:58 ahuck Exp $
$Id: README,v 1.3 2002/10/08 10:00:58 ahuck Exp $
Dokumentation zum automatischen Build-Vorgang:

Der automatische Build-Vorgang basiert auf dem skript "build.sh" von 
Ingo Brnig und build_srpm.sh (ehemalig) von Philipp Storz. 

Zur bersetzung werden folgende Programme/Dateien verwendet:

buldlist	: Beispiel fr 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 fr srpms.

Es macht ggf. Sinn, das Verzeichnis ../common/build in $PATH aufzunehmen bzw. die
ausfhrbaren Dateien ins ~/bin zu verlinken.


Build der Smartclient Pakete:
-----------------------------

Der Buildvorgang wird in einer Datei (z.B. buildlist) konfiguriert. 

Jede Zeile enthlt drei Eintrge:

1. Verzeichnis des Pakets relativ zum Verzeichnis "technical" 

2. gewnschte Distribution, fr die dieses Paket gebaut werden soll

3. Optionen fr den Build-Vorgang (--no-init oder --clean) 

Beispiel:
common/base/                    :sles7-i386+update      :--clean
lib/perl/                       :sles7-i386+update      :--no-init
 
 
Das ausfhrbare Programm ist das Skript buildall.pl. Die Liste der
zu bersetzenden Pakete (buildlist) wird mit dem Parameter -b bergeben.

Gegenwrtig 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.).

# gegenwrtig 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 (ursprnglichen) srpm 
Paketen. Die srpm Pakete mssen 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 (gegenwrtig) bei den jeweils neueren Pakteten das entsprechende (versionslose)
Verzeichnis gelscht und das Paktet nochmal ausgepackt werden.


 
