Première tentative de support de fichiers de configuration Debian.
[auf-git-etc.git] / debian / postinst
index 6fcf9a7..c53a7fb 100644 (file)
@@ -5,6 +5,10 @@
 
 set -e
 
+# XXX: debogage, à supprimer avant release
+echo "==> postinst($@) - `date`" >> /tmp/auf-git-etc.debug
+ls -la /etc/auf-git-etc >> /tmp/auf-git-etc.debug
+
 # summary of how this script can be called:
 #        * <postinst> `configure' <most-recently-configured-version>
 #        * <old-postinst> `abort-upgrade' <new version>
@@ -22,7 +26,7 @@ case "$1" in
     configure)
 
        # on ajoute de la souplesse dans /etc/profile
-       # XXX: c'est pas vraiment spécifique à ce paquet...
+       # XXX: pas vraiment spécifique à ce paquet... en attendant Lenny !
        if ! grep -q '/etc/profile\.d' /etc/profile; then
            sed -i -e '/^$/{r /proc/self/fd/0' -e ':l;n;b l}' \
                /etc/profile << __EOF__
@@ -40,17 +44,14 @@ __EOF__
 
        # gestion transparente de GIT via sudo
        if test -f /etc/sudoers; then
-
            # on conserve l'environnement GIT pendant un sudo
            if ! grep -q "env_keep.*GIT" /etc/sudoers; then
                sed -i '/^$/{s//Defaults env_keep += "GIT_COMMITTER_NAME GIT_COMMITTER_EMAIL GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL"\n/;:l;n;b l}' /etc/sudoers
            fi
-
            # on autorise le groupe admin à demander le statut GIT
            if test -f /etc/sudoers && ! grep -q '^%admin.*git status' /etc/sudoers; then
                echo '%admin ALL=(ALL) NOPASSWD: /usr/bin/git status -a' >> /etc/sudoers
            fi
-
        fi
 
        # on vérifie la présence d'un existant
@@ -72,14 +73,17 @@ __EOF__
        else
            cd /
            git init-db
+           # git >= 1.5
+           #git config status.relativePaths false
            chmod 0700 /.git
            mkdir -p /var/lib/git
            mv /.git /var/lib/git/root
            ln -s /var/lib/git/root /.git
-           cp -a /usr/share/doc/auf-git-etc/sample/exclude /.git/info/
-           cp -a /usr/share/doc/auf-git-etc/sample/post-commit /.git/hooks/
-           chmod 0755 /.git/hooks/post-commit
+           ln -s -f /etc/auf-git-etc/exclude /.git/info/
+           ln -s -f /etc/auf-git-etc/post-commit /.git/hooks/
            git add etc usr/local
+           git add boot/grub/menu.lst || true # absent des serveurs virtuels
+           git add var/chroot/bind/etc || true # absent des serveurs non DNS
            # TODO: ajouter -q quand on sera en git ≥ 1.5 (Debian "Lenny")
            git commit -m "Mise en route du suivi de /etc et /usr/local." \
                --author "Installation auf-git-etc <root@apt.auf.org>"
@@ -102,5 +106,3 @@ esac
 #DEBHELPER#
 
 exit 0
-
-