Просмотр исходного кода

* apt-pkg/packagemanager.cc:
- do not spin 100% cpu in FixMissing() (LP#84476)

Michael Vogt лет назад: 19
Родитель
Сommit
ad08bf610f
3 измененных файлов с 39 добавлено и 36 удалено
  1. 2 1
      apt-pkg/packagemanager.cc
  2. 2 0
      debian/changelog
  3. 35 35
      po/apt-all.pot

+ 2 - 1
apt-pkg/packagemanager.cc

@@ -95,9 +95,10 @@ bool pkgPackageManager::GetArchives(pkgAcquire *Owner,pkgSourceList *Sources,
    be downloaded. */
 bool pkgPackageManager::FixMissing()
 {   
+   pkgDepCache::ActionGroup group(Cache);
    pkgProblemResolver Resolve(&Cache);
    List->SetFileList(FileNames);
-   
+
    bool Bad = false;
    for (PkgIterator I = Cache.PkgBegin(); I.end() == false; I++)
    {

+ 2 - 0
debian/changelog

@@ -9,6 +9,8 @@ apt (0.6.46.4ubuntu9) feisty; urgency=low
     - only umount if it was mounted by the method before
   * cmdline/apt-get.cc:
     - fix version output in autoremove list (LP#68941)
+  * apt-pkg/packagemanager.cc:
+    - do not spin 100% cpu in FixMissing() (LP#84476)
   
  -- 
 

+ 35 - 35
po/apt-all.pot

@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-02-09 16:54+0100\n"
+"POT-Creation-Date: 2007-03-13 13:35+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -251,7 +251,7 @@ msgid ""
 "  -o=? Set an arbitrary configuration option, eg -o dir::cache=/tmp\n"
 msgstr ""
 
-#: cmdline/apt-extracttemplates.cc:267 apt-pkg/pkgcachegen.cc:820
+#: cmdline/apt-extracttemplates.cc:267 apt-pkg/pkgcachegen.cc:819
 #, c-format
 msgid "Unable to write to %s"
 msgstr ""
@@ -1397,9 +1397,9 @@ msgid "The info and temp directories need to be on the same filesystem"
 msgstr ""
 
 #. Build the status cache
-#: apt-inst/deb/dpkgdb.cc:139 apt-pkg/pkgcachegen.cc:753
-#: apt-pkg/pkgcachegen.cc:822 apt-pkg/pkgcachegen.cc:827
-#: apt-pkg/pkgcachegen.cc:950
+#: apt-inst/deb/dpkgdb.cc:139 apt-pkg/pkgcachegen.cc:752
+#: apt-pkg/pkgcachegen.cc:821 apt-pkg/pkgcachegen.cc:826
+#: apt-pkg/pkgcachegen.cc:949
 msgid "Reading package lists"
 msgstr ""
 
@@ -1514,16 +1514,16 @@ msgstr ""
 msgid "Wrong CD-ROM"
 msgstr ""
 
-#: methods/cdrom.cc:164
+#: methods/cdrom.cc:166
 #, c-format
 msgid "Unable to unmount the CD-ROM in %s, it may still be in use."
 msgstr ""
 
-#: methods/cdrom.cc:169
+#: methods/cdrom.cc:171
 msgid "Disk not found."
 msgstr ""
 
-#: methods/cdrom.cc:177 methods/file.cc:79 methods/rsh.cc:264
+#: methods/cdrom.cc:179 methods/file.cc:79 methods/rsh.cc:264
 msgid "File not found"
 msgstr ""
 
@@ -2228,7 +2228,7 @@ msgstr ""
 msgid "Malformed line %u in source list %s (vendor id)"
 msgstr ""
 
-#: apt-pkg/packagemanager.cc:402
+#: apt-pkg/packagemanager.cc:403
 #, c-format
 msgid ""
 "This installation run will require temporarily removing the essential "
@@ -2236,7 +2236,7 @@ msgid ""
 "you really want to do it, activate the APT::Force-LoopBreak option."
 msgstr ""
 
-#: apt-pkg/pkgrecords.cc:37
+#: apt-pkg/pkgrecords.cc:35
 #, c-format
 msgid "Index file type '%s' is not supported"
 msgstr ""
@@ -2337,92 +2337,92 @@ msgstr ""
 msgid "Cache has an incompatible versioning system"
 msgstr ""
 
-#: apt-pkg/pkgcachegen.cc:120
+#: apt-pkg/pkgcachegen.cc:119
 #, c-format
 msgid "Error occurred while processing %s (NewPackage)"
 msgstr ""
 
-#: apt-pkg/pkgcachegen.cc:135
+#: apt-pkg/pkgcachegen.cc:134
 #, c-format
 msgid "Error occurred while processing %s (UsePackage1)"
 msgstr ""
 
-#: apt-pkg/pkgcachegen.cc:158
+#: apt-pkg/pkgcachegen.cc:157
 #, c-format
 msgid "Error occured while processing %s (NewFileDesc1)"
 msgstr ""
 
-#: apt-pkg/pkgcachegen.cc:183
+#: apt-pkg/pkgcachegen.cc:182
 #, c-format
 msgid "Error occurred while processing %s (UsePackage2)"
 msgstr ""
 
-#: apt-pkg/pkgcachegen.cc:187
+#: apt-pkg/pkgcachegen.cc:186
 #, c-format
 msgid "Error occurred while processing %s (NewFileVer1)"
 msgstr ""
 
-#: apt-pkg/pkgcachegen.cc:218
+#: apt-pkg/pkgcachegen.cc:217
 #, c-format
 msgid "Error occurred while processing %s (NewVersion1)"
 msgstr ""
 
-#: apt-pkg/pkgcachegen.cc:222
+#: apt-pkg/pkgcachegen.cc:221
 #, c-format
 msgid "Error occurred while processing %s (UsePackage3)"
 msgstr ""
 
-#: apt-pkg/pkgcachegen.cc:226
+#: apt-pkg/pkgcachegen.cc:225
 #, c-format
 msgid "Error occurred while processing %s (NewVersion2)"
 msgstr ""
 
-#: apt-pkg/pkgcachegen.cc:250
+#: apt-pkg/pkgcachegen.cc:249
 #, c-format
 msgid "Error occured while processing %s (NewFileDesc2)"
 msgstr ""
 
-#: apt-pkg/pkgcachegen.cc:256
+#: apt-pkg/pkgcachegen.cc:255
 msgid "Wow, you exceeded the number of package names this APT is capable of."
 msgstr ""
 
-#: apt-pkg/pkgcachegen.cc:259
+#: apt-pkg/pkgcachegen.cc:258
 msgid "Wow, you exceeded the number of versions this APT is capable of."
 msgstr ""
 
-#: apt-pkg/pkgcachegen.cc:262
+#: apt-pkg/pkgcachegen.cc:261
 msgid "Wow, you exceeded the number of descriptions this APT is capable of."
 msgstr ""
 
-#: apt-pkg/pkgcachegen.cc:265
+#: apt-pkg/pkgcachegen.cc:264
 msgid "Wow, you exceeded the number of dependencies this APT is capable of."
 msgstr ""
 
-#: apt-pkg/pkgcachegen.cc:293
+#: apt-pkg/pkgcachegen.cc:292
 #, c-format
 msgid "Error occurred while processing %s (FindPkg)"
 msgstr ""
 
-#: apt-pkg/pkgcachegen.cc:306
+#: apt-pkg/pkgcachegen.cc:305
 #, c-format
 msgid "Error occurred while processing %s (CollectFileProvides)"
 msgstr ""
 
-#: apt-pkg/pkgcachegen.cc:312
+#: apt-pkg/pkgcachegen.cc:311
 #, c-format
 msgid "Package %s %s was not found while processing file dependencies"
 msgstr ""
 
-#: apt-pkg/pkgcachegen.cc:683
+#: apt-pkg/pkgcachegen.cc:682
 #, c-format
 msgid "Couldn't stat source package list %s"
 msgstr ""
 
-#: apt-pkg/pkgcachegen.cc:768
+#: apt-pkg/pkgcachegen.cc:767
 msgid "Collecting File Provides"
 msgstr ""
 
-#: apt-pkg/pkgcachegen.cc:895 apt-pkg/pkgcachegen.cc:902
+#: apt-pkg/pkgcachegen.cc:894 apt-pkg/pkgcachegen.cc:901
 msgid "IO Error saving source cache"
 msgstr ""
 
@@ -2513,30 +2513,30 @@ msgid ""
 "signatures\n"
 msgstr ""
 
-#: apt-pkg/cdrom.cc:737
+#: apt-pkg/cdrom.cc:739
 msgid "That is not a valid name, try again.\n"
 msgstr ""
 
-#: apt-pkg/cdrom.cc:753
+#: apt-pkg/cdrom.cc:755
 #, c-format
 msgid ""
 "This disc is called: \n"
 "'%s'\n"
 msgstr ""
 
-#: apt-pkg/cdrom.cc:757
+#: apt-pkg/cdrom.cc:759
 msgid "Copying package lists..."
 msgstr ""
 
-#: apt-pkg/cdrom.cc:783
+#: apt-pkg/cdrom.cc:785
 msgid "Writing new source list\n"
 msgstr ""
 
-#: apt-pkg/cdrom.cc:792
+#: apt-pkg/cdrom.cc:794
 msgid "Source list entries for this disc are:\n"
 msgstr ""
 
-#: apt-pkg/cdrom.cc:832
+#: apt-pkg/cdrom.cc:836
 msgid "Unmounting CD-ROM..."
 msgstr ""