$NetBSD: patch-ep,v 1.1 2002/12/25 16:30:00 jdolecek Exp $

--- ../solenv/bin/deliver.pl.orig	Tue Dec 24 16:45:57 2002
+++ ../solenv/bin/deliver.pl	Tue Dec 24 17:20:07 2002
@@ -102,7 +102,7 @@
 $module             = 0;            # module name
 $base_dir           = 0;            # path to module base directory
 $dlst_file          = 0;            # path to d.lst
-$umask              = 22;           # default file/directory creation mask 
+$umask              = 022;          # default file/directory creation mask 
 $dest               = 0;            # optional destination path
 
 @action_data        = ();           # LoL with all action data
@@ -245,7 +245,7 @@
         print "MKDIR: $path\n";
     }
     else {
-        mkpath($path, 0, 0777-$umask); 
+        mkpath($path, 0, 0777 & ~$umask); 
     }
 }
 
@@ -285,7 +285,7 @@
 
     $umask = umask();
     if ( !defined($umask) ) {
-        $umask = 22;
+        $umask = 022;
     }
 
     $common_outdir  = $ENV{COMMON_OUTDIR};
@@ -535,11 +535,11 @@
     my $mode = shift;
     my $file = shift;
     
-    if ( $mode%2 == 1 ) {
-        $mode = 0777 - $umask;
+    if ( ($mode & 0111) != 0 ) { # any execute bits?
+        $mode = 0777 & ~$umask;
     }
     else {
-        $mode = 0666 - $umask;
+        $mode = 0666 & ~$umask;
     }
     chmod($mode, $file);
 }
