Manual de Referinţă pentru Catalyst
1.
Introducere
Acest document se doreşte a fi o referinţă completă pentru toate platformele
ţintă ale Catalyst, opţiunile fişierelor specificaţie, şi a tuturor celorlalte
aspecte ale Catalyst.
2.
Referinţe privind Versiunea Ţintă Snapshot
Numele ţintei: snapshot
Descrierea Ţintei: O versiune snapshot pentru Portage, arborele Portage
pregătit şi compresat folosit pentru construirea tuturor celorlaltor ţinte.
Versiunea snapshot ţintă foloseşte următoarele setări:
| Variabilă |
Utilizare |
Descriere |
Exemplu fişier specificaţie |
| version_stamp |
necesară |
identificator, de ex. data sau numărul versiunii |
version_stamp: 2004.3 |
| portdir_overlay |
opţională |
directorul portage paralel (PORTDIR_OVERLAY din /etc/make.conf) |
portdir_overlay: /home/utilizator/arborele_meu_paralel |
3.
Referinţe privind Arhivele Tar Ţintă (stage1, stage2, stage3)
Numele ţintei stage1
Descrierea ţintei: o arhivă tar stage1, elementul de bază pentru
construirea arhivelor tar stage2 şi stage3.
Cerinţe pentru construire: O versiune snapshot a arborelui Portage ca şi
o arhivă "sursă" stage2 sau stage3 pentru configurarea mediului chroot.
Fişierul ţintă stage1 foloseşte urmatoarele setări:
| Variabilă |
Utilizare |
Descriere |
Exemplu fişier specificaţie |
| subarch |
necesară |
sub-arhitectura
pentru care Catalyst este construit, de ex. pentium4 sau athlon-xp
|
subarhitectură: athlon-xp |
| version_stamp |
necesară |
identificator, de ex. data sau numărul versiunii |
version_stamp: 2004.3 |
| target |
cerută |
ţinta pentru care Catalyst este construit, în acest caz, o arhivă tar stage1 |
ţinta: stage1 |
| rel_type |
necesară |
profilul ce va fi folosit de Catalyst, în cele mai multe cazuri default este de ajuns
|
rel_type: default |
| profile |
necesară |
Profilul Portage (/etc/make.profile) pe care Catalyst îl va folosi pentru construire
|
profile: default-linux/x86/2004.3 |
| snapshot |
necesară |
Versiunea snapshot pentru Portage folosită, calea fiind relativă la ${clst_storedir}/snapshots
|
snapshot: 20041222 |
| source_subpath |
necesară |
locaţia fişierului stage sursă, calea este relativă faţă de ${clst_sharedir} |
source_subpath: default/stage3-x86-2004.1 |
| distcc_hosts |
opţională, distcc cerut în options (catalyst.conf) |
calculatoarele gazdă folosite pentru compilare distribuită distcc |
distcc_hosts: 127.0.0.1 192.168.0.1 |
4.
Referinţe privind GRP
Numele ţintei: grp
Descrierea ţintei: Un set de pachete GRP. GRP este acronimul pentru
'Gentoo Reference Platform' şi constă dintr-un set de pachete şi arhive sursă,
grupate în (opţional) directoare separate pentru o uşoară integrare în CD-urile
de instalare.
Cerinţe pentru construire: Un snapshot al arborelui Portage şi o arhivă
sursă stage3.
Ţinta GRP foloseşte următoarele setări:
| Variabilă |
Utilizare |
Descriere |
Exemplu fişier specificaţie |
| subarch |
necesară |
sub-arhitectura
pentru care Catalyst este construit, de ex. pentium4 sau athlon-xp
|
subarch: athlon-xp |
| version_stamp |
necesară |
identificator, de ex. data sau numărul versiunii |
version_stamp: 2004.3 |
| target |
necesară |
ţinta pentru care Catalyst este construit, în acest caz, grp
|
target: stage1 |
| rel_type |
necesară |
profilul ce va fi folosit de Catalyst în construcţie, în multe cazuri
default este de ajuns
|
rel_type: default |
| profile |
necesară |
Profilul Portage (/etc/make.profile) pe care Catalyst îl va folosi pentru
construire
|
profile: default-linux/x86/2004.3 |
| snapshot |
necesară |
Versiunea snapshot pentru Portage folosită, calea fiind relativă la
${clst_storedir}/snapshots
|
snapshot: 20041222 |
| source_subpath |
necesară |
locaţia fişierului stage sursă, calea fiind relativă la ${clst_sharedir}
|
source_subpath: default/stage3-x86-2004.1 |
| distcc_hosts |
opţional, distcc cerut în options (catalyst.conf) |
calculatoarele gazdă folosite pentru compilare distribuită distcc |
distcc_hosts: 127.0.0.1 192.168.0.1 |
| grp |
necesară |
structura de directoare pentru build-ul GRP finalizat |
grp: src packages |
| grp/use |
necesară |
Indicatorii USE ce vor fi folosiţi la construirea setului GRP |
grp/use: gtk2 gnome kde qt bonobo acl |
| grp/[grp:x]/type |
necesară |
tipul de build GRP - comanda pkgset va construi şi împacheta ebuild-ul
specificat într-o arhivă compresată (pachet binar), iar comanda srcset doar
va descărca local sursele de pe un mirror Gentoo
|
grp/src/type: srcset; grp/packages/type: packages |
| grp/[grp:x]/packages |
necesară |
lista pachetelor ebuild pentru un build GRP corespunzător (srcset, pkgset)
|
grp/src/packages: pciutils hdparm; grp/packages/packages: pciutils hdparm
|
5.
Referinţe despre Ţinta Tinderbox
Numele ţintei: tinderbox
Descrierea ţintei: Tinderbox este o ţintă de tip QA (Quality Assurance - Asigurarea Calităţii) folosit pentru a
construi serii de pachete de test
Cerinţe pentru construire: Un snapshot al arborelui Portage şi o arhivă sursă stage3
Ţinta tinderbox foloseşte următoarele setări:
| Variabilă
|
Utilizare
|
Descriere
|
Exemplu fişier specificaţie
|
|
subarch
|
necesară
|
sub-arhitectura pentru care
Catalyst este construit, de ex. pentium4 sau athlon-xp
|
subarch: athlon-xp
|
|
version_stamp
|
necesară
|
identificator, de ex. data sau numărul versiunii
|
version_stamp: 2004.3
|
|
target
|
necesară
|
ţinta pentru care este construit Catalyst, în acest caz, tinderbox
|
target: stage1
|
|
rel_type
|
necesară
|
profilul ce va fi folosit de Catalyst, în cele mai multe cazuri default este de ajuns
|
rel_type: default
|
|
profile
|
necesară
|
Profilul Portage (/etc/make.profile) pe care Catalyst îl va folosi pentru construire
|
profile: default-linux/x86/2004.3
|
|
snapshot
|
necesară
|
Versiunea snapshot Portage folosită, calea fiind relativă la ${clst_storedir}/snapshots
|
snapshot: 20041222
|
|
source_subpath
|
necesară
|
locaţia fişierului stage sursă, calea fiind relativă la ${clst_sharedir}
|
source_subpath: default/stage3-x86-2004.1
|
|
distcc_hosts
|
opţional, distcc cerut în options (catalyst.conf)
|
calculatoarele gazdă folosite pentru compilare distribuită distcc
|
distcc_hosts: 127.0.0.1 192.168.0.1
|
|
tinderbox/use
|
necesară
|
Indicatorii USE ce vor fi folosiţi pentru construcţia tinderbox
|
tinderbox/use: gtk2 qt kde bonobo
|
|
tinderbox/packages
|
necesară
|
lista pachetelor ebuild pentru a construi tinderbox
|
tinderbox/packages: xorg-x11 kde xmms parted portage
|
Utilizare: Iată cum funcţionează tinderbox. Arhiva sursă specificată este folosită pentru a configura
mediul chroot. Apoi, rsync este folosit pentru a crea o copie de siguranţă iniţială curată a mediului chroot. Primul
pachet specificat în tinderbox/packages este instalat, folosind indicatorii USE specificaţi în
tinderbox/use. Instalarea fiind corectă, Catalyst foloseşte rsync pentru a restaura mediul chroot la
forma sa originală. Apoi, fiecare pachet specificat în tinderbox/packages este instalat în mod succesiv;
fiecare instalare este urmată de "reîntoarcerea la starea iniţială", adică pasul rsync.
Din cauza pasului rsync, adică reîntoarcerea la starea iniţială, tinderbox poate detecta erori în dependenţele dibtre pachete. Pentru ca un pachet să fie compilat cu succes, trebuie să depindă de orice ar avea nevoie pentru o compilare
curată dintr-o arhivă stage3 originală. De asemenea, acestă testare a tinderbox este chiar foarte eficientă când
pkgcache este activat în /etc/catalyst/catalyst.conf, deoarece pachetele pre-construite vor fi folosite
pentru satisfacerea oricăror dependenţe. Aceasta înseamnă că pachete mari consumatoare de CPU ca xfree vor fi
compilate doar odată pentru fiecare rulare a tinderbox, demonstrând că pkgcache este activat.
Tinderbox va continua să compileze prin parcurgerea tuturor pachetelor specificate în tinderbox/packages,
chiar dacă unele pachete nu se vor compila. Un fişier log al compilării este creat şi localizat la
[storedir]/tmp/[rel_type]/[subarch]-tinderbox-[version_stamp]/tmp/tinderbox.log. Dacă un pachet este
compilat corect, o linie va fi înregistrată în acest fişier ce va conţine numele pachetului aşa cum este specificat
în tinderbox/packages. Dacă un pachet nu este compilat corespunzător , o linie va fi înregistrată în acest
fişier şi va conţine numele pachetului, precedat de "! ". Luaţi aminte că eşecurile în compilarea unor
pachete anterioare pot cauza mai târziu erori în compilarea viitoarelor pachete.
În afara fişierului /tmp/tinderbox.log creat în interiorul mediului chroot, tinderbox nu efectuează
un alt proces de log. Pentru a efectua log procesului de compilare, folosiţi comanda script împreună cu
catalyst, după cum urmează:
Cod 5.1: Folosirea script cu Catalyst pentru efectuarea de log procesului de compilare |
# script
Script started, file is typescript
# catalyst -f /foo/bar/oni.spec
# exit Script done, file is typescript
|
Apoi, deschideţi fişierul typescript din directorul curent pentru un log complet al procesului
de compilare.
6.
Referinţe privind Livecd-stage1
Numele ţintă: livecd-stage1
Descrierea ţintei: Prima ţintă prealabilă pentru construirea unui LiveCD, de fapt o
arhivă compresată ce conţine un fişier stage3 plus alte pachete.
Cerinţe pentru construire: Un snapshot al arborelui Portage şi o arhivă sursă stage3
Ţinta livecd-stage1 foloseşte următoarele setări:
|
Variabilă
|
Utilizare
|
Descriere
|
Exemplu fişier specificaţie
|
|
subarch
|
necesară
|
sub-arhitectura pentru care
Catalyst este construit, de ex. pentium4 sau athlon-xp
|
subarch: athlon-xp
|
|
version_stamp
|
necesară
|
identificator, de ex. data sau numărul versiunii
|
version_stamp: 2004.3
|
|
target
|
necesară
|
ţinta pentru care este construit Catalyst, în acest caz, livecd-stage1
|
target: stage1
|
|
rel_type
|
necesară
|
profilul ce va fi folosit de Catalyst, în cele mai multe cazuri default este de ajuns
|
rel_type: implicit
|
|
profile
|
necesară
|
Profilul Portage (/etc/make.profile) pe care Catalyst îl va folosi pentru construire
|
profile: default-linux/x86/2004.3
|
|
snapshot
|
necesară
|
Versiunea snapshot Portage folosită, calea fiind relativă la ${clst_storedir}/snapshots
|
snapshot: 20041222
|
|
source_subpath
|
necesară
|
locaţia fişierului stage sursă, calea este relativă faţă de ${clst_sharedir}
|
source_subpath: default/stage3-x86-2004.1
|
|
distcc_hosts
|
opţional, distcc cerut în options (catalyst.conf)
|
calculatoarele gazdă folosite pentru compilare distribuită distcc
|
distcc_hosts: 127.0.0.1 192.168.0.1
|
|
livecd/use
|
necesară
|
Indicatorii USE folosiţi pentru construirea mediului livecd
|
livecd/use: gtk2 kde gnome qt bonobo
|
|
livecd/packages
|
necesară
|
lista pachetelor pentru compilat şi inclus în mediul livecd
|
livecd/packages: xorg-x11 qt parted mozilla-firefox gnome
|
Important:
livecd TREBUIE inclus pe lângă indicatorii USE pe care îi specificaţi în variabila livecd/use.
Asiguraţi-vă să introduceţi sys-apps/baselayout printre pachetele specificate în variabila livecd/packages,
aşa cum baselayout trebuie recompilat cu indicatorul USE livecd activat, pentru ca LiveCD-ul să boot-eze
corespunzător.
|
7.
Referinţe pentru Ţinta Livecd-stage2
Numele ţintă: livecd-stage2
Descrierea ţintei: Această ţintă pregăteşte LiveCD-ul pentru uz general. Un LiveCD stage2 conţine
un livecd-stage1 plus kernel şi scripturi iniţializare (initrd) ce vor fi folosite pentru boot-area
imaginii CD-ului.
Cerinţe pentru construire: Un snapshot cu arborele Portage şi o imagine sursă cu livecd-stage1
LiveCD-stage2 foloseşte următoarele setări:
|
Variabilă
|
Utilizare
|
Descriere
|
Exemplu fişier specificaţie
|
|
subarch
|
necesară
|
sub-arhitectura pentru care
Catalyst este construit, de ex. pentium4 sau athlon-xp
|
subarch: athlon-xp
|
|
version_stamp
|
necesară
|
identificator, de ex. data sau numărul versiunii
|
version_stamp: 2004.3
|
|
target
|
necesară
|
ţinta pentru care este construit Catalyst, în acest caz, livecd-stage2
|
target: stage1
|
|
rel_type
|
necesară
|
profilul ce va fi folosit de Catalyst, în cele mai multe cazuri default este de ajuns
|
rel_type: implicit
|
|
profile
|
necesară
|
Profilul Portage (/etc/make.profile) pe care Catalyst îl va folosi pentru construire
|
profile: default-linux/x86/2004.3
|
|
snapshot
|
necesară
|
Versiunea snapshot pentru Portage folosită, calea fiind relativă la ${clst_storedir}/snapshots
|
snapshot: 20041222
|
|
source_subpath
|
necesară
|
locaţia fişierului stage sursă, calea fiind relativă faţă de ${clst_sharedir}
|
source_subpath: default/stage3-x86-2004.1
|
|
distcc_hosts
|
opţional, distcc cerut în options (catalyst.conf)
|
calculatoarele gazdă folosite pentru compilare distribuită distcc
|
distcc_hosts: 127.0.0.1 192.168.0.1
|
|
boot/kernel
|
necesară
|
identificatori pentru toate imaginile de kernelce vor fi disponibile pe LiveCD
|
boot/kernel: gentoo smp
|
|
boot/kernel/[boot/kernel:x]/sources
|
necesară
|
ebuild de kernel care va fi folosit pentru fiecare kernel
|
boot/kernel/gentoo/sources: gentoo-dev-sources
|
|
boot/kernel/[boot/kernel:x]/config
|
necesară
|
calea completă către fişierul .config al kernel-ului folosit în compilarea unui kernel specificat
|
boot/kernel/smp/config: /home/user/smp-config.config
|
|
boot/kernel/[boot/kernel:x]/extraversion
|
opţională
|
etichetă opţională ce va fi adăugată kernel-ului specificat
|
boot/kernel/smp/extraversion: 1337-CD
|
|
boot/kernel/[boot/kernel:x]/packages
|
opţională
|
lista pachetelor ebuild de care depind sursele kernel, pentru a fi compilate împreună cu kernel-ul
|
boot/kernel/gentoo/packages: hostap-driver pcmcia-cs
|
|
boot/kernel/[boot/kernel:x]/use
|
opţionali
|
Indicatorii USE folosiţi în compilarea pachetelor de care depinde kernel-ul sursă
|
boot/kernel/gentoo/use: apm pnp pcmcia
|
|
boot/kernel/[boot/kernel:x]/gk_kernargs
|
opţională
|
lista argumentelor ce va fi transmisă genkernel pentru kernel-ul specificat
|
boot/kernel/smp/gk_kernargs: --kernel-cc=distcc --tempdir=/tmp
|
|
livecd/gk_mainargs
|
opţională
|
lista argumentelor ce va fi transmisă aplicaţiei genkernel
|
livecd/gk_mainargs: --kernel-cc=distcc --tempdir=/tmp
|
|
livecd/cdfstype
|
necesară
|
tipul de sistem de fişiere ce va fi folosit pentru LiveCD, tipurile suportate fiind
zisofs, squashfs, cloop, gcloop, şi noloop
|
livecd/cdfstype: squashfs
|
|
livecd/runscript
|
necesară
|
scriptul de iniţializare folosit de Catalyst (păstraţi valorile implicite, altfel trebuie să ştiţi EXACT ce faceţi)
|
livecd/runscript: /usr/lib/catalyst/livecd/runscript/default-runscript.sh
|
|
livecd/archscript
|
necesară
|
scriptul archscript folosit de Catalyst (păstraţi valorile implicite, altfel trebuie să ştiţi EXACT ce faceţi)
|
livecd/archscript: /usr/lib/catalyst/livecd/runscript/x86-archscript.sh
|
|
livecd/empty
|
opţionlă
|
lista directoarelor ce vor fi şterse în mediul LiveCD (folosită pentru economisirea spaţiului)
|
livecd/empty: /var/tmp /var/cache /usr/portage
|
|
livecd/rm
|
opţional
|
fişiere specifice ce vor fi şterse din mediul LiveCD (folosit pentru economisirea spaţiului)
|
livecd/rm: /lib/*.a /var/log/emerge.log
|
|
livecd/unmerge
|
opţională
|
lista pachetelor ce vor fi dezinstalate din mediul LiveCD
|
livecd/unmerge: autoconf automake portage man-pages
|
|
livecd/iso
|
opţională
|
locaţia în care va fi păstrat fişierul .iso generat
|
livecd/iso: /tmp/my_livecd.iso
|
|
livecd/overlay
|
opţional
|
directorul ce va fi copiat în sistemul de fişiere al LiveCD-ului boot-at (nu mediul root al LiveCD)
|
livecd/overlay: /home/user/my_overlay
|
|
livecd/root_overlay
|
opţională
|
calea completă către directorul ce va fi creat în mediul LiveCD-ului boot-at
|
livecd/root_overlay: /home/user/my_root_overlay
|
|
livecd/modblacklist
|
opţională
|
lista modulelor interzise ce nu vor fi încărcate de hotplug
|
livecd/modblacklist: usb-storage nvidia
|
|
livecd/rcadd
|
opţională
|
lista aplicaţiilor daemon şi a nivelurilor de rulare ale acestora, ce vor fi porniţi
|
livecd/rcadd: syslog-ng:default gpm:default
|
|
livecd/rcdel
|
opţională
|
lista aplicaţiilor daemon şi a nivelurilor de rulare ale acestora, ce vor fi eliminaţi
|
livecd/rcadd: syslog-ng:default sshd:default
|
|
livecd/type
|
opţional
|
tipul LiveCD-ului ce va fi construit
|
gentoo-release-universal
|
|
livecd/motd
|
opţională
|
calea completă către motd, ce va fi folosit în mediul LiveCD-ului boot-at
|
/home/users/livecd-motd.txt
|
|
livecd/splash_type
|
opţional
|
ce pachet splash va fi folosit, bootsplash sau gensplash
|
livecd/splash_type: gensplash
|
|
livecd/splash_theme
|
opţională
|
tema splash ce va fi folosită
|
livecd/splash_theme: livecd-2004.3
|
|
livecd/fsscript
|
opţional
|
script-ul ce va fi rulat în interiorul mediului LiveCD (pentru ajustarea şi îmbunătăţirea acestuia, etc)
|
livecd/fsscript: /home/user/my_fsscript.sh
|
|
livecd/xinitrc
|
opţională
|
calea completă către un script xinitrc ce va fi folosit cu un XLiveCD
|
livecd/xinitrc: /home/user/livecd_xinitrc
|
|
livecd/devmanager
|
opţional
|
managerul de dispozitive ce va fi folosit în cadrul livecd-ului, sau devfs sau udev
|
livecd/devmanager: udev
|
Notă:
script-urile runscript şi archscript: Variabilele livecd/runscript şi livecd/archscript folosesc
script-urile shell care efectuează diverse sarcini în sistem, care cer interacţiune prin shell. Pentru scopurile
ţintei livecd-stage2, archscript şi runscript sunt folosite pentru construirea kernel(-urilor) pentru
LiveCD, performarea unor sarcini de pregătire şi curăţare a sistemului de fişiere al CD-ului, plasarea sistemului
de fişiere boot-abil al CD-ului într-un loopback aşa cum este nevoie, şi configurarea bootloader-ului pentru LiveCD.
|
Notă:
Utilizarea variabilelor legate de kernel în fişierul specificaţie: Pentru fiecare nume de variabilă în
boot/kernel ce se găseşte în fişierul specificaţie (cum este gentoo, de exemplu), această ţintă va
folosi genkernel pentru construirea kernel-ului şi a initrd. Cu exemplul introducerii gentoo în
boot/kernel, Catalyst va folosi setarea boot/kernel/gentoo/sources pentru a determina ce surse de kernel
să instaleze pentru această construcţie particulară de kernel (un exemplu de setare ar fi
=sys-kernel/gentoo-dev-sources-2.6.0). Orice setare USE specificată în boot/kernel/gentoo/use
va fi exportată mediului înainte de executarea genkernel.
|
8.
Referinţe despre Opţiunile Catalyst
Introducere
Sunt multe diferite opţiuni ce pot fi setate în catalyst.conf. Găsiţi mai jos explicaţii detaliate a fiecăreia.
ccache
Numele Opţiunii: ccache
Descriere: Activează suportul ccache în timpul compilării.
Scop: Măreşte dramatic viteza compilării după prima compilare.
Utilizare: Adăugaţi ccache la options în /etc/catalyst/catalyst.conf.
Exemplu: options: ccache
pkgcache
Numele Opţiunii: pkgcache
Descriere: Activează caching-ul arhivelor sursă .tbz2.
Scop: Măreşte dramatic viteza compilării după prima compilare prin utilizarea pachetelor precompilate.
Utilizare: Adăugaţi pkgcache la options în /etc/catalyst/catalyst.conf.
Example: options: pkgcache
distcc
Numele Opţiunii: distcc
Descriere: Activează compilarea distribuită în reţea.
Scop: Măreşte dramatic viteza compilării prin utilizarea mai multor calculatoare gazdă pentru compilare.
Utilizare: Adăugaţi distcc la options în /etc/catalyst/catalyst.conf,
şi setaţi distcc_hosts în fişierele dvs. specificaţie (spec).
Exemplu: options: distcc
envscript
Nume Parametru: envscript
Descriere: Activează definirea oricărei variabile de mediu ce va fi utilizată în timpul compilării.
Scop: Pentru a activa folosirea setărilor HTTP proxy, MAKEOPTS, şi a altor setări specifice mediului.
Utilizare: Setaţi envscript=script.sh în /etc/catalyst/catalyst.conf. Un script
envscript foloseşte următorul format:
Cod 8.1: exemplu envscript |
export MAKEOPTS="-j4"
export GENTOO_MIRRORS="mymirror"
export meep="foo"
|
storedir
Numele Opţiunii: storedir
Descriere: Specifică directorul principal de lucru al Catalyst.
Scop: Activează definirea din partea utilizatorului a directorului de lucru.
Utilizare: Setaţi storedir către o locaţie specificată în /etc/catalyst/catalyst.conf
Exemplu: storedir: /home/user/catalyst_storedir
sharedir
Numele Opţiunii: sharedir
Descriere: Specifică locaţia pricipalelor fişiere program şi binare ale Catalyst.
Scop: Activează definirea din partea utilizatorului a locaţiei pricipalelor fişiere program şi a
binarelor Catalyst.
Utilizare: Setaţi sharedir către o locaţie specificată în /etc/catalyst/catalyst.conf
Exemplu: sharedir: /home/user/catalyst_sharedir
|