Просмотр исходного кода

Handling of compression level in dpkg-source

* scripts/Dpkg/Source/Archiver.pm (create): Forward properly the
compression level.
* scripts/Dpkg/Source/Archiver.pm (extract): Correct parameters in
an error message.
* scripts/dpkg-source.pl: Take into account the compression level
when generating a new tarball.
Raphael Hertzog лет назад: 18
Родитель
Сommit
4497ea352f
2 измененных файлов с 8 добавлено и 3 удалено
  1. 6 2
      scripts/Dpkg/Source/Archiver.pm
  2. 2 1
      scripts/dpkg-source.pl

+ 6 - 2
scripts/Dpkg/Source/Archiver.pm

@@ -93,6 +93,10 @@ sub create {
 	    compressed_filename => $self->get_filename(),
 	    compression => $self->{"compression"},
 	);
+	if ($self->{"compression_level"}) {
+	    $self->{"compressor"}->set_compression_level(
+		$self->{"compression_level"});
+	}
 	$self->{"compressor"}->compress(from_pipe => \$fork_opts{"to_handle"});
     } else {
 	$fork_opts{"to_file"} = $self->get_filename();
@@ -208,8 +212,8 @@ sub extract {
 		syserr(_g("Unable to rename %s to %s"),
 		       "$tmp/$entries[0]", $dest);
     } else {
-	rename($tmp, $dest) || syserr(_g("Unable to rename %s to %s"),
-				      "$tmp/$_", "$dest/$_");
+	rename($tmp, $dest) ||
+		syserr(_g("Unable to rename %s to %s"), $tmp, $dest);
     }
     rmtree($tmp);
 }

+ 2 - 1
scripts/dpkg-source.pl

@@ -595,7 +595,8 @@ if ($opmode eq 'build') {
 	my ($ntfh, $newtar) = tempfile("$tarname.new.XXXXXX",
 				       DIR => getcwd(), UNLINK => 0);
 	my $tar = Dpkg::Source::Archiver->new(filename => $newtar,
-		    compression => get_compression_from_filename($tarname));
+		    compression => get_compression_from_filename($tarname),
+		    compression_level => $comp_level);
 	$tar->create(options => \@tar_ignore);
 	$tar->add_directory($tardirname);
 	$tar->close();