diff options
-rw-r--r-- | apt-pkg/depcache.cc | 9 | ||||
-rw-r--r-- | apt-pkg/pkgrecords.cc | 27 | ||||
-rw-r--r-- | apt-pkg/pkgrecords.h | 5 | ||||
-rw-r--r-- | cmdline/apt-get.cc | 3 | ||||
-rw-r--r-- | configure.in | 2 | ||||
-rw-r--r-- | debian/changelog | 32 | ||||
-rw-r--r-- | debian/control | 2 |
7 files changed, 57 insertions, 23 deletions
diff --git a/apt-pkg/depcache.cc b/apt-pkg/depcache.cc index 50a75843f..7f5719454 100644 --- a/apt-pkg/depcache.cc +++ b/apt-pkg/depcache.cc @@ -1285,6 +1285,7 @@ void pkgDepCache::MarkPackage(const pkgCache::PkgIterator &pkg, bool follow_suggests) { pkgDepCache::StateCache &state = PkgState[pkg->ID]; + VerIterator currver = pkg.CurrentVer(); VerIterator candver = state.CandidateVerIter(*this); VerIterator instver = state.InstVerIter(*this); @@ -1305,9 +1306,11 @@ void pkgDepCache::MarkPackage(const pkgCache::PkgIterator &pkg, } #endif - // Ignore versions other than the InstVer, and ignore packages - // that are already going to be removed or just left uninstalled. - if(!(ver == instver && !instver.end())) + // For packages that are not going to be removed, ignore versions + // other than the InstVer. For packages that are going to be + // removed, ignore versions other than the current version. + if(!(ver == instver && !instver.end()) && + !(ver == currver && instver.end() && !ver.end())) return; // if we are marked already we are done diff --git a/apt-pkg/pkgrecords.cc b/apt-pkg/pkgrecords.cc index 0aaa2096a..e506de73a 100644 --- a/apt-pkg/pkgrecords.cc +++ b/apt-pkg/pkgrecords.cc @@ -20,25 +20,23 @@ // Records::pkgRecords - Constructor /*{{{*/ // --------------------------------------------------------------------- /* This will create the necessary structures to access the status files */ -pkgRecords::pkgRecords(pkgCache &Cache) : Cache(Cache), Files(0) +pkgRecords::pkgRecords(pkgCache &Cache) : Cache(Cache), + Files(Cache.HeaderP->PackageFileCount) { - Files = new Parser *[Cache.HeaderP->PackageFileCount]; - memset(Files,0,sizeof(*Files)*Cache.HeaderP->PackageFileCount); - - for (pkgCache::PkgFileIterator I = Cache.FileBegin(); - I.end() == false; I++) + for (pkgCache::PkgFileIterator I = Cache.FileBegin(); + I.end() == false; I++) { const pkgIndexFile::Type *Type = pkgIndexFile::Type::GetType(I.IndexType()); if (Type == 0) { - _error->Error(_("Index file type '%s' is not supported"),I.IndexType()); - return; + _error->Error(_("Index file type '%s' is not supported"),I.IndexType()); + return; } Files[I->ID] = Type->CreatePkgParser(I); if (Files[I->ID] == 0) - return; - } + return; + } } /*}}}*/ // Records::~pkgRecords - Destructor /*{{{*/ @@ -46,9 +44,12 @@ pkgRecords::pkgRecords(pkgCache &Cache) : Cache(Cache), Files(0) /* */ pkgRecords::~pkgRecords() { - for (unsigned I = 0; I != Cache.HeaderP->PackageFileCount; I++) - delete Files[I]; - delete [] Files; + for ( vector<Parser*>::iterator it = Files.begin(); + it != Files.end(); + ++it) + { + delete *it; + } } /*}}}*/ // Records::Lookup - Get a parser for the package version file /*{{{*/ diff --git a/apt-pkg/pkgrecords.h b/apt-pkg/pkgrecords.h index ea1a23fc4..7b9f51a50 100644 --- a/apt-pkg/pkgrecords.h +++ b/apt-pkg/pkgrecords.h @@ -20,6 +20,7 @@ #include <apt-pkg/pkgcache.h> #include <apt-pkg/fileutl.h> +#include <vector> class pkgRecords { @@ -29,8 +30,8 @@ class pkgRecords private: pkgCache &Cache; - Parser **Files; - + std::vector<Parser *>Files; + public: // Lookup function diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc index 554677f39..aa54677be 100644 --- a/cmdline/apt-get.cc +++ b/cmdline/apt-get.cc @@ -1519,7 +1519,8 @@ bool TryInstallTask(pkgDepCache &Cache, pkgProblemResolver &Fix, // build regexp for the task char S[300]; - snprintf(S, sizeof(S), "^Task:.*[^a-z]%s[^a-z].*\n", taskname); + // better: "^Task:.*[^a-z]lamp-server([^a-z]|\n)" ? + snprintf(S, sizeof(S), "^Task:.*[^a-z]%s[^a-z].*$", taskname); regcomp(&Pattern,S, REG_EXTENDED | REG_NOSUB | REG_NEWLINE); bool found = false; diff --git a/configure.in b/configure.in index 34d4dcc78..4daa0ab78 100644 --- a/configure.in +++ b/configure.in @@ -18,7 +18,7 @@ AC_CONFIG_AUX_DIR(buildlib) AC_CONFIG_HEADER(include/config.h:buildlib/config.h.in include/apti18n.h:buildlib/apti18n.h.in) dnl -- SET THIS TO THE RELEASE VERSION -- -AC_DEFINE_UNQUOTED(VERSION,"0.7.2") +AC_DEFINE_UNQUOTED(VERSION,"0.7.2-0.1") PACKAGE="apt" AC_DEFINE_UNQUOTED(PACKAGE,"$PACKAGE") AC_SUBST(PACKAGE) diff --git a/debian/changelog b/debian/changelog index ea8113e95..cb86ce580 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,11 +1,39 @@ +apt (0.7.4) UNRELEASED; urgency=low + + * Fix a typo on 0.7.3 changelog entry about g++ (7.3 to 4.3) + + -- Otavio Salvador <otavio@ossystems.com.br> Mon, 02 Jul 2007 13:27:54 -0300 + apt (0.7.3) unstable; urgency=low - * fixed compile errors with g++ 7.3 (thanks to + * fixed compile errors with g++ 4.3 (thanks to Daniel Burrows, closes: #429378) + * fixes in the auto-mark code (thanks to Daniel + Burrows) * fix FTFBFS by changing build-depends to libcurl4-gnutls-dev (closes: #428363) + * cmdline/apt-get.cc: + - fix InstallTask code when a pkgRecord ends + with a single '\n' (thanks to Soren Hansen for reporting) + * merged from Christian Perrier: + * vi.po: completed to 532t, again. Closes: #429899 + * gl.po: completed to 532t. Closes: #429506 + * vi.po: completed to 532t. Closes: #428672 + * Update all PO and the POT. Gives 514t14f4u for formerly + complete translations + * fr.po: completed to 532t + * ku.po, uk.po, LINGUAS: reintegrate those translations + which disappeared from the BZR repositories + + -- Michael Vogt <mvo@debian.org> Sun, 01 Jul 2007 12:31:29 +0200 + +apt (0.7.2-0.1) unstable; urgency=low + + * Non-maintainer upload. + * Build-depend on libcurl4-gnutls-dev instead of the obsolete + libcurl3-gnutls-dev. Closes: #428363. - -- + -- Steve Langasek <vorlon@debian.org> Thu, 28 Jun 2007 18:46:53 -0700 apt (0.7.2) unstable; urgency=low diff --git a/debian/control b/debian/control index 760c0176f..7939e1bca 100644 --- a/debian/control +++ b/debian/control @@ -4,7 +4,7 @@ Priority: important Maintainer: APT Development Team <deity@lists.debian.org> Uploaders: Jason Gunthorpe <jgg@debian.org>, Adam Heath <doogie@debian.org>, Matt Zimmerman <mdz@debian.org>, Michael Vogt <mvo@debian.org> Standards-Version: 3.7.2.2 -Build-Depends: debhelper (>= 5.0), libdb4.4-dev, gettext (>= 0.12), libcurl4-gnutls-dev (>= 7.15.5) +Build-Depends: debhelper (>= 5.0), libdb4.4-dev, gettext (>= 0.12), libcurl4-gnutls-dev | libcurl3-gnutls-dev (>= 7.15.5) Build-Depends-Indep: debiandoc-sgml, docbook-utils (>= 0.6.12-1) XS-Vcs-Bzr: http://bzr.debian.org/apt/debian-sid/ |