mkdir -p works if the directory already exists, so drop an unnecessary
[invirt/packages/invirt-dev.git] / debian / invirt-dev.postinst
index 96725c3..7427c1f 100755 (executable)
@@ -5,26 +5,34 @@ 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
-            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 "-----"
-        fi
+
+        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 "-----"
     ;;
 
     abort-upgrade|abort-remove|abort-deconfigure)
@@ -35,3 +43,11 @@ EOF
         exit 1
     ;;
 esac
+
+if [ -x /etc/init.d/invirt-dev ]; then
+    if hash invoke-rc.d 2>/dev/null; then
+        invoke-rc.d invirt-dev start
+    else
+        /etc/init.d/invirt-dev start
+    fi
+fi