Initial SWC (Gentoo) Linux 2013.1 x86 configuration
authorW. Trevor King <wking@tremily.us>
Tue, 5 Mar 2013 21:03:48 +0000 (16:03 -0500)
committerW. Trevor King <wking@tremily.us>
Tue, 5 Mar 2013 21:24:10 +0000 (16:24 -0500)
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

14 files changed:
bin/fsscript.sh [new file with mode: 0755]
overlays/default/etc/profile.d/nobeep.sh [new file with mode: 0644]
portage-conf/default/package.keywords/bugs [new file with mode: 0644]
portage-conf/default/package.keywords/hdf5 [new file with mode: 0644]
portage-conf/default/package.keywords/ipython [new file with mode: 0644]
portage-conf/default/package.use/circular [new file with mode: 0644]
portage-conf/default/package.use/ipython [new file with mode: 0644]
portage-conf/default/package.use/scipy [new file with mode: 0644]
portage-conf/default/package.use/x [new file with mode: 0644]
spec/default-livecd-stage1-i686-2013.1.spec [new file with mode: 0644]
spec/default-livecd-stage2-i686-2013.1.spec [new file with mode: 0644]
spec/default-stage1-i686-2013.1.spec [new file with mode: 0644]
spec/default-stage2-i686-2013.1.spec [new file with mode: 0644]
spec/default-stage3-i686-2013.1.spec [new file with mode: 0644]

diff --git a/bin/fsscript.sh b/bin/fsscript.sh
new file mode 100755 (executable)
index 0000000..1a85a3f
--- /dev/null
@@ -0,0 +1,3 @@
+#!/bin/bash
+
+echo 'source /etc/profile.d/nobeep.sh' >> /home/swc/.bashrc 
diff --git a/overlays/default/etc/profile.d/nobeep.sh b/overlays/default/etc/profile.d/nobeep.sh
new file mode 100644 (file)
index 0000000..68133ca
--- /dev/null
@@ -0,0 +1,11 @@
+# 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
diff --git a/portage-conf/default/package.keywords/bugs b/portage-conf/default/package.keywords/bugs
new file mode 100644 (file)
index 0000000..2e31ceb
--- /dev/null
@@ -0,0 +1,15 @@
+# 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
diff --git a/portage-conf/default/package.keywords/hdf5 b/portage-conf/default/package.keywords/hdf5
new file mode 100644 (file)
index 0000000..893d512
--- /dev/null
@@ -0,0 +1,2 @@
+#required by dev-python/h5py (argument)
+dev-python/h5py ~x86
diff --git a/portage-conf/default/package.keywords/ipython b/portage-conf/default/package.keywords/ipython
new file mode 100644 (file)
index 0000000..e16ea1b
--- /dev/null
@@ -0,0 +1,13 @@
+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
diff --git a/portage-conf/default/package.use/circular b/portage-conf/default/package.use/circular
new file mode 100644 (file)
index 0000000..0d9256c
--- /dev/null
@@ -0,0 +1,3 @@
+# break circular dependencies
+
+sys-auth/pambase -consolekit
diff --git a/portage-conf/default/package.use/ipython b/portage-conf/default/package.use/ipython
new file mode 100644 (file)
index 0000000..ef4c7ae
--- /dev/null
@@ -0,0 +1,5 @@
+dev-python/ipython matplotlib notebook
+
+# required by dev-python/ipython-0.13.1,
+# required by dev-python/ipython (argument)
+dev-lang/python sqlite
diff --git a/portage-conf/default/package.use/scipy b/portage-conf/default/package.use/scipy
new file mode 100644 (file)
index 0000000..6a2959e
--- /dev/null
@@ -0,0 +1,3 @@
+# required by sci-libs/scipy-0.9.0-r1,
+# required by sci-libs/scipy (argument)
+dev-python/numpy lapack
diff --git a/portage-conf/default/package.use/x b/portage-conf/default/package.use/x
new file mode 100644 (file)
index 0000000..0a4cce8
--- /dev/null
@@ -0,0 +1,15 @@
+# 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
diff --git a/spec/default-livecd-stage1-i686-2013.1.spec b/spec/default-livecd-stage1-i686-2013.1.spec
new file mode 100644 (file)
index 0000000..0711b95
--- /dev/null
@@ -0,0 +1,64 @@
+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
diff --git a/spec/default-livecd-stage2-i686-2013.1.spec b/spec/default-livecd-stage2-i686-2013.1.spec
new file mode 100644 (file)
index 0000000..407bdd6
--- /dev/null
@@ -0,0 +1,32 @@
+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
diff --git a/spec/default-stage1-i686-2013.1.spec b/spec/default-stage1-i686-2013.1.spec
new file mode 100644 (file)
index 0000000..d5db8a1
--- /dev/null
@@ -0,0 +1,8 @@
+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
diff --git a/spec/default-stage2-i686-2013.1.spec b/spec/default-stage2-i686-2013.1.spec
new file mode 100644 (file)
index 0000000..4d2fbd7
--- /dev/null
@@ -0,0 +1,8 @@
+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
diff --git a/spec/default-stage3-i686-2013.1.spec b/spec/default-stage3-i686-2013.1.spec
new file mode 100644 (file)
index 0000000..c767051
--- /dev/null
@@ -0,0 +1,8 @@
+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