X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=dh_fixperms;h=6ef0905cfe20705c621071e77e8cda80a05501ce;hb=df039c056c05f457dcaac722e7023745759ae29e;hp=738033e21c12249ea1aee0aabd33a5627eecf2a4;hpb=0421f40bd9885680ce6e90c9f641e7f76a8fb554;p=debhelper.git diff --git a/dh_fixperms b/dh_fixperms index 738033e..6ef0905 100755 --- a/dh_fixperms +++ b/dh_fixperms @@ -57,7 +57,7 @@ foreach my $package (@{$dh{DOPACKAGES}}) { "2>/dev/null | xargs -0r chown --no-dereference 0:0"); complex_doit("find $tmp ! -type l $find_options -print0", "2>/dev/null | xargs -0r chmod go=rX,u+rw,a-s"); - + # Fix up premissions in usr/share/doc, setting everything to not # executable by default, but leave examples directories alone. complex_doit("find $tmp/usr/share/doc -type f $find_options ! -regex '$tmp/usr/share/doc/[^/]*/examples/.*' -print0 2>/dev/null", @@ -75,22 +75,32 @@ foreach my $package (@{$dh{DOPACKAGES}}) { "\\( -name '*.so*' -or -name '*.la' -or -name '*.a' \\) $find_options -print0", "2>/dev/null | xargs -0r chmod 644"); + # ..and header files .. + complex_doit("find $tmp/usr/include -type f $find_options -print0", + "2>/dev/null | xargs -0r chmod 644"); + # .. and perl modules. complex_doit("find $tmp/usr/lib/perl5 $tmp/usr/share/perl5 -type f", "-perm -5 -name '*.pm' $find_options -print0", "2>/dev/null | xargs -0r chmod a-X"); - # v4 only + # v4 and up if (! compat(3)) { # Programs in the bin and init.d dirs should be executable.. for my $dir (qw{usr/bin bin usr/sbin sbin usr/games etc/init.d}) { if (-d "$tmp/$dir") { complex_doit("find $tmp/$dir -type f $find_options -print0 2>/dev/null", - "| xargs -0r chmod +x"); + "| xargs -0r chmod a+x"); } } } + # ADA ali files should be mode 444 to avoid recompilation + if (-d "$tmp/usr/lib/ada") { + complex_doit("find $tmp/usr/lib/ada -type f", + "-name '*.ali' $find_options -print0", + "2>/dev/null | xargs -0r chmod uga-w"); + } } =head1 SEE ALSO