stable-update-proposal: debian-edu-config 1.416+svn39481
Ref item 9 on <URL:http://wiki.debian.org/DebianEdu/Meeting/20070813>,
here is a update proposal for the stable release.
I propose to update the version of debian-edu-config in the stable
repository from 0.416+svn39160 to version 0.416+svn39381.
The update fixes a bug in the sound setup on thin clients, breaking
the sound support on all clients needing the alsa packages (bug
#1288). It improves the default samba setup (bug #1270), and the
script used to clean up old ltsp swap files (bug #1281), as well as
fixes a upgrade problem, where the hostname might change when the
package is upgraded. In addition, a useless run of the boot_xconf
script during upgrade was disabled.
This is the diff for the changes.
Index: debian/changelog
===================================================================
--- debian/changelog (revision 39160)
+++ debian/changelog (working copy)
@@ -1,3 +1,31 @@
+debian-edu-config (1.416+svn39481) terra; urgency=low
+
+ [ Ronny Aasen ]
+ * Adding groupmap commands to samba-debian-edu-admin, for the default groups
+ jradmin, students,teachers. part of the fix for #1270
+ * Cleaning up swap files for thinclients that are powerdown/unreachable.
+ Solves Skolelinux bug #1281.
+
+ [ Petter Reinholdtsen ]
+ * Add ltsp-build-client script fragment to pull in alsa-utils when
+ building the thin client chroot. Solves Skolelinux bug #1288,
+ at least for new installs.
+ * Make sure init.d/update-hostname is _not_ restarted on upgrades.
+ (Solves skolelinux bug #1287).
+ * Make sure init.d/boot_xconf is not restarted on upgrades and installation
+ either. It should only start on boot.
+ * Quiet down nbdswap-cleanup when nc fail to connect to the client.
+ * Undo some description changes in root.ldif, and sync the names with
+ samba-debian-edu-admin, using 'institution' instead of 'school' to
+ cater for users who do not call themselves schools.
+
+ [ Daniel Hess ]
+ * Adding groupmaps to the root.ldif so they get added during installation.
+ Let samba-debian-edu-admin set sambaNextRid to 1003 to don't collide with
+ the rids used in root.ldif.
+
+ -- Petter Reinholdtsen <pere@debian.org> Sat, 1 Dec 2007 14:06:44 +0100
+
debian-edu-config (0.416+svn39160) terra; urgency=low
* Do not allow debian-edu-etc-svk commit to break apt upgrades.
Index: debian/rules
===================================================================
--- debian/rules (revision 39160)
+++ debian/rules (working copy)
@@ -40,9 +40,9 @@
dh_installinit --init-script open-backdoor
# Start it after 91apache
dh_installinit --init-script fetch-ldap-cert -r --no-start -u"start 95 2 3 4 5 ."
- dh_installinit --init-script boot_xconf
+ dh_installinit --init-script boot_xconf --no-start
dh_installinit --init-script enable-nat --no-start
- dh_installinit --init-script update-hostname
+ dh_installinit --init-script update-hostname --no-start
dh_installinit --init-script start-wlan --no-start
dh_installinit --init-script report-reboot -r --no-start
dh_installchangelogs
Index: ldap-bootstrap/root.ldif
===================================================================
--- ldap-bootstrap/root.ldif (revision 39160)
+++ ldap-bootstrap/root.ldif (working copy)
@@ -53,6 +53,9 @@
description: LDAP Administrator
userPassword: {crypt}$ROOTPW
+# The $SAMBASID-512 SID is a special value. See
+# http://us3.samba.org/samba/docs/man/Samba-HOWTO-Collection/groupmapping.html#WKURIDS
+# for more information.
dn: cn=admins,ou=Group,dc=skole,dc=skolelinux,dc=no
objectClass: top
objectClass: posixGroup
@@ -73,33 +76,45 @@
objectClass: posixGroup
objectClass: lisGroup
objectClass: lisAclGroup
+objectClass: sambaGroupMapping
cn: jradmins
member:
-description: Junior Admins
+description: All junior admins in the institution
gidNumber: 10002
groupType: authority_group
+sambaSID: $SAMBASID-1001
+sambaGroupType: 2
+displayName: jradmins
dn: cn=teachers,ou=Group,dc=skole,dc=skolelinux,dc=no
objectClass: top
objectClass: posixGroup
objectClass: lisGroup
objectClass: lisAclGroup
+objectClass: sambaGroupMapping
cn: teachers
member:
description: All teachers in the institution
gidNumber: 10003
groupType: authority_group
+sambaSID: $SAMBASID-1002
+sambaGroupType: 2
+displayName: teachers
dn: cn=students,ou=Group,dc=skole,dc=skolelinux,dc=no
objectClass: top
objectClass: posixGroup
objectClass: lisGroup
objectClass: lisAclGroup
+objectClass: sambaGroupMapping
cn: students
member:
description: All students/pupils in the institution
gidNumber: 10004
groupType: authority_group
+sambaSID: $SAMBASID-1003
+sambaGroupType: 2
+displayName: students
dn: cn=none,ou=Group,dc=skole,dc=skolelinux,dc=no
objectClass: top
Index: share/debian-edu-config/tools/nbdswap-cleanup
===================================================================
--- share/debian-edu-config/tools/nbdswap-cleanup (revision 39160)
+++ share/debian-edu-config/tools/nbdswap-cleanup (working copy)
@@ -36,9 +36,8 @@
fi
done
-# stop nbd-server processes with no client running
# Query the ltsp client on port 9211 to get a list of ports in use by nbd-clients.
-# and can safely be removed.
+# stop nbd-server processes with no clients running, they can safely be removed.
pids=$(ps ax -o pid,args | grep -v grep | grep ' /usr/sbin/nbdswapd' | awk '{print $1}' )
for pid in $pids ; do
@@ -50,17 +49,28 @@
host=$(lsof -P -p $pid | grep 9210 | grep TCP | head -n 1 | cut -d":" -f2 | cut -d">" -f2)
#query the ltsp host for the nbd-client ports in use
- r_port=$(nc $host $NBDQUERY_PORT )
-
- if [ ${r_port:-0} -ne "0" ]; then
- #keep if it matches
- if [ "$l_port" -ne "$r_port" ]; then
- #what nbd-server is child of this nbdswapd
- for nbds_pid in $(ps ax --no-heading -o pid,ppid,args| grep $pid | grep -v grep | grep nbd-server | awk '{print $1}'); do
+ r_port=$(nc $host $NBDQUERY_PORT 2>/dev/null || echo fail )
+ #if host was unreachable (power off/network failure)
+ if [ ${r_port} = "fail" ] ; then
+ #kill all nbd's for this host
+ for nbds_pid in $(ps ax --no-heading -o pid,ppid,args| grep $pid | grep -v grep | grep nbd-server | awk '{print $1}'); do
#kill this nbd-server
#it will take it's file and go.
- kill -1 $nbds_pid
- done
+ kill -1 $nbds_pid
+ done
+
+ else
+ #if we got a reply
+ if [ ${r_port:-0} -ne "0" ]; then
+ #keep if it matches
+ if [ "$l_port" -ne "$r_port" ]; then
+ #what nbd-server is child of this nbdswapd
+ for nbds_pid in $(ps ax --no-heading -o pid,ppid,args| grep $pid | grep -v grep | grep nbd-server | awk '{print $1}'); do
+ #kill this nbd-server
+ #it will take it's file and go.
+ kill -1 $nbds_pid
+ done
+ fi
fi
fi
done
Index: share/ltsp/plugins/ltsp-build-client/Debian-custom/031-alsa-sound-pkgs
===================================================================
--- share/ltsp/plugins/ltsp-build-client/Debian-custom/031-alsa-sound-pkgs (revision 0)
+++ share/ltsp/plugins/ltsp-build-client/Debian-custom/031-alsa-sound-pkgs (revision 39526)
@@ -0,0 +1,5 @@
+case "$MODE" in
+ configure)
+ LATE_PACKAGES="$LATE_PACKAGES alsa-utils alsa-base"
+ ;;
+esac
Index: Makefile
===================================================================
--- Makefile (revision 39160)
+++ Makefile (working copy)
@@ -312,6 +312,7 @@
set -e ; for f in \
share/ltsp/plugins/ltsp-build-client/Debian-custom/000-arch-detection \
share/ltsp/plugins/ltsp-build-client/Debian-custom/025-bootprompt-opts \
+ share/ltsp/plugins/ltsp-build-client/Debian-custom/031-alsa-sound-pkgs \
; do \
$(INSTALL_DATA) $$f $(DESTDIR)/usr/$$f ; \
done
Index: ldap-tools/samba-debian-edu-admin
===================================================================
--- ldap-tools/samba-debian-edu-admin (revision 39160)
+++ ldap-tools/samba-debian-edu-admin (working copy)
@@ -21,6 +21,8 @@
exit 1
fi
+# XXX Starting and restarting services do not work during installation.
+# XXX start-stop-daemon is a dummy replacement and take care of that.
# Start slapd
/etc/init.d/slapd start
@@ -94,6 +96,7 @@
sambaSID: $SAMBASID
sambaAlgorithmicRidBase: 1000
objectClass: sambaDomain
+sambaNextRid: 1003
EOF
cat << EOF | /usr/sbin/slapadd
@@ -126,4 +129,18 @@
# Add samba Groupmap for Admins
/usr/bin/net groupmap add rid=512 unixgroup=admins \
type=domain ntgroup="Domain Admins" \
- comment="All system administrators in the school"
+ comment="All system administrators in the institution"
+
+# Adding groupmaps for the default usergroups
+/usr/bin/net groupmap add unixgroup=jradmins \
+ type=domain ntgroup="jradmins" \
+ comment="All junior admins in the institution"
+
+/usr/bin/net groupmap add unixgroup=teachers \
+ type=domain ntgroup="teachers" \
+ comment="All teachers in the institution"
+
+/usr/bin/net groupmap add unixgroup=students \
+ type=domain ntgroup="students" \
+ comment="All students/pupils in the institution"
+
Reply to: