=head1 NOTES
If the DEB_BUILD_OPTIONS environment variable contains "nostrip", nothing
-will be stripped, in accordance with Debian policy.
+will be stripped, in accordance with Debian policy (section 10.1
+"Binaries").
=head1 CONFORMS TO
my $file=shift;
my $tmp=shift;
my $desttmp=shift;
+
+ # Don't try to copy debug symbols out if the file is already
+ # stripped.
+ return unless get_file_type($file) =~ /not stripped/;
my ($base_file)=$file=~/^\Q$tmp\E(.*)/;
my $debug_path=$desttmp."/usr/lib/debug/".$base_file;
my $tmp=tmpdir($package);
# Support for keeping the debugging symbols in a detached file.
- my $keep_debug=$dh{KEEP_DEBUG};
+ my $keep_debug=$dh{K_FLAG};
my $debugtmp=$tmp;
if (! compat(4)) {
if (ref $dh{DEBUGPACKAGES}) {
$keep_debug=1;
# Note that it's only an array for the v4 stuff;
# for v5 only one value is used.
- $debugtmp=tmpdir(@{$dh{DEBUGPACKAGES}}[0]);
+ my $debugpackage=@{$dh{DEBUGPACKAGES}}[0];
+ if (! grep { $_ eq $debugpackage } getpackages()) {
+ error("debug package $debugpackage is not listed in the control file");
+ }
+ $debugtmp=tmpdir($debugpackage);
}
}
else {
# *must* inclde the --strip-unneeded.
doit("strip","--remove-section=.comment",
"--remove-section=.note","--strip-unneeded",$_);
- attach_debug($_, $debug_path) if $keep_debug;
+ attach_debug($_, $debug_path) if defined $debug_path;
}
foreach (@executables) {
my $debug_path = make_debug($_, $tmp, $debugtmp) if $keep_debug;
doit("strip","--remove-section=.comment",
"--remove-section=.note",$_);
- attach_debug($_, $debug_path) if $keep_debug
+ attach_debug($_, $debug_path) if defined $debug_path;
}
foreach (@static_libs) {