## generic installation stage specfile ## used to build a stage1, stage2, or stage3 installation tarball # called as catalyst -f /bak_spb/gentoo/stage3.spec # after the following preparations: #NOT USED: # - edit /usr/portage/profiles/default-linux/x86/2005.0/packages: # >=sys-libs/glibc-2.2.5 --> *=sys-devel/gcc-3.3... --> * ="x86 ~x86" # (this allows catalyst to use packages which are in testing state) # add/change: USE="... nptlonly -fortran -ipv6 -nls -pam ..." # (small system and xen domU compatible) # CFLAGS="-Os -march=pentium-mmx -mtune=generic -pipe -mno-tls-direct-seg-refs" # important: # - building stage2 with catalyst uses CFLAGS defined in stage2.spec # - /usr/po...make.defaults becomes /etc/make.conf in new stage2 # (only CFLAGS are transferred to /etc/make.conf, USE flags have # to be added manually when using the new stage2) # - building stage3 with catalyst uses CFLAGS defined in # /etc/make.conf of seed stage2 # - /usr/po...make.defaults becomes /etc/make.conf in new stage3 # (only CFLAGS are transferred to /etc/make.conf, USE flags have # to be added manually when using the new stage2) # - (if neccessary emerge catalyst) # - test with emerge -pv if glibc and gcc can be correctly emerged # (note: changes to overlay ebuilds have to be prepared with # ebuild /etc/spb2/portage/.../xyz.ebuild digest) # - inside /usr/portage: # - all packages which exist in overlay /etc/spb2/portage AND in /usr/portage # have to be renamed # inside /usr/portage to *.orig (overlays required to build the stage); # or temporarily rename /etc/spb2/portage (overlays not used to build the stage) # why? catalyst merges both directories into one which would give bad # checksums (renaming automatically undone with next emerge sync command). # - then run catalyst -s 2007.0 -f /bak_spb/gentoo/snapshot.spec # to archive the current portage tree (including overlay) as tarball # (defined below as snapshot: 2007.0) # #NOT USED: #(since SpbLinux 2.2 normal stageX downloaded from gentoo mirror is used as seed # because glibc version remains unchanged, same version in gentoo and in SpbLinux): # - the seed stage2 must contain the current version of bak_spb/glibc-2.2.5 # and is taken from /var/tmp/catalyst/builds # (stage2seed.tar.bz2 is defined below by: source_subpath: stage2seed # and can be an old spblinux stage2; stage2 files from gentoo.org # cannot be used because they contain glibc2.3 and SPBLinux uses glibc2.2) # #IN USE: # - important: before creating the new stage3, /proc has to be mounted # (mount -t proc none /proc; inside the chroot gentoo system of SPBLinux # proc is not mounted by default) # # - now run catalyst -f /bak_spb/gentoo/stage3.spec # and, in case of a stage2, confirm with enter that you want to re-bootstrap stage2 # # - stage3 bug (2007-10): sys-libs/gpm build error # - an overlay has to be used # - stage3 bug (2007-10): assert.al not found # - if the build stops with this error copy assert.al from # usr/lib/perl5/5.8.8/i486-linux/auto/POSIX # to # var/tmp/catalyst/tmp/default/stage3-i586-spb2.2/usr/lib/perl5/5.8.8/i486-linux/auto/POSIX # and restart the stage3 build (it will resume) ## John Davis # subarch can be any of the supported Catalyst subarches (like athlon-xp). Refer # to the catalyst reference manual (http://www.gentoo.org/proj/en/releng/catalyst) for supported arches. # example: # subarch: athlon-xp # building for target pentium-mmx; building on host i586 subarch: i586 # version stamp is an identifier for the build. can be anything you want it to be, but it # is usually a date. # example: # version_stamp: 2004.2 version_stamp: spb2.2 # target specifies what type of build Catalyst is to do. check the catalyst reference manual # for supported targets. # example: # target: stage2 #cflags: -Os -march=pentium-mmx -mtune=generic -pipe -mno-tls-direct-seg-refs # note: cflags of stage3 are always taken from seed stage! target: stage3 # rel_type defines what kind of build we are doing. usually, default will suffice. # example: # rel_type: default rel_type: default # system profile used to build the media (relative to /usr/portage/profiles) # example: # profile: default-x86-2004.0 #NOT IN USE: # change in file packages inside the profile defined below # >=sys-libs/glibc-2.2.5 # to # *