blob: d1b498b527fd909311ef5e32d6db5c55afe7df85 [file] [log] [blame]
From d9d535ef97f57af6e9728075944c33f3b0b5372f Mon Sep 17 00:00:00 2001
From: Brendan O'Dea <bod@debian.org>
Date: Tue, 8 Mar 2005 19:30:38 +1100
Subject: Respect umask during installation
This is needed to satisfy Debian policy regarding group-writable
site directories.
Patch-Name: fixes/respect_umask.diff
---
cpan/ExtUtils-Install/lib/ExtUtils/Install.pm | 18 +++++++++---------
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 18 +++++++++---------
2 files changed, 18 insertions(+), 18 deletions(-)
diff --git a/cpan/ExtUtils-Install/lib/ExtUtils/Install.pm b/cpan/ExtUtils-Install/lib/ExtUtils/Install.pm
index 1e8ac4c..3e79121 100644
--- a/cpan/ExtUtils-Install/lib/ExtUtils/Install.pm
+++ b/cpan/ExtUtils-Install/lib/ExtUtils/Install.pm
@@ -451,7 +451,7 @@ sub _can_write_dir {
=pod
-=item _mkpath($dir,$show,$mode,$verbose,$dry_run)
+=item _mkpath($dir,$show,$verbose,$dry_run)
Wrapper around File::Path::mkpath() to handle errors.
@@ -468,13 +468,13 @@ writable.
=cut
sub _mkpath {
- my ($dir,$show,$mode,$verbose,$dry_run)=@_;
+ my ($dir,$show,$verbose,$dry_run)=@_;
if ( $verbose && $verbose > 1 && ! -d $dir) {
$show= 1;
- printf "mkpath(%s,%d,%#o)\n", $dir, $show, $mode;
+ printf "mkpath(%s,%d)\n", $dir, $show;
}
if (!$dry_run) {
- if ( ! eval { File::Path::mkpath($dir,$show,$mode); 1 } ) {
+ if ( ! eval { File::Path::mkpath($dir,$show); 1 } ) {
_choke("Can't create '$dir'","$@");
}
@@ -783,7 +783,7 @@ sub install { #XXX OS-SPECIFIC
_chdir($cwd);
}
foreach my $targetdir (sort keys %check_dirs) {
- _mkpath( $targetdir, 0, 0755, $verbose, $dry_run );
+ _mkpath( $targetdir, 0, $verbose, $dry_run );
}
foreach my $found (@found_files) {
my ($diff, $ffd, $origfile, $mode, $size, $atime, $mtime,
@@ -797,7 +797,7 @@ sub install { #XXX OS-SPECIFIC
$targetfile= _unlink_or_rename( $targetfile, 'tryhard', 'install' )
unless $dry_run;
} elsif ( ! -d $targetdir ) {
- _mkpath( $targetdir, 0, 0755, $verbose, $dry_run );
+ _mkpath( $targetdir, 0, $verbose, $dry_run );
}
print "Installing $targetfile\n";
@@ -837,7 +837,7 @@ sub install { #XXX OS-SPECIFIC
if ($pack{'write'}) {
$dir = install_rooted_dir(dirname($pack{'write'}));
- _mkpath( $dir, 0, 0755, $verbose, $dry_run );
+ _mkpath( $dir, 0, $verbose, $dry_run );
print "Writing $pack{'write'}\n" if $verbose;
$packlist->write(install_rooted_file($pack{'write'})) unless $dry_run;
}
@@ -1180,7 +1180,7 @@ environment variable will silence this output.
sub pm_to_blib {
my($fromto,$autodir,$pm_filter) = @_;
- _mkpath($autodir,0,0755);
+ _mkpath($autodir,0);
while(my($from, $to) = each %$fromto) {
if( -f $to && -s $from == -s $to && -M $to < -M $from ) {
print "Skip $to (unchanged)\n" unless $INSTALL_QUIET;
@@ -1203,7 +1203,7 @@ sub pm_to_blib {
# we wont try hard here. its too likely to mess things up.
forceunlink($to);
} else {
- _mkpath(dirname($to),0,0755);
+ _mkpath(dirname($to),0);
}
if ($need_filtering) {
run_filter($pm_filter, $from, $to);
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
index f63145c..197f102 100644
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
@@ -2118,7 +2118,7 @@ doc__install : doc_site_install
$(NOECHO) $(ECHO) INSTALLDIRS not defined, defaulting to INSTALLDIRS=site
pure_perl_install :: all
- $(NOECHO) $(MOD_INSTALL) \
+ $(NOECHO) umask 022; $(MOD_INSTALL) \
};
push @m,
@@ -2138,7 +2138,7 @@ q{ "$(INST_LIB)" "$(DESTINSTALLPRIVLIB)" \
pure_site_install :: all
- $(NOECHO) $(MOD_INSTALL) \
+ $(NOECHO) umask 022; $(MOD_INSTALL) \
};
push @m,
q{ read "}.$self->catfile('$(SITEARCHEXP)','auto','$(FULLEXT)','.packlist').q{" \
@@ -2156,7 +2156,7 @@ q{ "$(INST_LIB)" "$(DESTINSTALLSITELIB)" \
"}.$self->catdir('$(PERL_ARCHLIB)','auto','$(FULLEXT)').q{"
pure_vendor_install :: all
- $(NOECHO) $(MOD_INSTALL) \
+ $(NOECHO) umask 022; $(MOD_INSTALL) \
};
push @m,
q{ read "}.$self->catfile('$(VENDORARCHEXP)','auto','$(FULLEXT)','.packlist').q{" \
@@ -2188,8 +2188,8 @@ doc_vendor_install :: all
push @m, q{
doc_perl_install :: all
$(NOECHO) $(ECHO) Appending installation info to "$(DESTINSTALLARCHLIB)/perllocal.pod"
- -$(NOECHO) $(MKPATH) "$(DESTINSTALLARCHLIB)"
- -$(NOECHO) $(DOC_INSTALL) \
+ -$(NOECHO) umask 022; $(MKPATH) "$(DESTINSTALLARCHLIB)"
+ -$(NOECHO) umask 022; $(DOC_INSTALL) \
"Module" "$(NAME)" \
"installed into" $(INSTALLPRIVLIB) \
LINKTYPE "$(LINKTYPE)" \
@@ -2199,8 +2199,8 @@ doc_perl_install :: all
doc_site_install :: all
$(NOECHO) $(ECHO) Appending installation info to "$(DESTINSTALLARCHLIB)/perllocal.pod"
- -$(NOECHO) $(MKPATH) "$(DESTINSTALLARCHLIB)"
- -$(NOECHO) $(DOC_INSTALL) \
+ -$(NOECHO) umask 022; $(MKPATH) "$(DESTINSTALLARCHLIB)"
+ -$(NOECHO) umask 022; $(DOC_INSTALL) \
"Module" "$(NAME)" \
"installed into" $(INSTALLSITELIB) \
LINKTYPE "$(LINKTYPE)" \
@@ -2210,8 +2210,8 @@ doc_site_install :: all
doc_vendor_install :: all
$(NOECHO) $(ECHO) Appending installation info to "$(DESTINSTALLARCHLIB)/perllocal.pod"
- -$(NOECHO) $(MKPATH) "$(DESTINSTALLARCHLIB)"
- -$(NOECHO) $(DOC_INSTALL) \
+ -$(NOECHO) umask 022; $(MKPATH) "$(DESTINSTALLARCHLIB)"
+ -$(NOECHO) umask 022; $(DOC_INSTALL) \
"Module" "$(NAME)" \
"installed into" $(INSTALLVENDORLIB) \
LINKTYPE "$(LINKTYPE)" \