actually remove temporary file on installation success
[debian/sudo] / debian / sudo-ldap.postinst
index 9a539d90285f60d636ef72d40c98fcfb210f721a..949a511b99ab31b6bdb0e50aca13e09501eb58e1 100644 (file)
@@ -4,38 +4,17 @@
 
 unlink ("/etc/alternatives/sudo") if ( -l "/etc/alternatives/sudo");
 
-# make sure we have a sudoers file
+# complain if no sudoers file is present
 if ( ! -f "/etc/sudoers") {
-
-       print "No /etc/sudoers found... creating one for you.\n";
-
-       open (SUDOERS, "> /etc/sudoers");
-       print SUDOERS "# /etc/sudoers\n",
-         "#\n",
-         "# This file MUST be edited with the 'visudo' command as root.\n",
-         "#\n",
-         "# See the man page for details on how to write a sudoers file.\n",
-         "#\n\nDefaults\tenv_reset\n\n",
-         "# Host alias specification\n\n",
-         "# User alias specification\n\n",
-         "# Cmnd alias specification\n\n",
-         "# User privilege specification\nroot\tALL=(ALL) ALL\n\n",
-         "# Allow members of group sudo to execute any command\n",
-         "# (Note that later entries override this, so you might need to move\n",
-          "# it further down)\n",
-         "%sudo ALL=(ALL) ALL\n",
-         "#\n",
-         "#includedir /etc/sudoers.d\n";
-       close SUDOERS;
-
+       print "WARNING:  /etc/sudoers not present!\n";
 }
 
 # handle state directory transition from /var/run/sudo to /var/lib/sudo,
 # moving any existing content over to avoid re-lecturing existing users
 if ( -d "/var/run/sudo") {
-       system ('mkdir -p /var/lib/sudo');
-       system ('mv /var/run/sudo/* /var/lib/sudo/');
-       system ('rmdir /var/run/sudo');
+    system ('mkdir -p /var/lib/sudo');
+    system ('(cd /var/run/sudo ; tar cf - .) | (cd /var/lib/sudo ; tar xf -)');
+    system ('rm -rf /var/run/sudo');
 }
 
 # make sure sudoers has the correct permissions and owner/group
@@ -79,4 +58,7 @@ if ($gid != 27) {
 print "Creating group 'sudo' with gid = $gid\n";
 system("groupadd -g $gid sudo");
 
+# if we've gotten this far .. remove the saved, unchanged old sudoers file
+system ('rm -f /etc/sudoers.pre-conffile');
+
 print "";