[dpkg] 123/192: Dpkg::Control::FieldsCore: Do not execute code at import time
Ximin Luo
infinity0 at debian.org
Tue Oct 17 11:04:09 UTC 2017
This is an automated email from the git hooks/post-receive script.
infinity0 pushed a commit to branch pu/reproducible_builds
in repository dpkg.
commit f0fa8190fe02bb9db8168ae6a67f592f135b06c2
Author: Guillem Jover <guillem at debian.org>
Date: Sat Jul 15 15:07:53 2017 +0200
Dpkg::Control::FieldsCore: Do not execute code at import time
---
debian/changelog | 1 +
scripts/Dpkg/Control/FieldsCore.pm | 32 +++++++++++++++++++++-----------
2 files changed, 22 insertions(+), 11 deletions(-)
diff --git a/debian/changelog b/debian/changelog
index b52fa07..b61851f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -53,6 +53,7 @@ dpkg (1.19.0) UNRELEASED; urgency=medium
- Switch to use lowercase field names for all internal field name
handling in Dpkg::Control::FieldsCore, giving a significant speed up.
- Remove dependency on Dpkg::Checksums from Dpkg::Control::FieldsCore.
+ - Do not execute code when importing Dpkg::Control::FieldsCore.
* Documentation:
- Document currently accepted syntax for changelogs in deb-changelog(5).
Closes: #858579
diff --git a/scripts/Dpkg/Control/FieldsCore.pm b/scripts/Dpkg/Control/FieldsCore.pm
index 937ef60..f5c38d6 100644
--- a/scripts/Dpkg/Control/FieldsCore.pm
+++ b/scripts/Dpkg/Control/FieldsCore.pm
@@ -584,6 +584,10 @@ our %FIELDS = (
},
);
+my @src_dep_fields = qw(build-depends build-depends-arch build-depends-indep
+ build-conflicts build-conflicts-arch build-conflicts-indep);
+my @bin_dep_fields = qw(pre-depends depends recommends suggests enhances
+ conflicts breaks replaces provides built-using);
my @src_checksums_fields = qw(checksums-md5 checksums-sha1 checksums-sha256);
my @bin_checksums_fields = qw(md5sum sha1 sha256);
@@ -592,16 +596,31 @@ our %FIELD_ORDER = (
qw(package package-type source version built-using kernel-version
built-for-profiles auto-built-package architecture subarchitecture
installer-menu-item build-essential essential origin bugs
- maintainer installed-size), map { lc } &field_list_pkg_dep(),
+ maintainer installed-size), @bin_dep_fields,
+ qw(section priority multi-arch homepage description tag task)
+ ],
+ CTRL_INDEX_PKG() => [
+ qw(package package-type source version built-using kernel-version
+ built-for-profiles auto-built-package architecture subarchitecture
+ installer-menu-item build-essential essential origin bugs
+ maintainer installed-size), @bin_dep_fields,
+ qw(filename size), @bin_checksums_fields,
qw(section priority multi-arch homepage description tag task)
],
CTRL_PKG_SRC() => [
qw(format source binary architecture version origin maintainer
uploaders homepage standards-version vcs-browser
vcs-arch vcs-bzr vcs-cvs vcs-darcs vcs-git vcs-hg vcs-mtn
- vcs-svn testsuite testsuite-triggers), map { lc } &field_list_src_dep(),
+ vcs-svn testsuite testsuite-triggers), @src_dep_fields,
qw(package-list), @src_checksums_fields, qw(files)
],
+ CTRL_INDEX_SRC() => [
+ qw(format package binary architecture version priority section
+ origin maintainer uploaders homepage standards-version vcs-browser
+ vcs-arch vcs-bzr vcs-cvs vcs-darcs vcs-git vcs-hg vcs-mtn vcs-svn
+ testsuite testsuite-triggers), @src_dep_fields,
+ qw(package-list directory), @src_checksums_fields, qw(files)
+ ],
CTRL_FILE_BUILDINFO() => [
qw(format source binary architecture version binary-only-changes),
@src_checksums_fields,
@@ -644,15 +663,6 @@ our %FIELD_ORDER = (
qw(license comment)
],
);
-# Order for CTRL_INDEX_PKG is derived from CTRL_PKG_DEB
-$FIELD_ORDER{CTRL_INDEX_PKG()} = [ @{$FIELD_ORDER{CTRL_PKG_DEB()}} ];
-&field_insert_before(CTRL_INDEX_PKG, 'section', 'filename', 'size', @bin_checksums_fields);
-# Order for CTRL_INDEX_SRC is derived from CTRL_PKG_SRC
-$FIELD_ORDER{CTRL_INDEX_SRC()} = [ @{$FIELD_ORDER{CTRL_PKG_SRC()}} ];
-@{$FIELD_ORDER{CTRL_INDEX_SRC()}} = map { $_ eq 'source' ? 'package' : $_ }
- @{$FIELD_ORDER{CTRL_PKG_SRC()}};
-&field_insert_after(CTRL_INDEX_SRC, 'version', 'priority', 'section');
-&field_insert_before(CTRL_INDEX_SRC, 'checksums-md5', 'directory');
=encoding utf8
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/reproducible/dpkg.git
More information about the Reproducible-commits
mailing list