* 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.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.)
#!/usr/bin/make -f
package=dpkg
-version=1.2.10
+version=1.2.11
archi=$(shell dpkg --print-architecture)
DIR:=$(shell pwd)
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;
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;
}
// 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;
*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", "?" };
-#define DPKG_VERSION "1.2.9" /* This line modified by Makefile */
+#define DPKG_VERSION "1.2.11" /* This line modified by Makefile */