Ajout : vm_hosted : rule_apt_get_install .
authorJulien Moutinho <julm+burette@autogeree.net>
Tue, 19 Feb 2013 23:59:51 +0000 (00:59 +0100)
committerJulien Moutinho <julm+burette@autogeree.net>
Wed, 20 Feb 2013 00:20:43 +0000 (01:20 +0100)
vm_hosted

index 81dec85..7934de6 100755 (executable)
--- a/vm_hosted
+++ b/vm_hosted
@@ -37,6 +37,16 @@ rule_git_reset () {
        )
  }
 
        )
  }
 
+rule_apt_get_install () { # SYNTAX: $package
+       case $(dpkg -s "$1" | grep '^Status: ') in
+               ("Status: install ok installed");;
+               (*)
+               test ! -x /usr/bin/etckeeper ||
+               assert 'sudo etckeeper unclean'
+               sudo apt-get "$@";;
+        esac
+ }
+
 rule__chrooted_configure () { # NOTE: est-ce bien utile à un moment ?
        export LANG=C
        export LC_CTYPE=C
 rule__chrooted_configure () { # NOTE: est-ce bien utile à un moment ?
        export LANG=C
        export LC_CTYPE=C
@@ -64,7 +74,7 @@ rule_apt_configure () {
                EOF
  }
 rule_apticron_configure () {
                EOF
  }
 rule_apticron_configure () {
-       sudo apt-get install --reinstall apticron
+       rule apt_get_install apticron
        mk_reg mod=644 own=root:root /etc/apticron/apticron.conf <<-EOF
                EMAIL="admin@heureux-cyclage.org"
                # DIFF_ONLY="1"
        mk_reg mod=644 own=root:root /etc/apticron/apticron.conf <<-EOF
                EMAIL="admin@heureux-cyclage.org"
                # DIFF_ONLY="1"
@@ -83,9 +93,9 @@ rule_apticron_configure () {
        sudo service apticron restart
  }
 rule_boot_configure () {
        sudo service apticron restart
  }
 rule_boot_configure () {
-       sudo apt-get install --reinstall grub-pc # XXX: attention à n'installer GRUB sur AUCUN disque proposé !
+       rule apt_get_install grub-pc # XXX: attention à n'installer GRUB sur AUCUN disque proposé !
        mk_dir mod=644 own=root:root /boot/grub
        mk_dir mod=644 own=root:root /boot/grub
-       sudo apt-get install --reinstall linux-image-$vm_arch
+       rule apt_get_install linux-image-$vm_arch
        mk_reg mod=644 own=root:root /etc/default/grub <<-EOF
                GRUB_DEFAULT=0
                GRUB_TIMEOUT=5
        mk_reg mod=644 own=root:root /etc/default/grub <<-EOF
                GRUB_DEFAULT=0
                GRUB_TIMEOUT=5
@@ -112,6 +122,7 @@ rule_etckeeper_configure () {
                HIGHLEVEL_PACKAGE_MANAGER=apt
                LOWLEVEL_PACKAGE_MANAGER=dpkg
                EOF
                HIGHLEVEL_PACKAGE_MANAGER=apt
                LOWLEVEL_PACKAGE_MANAGER=dpkg
                EOF
+       rule apt_get_install etckeeper
  }
 rule_filesystem_configure () {
        mk_reg mod=644 own=root:root /etc/fstab <<-EOF
  }
 rule_filesystem_configure () {
        mk_reg mod=644 own=root:root /etc/fstab <<-EOF