Преглед изворни кода

dpkg (1.2.11); priority=MEDIUM

  * dselect had dependency bug if installed package newer than avail.
  * Added `replaces' to dselect's list of package relationship strings.

 -- Ian Jackson <ian@chiark.chu.cam.ac.uk>  Mon, 1 Jul 1996 02:51:11 +0100
Ian Jackson пре 30 година
родитељ
комит
3a5b7e80af
5 измењених фајлова са 20 додато и 11 уклоњено
  1. 7 0
      debian.Changelog
  2. 1 1
      debian.rules
  3. 8 6
      dselect/pkgdepcon.cc
  4. 3 3
      dselect/pkgdisplay.cc
  5. 1 1
      version.h

+ 7 - 0
debian.Changelog

@@ -1,3 +1,10 @@
+dpkg (1.2.11); priority=MEDIUM
+
+  * dselect had dependency bug if installed package newer than avail.
+  * Added `replaces' to dselect's list of package relationship strings.
+
+ -- Ian Jackson <ian@chiark.chu.cam.ac.uk>  Mon, 1 Jul 1996 02:51:11 +0100
+
 dpkg (1.2.10); priority=MEDIUM
 
   * Fixed bug in old-style version/revision number parsing.  (Bug#3440.)

+ 1 - 1
debian.rules

@@ -1,7 +1,7 @@
 #!/usr/bin/make -f
 
 package=dpkg
-version=1.2.10
+version=1.2.11
 
 archi=$(shell dpkg --print-architecture)
 DIR:=$(shell pwd)

+ 8 - 6
dselect/pkgdepcon.cc

@@ -39,7 +39,7 @@ int packagelist::useavailable(pkginfo *pkg) {
       pkg->clientdata->selected == pkginfo::want_install &&
       informative(pkg,&pkg->available) &&
       (pkg->status != pkginfo::stat_installed ||
-       versioncompare(&pkg->available.version,&pkg->installed.version) > 1))
+       versioncompare(&pkg->available.version,&pkg->installed.version) > 0))
     return 1;
   else
     return 0;
@@ -48,6 +48,8 @@ int packagelist::useavailable(pkginfo *pkg) {
 pkginfoperfile *packagelist::findinfo(pkginfo *pkg) {
   pkginfoperfile *r;
   r= useavailable(pkg) ? &pkg->available : &pkg->installed;
+  if (debug)
+    fprintf(debug,"packagelist[%p]::findinfo(%s) useavailable=%d\n",this,pkg->name,useavailable(pkg));
   if (!r->valid) blankpackageperfile(r);
   return r;
 }
@@ -350,17 +352,17 @@ int packagelist::deppossatisfied(deppossi *possi, perpackagestate **fixbyupgrade
     // the right version, and therefore OK, or a version must have
     // been specified, in which case we don't need to look at the rest
     // anyway.
-    if (want == pkginfo::want_hold) {
+    if (useavailable(possi->ed)) {
+      assert(want == pkginfo::want_install);
+      return versionsatisfied(&possi->ed->available,possi);
+    } else {
       if (versionsatisfied(&possi->ed->installed,possi)) return 1;
-      if (fixbyupgrade && !*fixbyupgrade &&
+      if (want == pkginfo::want_hold && fixbyupgrade && !*fixbyupgrade &&
           versionsatisfied(&possi->ed->available,possi) &&
           versioncompare(&possi->ed->available.version,
                          &possi->ed->installed.version) > 1)
         *fixbyupgrade= possi->ed->clientdata;
       return 0;
-    } else {
-      assert(want == pkginfo::want_install);
-      return versionsatisfied(&possi->ed->available,possi);
     }
   }
   if (possi->verrel != deppossi::dvr_none) return 0;

+ 3 - 3
dselect/pkgdisplay.cc

@@ -39,12 +39,12 @@ const char
   *const eflagstrings[]=   { "", "REINSTALL", 0 },
   *const statusstrings[]= { "not installed", "unpacked (not set up)",
                             "failed config", "installed", "half installed",
-                            "removed (configs remain)", 0                            },
+                            "removed (configs remain)", 0                             },
   *const prioritystrings[]=  { "Required", "Important", "Standard", "Recommended",
                                "Optional", "Extra", "Contrib",
-                               "!Bug!", "Unclassified", 0                          },
+                               "!Bug!", "Unclassified", 0                             },
   *const relatestrings[]= { "suggests", "recommends", "depends on", "pre-depends on",
-                            "conflicts with", "provides", 0              },
+                            "conflicts with", "provides", "replaces", 0               },
   *const priorityabbrevs[]=  { "Req", "Imp", "Std", "Rec",
                                "Opt", "Xtr", "Ctb",
                                "bUG", "?"                  };

+ 1 - 1
version.h

@@ -1 +1 @@
-#define DPKG_VERSION "1.2.9" /* This line modified by Makefile */
+#define DPKG_VERSION "1.2.11" /* This line modified by Makefile */