diff options
-rw-r--r-- | debian.Changelog | 7 | ||||
-rwxr-xr-x | debian.rules | 2 | ||||
-rw-r--r-- | dselect/pkgdepcon.cc | 14 | ||||
-rw-r--r-- | dselect/pkgdisplay.cc | 6 | ||||
-rw-r--r-- | version.h | 2 |
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", "?" }; @@ -1 +1 @@ -#define DPKG_VERSION "1.2.9" /* This line modified by Makefile */ +#define DPKG_VERSION "1.2.11" /* This line modified by Makefile */ |