# Catalyst Profile 2008.0 Stage1/2/3

## ruth

Guten Tag,

Betrifft: catalyst version 2.0.5

/etc/catalyst/catalyst.conf:

options="pkgcache"

bzgl. options="" -->> SIEHE UNTEN!!!

Zuallererst wird ein Portage Tree Snapshot erstellt,

vor Beginn der catalyst Arbeiten also ein:

```

# emerge --sync

```

durchführen, danach ein:

```

# catalyst -s XXX_VERSION_STAMP_XXX

```

XXX_VERSION_STAMP_XXX ist hier der Versionsbezeichner des Snapshots, kann also frei gewählt werden,

z.B. kann das ein Datum sein, oder ganz etwas anderes ausgefallenes...

Auf diesen Versionsbezeichner wird allerdings dann bei version_stamp in den *.spec Files referenziert.

Jetzt einen stage3-x86-2007.0.tar.bz2 herunterladen und nach

/var/tmp/catalyst/builds kopieren

Das Verzeichnis, falls es nicht existiert, anlegen.

Dieses Archiv dient als Seed zum Erzeugen des neuen Stage1 Tarballs.

Der Bootstrap mit einem x86 Tarball wird dringend empfohlen, also KEIN i686, o.ä. nehmen,

wirklich nur ein x86 Archiv!!!

Die Anpassung auf i686, ... (subarch, CHOST) wird dann später in stage2.spec vorgenommen!!!

Allgemein:

stage3-x86-2007.0.tar.bz2

ist Seed für

stage1-x86-XXX_VERSION_STAMP_XXX.tar.bz2

ist Seed für

stage2-x86-XXX_VERSION_STAMP_XXX.tar.bz2

ist Seed für

stage3-x86-XXX_VERSION_STAMP_XXX.tar.bz2

Nun ein Verzeichnis anlegen, in dem die *.spec Files gespeichert werden,

z.B.

```

# mkdir /root/catalyst

```

Erzeugen eines Stage1 Archivs:

Datei: /root/catalyst/stage1.spec

```

subarch:

   x86

target:

   stage1

version_stamp:

   XXX_VERSION_STAMP_XXX

rel_type:

   default

profile:

   default/linux/x86/2008.0

snapshot:

   XXX_VERSION_STAMP_XXX

source_subpath:

   stage3-x86-2007.0

chost:

   i486-pc-linux-gnu

cflags:

   -O2 -fomit-frame-pointer -pipe

```

der CHOST referenziert hier auf den Compiler, der in stage3-x86-2007.0.tar.bz2 vorliegt.

also noch NICHT ändern, sonst findet catalyst keinen Compiler...

source_subpath referenziert immer auf den Seed, hier auf den 2007.0 Stage 3

Desweiteren sollte die subarch noch auf x86 stehen bleiben.

Danach kann das Stage1 Archiv erzeugt werden:

```

(# cd /root/catalyst)

# catalyst -v -f ./stage1.spec

```

Erzeugen eines Stage2 Archivs:

Datei: /root/catalyst/stage2.spec

```

subarch:

   i686

target:

   stage2

version_stamp:

   XXX_VERSION_STAMP_XXX

rel_type:

   default

profile:

   default/linux/x86/2008.0

snapshot:

   XXX_VERSION_STAMP_XXX

source_subpath:

   default/stage1-x86-XXX_VERSION_STAMP_XXX

chost:

   i686-pc-linux-gnu

cflags:

   -O2 -march=i686 -fomit-frame-pointer -pipe

```

Hier MUSS der CHOST auf die Target Architektur gesetzt werden...

auch die Ziel - subarch jetzt setzen. (hier i686)

Von Stage2 -> Stage3 ist das nicht mehr fehlerlos möglich...

Weitere unterstützte subarches, Doku und FAQ findet man auf:

```

http://www.gentoo.org/proj/en/releng/catalyst/index.xml

```

source_subpath referenziert jetzt auf das gerade erzeugte Stage1 Archiv unter

/var/tmp/catalyst/builds/default

Jetzt:

```

# catalyst -v -f ./stage2.spec

```

Und das Ergebnis ist ein Stage 2 Tarball.

Erzeugen eines Stage3 Archivs:

Datei: /root/catalyst/stage3.spec

```

subarch:

   i686

target:

   stage3

version_stamp:

   XXX_VERSION_STAMP_XXX

rel_type:

   default

profile:

   default/linux/x86/2008.0

snapshot:

   XXX_VERSION_STAMP_XXX

source_subpath:

   default/stage2-i686-XXX_VERSION_STAMP_XXX

cflags:

   -O2 -march=i686 -fomit-frame-pointer -pipe

```

Ein:

```

# catalyst -v -f ./stage3.spec

```

liefert einen Stage3 Tarball auf dem Stand des Portage Snapshots und Profil 2008.0 (hier XXX_VERSION_STAMP_XXX) im Verzeichnis /var/tmp/catalyst/builds/default

hier also:

/var/tmp/catalyst/builds/default/stage3-x86-XXX_VERSION_STAMP_XXX.tar.bz2

Die Angabe bei 

```
profile:
```

 in den *.spec Files ist relativ zum Portage Tree unter /usr/portage

Einige Anmerkungen noch zu catalyst und den den Caches in /etc/catalyst/catalyst.conf

Direkt nach der Installation von catalyst sind sehr viele Caches aktiviert.

Diese können tatsächlich sehr, sehr viel Zeit sparen, sind allerdings u.U. auch fehleranfällig.

Also lieber mal deaktivieren, falls Fehler auftauchen; pkgcache zum Beispiel kann durchaus mal zu 'unresolved symbols' in den Kompilaten führen,

vor allem, nach USE Flag Änderungen, ansonsten sollte(!) pkgcache sicher sein.

Entsprechendes gilt für die anderen Caches (je nach cache natürlich andere Fehler - klar)...

Ausserdem löscht catalyst die temporären Dateien unter /var/tmp/catalyst nicht / nur teilweise - hier gilt es also von Hand aufzuräumen,

falls irgendetwas schiefgeht.

Und Vorsicht:

nicht aus Versehen den 2007.0 Seed Tarball löschen...  :Wink: 

----------

