This is the catalyst stuff for building a Gentoo live CD ISO for
Software Carpentry students [1]. It's pretty bare-bones at the
moment, since I tried to keep any non-specfile stuff to a minimum. It
also requires a few patches on top of the current catalyst master
(
37540ff):
livecdfs-update.sh: Assign users to per-user groups
livecd-bashrc: Avoid a startx race by restricting to tty1
livecdfs-update.sh: Use `bash --login` to spawn startx
livecdfs-update.sh: Escape ampersands in STARTX sed expression
fixup: env-update
livecdfs-update.sh: Set XSESSION in /etc/env.d/90xsession
chmod +x all sh scripts so they can run from the git checkout
This is not the most elegant patch series, and some of these patches
will probably be squashed/tweaked before inclusion in upstream
catalyst. I'm not even sure if the per-user group patch is a good
idea (but it shouldn't hurt).
My catalyst.conf file looked like:
digests="md5 sha1 sha512 whirlpool"
contents="auto"
distdir="/usr/portage/distfiles"
envscript="/etc/catalyst/catalystrc"
hash_function="crc32"
options="autoresume kerncache pkgcache seedcache snapcache"
portdir="/usr/portage"
sharedir="/home/wking/src/catalyst"
snapshot_cache="/tmp/catalyst/snapshot_cache"
storedir="/tmp/catalyst"
This repository was checked out into $storedir.
The spec files should be fairly stable (modulo snapshot/version
bumps), but you may need to update the Portage configuration as stable
packages evolve and assorted bugs and incompatibilities are fixed
upstream.
[1]: http://lists.software-carpentry.org/pipermail/discuss-software-carpentry.org/2013-March/000210.html
--- /dev/null
+#!/bin/bash
+
+echo 'source /etc/profile.d/nobeep.sh' >> /home/swc/.bashrc
--- /dev/null
+# turn off terminal beep in X
+if [ -n "$DISPLAY" ] && [ "$TERM" == "xterm" ]; then
+ if [ -n "$(command -v xset)" ]; then
+ xset b off
+ fi;
+fi
+
+# turn of terminal beeps in the console, unless connecting via SSH
+if [ -n "$TERM" ] && [ -z "$SSH_CLIENT" ]; then
+ setterm -blength 0
+fi
--- /dev/null
+# https://bugs.gentoo.org/show_bug.cgi?id=454946
+# undefined reference to `crypt'
+sys-apps/sysvinit ~x86
+sys-apps/util-linux ~x86
+
+# https://bugs.gentoo.org/show_bug.cgi?id=436100
+# scipy/spatial/qhull.c:206:25: fatal error: qhull/qhull.h:
+# No such file or directory compilation terminated.
+sci-libs/scipy ~x86
+
+# required by dev-python/numpy (argument)
+dev-python/numpy ~x86
+# required by sci-libs/scipy-0.11.0-r1,
+# required by sci-libs/scipy (argument)
+dev-python/imaging ~x86
--- /dev/null
+#required by dev-python/h5py (argument)
+dev-python/h5py ~x86
--- /dev/null
+dev-python/ipython ~amd64
+dev-python/nbconvert ~amd64
+
+#required by dev-python/ipython-0.13.1,
+# required by ipython (argument)
+dev-python/simplegeneric ~amd64
+
+# required by dev-python/numpy-1.6.2
+# required by dev-python/pygtk-2.24.0-r2
+# required by media-gfx/gimp-2.6.12-r5[python]
+# required by @selected
+# required by @world (argument)
+dev-python/setuptools ~amd64
--- /dev/null
+# break circular dependencies
+
+sys-auth/pambase -consolekit
--- /dev/null
+dev-python/ipython matplotlib notebook
+
+# required by dev-python/ipython-0.13.1,
+# required by dev-python/ipython (argument)
+dev-lang/python sqlite
--- /dev/null
+# required by sci-libs/scipy-0.9.0-r1,
+# required by sci-libs/scipy (argument)
+dev-python/numpy lapack
--- /dev/null
+# required by x11-drivers/xf86-video-vmware-12.0.2-r1
+# required by x11-base/xorg-drivers-1.13[video_cards_vmware]
+# required by x11-base/xorg-server-1.13.1[xorg]
+# required by x11-drivers/xf86-video-glint-1.2.8
+x11-libs/libdrm libkms
+
+# required by x11-drivers/xf86-video-vmware-12.0.2-r1
+# required by x11-base/xorg-drivers-1.13[video_cards_vmware]
+# required by x11-base/xorg-server-1.13.1[xorg]
+# required by x11-drivers/xf86-video-glint-1.2.8
+media-libs/mesa xa
+
+# required by sys-auth/polkit-0.110[pam],
+# required by gnome-extra/polkit-gnome-0.105
+sys-auth/pambase consolekit
--- /dev/null
+subarch: i686
+version_stamp: 2013.1
+target: livecd-stage1
+rel_type: default
+profile: default/linux/x86/13.0/desktop
+portage_confdir: /mnt/d/tmp/catalyst/portage-conf/default/
+snapshot: 20130208
+source_subpath: default/stage3-i686-2013.1
+livecd/packages:
+ app-admin/sudo
+ app-admin/syslog-ng
+ app-editors/emacs
+ app-editors/nano
+ app-editors/vim
+ app-misc/livecd-tools
+ app-misc/screen
+ app-portage/gentoolkit
+ app-portage/mirrorselect
+ app-text/aspell
+ app-text/evince
+ app-text/tree
+ dev-db/sqlite
+ dev-python/h5py
+ dev-python/ipython
+ dev-python/matplotlib
+ #dev-python/nbconvert
+ dev-python/nose
+ dev-python/numpy
+ dev-python/sphinx
+ dev-util/strace
+ dev-vcs/git
+ dev-vcs/tig
+ media-fonts/corefonts
+ media-fonts/dejavu
+ media-fonts/freefonts
+ media-fonts/ttf-bitstream-vera
+ media-gfx/pqiv
+ net-dns/bind-tools
+ net-irc/irssi
+ net-misc/dhcpcd
+ net-wireless/iw
+ net-wireless/rfkill
+ net-wireless/wpa_supplicant
+ sci-libs/scipy
+ sys-apps/hwsetup
+ sys-apps/iproute2
+ sys-apps/lshw
+ sys-apps/pciutils
+ sys-boot/grub
+ sys-fs/e2fsprogs
+ sys-kernel/gentoo-sources
+ sys-kernel/linux-firmware
+ sys-power/acpi
+ sys-process/lsof
+ sys-process/vixie-cron
+ www-client/w3m
+ x11-apps/xrandr
+ x11-base/xorg-server
+ #x11-misc/slim
+ x11-misc/xlockmore
+ x11-misc/xsel
+ x11-terms/eterm
+ x11-terms/xterm
+ x11-wm/fluxbox
--- /dev/null
+subarch: i686
+version_stamp: 2013.1
+target: livecd-stage2
+rel_type: default
+profile: default/linux/x86/13.0/desktop
+portage_confdir: /mnt/d/tmp/catalyst/portage-conf/default/
+snapshot: 20130208
+source_subpath: default/livecd-stage1-i686-2013.1
+livecd/fstype: squashfs
+livecd/cdtar: /usr/lib/catalyst/livecd/cdtar/isolinux-3.72-memtest86+-cdtar.tar.bz2
+livecd/iso: /mnt/d/tmp/catalyst/iso/swc-x86.iso
+livecd/fsscript: /mnt/d/tmp/catalyst/bin/fsscript.sh
+livecd/bootargs: dokeymap
+livecd/root_overlay: /mnt/d/tmp/catalyst/overlays/default/
+livecd/type: generic-livecd
+livecd/rcadd: syslog-ng|default vixie-cron|default
+livecd/rcdel: autoconfig|default
+livecd/xsession: fluxbox
+livecd/users: swc
+livecd/volid: SWC (Gentoo) Linux 2013.1 x86
+boot/kernel: gentoo
+boot/kernel/gentoo/sources: gentoo-sources
+livecd/empty:
+ /tmp
+ #/usr/share/consoletrans
+ /usr/share/doc
+ #/usr/share/gcc-data
+ /usr/share/genkernel
+ #/usr/share/unimaps
+ /usr/share/zoneinfo
+ /usr/src
+ /var/tmp
--- /dev/null
+subarch: i686
+version_stamp: 2013.1
+target: stage1
+rel_type: default
+profile: default/linux/x86/13.0/desktop
+portage_confdir: /mnt/d/tmp/catalyst/portage-conf/default/
+snapshot: 20130208
+source_subpath: default/stage3-i686-20121213
--- /dev/null
+subarch: i686
+version_stamp: 2013.1
+target: stage2
+rel_type: default
+profile: default/linux/x86/13.0/desktop
+portage_confdir: /mnt/d/tmp/catalyst/portage-conf/default/
+snapshot: 20130208
+source_subpath: default/stage1-i686-2013.1
--- /dev/null
+subarch: i686
+version_stamp: 2013.1
+target: stage3
+rel_type: default
+profile: default/linux/x86/13.0/desktop
+portage_confdir: /mnt/d/tmp/catalyst/portage-conf/default/
+snapshot: 20130208
+source_subpath: default/stage2-i686-2013.1