]> granicus.if.org Git - sudo/commitdiff
Fix packaging of symbolic links on HP-UX when the link source already
authorTodd C. Miller <Todd.Miller@courtesan.com>
Fri, 8 Jun 2012 17:27:16 +0000 (13:27 -0400)
committerTodd C. Miller <Todd.Miller@courtesan.com>
Fri, 8 Jun 2012 17:27:16 +0000 (13:27 -0400)
exists in the filesystem.

pp
sudo.pp

diff --git a/pp b/pp
index d637bd6c7ffca2a5c17da7958364f832d43af791..0ce124369b3875b7c73e7da42400ed38a21825cb 100755 (executable)
--- a/pp
+++ b/pp
@@ -1,6 +1,6 @@
 #!/bin/sh
 # Copyright 2012 Quest Software, Inc. ALL RIGHTS RESERVED
-pp_revision="361"
+pp_revision="363"
  # Copyright 2012 Quest Software, Inc.  ALL RIGHTS RESERVED.
  #
  # Redistribution and use in source and binary forms, with or without
@@ -2288,9 +2288,9 @@ pp_sd_write_files () {
                # current working (source) directory, not the destination;
                # we need to qualify them to prevent this.
                case "$st" in
-                   /*) echo "$line $st $p";;
-                   *) echo "$line `dirname $p`/$st $p";;
+                   [!/]*) st="`dirname \"$p\"`/$st";;
                esac
+               echo "$line -o $o -g $g -m $m $st $p"
                ;;
             *)
                echo "$line -o $o -g $g -m $m $pp_destdir$p $p"
@@ -4005,19 +4005,19 @@ pp_deb_handle_services() {
            test x"yes" = x"$enable" &&
             cat<<-. >> $pp_wrkdir/%post.run
                # Install the service links
-               /usr/sbin/update-rc.d $svc defaults
+               update-rc.d $svc defaults
 .
 
             #-- prepend %preun code to stop svc
             cat<<-. | pp_prepend $pp_wrkdir/%preun.run
                # Stop the $svc service
-               if test -x /usr/sbin/invoke-rc.d; then
-                   /usr/sbin/invoke-rc.d $svc stop
-               else
-                   /etc/init.d/$svc stop
-               fi
+               invoke-rc.d $svc stop
+.
+
+            #-- prepend %preun code to remove service
+            cat<<-. | pp_prepend $pp_wrkdir/%postun.run
                # Remove the service links
-               /usr/sbin/update-rc.d -f $svc remove
+               update-rc.d -f $svc remove
 .
         done
         #pp_deb_service_remove_common | pp_prepend $pp_wrkdir/%preun.run
@@ -4378,7 +4378,7 @@ pp_backend_deb_init_svc_vars () {
 
     lsb_required_start='$local_fs $network'
     lsb_should_start=
-    lsb_required_stop=
+    lsb_required_stop='$local_fs'
     lsb_description=
 
     start_priority=50
@@ -4391,7 +4391,7 @@ pp_deb_service_make_init_script () {
     local out=$pp_destdir$script
     local _process _cmd
 
-    pp_add_file_if_missing $script run 755 || return 0
+    pp_add_file_if_missing $script run 755 || return 0
 
     #-- start out as an empty shell script
     cat <<-'.' >$out
diff --git a/sudo.pp b/sudo.pp
index e00147f23f1ebba9c091718b9d91c4f200ded173..183ce6e6220b129b3d2096201110a83b2712335d 100644 (file)
--- a/sudo.pp
+++ b/sudo.pp
@@ -247,8 +247,8 @@ still allow people to get their work done."
 
 %files
        $osdirs                 -
-       $bindir/sudo            4755 root:
-       $bindir/sudoedit        4755 root: symlink sudo
+       $bindir/sudo            04755 root:
+       $bindir/sudoedit        0755 root: symlink sudo
        $sbindir/visudo         0755
        $bindir/sudoreplay      0755
        $includedir/sudo_plugin.h 0644