]> git.donarmstrong.com Git - debhelper.git/blobdiff - dh_fixperms
r1956: * Correct some incorrect instances of "v4 only" in docs. Closes: #381536
[debhelper.git] / dh_fixperms
index 738033e21c12249ea1aee0aabd33a5627eecf2a4..775ab55e131428cae372fa13bb04e6c3ccda35a0 100755 (executable)
@@ -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,12 +75,17 @@ 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",
+               "-name '*.h' $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}) {
@@ -91,6 +96,12 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
                }
        }
        
+       # 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