From a0c657272ec5ca1fe74d61eb1922d050a3ba8fd7 Mon Sep 17 00:00:00 2001 From: "W. Trevor King" Date: Tue, 5 Mar 2013 16:03:48 -0500 Subject: [PATCH 1/1] Initial SWC (Gentoo) Linux 2013.1 x86 configuration 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 --- bin/fsscript.sh | 3 + overlays/default/etc/profile.d/nobeep.sh | 11 ++++ portage-conf/default/package.keywords/bugs | 15 +++++ portage-conf/default/package.keywords/hdf5 | 2 + portage-conf/default/package.keywords/ipython | 13 ++++ portage-conf/default/package.use/circular | 3 + portage-conf/default/package.use/ipython | 5 ++ portage-conf/default/package.use/scipy | 3 + portage-conf/default/package.use/x | 15 +++++ spec/default-livecd-stage1-i686-2013.1.spec | 64 +++++++++++++++++++ spec/default-livecd-stage2-i686-2013.1.spec | 32 ++++++++++ spec/default-stage1-i686-2013.1.spec | 8 +++ spec/default-stage2-i686-2013.1.spec | 8 +++ spec/default-stage3-i686-2013.1.spec | 8 +++ 14 files changed, 190 insertions(+) create mode 100755 bin/fsscript.sh create mode 100644 overlays/default/etc/profile.d/nobeep.sh create mode 100644 portage-conf/default/package.keywords/bugs create mode 100644 portage-conf/default/package.keywords/hdf5 create mode 100644 portage-conf/default/package.keywords/ipython create mode 100644 portage-conf/default/package.use/circular create mode 100644 portage-conf/default/package.use/ipython create mode 100644 portage-conf/default/package.use/scipy create mode 100644 portage-conf/default/package.use/x create mode 100644 spec/default-livecd-stage1-i686-2013.1.spec create mode 100644 spec/default-livecd-stage2-i686-2013.1.spec create mode 100644 spec/default-stage1-i686-2013.1.spec create mode 100644 spec/default-stage2-i686-2013.1.spec create mode 100644 spec/default-stage3-i686-2013.1.spec diff --git a/bin/fsscript.sh b/bin/fsscript.sh new file mode 100755 index 0000000..1a85a3f --- /dev/null +++ b/bin/fsscript.sh @@ -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 index 0000000..68133ca --- /dev/null +++ b/overlays/default/etc/profile.d/nobeep.sh @@ -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 index 0000000..2e31ceb --- /dev/null +++ b/portage-conf/default/package.keywords/bugs @@ -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 index 0000000..893d512 --- /dev/null +++ b/portage-conf/default/package.keywords/hdf5 @@ -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 index 0000000..e16ea1b --- /dev/null +++ b/portage-conf/default/package.keywords/ipython @@ -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 index 0000000..0d9256c --- /dev/null +++ b/portage-conf/default/package.use/circular @@ -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 index 0000000..ef4c7ae --- /dev/null +++ b/portage-conf/default/package.use/ipython @@ -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 index 0000000..6a2959e --- /dev/null +++ b/portage-conf/default/package.use/scipy @@ -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 index 0000000..0a4cce8 --- /dev/null +++ b/portage-conf/default/package.use/x @@ -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 index 0000000..0711b95 --- /dev/null +++ b/spec/default-livecd-stage1-i686-2013.1.spec @@ -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 index 0000000..407bdd6 --- /dev/null +++ b/spec/default-livecd-stage2-i686-2013.1.spec @@ -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 index 0000000..d5db8a1 --- /dev/null +++ b/spec/default-stage1-i686-2013.1.spec @@ -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 index 0000000..4d2fbd7 --- /dev/null +++ b/spec/default-stage2-i686-2013.1.spec @@ -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 index 0000000..c767051 --- /dev/null +++ b/spec/default-stage3-i686-2013.1.spec @@ -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 -- 2.26.2