The branch, master has been updated
via 8959140e24a056f5be53eb1563345c84baa8e0ef (commit)
from dbad623b0dbff674019e630286d46ed62c8ddb32 (commit)
- Shortlog ------------------------------------------------------------
8959140 Dpkg::Deps::parse(): handle empty fields properly instead of returning
undef
Summary of changes:
ChangeLog | 3 ++-
debian/changelog | 4 ++--
scripts/Dpkg/Deps.pm | 1 -
scripts/dpkg-gencontrol.pl | 11 ++++++-----
4 files changed, 10 insertions(+), 9 deletions(-)
-----------------------------------------------------------------------
Details of changes:
commit 8959140e24a056f5be53eb1563345c84baa8e0ef
Author: Raphael Hertzog <[EMAIL PROTECTED]>
Date: Mon Nov 19 23:17:40 2007 +0100
Dpkg::Deps::parse(): handle empty fields properly instead of returning undef
And revert previous changes made to dpkg-gencontrol to skip empty fields.
diff --git a/ChangeLog b/ChangeLog
index 3620978..dd384c2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -7,7 +7,8 @@
problem (when a RPATH contains $ORIGIN and when the value of
this variable can't be determined because we don't know what
is the root directory of the temporary tree).
- * scripts/dpkg-gencontrol.pl: Don't try to parse empty fields.
+ * scripts/Dpkg/Deps.pm: Fix parse() to handle empty fields instead
+ of returning undef.
2007-11-19 Guillem Jover <[EMAIL PROTECTED]>
diff --git a/debian/changelog b/debian/changelog
index fd36dc4..9d6dd58 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,8 +2,8 @@ dpkg (1.14.9) UNRELEASED; urgency=low
[ Raphael Hertzog ]
* Fix bad behaviour of Dpkg::Path::get_pkg_root_dir() and adjust
- dpkg-shlibdeps accordingly.
- * Fix dpkg-gencontrol to not try to parse and simplify empty fields.
+ dpkg-shlibdeps accordingly. Closes: #452012
+ * Fix Dpkg::Deps to accept empty fields. Closes: #452013
[ Updated man pages translations ]
* German (Helge Kreutzmann).
diff --git a/scripts/Dpkg/Deps.pm b/scripts/Dpkg/Deps.pm
index 673f9df..3b5ca3a 100644
--- a/scripts/Dpkg/Deps.pm
+++ b/scripts/Dpkg/Deps.pm
@@ -321,7 +321,6 @@ sub parse {
push @dep_list, $dep_or;
}
}
- return undef if not @dep_list;
my $dep_and;
if ($options{union}) {
$dep_and = Dpkg::Deps::Union->new();
diff --git a/scripts/dpkg-gencontrol.pl b/scripts/dpkg-gencontrol.pl
index f34660b..623809f 100755
--- a/scripts/dpkg-gencontrol.pl
+++ b/scripts/dpkg-gencontrol.pl
@@ -249,19 +249,20 @@ if (exists $fi{"C$myindex Provides"}) {
my (@seen_deps);
foreach my $field (@pkg_dep_fields) {
my $key = "C$myindex $field";
- if (exists $fi{$key} and $fi{$key}) {
+ if (exists $fi{$key}) {
my $dep;
+ my $field_value = substvars($fi{$key});
if ($dep_field_type{$field} eq 'normal') {
- $dep = Dpkg::Deps::parse(substvars($fi{$key}), use_arch => 1,
+ $dep = Dpkg::Deps::parse($field_value, use_arch => 1,
reduce_arch => 1);
- error(_g("error occurred while parsing %s"), $_) unless defined
$dep;
+ error(_g("error occurred while parsing %s"), $field_value) unless
defined $dep;
$dep->simplify_deps($facts, @seen_deps);
# Remember normal deps to simplify even further weaker deps
push @seen_deps, $dep if $dep_field_type{$field} eq 'normal';
} else {
- $dep = Dpkg::Deps::parse(substvars($fi{$key}), use_arch => 1,
+ $dep = Dpkg::Deps::parse($field_value, use_arch => 1,
reduce_arch => 1, union => 1);
- error(_g("error occurred while parsing %s"), $_) unless defined
$dep;
+ error(_g("error occurred while parsing %s"), $field_value) unless
defined $dep;
$dep->simplify_deps($facts);
}
$dep->sort();
--
dpkg's main repository
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]