Added git hooks to invirt-dev package
[invirt/packages/invirt-dev.git] / debian / invirt-dev.postinst
old mode 100644 (file)
new mode 100755 (executable)
index cc5164f..88ca3f6
@@ -5,17 +5,45 @@ set -e
 
 case "$1" in
     configure)
-        if [ -z "$2" ]; then
+       if ! getent passwd repository >/dev/null 2>&1; then
             adduser --system repository
+       fi
+       if ! getent group repo >/dev/null 2>&1; then
             addgroup --system repo
-            echo "%repo   ALL=(repository)        ALWAYS_SET_HOME,NOPASSWD: /usr/bin/reprepro" >>/etc/sudoers
+       fi
+
+       if ! getent passwd git >/dev/null 2>&1; then
+           adduser --system --home /srv/git --shell /usr/bin/git-shell git
+       fi
+
+       if ! [ -d /srv/git ]; then
+           mkdir -p /srv/git
+       fi
+
+        cat >>/etc/sudoers <<EOF
+### BEGIN invirt-dev
+%repo   ALL=(repository)        ALWAYS_SET_HOME,NOPASSWD: /usr/bin/reprepro
+### END invirt-dev
+EOF
+
+        update-inetd --add \
+            'git\tstream\ttcp\tnowait\tgit\t/usr/bin/git\tgit daemon --inetd --syslog --verbose --export-all --base-path=/srv/git /srv/git'
+
+        echo "-----"
+        echo "invirt-dev: run"
+        echo "  adduser --disabled-password \$user"
+        echo "  adduser \$user repo"
+        echo "  adduser \$user sbuild"
+        echo "to make individual users that will build packages."
+        echo "-----"
+
+       invirt-configure-git-hooks || {
             echo "-----"
-            echo "invirt-dev: run"
-            echo "  adduser --disabled-password \$user"
-            echo "  adduser \$user repo"
-            echo "to make individual users that will build packages."
+            echo "invirt-dev: Could not configure git hooks."
+           echo "Run 'invirt-configure-git-hooks'once you"
+           echo "have configured your repositories appropriately."
             echo "-----"
-        fi
+       }
     ;;
 
     abort-upgrade|abort-remove|abort-deconfigure)
@@ -26,3 +54,11 @@ case "$1" in
         exit 1
     ;;
 esac
+
+if [ -x /etc/init.d/invirtibuilder ]; then
+    if hash invoke-rc.d 2>/dev/null; then
+        invoke-rc.d invirtibuilder start
+    else
+        /etc/init.d/invirtibuilder start
+    fi
+fi