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]

Reply via email to