Changeset 24125
- Timestamp:
- 10/25/09 01:21:27 (4 weeks ago)
- Location:
- trunk/debathena/config/reactivate/debian
- Files:
-
- 3 added
- 1 removed
- 8 modified
-
01debathena-reactivate-cleanup (modified) (1 diff, 1 prop)
-
99debathena-reactivate-setup (modified) (1 diff, 1 prop)
-
Xsession.debathena (modified) (1 diff)
-
athena-login-snapshot (deleted)
-
changelog (modified) (1 diff)
-
control.in (modified) (2 diffs)
-
debathena-reactivate.init (modified) (3 diffs)
-
debathena-reactivate.install (modified) (2 diffs)
-
debathena-reactivate.postinst (modified) (1 diff)
-
login (added)
-
mount-athena (added)
-
script-athena (added)
Legend:
- Unmodified
- Added
- Removed
-
trunk/debathena/config/reactivate/debian/01debathena-reactivate-cleanup
- Property svn:executable deleted
r24057 r24125 6 6 invoke-rc.d debathena-reactivate start 7 7 8 if [ "$(machtype -q)" != "quickstation" ]; then 9 # Clean up the login snapshot. 10 athena-login-snapshot login-end 11 fi 8 # Restart necessary daemons outside the chroot 9 daemons=$(/usr/bin/policy-rc.d --daemons) 10 for daemon in $daemons; do 11 invoke-rc.d "$daemon" start || [ $? = 100 ] 12 done 13 14 rm /var/run/athena-login -
trunk/debathena/config/reactivate/debian/99debathena-reactivate-setup
- Property svn:executable deleted
r24057 r24125 2 2 # gdm login session. gdm blocks until it finishes. 3 3 4 if [ "$(machtype -q)" != "quickstation" ]; then 5 # Create a login chroot for this login session. 6 athena-login-snapshot login-start || exit 7 fi 4 # Stop daemons that need to be restarted inside the chroot 5 daemons=$(/usr/bin/policy-rc.d --daemons) 6 for daemon in $daemons; do 7 invoke-rc.d "$daemon" stop || [ $? = 100 ] 8 done 9 10 touch /var/run/athena-login -
trunk/debathena/config/reactivate/debian/Xsession.debathena
r24057 r24125 1 1 #!/bin/sh 2 2 3 if [ "$(machtype -q)" != "quickstation" ]; then 4 # We wrap the Xsession in sudo because it runs initgroups(3) 5 # /after/ being chrooted, which puts users back in the groups we 6 # added them to in athena-login-snapshot 7 exec schroot -c login -p -- sudo -E -u "$USER" -- /etc/gdm/Xsession.debathena-orig "$@" 8 else 9 exec /etc/gdm/Xsession.debathena-orig "$@" 10 fi 3 set -e 4 5 addgroups="admin lpadmin adm fuse cdrom floppy audio video plugdev scanner dialout" 6 daemons="$(/usr/sbin/policy-rc.d --daemons)" 7 8 # Setup 9 10 session=$(schroot -c login -b) 11 for group in $addgroups; do 12 schroot -c "$session" -r -u root -- gpasswd -a "$USER" "$group" 13 done 14 15 schroot -c "$session" -r -u root -- sed -i "/su-error/d" "/etc/pam.d/su.debathena" 16 17 for daemon in $daemons; do 18 schroot -c "$session" -r -u root -- invoke-rc.d "$daemon" start || [ $? = 100 ] 19 done 20 21 schroot -c "$session" -r -u root -- touch /ClusterLogin 22 23 schroot -c "$session" -r -u root -- rm /etc/debian_chroot 24 25 # Run the session 26 # 27 # We wrap the Xsession in sudo because it runs initgroups(3) 28 # /after/ being chrooted, which puts users back in the groups we 29 # added them to 30 schroot -c "$session" -r -p -- sudo -E -u "$USER" -- /etc/gdm/Xsession.debathena-orig "$@" 31 32 # Teardown 33 34 for daemon in $daemons; do 35 schroot -c "$session" -r -u root -- invoke-rc.d "$daemon" stop || [ $? = 100 ] 36 done 37 38 schroot -c "$session" -e -
trunk/debathena/config/reactivate/debian/changelog
r24093 r24125 1 debathena-reactivate (2.0) UNRELEASED; urgency=low 2 3 * Rewrite to use schroot 1.3 and aufs union mounts instead of LVM. 4 This makes logins on a Dell 760 take about 8 seconds to reach the 5 desktop. 6 - TODO: Reincorporate clean-up fallbacks (e.g. rebooting) of previous 7 version. 8 - TODO: Deal with manually modified /etc/schroot/schroot.conf. 9 10 -- Geoffrey Thomas <geofft@mit.edu> Sat, 24 Oct 2009 19:28:08 -0400 11 1 12 debathena-reactivate (1.25.6) unstable; urgency=low 2 13 -
trunk/debathena/config/reactivate/debian/control.in
r24071 r24125 8 8 Package: debathena-reactivate 9 9 Architecture: all 10 Depends: schroot, lvm2, psmisc, gdm, alsa-utils, debathena-gdm-config (>= 1.14~), ${misc:Depends}10 Depends: debathena-schroot, psmisc, gdm, alsa-utils, debathena-gdm-config (>= 1.14~), sudo, ${misc:Depends} 11 11 Provides: ${diverted-files} 12 12 Conflicts: ${diverted-files} … … 16 16 are erased after logout. 17 17 . 18 This package is very much tailored to Athena cluster machines. To 19 use it, the machine MUST be installed so that the root partition is a 20 logical volume inside a volume group with at least 21GB of free 21 space. This script will, in certain exceptional conditions, reboot 18 This package is very much tailored to Athena cluster machines. 19 This script will, in certain exceptional conditions, reboot 22 20 the machine in order to be able to unmount the login snapshot. -
trunk/debathena/config/reactivate/debian/debathena-reactivate.init
r24093 r24125 9 9 # Short-Description: Re-activate Athena cluster machine 10 10 # Description: This script sets up an Athena cluster machine at boot. 11 # Currently, it just mutes the sound. 11 # Currently, it mutes the sound and sets up a filesystem 12 # for snapshots. 12 13 ### END INIT INFO 13 14 … … 15 16 16 17 . /lib/init/vars.sh 18 . /lib/init/mount-functions.sh 17 19 18 20 case "$1" in … … 20 22 # Set the volume to zero for all sound cards, and save that state. 21 23 (/etc/init.d/alsa-utils stop all && alsactl store) > /dev/null 2>&1 24 25 # Create a tmpfs where schroot puts overlays. This is needed 26 # because aufs won't let you put an overlay and underlay on the 27 # same file system. 28 domount tmpfs "" /var/lib/schroot/union/overlay tmpfs -osize=1073741824 22 29 ;; 23 30 restart|reload|force-reload) -
trunk/debathena/config/reactivate/debian/debathena-reactivate.install
r24077 r24125 1 debian/athena-login-snapshot usr/sbin2 1 debian/Xsession.debathena etc/gdm 3 2 debian/99debathena-reactivate-setup usr/share/debathena-gdm-config/PreSession.d … … 9 8 debian/sudo-warning etc/athena 10 9 debian/su-warning etc/athena 10 debian/login etc/schroot/chroot.d 11 debian/script-athena etc/schroot 12 debian/mount-athena etc/schroot -
trunk/debathena/config/reactivate/debian/debathena-reactivate.postinst
r24083 r24125 72 72 # Users logging in will be added to several different 73 73 # groups. Make sure they all exist. 74 for group in $(sed -ne 's/^addgroups="\(.*\)"/\1/p' / usr/sbin/athena-login-snapshot); do74 for group in $(sed -ne 's/^addgroups="\(.*\)"/\1/p' /etc/gdm/Xsession.debathena); do 75 75 getent group "$group" >/dev/null || addgroup --system "$group" 76 76 done
