Upstream-Status:Inappropriate [debian patches] From 0d1ab4f799eb14d5488fcc959f4a6bdec548b370 Mon Sep 17 00:00:00 2001 From: Brendan O'Dea 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-MakeMaker/lib/ExtUtils/MM_Unix.pm | 18 +++++++++--------- dist/ExtUtils-Install/lib/ExtUtils/Install.pm | 18 +++++++++--------- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm index 6964eea..865d36d 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm @@ -2053,7 +2053,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) \ read }.$self->catfile('$(PERL_ARCHLIB)','auto','$(FULLEXT)','.packlist').q{ \ write }.$self->catfile('$(DESTINSTALLARCHLIB)','auto','$(FULLEXT)','.packlist').q{ \ $(INST_LIB) $(DESTINSTALLPRIVLIB) \ @@ -2067,7 +2067,7 @@ pure_perl_install :: all pure_site_install :: all - $(NOECHO) $(MOD_INSTALL) \ + $(NOECHO) umask 022; $(MOD_INSTALL) \ read }.$self->catfile('$(SITEARCHEXP)','auto','$(FULLEXT)','.packlist').q{ \ write }.$self->catfile('$(DESTINSTALLSITEARCH)','auto','$(FULLEXT)','.packlist').q{ \ $(INST_LIB) $(DESTINSTALLSITELIB) \ @@ -2080,7 +2080,7 @@ pure_site_install :: all }.$self->catdir('$(PERL_ARCHLIB)','auto','$(FULLEXT)').q{ pure_vendor_install :: all - $(NOECHO) $(MOD_INSTALL) \ + $(NOECHO) umask 022; $(MOD_INSTALL) \ read }.$self->catfile('$(VENDORARCHEXP)','auto','$(FULLEXT)','.packlist').q{ \ write }.$self->catfile('$(DESTINSTALLVENDORARCH)','auto','$(FULLEXT)','.packlist').q{ \ $(INST_LIB) $(DESTINSTALLVENDORLIB) \ @@ -2092,8 +2092,8 @@ pure_vendor_install :: all 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)" \ @@ -2103,8 +2103,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)" \ @@ -2114,8 +2114,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)" \ diff --git a/dist/ExtUtils-Install/lib/ExtUtils/Install.pm b/dist/ExtUtils-Install/lib/ExtUtils/Install.pm index 3b030a5..cb0e9e0 100644 --- a/dist/ExtUtils-Install/lib/ExtUtils/Install.pm +++ b/dist/ExtUtils-Install/lib/ExtUtils/Install.pm @@ -468,7 +468,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. @@ -485,13 +485,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'","$@"); } @@ -796,7 +796,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, @@ -810,7 +810,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"; @@ -850,7 +850,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; } @@ -1190,7 +1190,7 @@ be prepended as a directory to each installed file (and directory). 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"; @@ -1213,7 +1213,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);