Przeglądaj źródła

Merge branch 'master' of ssh://git.debian.org/git/dpkg/dpkg

Peter Karlsson 19 lat temu
rodzic
commit
a3883b2558
3 zmienionych plików z 22 dodań i 14 usunięć
  1. 12 0
      ChangeLog
  2. 6 12
      scripts/dpkg-gencontrol.pl
  3. 4 2
      scripts/update-alternatives.pl

+ 12 - 0
ChangeLog

@@ -1,3 +1,15 @@
+2007-08-28  Guillem Jover  <guillem@debian.org>
+
+	* scripts/update-alternatives.pl: Fix regression introduced on commit
+	from 2007-08-08, which was producing a warning due to usage of
+	uninitialized variables.
+
+2007-08-28  Guillem Jover  <guillem@debian.org>
+
+	* scripts/dpkg-gencontrol.pl: Add comments about the second pass
+	parsing for dependency fields. Remove handling of uninteresting fields
+	in the second pass parsing.
+
 2007-08-24  Guillem Jover  <guillem@debian.org>
 
 	* scripts/dpkg-gencontrol.pl: Allow a package stanza to override the

+ 6 - 12
scripts/dpkg-gencontrol.pl

@@ -160,6 +160,7 @@ for $_ (keys %fi) {
         if (m/^(Package|Description|Homepage|Essential|Optional)$/) {
             $f{$_}= $v;
         } elsif (exists($pkg_dep_fields{$_})) {
+	    # Delay the parsing until later
         } elsif (m/^Section$|^Priority$/) {
             $spvalue{$_}= $v;
         } elsif (m/^Architecture$/) {
@@ -213,25 +214,18 @@ $f{'Version'} = $forceversion if defined($forceversion);
 &init_substvars;
 init_substvar_arch();
 
+# Process dependency fields in a second pass, now that substvars have been
+# initialized.
+
 for $_ (keys %fi) {
     my $v = $fi{$_};
 
-    if (s/^C //) {
-    } elsif (s/^C$myindex //) {
-        if (m/^(Package|Description|Essential|Optional)$/) {
-        } elsif (exists($pkg_dep_fields{$_})) {
+    if (s/^C$myindex //) {
+        if (exists($pkg_dep_fields{$_})) {
            my $dep = parsedep(substvars($v), 1, 1);
            &error(sprintf(_g("error occurred while parsing %s"), $_)) unless defined $dep;
             $f{$_}= showdep($dep, 0);
-        } elsif (m/^Section$|^Priority$/) {
-        } elsif (m/^Architecture$/) {
-        } elsif (s/^X[CS]*B[CS]*-//i) {
-        } elsif (!m/^X[CS]+-/i) {
         }
-    } elsif (m/^C\d+ /) {
-    } elsif (s/^L //) {
-    } elsif (m/o:/) {
-    } else {
     }
 }
 

+ 4 - 2
scripts/update-alternatives.pl

@@ -595,12 +595,14 @@ if ($mode eq 'auto') {
 	    unlink("$slink") || $! == &ENOENT ||
 	        &quit(sprintf(_g("unable to remove %s: %s"), $slink, $!));
         } else {
-	    if (!defined($linkname= readlink($slink)) && $! != ENOENT) {
+	    $linkname = readlink($slink);
+	    if (!defined($linkname) && $! != ENOENT) {
 		pr(sprintf(_g("warning: %s is supposed to be a slave symlink to\n".
 		              " %s, or nonexistent; however, readlink failed: %s"),
 		           $slink, "$altdir/$sname", $!))
 		    if $verbosemode > 0;
-	    } elsif ($linkname ne "$altdir/$sname") {
+	    } elsif (!defined($linkname) ||
+	            (defined($linkname) && $linkname ne "$altdir/$sname")) {
 		unlink("$slink.dpkg-tmp") || $! == ENOENT ||
 		    quit(sprintf(_g("unable to ensure %s nonexistent: %s"),
 		                 "$slink.dpkg-tmp", $!));