66462404c562f254fd337776889f8f1e8a8b42a6
[catalyst.git] / examples / livecd-stage2_template.spec
1 # livecd-stage2 example specfile
2 # used to build a livecd-stage2 iso image
3
4 # The subarch can be any of the supported catalyst subarches (like athlon-xp).
5 # Refer to the catalyst reference manual for suppurted subarches.
6 # http://www.gentoo.org/proj/en/releng/catalyst/reference.xml
7 # example:
8 # subarch: athlon-xp
9 subarch:
10
11 # The version stamp is an identifier for the build.  It can be anything you wish# it to be, but it is usually a date.
12 # example:
13 # version_stamp: 2005.0
14 version_stamp:
15
16 # The target specifies what target we want catalyst to do.  For building a CD,
17 # we continue with livecd-stage2 as the target.
18 # example:
19 # target: livecd-stage2
20 target:
21
22 # The rel_type defines what kind of build we are doing.  This is merely another
23 # identifier, but it useful for allowing multiple concurrent builds.  Usually,
24 # default will suffice.
25 # example:
26 # rel_type: default
27 rel_type:
28
29 # This is the system profile to be used by catalyst to build this target.  It is# specified as a relative path from /usr/portage/profiles.
30 # example:
31 # profile: default-linux/x86/2005.0
32 profile:
33
34 # This specifies which snapshot to use for building this target.
35 # example:
36 # snapshot: 20050324
37 snapshot:
38
39 # This specifies where the seed stage comes from for this target,  The path is
40 # relative to $clst_sharedir/builds.  The rel_type is also used as a path prefix# for the seed.
41 # example:
42 # default/stage3-x86-2004.3
43 source_subpath:
44
45 # These are the hosts used as distcc slaves when distcc is enabled in your
46 # catalyst.conf.  It follows the same syntax as distcc-config --set-hosts and
47 # is entirely optional.
48 # example:
49 # distcc_hosts: 127.0.0.1 192.168.0.1
50 distcc_hosts:
51
52 # This is an optional directory containing portage configuration files.  It
53 # follows the same syntax as /etc/portage and should be consistent across all
54 # targets to minimize problems.
55 # example:
56 # portage_confdir: /etc/portage
57 portage_confdir:
58
59 # The cdfstype is used to determine what sort of CD we should build.  This is
60 # used to set the type of loopback filesystem that we will use on our CD.
61 # Possible options are as follows:
62 # squashfs - This gives the best compression, but requires a kernel patch.
63 # zisofs - This uses in-kernel compression and is supported on all platforms.
64 # normal - This creates a loop without compression.
65 # noloop - This copies the files to the CD directly, withuot using a loopback.
66 # example:
67 # livecd/cdfstype: squashfs
68 livecd/cdfstype:
69
70 # The archscript is for architecture-dependent configuration.  Not all Gentoo
71 # architectures use their own archscript.  Some share with other architectures
72 # that are similar.
73 # example:
74 # livecd/archscript: /usr/lib/catalyst/livecd/runscript/x86-archscript.sh
75 livecd/archscript:
76
77 # The runscript is the "brains" of the livecd-stage2 target and is designed to
78 # be architecturer agnostic.  It is best not to change this.
79 # example:
80 # livecd/runscript: /usr/lib/catalyst/livecd/runscript/default-runscript.sh
81 livecd/runscript:
82
83 # The cdtar is essentially the bootloader for the CD.  It also holds the main
84 # configuration for the bootloader.  On x86/amd64, it also can include a small
85 # memory testing application, called memtest86+.
86 # example:
87 # livecd/cdtar: /usr/lib/catalyst/livecd/cdtar/isolinux-2.13-memtest86+-cdtar.tar.bz2
88 livecd/cdtar:
89
90 # This is the full path and filename to the ISO image that the livecd-stage2
91 # target will create.
92 # example:
93 # livecd/iso: /tmp/installcd-x86-minimal.iso
94 livecd/iso:
95
96 # A fsscript is simply a shell script that is copied into the chroot of the CD
97 # after the kernel(s) and any external modules have been compiled and is 
98 # executed within the chroot.  It can contain any commands that are available
99 # via the packages installed by our stages or by the packages installed during
100 # the livecd-stage1 build.  We do not use one for the official release media, so
101 # there will not be one listed below.  The syntax is simply the full path and
102 # filename to the shell script that you wish to execute.  The script is copied
103 # into the chroot by catalyst automatically.
104 # example:
105 # livecd/fsscript:
106 livecd/fsscript:
107
108 # The splash type determines the automatic arguments for the bootloader on
109 # supported architectures.  The possible options are gensplash and bootsplash.
110 # example:
111 # livecd/splash_type: gensplash
112 livecd/splash_type:
113
114 # This is where you set the splash theme.  This theme must be present in either
115 # /etc/splash or /etc/bootsplash, depending on your livecd/splash_type, before
116 # the kernel has completed building during the livecd-stage2 target.
117 # example:
118 # livecd/splash_theme: livecd-2005.0
119 livecd/splash_theme:
120
121 # This is a set of arguments that get passed to the bootloader for your CD.  It
122 # is used on the x86/amd64 release media to enable keymap selection.
123 # example:
124 # livecd/bootargs: dokeymap
125 livecd/bootargs:
126
127 # This is a set of arguments that will be passed to genkernel for all kernels
128 # defined in this target.  It is useful for passing arguments to genkernel that
129 # are not otherwise available via the livecd-stage2 spec file.
130 # example:
131 # livecd/gk_mainargs: --lvm2 --dmraid
132 livecd/gk_mainargs:
133
134 # This option allows you to specify your own linuxrc script for genkernel to use
135 # when building your CD.  This is not checked for functionality, so it is up to
136 # you to debug your own script.  We do not use one for the official release
137 # media, so there will not be one listed below.
138 # example:
139 # livecd/linuxrc:
140 livecd/linuxrc:
141
142 # This option allows you to specify your own linuxrc script for genkernel to use
143 # when building your CD.  This is not checked for functionality, so it is up to
144 # you to debug your own script.  We do not use one for the official release
145 # media, so there will not be one listed below.
146 # example:
147 # livecd/linuxrc:
148 livecd/linuxrc:
149
150 # This option controls quite a bit of catalyst internals and sets up several
151 # defaults.  Each type behaves slightly differently and is explained below.
152 # gentoo-release-minimal - This creates an official minimal InstallCD.
153 # gentoo-release-universal - This creates an official universal InstallCD.
154 # gentoo-release-livecd - This creates an official LiveCD environment.
155 # gentoo-gamecd - This creates an official Gentoo GameCD.
156 # generic-livecd - This should be used for all non-official media.
157 # example:
158 # livecd/type: gentoo-release-minimal
159 livecd/type:
160
161 # This is for the README.txt on the root of the CD.  For Gentoo releases, we
162 # use a default README.txt, and this will be used on your CD if you do not
163 # provide one yourself.  Since we do not use this for the official releases, it
164 # is left blank below.
165 # example:
166 # livecd/readme:
167 livecd/readme:
168
169 # This is for the CD's message of the day.  It is not required for official
170 # release media, as catalyst builds a default motd when the livecd/type is set
171 # to one of the gentoo-* options.  This setting overrides the default motd even
172 # on official media.  Since we do not use this for the official releases, it is
173 # left blank below.
174 # example:
175 # livecd/motd:
176 livecd/motd:
177
178 # This is for blacklisting modules from being hotplugged that are known to cause
179 # problems.  Putting a module name here will keep it from being auto-loaded,
180 # even if ti is detected by hotplug.
181 # example:
182 # livecd/modblacklist: 8139cp
183 livecd/modblacklist:
184
185 # This is for adding init scripts to runlevels.  The syntax for the init script
186 # is the script name, followed by a pipe, followed by the runlevel in which you
187 # want the script to run.  It looks like spind|default and is space delimited.
188 # We do not use this on the official media, as catalyst sets up the runlevels
189 # correctly for us.  Since we do not use this, it is left blank below.
190 # This option will automatically create missing runlevels
191 # example:
192 # livecd/rcadd:
193 livecd/rcadd:
194
195 # This is for removing init script from runlevels.  It is executed after the
196 # defaults shipped with catalyst, so it is possible to remove the defaults using
197 # this option.  It can follow the same syntax as livcd/rcadd, or you can leave
198 # the runlevel off to remove the script from any runlevels detected.  We do not
199 # use this on the official media, so it is left blank.
200 # example:
201 # livecd/rcdel:
202 livecd/rcdel:
203
204 # This overlay is dropped onto the CD filesystem and is outside any loop which
205 # has been configured.  This is typically used for adding the documentation,
206 # distfiles, snapshots, and stages to the official media.  These files will not 
207 # be available if docache is enabled, as they are outside the loop.
208 # example:
209 # livecd/overlay: /tmp/overlay-minimal
210 livecd/overlay:
211
212 # This overlay is dropped onto the filesystem within the loop.  This can be used
213 # for such things as updating configuration files or adding anything else you
214 # would want within your CD filesystem.  Files added here are available when
215 # docache is used.  We do not use this on the official media, so we will leave
216 # it blank below.
217 # example:
218 # livecd/root_overlay:
219 livecd/root_overlay:
220
221 # This is here to enable udev support in both catalyst and genkernel.  This
222 # option requires genkernel >= 3.1.0, and is not needed with genkernel >=3.2.0,
223 # as udev is the default.
224 # example:
225 # livecd/devmanager: udev
226 livecd/devmanager:
227
228 # This is used by catalyst to copy the specified file to /etc/X11/xinit/xinitrc
229 # and is used by the livecd/type gentoo-gamecd and generic-livecd.  While the
230 # file will still be copied for any livecd/type, catalyst will only create the
231 # necessary /etc/startx for those types, so X will not be automatically started.
232 # This is useful also for setting up X on a CD where you do not wish X to start
233 # automatically.  We do not use this on the release media, so it is left blank.
234 # example:
235 # livecd/xinitrc:
236 livecd/xinitrc:
237
238 # This option is used to create non-root users on your CD.  It takes a space
239 # separated list of user names.  These users will be added to the following
240 # groups: users,wheel,audio,games,cdrom,usb
241 # If this is specified in your spec file, then the first user is also the user
242 # used to start X. Since this is not used on the release media, it is blank.
243 # example:
244 # livecd/users:
245 livecd/users:
246
247 # This option sets the volume ID of the CD created.
248 # example:
249 # livecd/volid: Gentoo Linux 2005.0 X86
250 livecd/volid:
251
252 # This option is only used when creating a GameCD.  This specifies the file that
253 # contains the definitions for GAME_NAME and GAME_EXECUTABLE, which are used by
254 # the GameCD scripts to set some specific options for the game.  This is not
255 # used on the release media, and is therefore blank.
256 # example:
257 # gamecd/conf:
258 gamecd/conf:
259
260 # This option is used to specify the number of kernels to build and also the
261 # labels that will be used by the CD bootloader to refer to each kernel image.
262 # example:
263 # boot/kernel: gentoo
264 boot/kernel:
265
266 # This option tells catalyst which kernel sources to merge for this kernel
267 # label.  This can use normal portage atoms to specify a specific version.
268 # example:
269 # boot/kernel/gentoo/sources: gentoo-sources
270 boot/kernel/gentoo/sources:
271
272 # This option is the full path and filename to a kernel .config file that is
273 # used by genkernel to compile the kernel this label applies to.
274 # example:
275 # boot/kernel/gentoo/config: /tmp/2.6.11-smp.config
276 boot/kernel/gentoo/config:
277
278 # This option sets genkernel parameters on a per-kernel basis and applies only
279 # to this kernel label.  This can be used for building options into only a
280 # single kernel, where compatibility may be an issue.  Since we do not use this
281 # on the official release media, it is left blank, but it follows the same
282 # syntax as livecd/gk_mainargs.
283 # example:
284 # boot/kernel/gentoo/gk_kernargs:
285 boot/kernel/gentoo/gk_kernargs:
286
287 # This option sets the USE flags used to build the kernel and also any packages
288 # which are defined under this kernel label.  These USE flags are additive from
289 # the default USE for the specified profile.
290 # example:
291 # boot/kernel/gentoo/use: pcmcia usb -X
292 boot/kernel/gentoo/use:
293
294 # This option appends an extension to the name of your kernel, as viewed by a
295 # uname -r/  This also affects any modules built under this kernel label.  This
296 # is useful for having two kernels using the same sources to keep the modules
297 # from overwriting each other.  We do not use this on the official media, so it
298 # is left blank.
299 # example:
300 # boot/kernel/gentoo/extraversion:
301 boot/kernel/gentoo/extraversion:
302
303 # This option is for merging kernel-dependent packages and external modules that
304 # are configured against this kernel label.
305 # example:
306 # boot/kernel/gentoo/packages: pcmcia-cs speedtouch slmodem globespan-adsl hostap-driver hostap-utils ipw2100 ipw2200 fritzcapi fcdsl cryptsetup
307 boot/kernel/gentoo/packages:
308
309 # This is a list of packages that will be unmerged after all the kernels have
310 # been built.  There are no checks on these packages, so be careful what you
311 # add here.  They can potentially break your CD.
312 # example:
313 # livecd/unmerge: acl attr autoconf automake bin86 binutils libtool m4 bison ld.so make perl patch linux-headers man-pages sash bison flex gettext texinfo ccache distcc addpatches man groff lib-compat miscfiles rsync sysklogd bc lcms libmng genkernel diffutils libperl gnuconfig gcc-config gcc bin86 cpio cronbase ed expat grub lilo help2man libtool gentoo-sources
314 livecd/unmerge:
315
316 # This option is used to empty the directories listed.  It is useful for getting
317 # rid of files that don't belong to a particular package, or removing files from
318 # a package that you wish to keep, but won't need the full functionality.
319 # example:
320 # livecd/empty: /var/tmp /var/cache /var/db /var/empty /var/lock /var/log /var/run /var/spool /var/state /tmp /usr/portage /usr/share/man /usr/share/info /usr/share/unimaps /usr/include /usr/share/zoneinfo /usr/share/dict /usr/share/doc /usr/share/ss /usr/share/state /usr/share/texinfo /usr/lib/python2.2 /usr/lib/portage /usr/share/gettext /usr/share/i18n /usr/share/rfc /usr/lib/X11/config /usr/lib/X11/etc /usr/lib/X11/doc /usr/src /usr/share/doc /usr/share/man /root/.ccache /etc/cron.daily /etc/cron.hourly /etc/cron.monthly /etc/cron.weekly /etc/logrotate.d /etc/rsync /usr/lib/awk /usr/lib/ccache /usr/lib/gcc-config /usr/lib/nfs /usr/local /usr/diet/include /usr/diet/man /usr/share/consolefonts/partialfonts /usr/share/consoletrans /usr/share/emacs /usr/share/gcc-data /usr/share/genkernel /etc/bootsplash/gentoo /etc/bootsplash/gentoo-highquality /etc/splash/gentoo /etc/splash/emergence /usr/share/gnuconfig /usr/share/lcms /usr/share/locale /etc/skel
321 livecd/empty:
322
323 # This option tells catalyst to clean specific files from the filesystem and is
324 # very usefu in cleaning up stray files in /etc left over after livecd/unmerge.
325 # example:
326 # livecd/rm: /lib/*.a /usr/lib/*.a /usr/lib/gcc-lib/*/*/libgcj* /etc/dispatch-conf.conf /etc/etc-update.conf /etc/*- /etc/issue* /etc/make.conf /etc/man.conf /etc/*.old /root/.viminfo /usr/sbin/bootsplash* /usr/sbin/fb* /usr/sbin/fsck.cramfs /usr/sbin/fsck.minix /usr/sbin/mkfs.minix /usr/sbin/mkfs.bfs /usr/sbin/mkfs.cramfs /lib/security/pam_access.so /lib/security/pam_chroot.so /lib/security/pam_debug.so /lib/security/pam_ftp.so /lib/security/pam_issue.so /lib/security/pam_mail.so /lib/security/pam_motd.so /lib/security/pam_mkhomedir.so /lib/security/pam_postgresok.so /lib/security/pam_rhosts_auth.so /lib/security/pam_userdb.so /usr/share/consolefonts/1* /usr/share/consolefonts/7* /usr/share/consolefonts/8* /usr/share/consolefonts/9* /usr/share/consolefonts/A* /usr/share/consolefonts/C* /usr/share/consolefonts/E* /usr/share/consolefonts/G* /usr/share/consolefonts/L* /usr/share/consolefonts/M* /usr/share/consolefonts/R* /usr/share/consolefonts/a* /usr/share/consolefonts/c* /usr/share/consolefonts/dr* /usr/share/consolefonts/g* /usr/share/consolefonts/i* /usr/share/consolefonts/k* /usr/share/consolefonts/l* /usr/share/consolefonts/r* /usr/share/consolefonts/s* /usr/share/consolefonts/t* /usr/share/consolefonts/v* /etc/splash/livecd-2005.0/16* /etc/splash/livecd-2005.0/12* /etc/splash/livecd-2005.0/6* /etc/splash/livecd-2005.0/8* /etc/splash/livecd-2005.0/images/silent-16* /etc/splash/livecd-2005.0/images/silent-12* /etc/splash/livecd-2005.0/images/silent-6* /etc/splash/livecd-2005.0/images/silent-8* /etc/splash/livecd-2005.0/images/verbose-16* /etc/splash/livecd-2005.0/images/verbose-12* /etc/splash/livecd-2005.0/images/verbose-6* /etc/splash/livecd-2005.0/images/verbose-8* /etc/make.conf.example /etc/make.globals /etc/resolv.conf
327 livecd/rm: