diff options
Diffstat (limited to 'dh_strip')
-rwxr-xr-x | dh_strip | 71 |
1 files changed, 0 insertions, 71 deletions
diff --git a/dh_strip b/dh_strip deleted file mode 100755 index 9d6ab050..00000000 --- a/dh_strip +++ /dev/null @@ -1,71 +0,0 @@ -#!/usr/bin/perl -w -# -# Strip files. - -use File::Find; -BEGIN { push @INC, "debian", "/usr/share/debhelper" } -use Dh_Lib; -init(); - -# Check if a file is an elf binary, shared library, or static library, -# for use by File::Find. It'll fill the following 3 arrays with anything -# it finds: -my (@shared_libs, @executables, @static_libs); -sub testfile { - return if -l $_ or -d $_; # Skip directories and symlinks always. - - # See if we were asked to exclude this file. - # Note that we have to test on the full filename, including directory. - $fn="$File::Find::dir/$_"; - foreach $f (@{$dh{EXCLUDE}}) { - return if ($fn=~m/\Q$f\E/); - } - - # Does its filename look like a shared library? - if (m/.*\.so.*?/) { - # Ok, do the expensive test. - my $type=`file $_`; - if ($type=~m/.*ELF.*shared.*/) { - push @shared_libs, $fn; - return; - } - } - - # Is it executable? -x isn't good enough, so we need to use stat. - (undef,undef,$mode,undef)=stat(_); - if ($mode & 0111) { - # Ok, expensive test. - my $type=`file $_`; - if ($type=~m/.*ELF.*executable.*/) { - push @executables, $fn; - return; - } - } - - # Is it a static library, and not a debug library? - if (m/lib.*\.a/ && ! m/.*_g\.a/) { - push @static_libs, $fn; - return; - } -} - -foreach $PACKAGE (@{$dh{DOPACKAGES}}) { - $TMP=tmpdir($PACKAGE); - - @shared_libs=@executables=@static_libs=(); - find(\&testfile,$TMP); - - foreach (@shared_libs) { - # Note that all calls to strip on shared libs - # *must* inclde the --strip-unneeded. - doit("strip","--remove-section=.comment","--remove-section=.note","--strip-unneeded",$_); - } - - foreach (@executables) { - doit("strip","--remove-section=.comment","--remove-section=.note",$_); - } - - foreach (@static_libs) { - doit("strip","--strip-debug",$_); - } -} |