summaryrefslogtreecommitdiff
path: root/lang/parrot/patches/patch-ad
blob: 13da574d0c4d6982aff4a5055777668ed59ef65a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
$NetBSD: patch-ad,v 1.3.2.2 2009/04/16 21:56:14 tron Exp $

Allow parrot to detect perldoc when run as root.  Perldoc changes
uid to 'nobody', 'nouser' or uid -2 when run as root, so it won't
be able to write files created by root with mode 0600 (or create new
files in directories owned by root mode 0755).

--- config/auto/perldoc.pm.orig	2009-03-08 21:32:47.000000000 +0100
+++ config/auto/perldoc.pm
@@ -38,7 +38,9 @@ sub runstep {
 
     my $cmd = $conf->data->get_p5('scriptdirexp') . q{/perldoc};
     my ( $fh, $filename ) = tempfile( UNLINK => 1 );
-    my $content = capture_output("$cmd -ud $filename perldoc") || undef;
+    my($stdout, $stderr, $retval) = 
+	capture_output("$cmd -u perldoc > $filename");
+    my($content) = $retval ? undef : $stderr;
 
     return 1 unless defined( $self->_initial_content_check($conf, $content) );
 
@@ -68,7 +70,7 @@ E_NOTE
         if ( $new_perldoc ) {
             $TEMP_pod_build .= <<"END"
 ops$slash$pod: ..${slash}src${slash}ops${slash}$ops
-\t\$(PERLDOC) -ud ops${slash}$pod ..${slash}src${slash}ops${slash}$ops
+\t\$(PERLDOC) -u ..${slash}src${slash}ops${slash}$ops > ops${slash}$pod 
 \t\$(CHMOD) 0644 ops${slash}$pod
 
 END