bubulle@debian.org лет назад: 19
Родитель
Сommit
bb45432117
7 измененных файлов с 57 добавлено и 23 удалено
  1. 6 3
      apt-pkg/depcache.cc
  2. 14 13
      apt-pkg/pkgrecords.cc
  3. 3 2
      apt-pkg/pkgrecords.h
  4. 2 1
      cmdline/apt-get.cc
  5. 1 1
      configure.in
  6. 30 2
      debian/changelog
  7. 1 1
      debian/control

+ 6 - 3
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

+ 14 - 13
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		/*{{{*/

+ 3 - 2
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

+ 2 - 1
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;

+ 1 - 1
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)

+ 30 - 2
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
   

+ 1 - 1
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/