Fix invirt-dev to not add the same line a bunch of times to sudoers
[invirt/packages/invirt-dev.git] / debian / invirt-dev.postinst
old mode 100644 (file)
new mode 100755 (executable)
index 91fc673..96725c3
@@ -8,7 +8,15 @@ case "$1" in
         if [ -z "$2" ]; then
             adduser --system repository
             addgroup --system repo
-            echo "%repo   ALL=(repository)        ALWAYS_SET_HOME,NOPASSWD: /usr/bin/reprepro" >>/etc/sudoers
+            
+            # 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
+### 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"