X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/invirt-dev.git/blobdiff_plain/c486f9800bbbec3a069ae1e96494e13774a18fcd..243aac27c57ab51d8cf232163fcf9cd9a693313c:/debian/invirt-dev.postinst

diff --git a/debian/invirt-dev.postinst b/debian/invirt-dev.postinst
index 96725c3..88ca3f6 100755
--- a/debian/invirt-dev.postinst
+++ b/debian/invirt-dev.postinst
@@ -5,26 +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
-            
-            # Clean up the old sudoers block, then add it back
-            perl -i.bak -ne 's%^### (BEGIN|END) invirt-dev\s*$%%m && ($skip = ($1 eq "BEGIN")); print unless $skip;' /etc/sudoers
-            
-            cat >>/etc/sudoers <<EOF
+	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 "  adduser \$user sbuild"
-            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)
@@ -35,3 +54,11 @@ EOF
         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