summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian.Changelog7
-rwxr-xr-xdebian.rules2
-rw-r--r--dselect/pkgdepcon.cc14
-rw-r--r--dselect/pkgdisplay.cc6
-rw-r--r--version.h2
5 files changed, 20 insertions, 11 deletions
diff --git a/debian.Changelog b/debian.Changelog
index 028864214..72e68c221 100644
--- a/debian.Changelog
+++ b/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.)
diff --git a/debian.rules b/debian.rules
index c2b8c9678..98344d896 100755
--- a/debian.rules
+++ b/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)
diff --git a/dselect/pkgdepcon.cc b/dselect/pkgdepcon.cc
index bfe48c985..a6abb3094 100644
--- a/dselect/pkgdepcon.cc
+++ b/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;
diff --git a/dselect/pkgdisplay.cc b/dselect/pkgdisplay.cc
index 89d0ee533..92c31a868 100644
--- a/dselect/pkgdisplay.cc
+++ b/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", "?" };
diff --git a/version.h b/version.h
index 0c01a69b8..c6c0a5552 100644
--- a/version.h
+++ b/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 */