[SCM] live-config branch, debian-next, updated. debian/2.0_a3-1-11-g41004cf
Daniel Baumann
daniel at debian.org
Wed Jun 2 19:41:06 UTC 2010
The following commit has been merged in the debian-next branch:
commit 41004cf7b9a07d57cd41ed0c3bfcff1af86cb630
Author: Daniel Baumann <daniel at debian.org>
Date: Wed Jun 2 21:34:30 2010 +0200
Adding checks to ensure that scripts are not re-run with persistency.
diff --git a/Makefile b/Makefile
index 54388a7..4116543 100644
--- a/Makefile
+++ b/Makefile
@@ -41,6 +41,7 @@ install:
# Installing scripts
mkdir -p $(DESTDIR)/lib/live
cp -r scripts/config.sh scripts/config $(DESTDIR)/lib/live
+ mkdir -p $(DESTDIR)/var/lib/live/config
# Installing docs
mkdir -p $(DESTDIR)/usr/share/doc/live-config
@@ -66,6 +67,8 @@ uninstall:
# Uninstalling scripts
rm -rf $(DESTDIR)/lib/live/config.sh $(DESTDIR)/lib/live/config
rmdir --ignore-fail-on-non-empty $(DESTDIR)/lib/live || true
+ rmdir --ignore-fail-on-non-empty $(DESTDIR)/var/lib/live/config || true
+ rmdir --ignore-fail-on-non-empty $(DESTDIR)/var/lib/live || true
# Uninstalling docs
rm -rf $(DESTDIR)/usr/share/doc/live-config
diff --git a/scripts/config/001-hostname b/scripts/config/001-hostname
index a91f85f..82c456a 100755
--- a/scripts/config/001-hostname
+++ b/scripts/config/001-hostname
@@ -2,8 +2,9 @@
Hostname ()
{
- # Checking if package is installed
- if [ -z "${LIVE_HOSTNAME}" ]
+ # Checking if package is installed or already configured
+ if [ -z "${LIVE_HOSTNAME}" ] || \
+ [ -e /var/lib/live/config/hostname ]
then
return
fi
@@ -43,6 +44,9 @@ EOF
fi
hostname "${LIVE_HOSTNAME}"
+
+ # Creating state file
+ touch /var/lib/live/config/hostname
}
Hostname
diff --git a/scripts/config/002-user-setup b/scripts/config/002-user-setup
index f37f493..a18be25 100755
--- a/scripts/config/002-user-setup
+++ b/scripts/config/002-user-setup
@@ -2,8 +2,9 @@
User_setup ()
{
- # Checking if package is installed
- if [ ! -e /var/lib/dpkg/info/user-setup.list ]
+ # Checking if package is installed or already configured
+ if [ ! -e /var/lib/dpkg/info/user-setup.list ] || \
+ [ -e /var/lib/live/config/user-setup ]
then
return
fi
@@ -15,7 +16,7 @@ User_setup ()
Configure_user_setup ()
{
- # Checking if if package is already configured
+ # Checking if if package is already configured differently
if grep -q "^${LIVE_USERNAME}" /etc/passwd
then
return
@@ -46,6 +47,9 @@ EOF
/usr/lib/user-setup/user-setup-apply 2>&1 \
| grep -v "Shadow passwords are now on"
set -e
+
+ # Creating state file
+ touch /var/lib/live/config/user-setup
}
User_setup
diff --git a/scripts/config/003-sudo b/scripts/config/003-sudo
index 2adea3b..bcfefc6 100755
--- a/scripts/config/003-sudo
+++ b/scripts/config/003-sudo
@@ -2,8 +2,9 @@
Sudo ()
{
- # Checking if package is installed
- if [ ! -e /var/lib/dpkg/info/sudo.list ]
+ # Checking if package is installed or already configured
+ if [ ! -e /var/lib/dpkg/info/sudo.list ] || \
+ [ -e /var/lib/live/config/sudo ]
then
return
fi
@@ -15,7 +16,7 @@ Sudo ()
Configure_sudo ()
{
- # Checking if if package is already configured
+ # Checking if if package is already configured differently
if grep -q "^${LIVE_USERNAME}" /etc/sudoers
then
return
@@ -45,6 +46,9 @@ EOF
then
sudo -u "${LIVE_USERNAME}" sh -c "umask 0077 && mkdir -p /home/${LIVE_USERNAME}/.kde/share/apps/konsole && sed -e's/Exec=su.*$/Exec=sudo -i/' /usr/share/apps/konsole/su.desktop > /home/${LIVE_USERNAME}/.kde/share/apps/konsole/su.desktop"
fi
+
+ # Creating state file
+ touch /var/lib/live/config/sudo
}
Sudo
diff --git a/scripts/config/004-locales b/scripts/config/004-locales
index 5e09465..36d077f 100755
--- a/scripts/config/004-locales
+++ b/scripts/config/004-locales
@@ -2,8 +2,9 @@
Locales ()
{
- # Checking if package is installed
- if [ ! -e /var/lib/dpkg/info/locales.list ]
+ # Checking if package is installed or already configured
+ if [ ! -e /var/lib/dpkg/info/locales.list ] || \
+ [ -e /var/lib/live/config/locales ]
then
return
fi
@@ -85,6 +86,9 @@ Configure_locales ()
sed -i -e "s|# ${LANG} ${_CODEPAGE}|${LANG} ${_CODEPAGE}|" /etc/locale.gen
locale-gen --keep-existing > /dev/null 2>&1
+
+ # Creating state file
+ touch /var/lib/live/config/locales
}
Locales
diff --git a/scripts/config/005-tzdata b/scripts/config/005-tzdata
index 5b8a6d3..e2c3bfe 100755
--- a/scripts/config/005-tzdata
+++ b/scripts/config/005-tzdata
@@ -2,8 +2,9 @@
Tzdata ()
{
- # Checking if package is installed
- if [ ! -e /var/lib/dpkg/info/tzdata.list ]
+ # Checking if package is installed or already configured
+ if [ ! -e /var/lib/dpkg/info/tzdata.list ] || \
+ [ -e /var/lib/live/tzdata ]
then
return
fi
@@ -40,6 +41,9 @@ EOF
then
sed -i -e "s|UTC=.*|UTC=${LIVE_UTC}|" /etc/default/rcS
fi
+
+ # Creating state file
+ touch /var/lib/live/config/tzdata
}
Tzdata
diff --git a/scripts/config/006-gdm b/scripts/config/006-gdm
index e9ba78c..3f22090 100755
--- a/scripts/config/006-gdm
+++ b/scripts/config/006-gdm
@@ -2,8 +2,9 @@
Gdm ()
{
- # Checking if package is installed
- if [ ! -e /var/lib/dpkg/info/gdm.list ]
+ # Checking if package is installed or already configured
+ if [ ! -e /var/lib/dpkg/info/gdm.list ] || \
+ [ -e /var/lib/live/config/gdm ]
then
return
fi
@@ -15,7 +16,7 @@ Gdm ()
Configure_gdm ()
{
- # Checking if if package is already configured
+ # Checking if if package is already configured differently
if grep -qs AutomaticLoginEnable /etc/gdm/gdm.conf
then
return
@@ -28,6 +29,9 @@ TimedLogin=${LIVE_USERNAME}\n\
TimedLoginDelay=10"
sed -i -e "s|\[daemon\]|\[daemon\]\n${_GDM_OPTIONS}|" /etc/gdm/gdm.conf
+
+ # Creating state file
+ touch /var/lib/live/config/gdm
}
Gdm
diff --git a/scripts/config/007-gdm3 b/scripts/config/007-gdm3
index 25b8e52..07b006d 100755
--- a/scripts/config/007-gdm3
+++ b/scripts/config/007-gdm3
@@ -2,8 +2,9 @@
Gdm3 ()
{
- # Checking if package is installed
- if [ ! -e /var/lib/dpkg/info/gdm3.list ]
+ # Checking if package is installed or already configured
+ if [ ! -e /var/lib/dpkg/info/gdm3.list ] || \
+ [ -e /var/lib/live/config/gdm3 ]
then
return
fi
@@ -15,7 +16,7 @@ Gdm3 ()
Configure_gdm3 ()
{
- # Checking if if package is already configured
+ # Checking if if package is already configured differently
if grep -qs AutomaticLoginEnable /etc/gdm3/daemon.conf
then
return
@@ -28,6 +29,9 @@ TimedLogin=${LIVE_USERNAME}\n\
TimedLoginDelay=10"
sed -i -e "s|\[daemon\]|\[daemon\]\n${_GDM3_OPTIONS}|" /etc/gdm3/daemon.conf
+
+ # Creating state file
+ touch /var/lib/live/config/gdm3
}
Gdm3
diff --git a/scripts/config/008-kdm b/scripts/config/008-kdm
index 1fa834c..f8fe330 100755
--- a/scripts/config/008-kdm
+++ b/scripts/config/008-kdm
@@ -2,8 +2,9 @@
Kdm ()
{
- # Checking if package is installed
- if [ ! -e /var/lib/dpkg/info/kdm.list ]
+ # Checking if package is installed or already configured
+ if [ ! -e /var/lib/dpkg/info/kdm.list ] || \
+ [ -e /var/lib/live/config/kdm ]
then
return
fi
@@ -48,6 +49,9 @@ Configure_kdm ()
/etc/kde3/kdm/kdmrc
fi
fi
+
+ # Creating state file
+ touch /var/lib/live/config/kdm
}
Kdm
diff --git a/scripts/config/009-lxdm b/scripts/config/009-lxdm
index 7c4871c..71bf4f4 100755
--- a/scripts/config/009-lxdm
+++ b/scripts/config/009-lxdm
@@ -2,8 +2,9 @@
Lxdm ()
{
- # Checking if package is installed
- if [ ! -e /var/lib/dpkg/info/lxdm.list ]
+ # Checking if package is installed or already configured
+ if [ ! -e /var/lib/dpkg/info/lxdm.list ] || \
+ [ -e /var/lib/live/config/lxdm ]
then
return
fi
@@ -21,6 +22,9 @@ Configure_lxdm ()
-e "s|^#?session.*\$|session|" \
/etc/lxdm/lxdm.conf
fi
+
+ # Creating state file
+ touch /var/lib/live/config/lxdm
}
Lxdm
diff --git a/scripts/config/010-nodm b/scripts/config/010-nodm
index d7b8a9c..b00978c 100755
--- a/scripts/config/010-nodm
+++ b/scripts/config/010-nodm
@@ -2,8 +2,9 @@
Nodm ()
{
- # Checking if package is installed
- if [ ! -e /var/lib/dpkg/info/nodm.list ]
+ # Checking if package is installed or already configured
+ if [ ! -e /var/lib/dpkg/info/nodm.list ] || \
+ [ -e /var/lib/live/config/nodm ]
then
return
fi
@@ -25,6 +26,9 @@ EOF
rm -f /tmp/debconf.live
dpkg-reconfigure -f non-interactive -p critical nodm
+
+ # Creating state file
+ touch /var/lib/live/config/nodm
}
Nodm
diff --git a/scripts/config/100-apport b/scripts/config/100-apport
index 226ed55..914c233 100755
--- a/scripts/config/100-apport
+++ b/scripts/config/100-apport
@@ -2,8 +2,9 @@
Apport ()
{
- # Checking if package is installed
- if [ ! -e /var/lib/dpkg/info/apport.list ]
+ # Checking if package is installed or already configured
+ if [ ! -e /var/lib/dpkg/info/apport.list ] || \
+ [ -e /var/lib/live/apport ]
then
return
fi
@@ -17,6 +18,9 @@ Configure_apport ()
{
# Enabling detection of crashes
sed -i -e 's|enabled=0|enabled=1|' /etc/default/apport
+
+ # Creating state file
+ touch /var/lib/live/config/apport
}
Apport
diff --git a/scripts/config/101-gnome-panel-data b/scripts/config/101-gnome-panel-data
index 4250f99..885787c 100755
--- a/scripts/config/101-gnome-panel-data
+++ b/scripts/config/101-gnome-panel-data
@@ -2,8 +2,9 @@
Gnome_panel_data ()
{
- # Checking if package is installed
- if [ ! -e /var/lib/dpkg/info/gnome-panel-data.list ]
+ # Checking if package is installed or already configured
+ if [ ! -e /var/lib/dpkg/info/gnome-panel-data.list ] || \
+ [ -e /var/lib/live/config/gnome-panel-data ]
then
return
fi
@@ -16,6 +17,9 @@ Gnome_panel_data ()
Configure_gnome_panel_data ()
{
sudo -u "${LIVE_USERNAME}" gconftool-2 -s -t bool /apps/panel/global/disable_lock_screen true
+
+ # Creating state file
+ touch /var/lib/live/config/gnome-panel-data
}
Gnome_panel_data
diff --git a/scripts/config/102-gnome-power-manager b/scripts/config/102-gnome-power-manager
index 66c6835..4bd907e 100755
--- a/scripts/config/102-gnome-power-manager
+++ b/scripts/config/102-gnome-power-manager
@@ -2,8 +2,9 @@
Gnome_power_manager ()
{
- # Checking if package is installed
- if [ ! -e /var/lib/dpkg/info/gnome-power-manager.list ]
+ # Checking if package is installed or already configured
+ if [ ! -e /var/lib/dpkg/info/gnome-power-manager.list ] || \
+ [ -e /var/lib/live/config/gnome-power-manager ]
then
return
fi
@@ -18,6 +19,9 @@ Configure_gnome_power_manager ()
# Not authorizing the user to hibernate the computer
# (might damage existing swap partitions).
sudo -u "${LIVE_USERNAME}" gconftool-2 -s -t bool /apps/gnome-power-manager/general/can_hibernate false
+
+ # Creating state file
+ touch /var/lib/live/config/gnome-power-manager
}
Gnome_power_manager
diff --git a/scripts/config/103-gnome-screensaver b/scripts/config/103-gnome-screensaver
index b10a291..7dcb950 100755
--- a/scripts/config/103-gnome-screensaver
+++ b/scripts/config/103-gnome-screensaver
@@ -2,8 +2,9 @@
Gnome_screensaver ()
{
- # Checking if package is installed
- if [ ! -e /var/lib/dpkg/info/gnome-screensaver.list ]
+ # Checking if package is installed or already configured
+ if [ ! -e /var/lib/dpkg/info/gnome-screensaver.list ] || \
+ [ -e /var/lib/live/config/gnome-screensaver ]
then
return
fi
@@ -17,6 +18,9 @@ Configure_gnome_screensaver ()
{
# Disabling to lock the screen when the screensaver goes active.
sudo -u "${LIVE_USERNAME}" gconftool-2 -t bool -s /apps/gnome-screensaver/lock_enabled false
+
+ # Creating state file
+ touch /var/lib/live/config/gnome-screensaver
}
Gnome_screensaver
diff --git a/scripts/config/104-initramfs-tools b/scripts/config/104-initramfs-tools
index 7e6051d..8695102 100755
--- a/scripts/config/104-initramfs-tools
+++ b/scripts/config/104-initramfs-tools
@@ -2,8 +2,9 @@
Initramfs_tools ()
{
- # Checking if package is installed
- if [ ! -e /var/lib/dpkg/info/initramfs-tools.list ]
+ # Checking if package is installed or already configured
+ if [ ! -e /var/lib/dpkg/info/initramfs-tools.list ] || \
+ [ -e /var/lib/live/config/initramfs-tools ]
then
return
fi
@@ -15,7 +16,7 @@ Initramfs_tools ()
Configure_update_initramfs ()
{
- # Checking if apckage is already configured
+ # Checking if apckage is already configured differently
if [ -e /usr/sbin/update-initramfs.debian ]
then
return
@@ -63,6 +64,9 @@ EOF
fi
chmod 0755 /usr/sbin/update-initramfs
+
+ # Creating state file
+ touch /var/lib/live/config/initramfs-tools
}
Initramfs_tools
diff --git a/scripts/config/105-kaboom b/scripts/config/105-kaboom
index 326fdf9..b25ba99 100755
--- a/scripts/config/105-kaboom
+++ b/scripts/config/105-kaboom
@@ -2,8 +2,9 @@
Kaboom ()
{
- # Checking if package is installed
- if [ ! -e /var/lib/dpkg/info/kaboom.list ]
+ # Checking if package is installed or already configured
+ if [ ! -e /var/lib/dpkg/info/kaboom.list ] || \
+ [ -e /var/lib/live/config/kaboom ]
then
return
fi
@@ -17,6 +18,9 @@ Configure_kaboom ()
{
mkdir -p /home/${LIVE_USERNAME}/.local
touch /home/${LIVE_USERNAME}/.local/kaboom
+
+ # Creating state file
+ touch /var/lib/live/config/kaboom
}
Kaboom
diff --git a/scripts/config/106-kde-services b/scripts/config/106-kde-services
index 21fbba1..bcd6f06 100755
--- a/scripts/config/106-kde-services
+++ b/scripts/config/106-kde-services
@@ -2,9 +2,10 @@
Kde_services ()
{
- # Checking if package is installed
+ # Checking if package is installed or already configured
# we're only checking for KDE4 here (FIXME).
- if [ ! -e /usr/share/kde4 ]
+ if [ ! -e /usr/share/kde4 ] || \
+ [ -e /var/lib/live/config/kde-services ]
then
return
fi
@@ -27,6 +28,9 @@ Configure_kde_services ()
rm -f /usr/share/kde4/services/kded/freespacenotifier.desktop
rm -f /usr/share/kde4/services/plasma-runner-contacts.desktop # starts akonadi
rm -f /usr/share/kde4/services/kded/notificationhelper.desktop
+
+ # Creating state file
+ touch /var/lib/live/config/kde-services
}
Kde_services
diff --git a/scripts/config/107-kpersonalizer b/scripts/config/107-kpersonalizer
index d964018..f87ec3c 100755
--- a/scripts/config/107-kpersonalizer
+++ b/scripts/config/107-kpersonalizer
@@ -2,8 +2,9 @@
Kpersonalizer ()
{
- # Checking if package is installed
- if [ ! -e /var/lib/dpkg/info/kpersonalizer.list ]
+ # Checking if package is installed or already configured
+ if [ ! -e /var/lib/dpkg/info/kpersonalizer.list ] || \
+ [ -e /var/lib/live/config/kpersonalizer ]
then
return
fi
@@ -15,7 +16,7 @@ Kpersonalizer ()
Configure_kpersonalizer ()
{
- # Checking if apckage is already configured
+ # Checking if apckage is already configured differently
if grep -qs FirstLogin /etc/kde3/kpersonalizerrc
then
return
@@ -26,6 +27,8 @@ cat > /etc/kde3/kpersonalizerrc << EOF
FirstLogin=false
EOF
+ # Creating state file
+ touch /var/lib/live/config/kpersonalizer
}
Kpersonalizer
diff --git a/scripts/config/108-live-installer-launcher b/scripts/config/108-live-installer-launcher
index 6d1ff09..e6afac5 100755
--- a/scripts/config/108-live-installer-launcher
+++ b/scripts/config/108-live-installer-launcher
@@ -2,8 +2,9 @@
Live_installer_launcher ()
{
- # Checking if package is installed
- if [ ! -e /var/lib/dpkg/info/live-installer-launcher.list ]
+ # Checking if package is installed or already configured
+ if [ ! -e /var/lib/dpkg/info/live-installer-launcher.list ] || \
+ [ -e /var/lib/live/config/live-installer-launcher ]
then
return
fi
@@ -16,6 +17,9 @@ Live_installer_launcher ()
Configure_live_installer_launcher ()
{
install -D -o ${LIVE_USERNAME} -g ${LIVE_USERNAME} /usr/share/applications/live-installer-launcher.desktop /home/${LIVE_USERNAME}/Desktop/live-installer-launcher.desktop
+
+ # Creating state file
+ touch /var/lib/live/config/live-installer-launcher
}
Live_installer_launcher
diff --git a/scripts/config/109-module-init-tools b/scripts/config/109-module-init-tools
index 3f92610..4e3c1fc 100755
--- a/scripts/config/109-module-init-tools
+++ b/scripts/config/109-module-init-tools
@@ -5,7 +5,11 @@ Module_init_tools ()
# Checking if package is installed
case "$(dpkg --print-architecture)" in
powerpc|ppc64)
-
+ # Checking if package is already configured
+ if [ -e /var/lib/live/config/module-init-tools ]
+ then
+ return
+ fi
;;
*)
@@ -20,7 +24,7 @@ Module_init_tools ()
Configure_module_init_tools ()
{
- # Checking if apckage is already configured
+ # Checking if apckage is already configured differently
if grep -qs "snd_powermac" /etc/modules
then
return
@@ -28,6 +32,9 @@ Configure_module_init_tools ()
# Preconfiguring /etc/modules
echo "snd_powermac" >> /etc/modules
+
+ # Creating state file
+ touch /var/lib/live/config/module-init-tools
}
Module_init_tools
diff --git a/scripts/config/110-policykit b/scripts/config/110-policykit
index b2f4bcd..378474d 100755
--- a/scripts/config/110-policykit
+++ b/scripts/config/110-policykit
@@ -3,7 +3,8 @@
Policykit ()
{
# Checking if package is installed
- if [ ! -e /var/lib/dpkg/info/policykit-1.list ]
+ if [ ! -e /var/lib/dpkg/info/policykit-1.list ] || \
+ [ -e /var/lib/live/config/policykit ]
then
return
fi
@@ -63,6 +64,8 @@ ResultInactive=no
ResultActive=yes
EOF
+ # Creating state file
+ touch /var/lib/live/config/policykit
}
Policykit
diff --git a/scripts/config/111-sslcert b/scripts/config/111-sslcert
index d058abe..d5ceedf 100755
--- a/scripts/config/111-sslcert
+++ b/scripts/config/111-sslcert
@@ -18,7 +18,7 @@ Configure_sslcert ()
{
make-ssl-cert generate-default-snakeoil --force-overwrite
- mkdir -p /var/lib/live/config
+ # Creating state file
touch /var/lib/live/config/sslcert
}
diff --git a/scripts/config/112-update-notifier b/scripts/config/112-update-notifier
index 5d9b615..252e457 100755
--- a/scripts/config/112-update-notifier
+++ b/scripts/config/112-update-notifier
@@ -3,7 +3,8 @@
Update_notifier ()
{
# Checking if package is installed
- if [ ! -e /var/lib/dpkg/info/update-notifier.list ]
+ if [ ! -e /var/lib/dpkg/info/update-notifier.list ] || \
+ [ -e /var/lib/live/config/update-notifier ]
then
return
fi
@@ -30,6 +31,9 @@ Configure_update_notifier ()
# For KDE, adept_notifier's only useful function at the moment is an
# 'apt-get update' equivalent, so we disable it entirely.
rm -f /usr/share/autostart/adept_notifier_auto.desktop
+
+ # Creating state file
+ touch /var/lib/live/config/update-notifier
}
Update_notifier
--
live-config
More information about the debian-live-changes
mailing list