summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuillem Jover <guillem@debian.org>2017-07-14 02:58:02 +0200
committerGuillem Jover <guillem@debian.org>2017-09-24 21:03:09 +0200
commit6f059fcf7b0d26ec6e4d6d3ea9a1ec342bd37f18 (patch)
tree79d4c676152217e064d67dd9dbdbd2450c4356ed
parent9db913167657ce6c5b208c63117069813f15c0ea (diff)
downloaddpkg-6f059fcf7b0d26ec6e4d6d3ea9a1ec342bd37f18.tar.gz
Dpkg::Vendor: Disable decompression support for origin files
These files are not supposed to be compressed, disabling decompression support gives a significant performance improvement for anything that is making use of vendor hooks, even if indirectly.
-rw-r--r--debian/changelog1
-rw-r--r--scripts/Dpkg/Vendor.pm2
2 files changed, 2 insertions, 1 deletions
diff --git a/debian/changelog b/debian/changelog
index fa11c0b28..b70b64598 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -38,6 +38,7 @@ dpkg (1.19.0) UNRELEASED; urgency=medium
- Avoid many function arguments in Dselect::Ftp do_connect().
- Add new Dpkg::Interface::Storable option to disable compression support,
so that we can load Dpkg::Compression::FileHandle only when enabled.
+ - Disable decompression support for Dpkg::Vendor origin files.
* Documentation:
- Document currently accepted syntax for changelogs in deb-changelog(5).
Closes: #858579
diff --git a/scripts/Dpkg/Vendor.pm b/scripts/Dpkg/Vendor.pm
index 96f81cffd..99b56b5ed 100644
--- a/scripts/Dpkg/Vendor.pm
+++ b/scripts/Dpkg/Vendor.pm
@@ -99,7 +99,7 @@ sub get_vendor_info(;$) {
my $file = get_vendor_file($vendor);
return unless $file;
my $fields = Dpkg::Control::HashCore->new();
- $fields->load($file) or error(g_('%s is empty'), $file);
+ $fields->load($file, compression => 0) or error(g_('%s is empty'), $file);
$VENDOR_CACHE{$vendor} = $fields;
return $fields;
}