summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apt-pkg/acquire-item.cc6
-rw-r--r--apt-pkg/algorithms.cc40
-rw-r--r--apt-pkg/algorithms.h3
-rw-r--r--apt-pkg/aptconfiguration.h2
-rw-r--r--debian/changelog17
-rw-r--r--po/apt-all.pot522
-rwxr-xr-xtest/integration/test-resolve-by-keep-new-recommends20
7 files changed, 376 insertions, 234 deletions
diff --git a/apt-pkg/acquire-item.cc b/apt-pkg/acquire-item.cc
index c3817f6ee..215615bdd 100644
--- a/apt-pkg/acquire-item.cc
+++ b/apt-pkg/acquire-item.cc
@@ -1473,8 +1473,10 @@ bool pkgAcqMetaIndex::VerifyVendor(string Message) /*{{{*/
// TRANSLATOR: The first %s is the URL of the bad Release file, the second is
// the time since then the file is invalid - formated in the same way as in
// the download progress display (e.g. 7d 3h 42min 1s)
- return _error->Error(_("Release file expired, ignoring %s (invalid since %s)"),
- RealURI.c_str(), TimeToStr(invalid_since).c_str());
+ return _error->Error(
+ _("Release file for %s is expired (invalid since %s). "
+ "Updates for this repository will not be applied."),
+ RealURI.c_str(), TimeToStr(invalid_since).c_str());
}
if (_config->FindB("Debug::pkgAcquire::Auth", false))
diff --git a/apt-pkg/algorithms.cc b/apt-pkg/algorithms.cc
index 2dae4258a..7c911b865 100644
--- a/apt-pkg/algorithms.cc
+++ b/apt-pkg/algorithms.cc
@@ -1176,6 +1176,31 @@ bool pkgProblemResolver::Resolve(bool BrokenFix)
return true;
}
/*}}}*/
+
+// ProblemResolver::BreaksInstOrPolicy - Check if the given pkg is broken/*{{{*/
+// ---------------------------------------------------------------------
+/* This checks if the given package is broken either by a hard dependency
+ (InstBroken()) or by introducing a new policy breakage e.g. new
+ unsatisfied recommends for a package that was in "policy-good" state
+
+ Note that this is not perfect as it will ignore further breakage
+ for already broken policy (recommends)
+*/
+bool pkgProblemResolver::InstOrNewPolicyBroken(pkgCache::PkgIterator I)
+{
+
+ // a broken install is always a problem
+ if (Cache[I].InstBroken() == true)
+ return true;
+
+ // a newly broken policy (recommends/suggests) is a problem
+ if (Cache[I].NowPolicyBroken() == false &&
+ Cache[I].InstPolicyBroken() == true)
+ return true;
+
+ return false;
+}
+
// ProblemResolver::ResolveByKeep - Resolve problems using keep /*{{{*/
// ---------------------------------------------------------------------
/* This is the work horse of the soft upgrade routine. It is very gental
@@ -1220,9 +1245,12 @@ bool pkgProblemResolver::ResolveByKeep()
{
pkgCache::PkgIterator I(Cache,*K);
- if (Cache[I].InstallVer == 0 || Cache[I].InstBroken() == false)
+ if (Cache[I].InstallVer == 0)
continue;
+ if (InstOrNewPolicyBroken(I) == false)
+ continue;
+
/* Keep the package. If this works then great, otherwise we have
to be significantly more agressive and manipulate its dependencies */
if ((Flags[I->ID] & Protected) == 0)
@@ -1230,7 +1258,7 @@ bool pkgProblemResolver::ResolveByKeep()
if (Debug == true)
clog << "Keeping package " << I.FullName(false) << endl;
Cache.MarkKeep(I, false, false);
- if (Cache[I].InstBroken() == false)
+ if (InstOrNewPolicyBroken(I) == false)
{
K = PList - 1;
continue;
@@ -1280,11 +1308,11 @@ bool pkgProblemResolver::ResolveByKeep()
Cache.MarkKeep(Pkg, false, false);
}
- if (Cache[I].InstBroken() == false)
+ if (InstOrNewPolicyBroken(I) == false)
break;
}
- if (Cache[I].InstBroken() == false)
+ if (InstOrNewPolicyBroken(I) == false)
break;
if (Start == End)
@@ -1292,11 +1320,11 @@ bool pkgProblemResolver::ResolveByKeep()
Start++;
}
- if (Cache[I].InstBroken() == false)
+ if (InstOrNewPolicyBroken(I) == false)
break;
}
- if (Cache[I].InstBroken() == true)
+ if (InstOrNewPolicyBroken(I) == true)
continue;
// Restart again.
diff --git a/apt-pkg/algorithms.h b/apt-pkg/algorithms.h
index ebe31cc10..99501bed1 100644
--- a/apt-pkg/algorithms.h
+++ b/apt-pkg/algorithms.h
@@ -106,6 +106,9 @@ class pkgProblemResolver /*{{{*/
void MakeScores();
bool DoUpgrade(pkgCache::PkgIterator Pkg);
+ protected:
+ bool InstOrNewPolicyBroken(pkgCache::PkgIterator Pkg);
+
public:
inline void Protect(pkgCache::PkgIterator Pkg) {Flags[Pkg->ID] |= Protected; Cache.MarkProtected(Pkg);};
diff --git a/apt-pkg/aptconfiguration.h b/apt-pkg/aptconfiguration.h
index 815db6cae..1f0399dd2 100644
--- a/apt-pkg/aptconfiguration.h
+++ b/apt-pkg/aptconfiguration.h
@@ -36,7 +36,7 @@ public: /*{{{*/
* \param Cached saves the result so we need to calculated it only once
* this parameter should ony be used for testing purposes.
*
- * \return a vector of (all) Language Codes in the prefered usage order
+ * \return a vector of the compression types in the prefered usage order
*/
std::vector<std::string> static const getCompressionTypes(bool const &Cached = true);
diff --git a/debian/changelog b/debian/changelog
index c1d76a5be..cfb4094a6 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,20 @@
+apt (0.8.15.2ubuntu1) UNRELEASEDoneiric; urgency=low
+
+ * apt-pkg/acquire-item.cc:
+ - improve error message for a expired Release file
+ * apt-pkg/algorithms.cc:
+ - Hold back packages that would enter "policy-broken" state on upgrade
+ when doing a "apt-get upgrade"
+
+ -- Michael Vogt <michael.vogt@ubuntu.com> Thu, 14 Jul 2011 11:22:54 +0200
+
+apt (0.8.15.2) unstable; urgency=high
+
+ * fix from David Kalnischkies for the InRelease gpg verification
+ code (LP: #784473)
+
+ -- Michael Vogt <mvo@debian.org> Tue, 12 Jul 2011 11:54:47 +0200
+
apt (0.8.15.1ubuntu2) oneiric; urgency=low
[ Brian Murray ]
diff --git a/po/apt-all.pot b/po/apt-all.pot
index 00291f568..245ffce91 100644
--- a/po/apt-all.pot
+++ b/po/apt-all.pot
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-04-05 10:32+0200\n"
+"POT-Creation-Date: 2011-07-14 11:38+0200\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"
@@ -17,144 +17,149 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
-#: cmdline/apt-cache.cc:156
+#: cmdline/apt-cache.cc:154
#, c-format
msgid "Package %s version %s has an unmet dep:\n"
msgstr ""
-#: cmdline/apt-cache.cc:284
+#: cmdline/apt-cache.cc:282
msgid "Total package names: "
msgstr ""
-#: cmdline/apt-cache.cc:286
+#: cmdline/apt-cache.cc:284
msgid "Total package structures: "
msgstr ""
-#: cmdline/apt-cache.cc:326
+#: cmdline/apt-cache.cc:324
msgid " Normal packages: "
msgstr ""
-#: cmdline/apt-cache.cc:327
+#: cmdline/apt-cache.cc:325
msgid " Pure virtual packages: "
msgstr ""
-#: cmdline/apt-cache.cc:328
+#: cmdline/apt-cache.cc:326
msgid " Single virtual packages: "
msgstr ""
-#: cmdline/apt-cache.cc:329
+#: cmdline/apt-cache.cc:327
msgid " Mixed virtual packages: "
msgstr ""
-#: cmdline/apt-cache.cc:330
+#: cmdline/apt-cache.cc:328
msgid " Missing: "
msgstr ""
-#: cmdline/apt-cache.cc:332
+#: cmdline/apt-cache.cc:330
msgid "Total distinct versions: "
msgstr ""
-#: cmdline/apt-cache.cc:334
+#: cmdline/apt-cache.cc:332
msgid "Total distinct descriptions: "
msgstr ""
-#: cmdline/apt-cache.cc:336
+#: cmdline/apt-cache.cc:334
msgid "Total dependencies: "
msgstr ""
-#: cmdline/apt-cache.cc:339
+#: cmdline/apt-cache.cc:337
msgid "Total ver/file relations: "
msgstr ""
-#: cmdline/apt-cache.cc:341
+#: cmdline/apt-cache.cc:339
msgid "Total Desc/File relations: "
msgstr ""
-#: cmdline/apt-cache.cc:343
+#: cmdline/apt-cache.cc:341
msgid "Total Provides mappings: "
msgstr ""
-#: cmdline/apt-cache.cc:355
+#: cmdline/apt-cache.cc:353
msgid "Total globbed strings: "
msgstr ""
-#: cmdline/apt-cache.cc:369
+#: cmdline/apt-cache.cc:367
msgid "Total dependency version space: "
msgstr ""
-#: cmdline/apt-cache.cc:374
+#: cmdline/apt-cache.cc:372
msgid "Total slack space: "
msgstr ""
-#: cmdline/apt-cache.cc:382
+#: cmdline/apt-cache.cc:380
msgid "Total space accounted for: "
msgstr ""
-#: cmdline/apt-cache.cc:513 cmdline/apt-cache.cc:1142
+#: cmdline/apt-cache.cc:511 cmdline/apt-cache.cc:1139
#, c-format
msgid "Package file %s is out of sync."
msgstr ""
-#: cmdline/apt-cache.cc:591 cmdline/apt-cache.cc:1377
-#: cmdline/apt-cache.cc:1379 cmdline/apt-cache.cc:1456
+#: cmdline/apt-cache.cc:589 cmdline/apt-cache.cc:1374
+#: cmdline/apt-cache.cc:1376 cmdline/apt-cache.cc:1453 cmdline/apt-mark.cc:37
+#: cmdline/apt-mark.cc:84 cmdline/apt-mark.cc:160
msgid "No packages found"
msgstr ""
-#: cmdline/apt-cache.cc:1221
+#: cmdline/apt-cache.cc:1218
msgid "You must give at least one search pattern"
msgstr ""
-#: cmdline/apt-cache.cc:1451 apt-pkg/cacheset.cc:440
+#: cmdline/apt-cache.cc:1353
+msgid "This command is deprecated. Please use 'apt-mark showauto' instead."
+msgstr ""
+
+#: cmdline/apt-cache.cc:1448 apt-pkg/cacheset.cc:440
#, c-format
msgid "Unable to locate package %s"
msgstr ""
-#: cmdline/apt-cache.cc:1481
+#: cmdline/apt-cache.cc:1478
msgid "Package files:"
msgstr ""
-#: cmdline/apt-cache.cc:1488 cmdline/apt-cache.cc:1579
+#: cmdline/apt-cache.cc:1485 cmdline/apt-cache.cc:1576
msgid "Cache is out of sync, can't x-ref a package file"
msgstr ""
#. Show any packages have explicit pins
-#: cmdline/apt-cache.cc:1502
+#: cmdline/apt-cache.cc:1499
msgid "Pinned packages:"
msgstr ""
-#: cmdline/apt-cache.cc:1514 cmdline/apt-cache.cc:1559
+#: cmdline/apt-cache.cc:1511 cmdline/apt-cache.cc:1556
msgid "(not found)"
msgstr ""
-#: cmdline/apt-cache.cc:1522
+#: cmdline/apt-cache.cc:1519
msgid " Installed: "
msgstr ""
-#: cmdline/apt-cache.cc:1523
+#: cmdline/apt-cache.cc:1520
msgid " Candidate: "
msgstr ""
-#: cmdline/apt-cache.cc:1541 cmdline/apt-cache.cc:1549
+#: cmdline/apt-cache.cc:1538 cmdline/apt-cache.cc:1546
msgid "(none)"
msgstr ""
-#: cmdline/apt-cache.cc:1556
+#: cmdline/apt-cache.cc:1553
msgid " Package pin: "
msgstr ""
#. Show the priority tables
-#: cmdline/apt-cache.cc:1565
+#: cmdline/apt-cache.cc:1562
msgid " Version table:"
msgstr ""
-#: cmdline/apt-cache.cc:1678 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:70
+#: cmdline/apt-cache.cc:1675 cmdline/apt-cdrom.cc:197 cmdline/apt-config.cc:73
#: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:589
-#: cmdline/apt-get.cc:3106 cmdline/apt-sortpkgs.cc:144
+#: cmdline/apt-get.cc:3125 cmdline/apt-mark.cc:264 cmdline/apt-sortpkgs.cc:144
#, c-format
msgid "%s %s for %s compiled on %s %s\n"
msgstr ""
-#: cmdline/apt-cache.cc:1685
+#: cmdline/apt-cache.cc:1682
msgid ""
"Usage: apt-cache [options] command\n"
" apt-cache [options] showpkg pkg1 [pkg2 ...]\n"
@@ -173,7 +178,6 @@ msgid ""
" unmet - Show unmet dependencies\n"
" search - Search the package list for a regex pattern\n"
" show - Show a readable record for the package\n"
-" showauto - Display a list of automatically installed packages\n"
" depends - Show raw dependency information for a package\n"
" rdepends - Show reverse dependency information for a package\n"
" pkgnames - List the names of all packages in the system\n"
@@ -209,11 +213,11 @@ msgstr ""
msgid "Repeat this process for the rest of the CDs in your set."
msgstr ""
-#: cmdline/apt-config.cc:41
+#: cmdline/apt-config.cc:44
msgid "Arguments not in pairs"
msgstr ""
-#: cmdline/apt-config.cc:76
+#: cmdline/apt-config.cc:79
msgid ""
"Usage: apt-config [options] command\n"
"\n"
@@ -248,7 +252,7 @@ msgid ""
" -o=? Set an arbitrary configuration option, eg -o dir::cache=/tmp\n"
msgstr ""
-#: cmdline/apt-extracttemplates.cc:267 apt-pkg/pkgcachegen.cc:1148
+#: cmdline/apt-extracttemplates.cc:267 apt-pkg/pkgcachegen.cc:1149
#, c-format
msgid "Unable to write to %s"
msgstr ""
@@ -719,7 +723,7 @@ msgstr ""
msgid "%s is already the newest version.\n"
msgstr ""
-#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080
+#: cmdline/apt-get.cc:818 cmdline/apt-get.cc:2080 cmdline/apt-mark.cc:59
#, c-format
msgid "%s set to manually installed.\n"
msgstr ""
@@ -831,8 +835,8 @@ msgstr ""
msgid "After this operation, %sB disk space will be freed.\n"
msgstr ""
-#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2484
-#: cmdline/apt-get.cc:2487
+#: cmdline/apt-get.cc:1174 cmdline/apt-get.cc:1177 cmdline/apt-get.cc:2492
+#: cmdline/apt-get.cc:2495
#, c-format
msgid "Couldn't determine free space in %s"
msgstr ""
@@ -866,7 +870,7 @@ msgstr ""
msgid "Do you want to continue [Y/n]? "
msgstr ""
-#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2544 apt-pkg/algorithms.cc:1427
+#: cmdline/apt-get.cc:1300 cmdline/apt-get.cc:2557 apt-pkg/algorithms.cc:1438
#, c-format
msgid "Failed to fetch %s %s\n"
msgstr ""
@@ -875,7 +879,7 @@ msgstr ""
msgid "Some files failed to download"
msgstr ""
-#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2553
+#: cmdline/apt-get.cc:1319 cmdline/apt-get.cc:2569
msgid "Download complete and in download only mode"
msgstr ""
@@ -1023,53 +1027,59 @@ msgstr ""
msgid "Couldn't find package %s"
msgstr ""
-#: cmdline/apt-get.cc:2082
+#: cmdline/apt-get.cc:2082 cmdline/apt-mark.cc:61
#, c-format
msgid "%s set to automatically installed.\n"
msgstr ""
-#: cmdline/apt-get.cc:2103
+#: cmdline/apt-get.cc:2090 cmdline/apt-mark.cc:105
+msgid ""
+"This command is deprecated. Please use 'apt-mark auto' and 'apt-mark manual' "
+"instead."
+msgstr ""
+
+#: cmdline/apt-get.cc:2106
msgid "Calculating upgrade... "
msgstr ""
-#: cmdline/apt-get.cc:2106 methods/ftp.cc:707 methods/connect.cc:111
+#: cmdline/apt-get.cc:2109 methods/ftp.cc:707 methods/connect.cc:111
msgid "Failed"
msgstr ""
-#: cmdline/apt-get.cc:2111
+#: cmdline/apt-get.cc:2114
msgid "Done"
msgstr ""
-#: cmdline/apt-get.cc:2178 cmdline/apt-get.cc:2186
+#: cmdline/apt-get.cc:2181 cmdline/apt-get.cc:2189
msgid "Internal error, problem resolver broke stuff"
msgstr ""
-#: cmdline/apt-get.cc:2210 cmdline/apt-get.cc:2243
+#: cmdline/apt-get.cc:2213 cmdline/apt-get.cc:2246
msgid "Unable to lock the download directory"
msgstr ""
-#: cmdline/apt-get.cc:2294
+#: cmdline/apt-get.cc:2297
#, c-format
msgid "Downloading %s %s"
msgstr ""
-#: cmdline/apt-get.cc:2350
+#: cmdline/apt-get.cc:2353
msgid "Must specify at least one package to fetch source for"
msgstr ""
-#: cmdline/apt-get.cc:2390 cmdline/apt-get.cc:2671
+#: cmdline/apt-get.cc:2394 cmdline/apt-get.cc:2690
#, c-format
msgid "Unable to find a source package for %s"
msgstr ""
-#: cmdline/apt-get.cc:2406
+#: cmdline/apt-get.cc:2411
#, c-format
msgid ""
"NOTICE: '%s' packaging is maintained in the '%s' version control system at:\n"
"%s\n"
msgstr ""
-#: cmdline/apt-get.cc:2411
+#: cmdline/apt-get.cc:2416
#, c-format
msgid ""
"Please use:\n"
@@ -1077,120 +1087,120 @@ msgid ""
"to retrieve the latest (possibly unreleased) updates to the package.\n"
msgstr ""
-#: cmdline/apt-get.cc:2462
+#: cmdline/apt-get.cc:2469
#, c-format
msgid "Skipping already downloaded file '%s'\n"
msgstr ""
-#: cmdline/apt-get.cc:2497
+#: cmdline/apt-get.cc:2506
#, c-format
msgid "You don't have enough free space in %s"
msgstr ""
#. TRANSLATOR: The required space between number and unit is already included
#. in the replacement strings, so %sB will be correctly translate in e.g. 1,5 MB
-#: cmdline/apt-get.cc:2505
+#: cmdline/apt-get.cc:2515
#, c-format
msgid "Need to get %sB/%sB of source archives.\n"
msgstr ""
#. TRANSLATOR: The required space between number and unit is already included
#. in the replacement string, so %sB will be correctly translate in e.g. 1,5 MB
-#: cmdline/apt-get.cc:2510
+#: cmdline/apt-get.cc:2520
#, c-format
msgid "Need to get %sB of source archives.\n"
msgstr ""
-#: cmdline/apt-get.cc:2516
+#: cmdline/apt-get.cc:2526
#, c-format
msgid "Fetch source %s\n"
msgstr ""
-#: cmdline/apt-get.cc:2549
+#: cmdline/apt-get.cc:2564
msgid "Failed to fetch some archives."
msgstr ""
-#: cmdline/apt-get.cc:2579
+#: cmdline/apt-get.cc:2595
#, c-format
msgid "Skipping unpack of already unpacked source in %s\n"
msgstr ""
-#: cmdline/apt-get.cc:2591
+#: cmdline/apt-get.cc:2607
#, c-format
msgid "Unpack command '%s' failed.\n"
msgstr ""
-#: cmdline/apt-get.cc:2592
+#: cmdline/apt-get.cc:2608
#, c-format
msgid "Check if the 'dpkg-dev' package is installed.\n"
msgstr ""
-#: cmdline/apt-get.cc:2609
+#: cmdline/apt-get.cc:2625
#, c-format
msgid "Build command '%s' failed.\n"
msgstr ""
-#: cmdline/apt-get.cc:2629
+#: cmdline/apt-get.cc:2645
msgid "Child process failed"
msgstr ""
-#: cmdline/apt-get.cc:2645
+#: cmdline/apt-get.cc:2664
msgid "Must specify at least one package to check builddeps for"
msgstr ""
-#: cmdline/apt-get.cc:2676
+#: cmdline/apt-get.cc:2695
#, c-format
msgid "Unable to get build-dependency information for %s"
msgstr ""
-#: cmdline/apt-get.cc:2696
+#: cmdline/apt-get.cc:2715
#, c-format
msgid "%s has no build depends.\n"
msgstr ""
-#: cmdline/apt-get.cc:2747
+#: cmdline/apt-get.cc:2766
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because the package %s cannot be "
"found"
msgstr ""
-#: cmdline/apt-get.cc:2800
+#: cmdline/apt-get.cc:2819
#, c-format
msgid ""
"%s dependency for %s cannot be satisfied because no available versions of "
"package %s can satisfy version requirements"
msgstr ""
-#: cmdline/apt-get.cc:2836
+#: cmdline/apt-get.cc:2855
#, c-format
msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
msgstr ""
-#: cmdline/apt-get.cc:2863
+#: cmdline/apt-get.cc:2882
#, c-format
msgid "Failed to satisfy %s dependency for %s: %s"
msgstr ""
-#: cmdline/apt-get.cc:2879
+#: cmdline/apt-get.cc:2898
#, c-format
msgid "Build-dependencies for %s could not be satisfied."
msgstr ""
-#: cmdline/apt-get.cc:2884
+#: cmdline/apt-get.cc:2903
msgid "Failed to process build dependencies"
msgstr ""
-#: cmdline/apt-get.cc:2977 cmdline/apt-get.cc:2989
+#: cmdline/apt-get.cc:2996 cmdline/apt-get.cc:3008
#, c-format
msgid "Changelog for %s (%s)"
msgstr ""
-#: cmdline/apt-get.cc:3111
+#: cmdline/apt-get.cc:3130
msgid "Supported modules:"
msgstr ""
-#: cmdline/apt-get.cc:3152
+#: cmdline/apt-get.cc:3171
msgid ""
"Usage: apt-get [options] command\n"
" apt-get [options] install|remove pkg1 [pkg2 ...]\n"
@@ -1214,8 +1224,6 @@ msgid ""
" clean - Erase downloaded archive files\n"
" autoclean - Erase old downloaded archive files\n"
" check - Verify that there are no broken dependencies\n"
-" markauto - Mark the given packages as automatically installed\n"
-" unmarkauto - Mark the given packages as manually installed\n"
" changelog - Download and display the changelog for the given package\n"
" download - Download the binary package into the current directory\n"
"\n"
@@ -1238,7 +1246,7 @@ msgid ""
" This APT has Super Cow Powers.\n"
msgstr ""
-#: cmdline/apt-get.cc:3316
+#: cmdline/apt-get.cc:3333
msgid ""
"NOTE: This is only a simulation!\n"
" apt-get needs root privileges for real execution.\n"
@@ -1280,6 +1288,67 @@ msgid ""
"in the drive '%s' and press enter\n"
msgstr ""
+#: cmdline/apt-mark.cc:46
+#, c-format
+msgid "%s can not be marked as it is not installed.\n"
+msgstr ""
+
+#: cmdline/apt-mark.cc:52
+#, c-format
+msgid "%s was already set to manually installed.\n"
+msgstr ""
+
+#: cmdline/apt-mark.cc:54
+#, c-format
+msgid "%s was already set to automatically installed.\n"
+msgstr ""
+
+#: cmdline/apt-mark.cc:169
+#, c-format
+msgid "%s was already set on hold.\n"
+msgstr ""
+
+#: cmdline/apt-mark.cc:171
+#, c-format
+msgid "%s was already not hold.\n"
+msgstr ""
+
+#: cmdline/apt-mark.cc:185 cmdline/apt-mark.cc:207
+#, c-format
+msgid "%s set on hold.\n"
+msgstr ""
+
+#: cmdline/apt-mark.cc:187 cmdline/apt-mark.cc:212
+#, c-format
+msgid "Canceled hold on %s.\n"
+msgstr ""
+
+#: cmdline/apt-mark.cc:220
+msgid "Executing dpkg failed. Are you root?"
+msgstr ""
+
+#: cmdline/apt-mark.cc:268
+msgid ""
+"Usage: apt-mark [options] {auto|manual} pkg1 [pkg2 ...]\n"
+"\n"
+"apt-mark is a simple command line interface for marking packages\n"
+"as manual or automatical installed. It can also list marks.\n"
+"\n"
+"Commands:\n"
+" auto - Mark the given packages as automatically installed\n"
+" manual - Mark the given packages as manually installed\n"
+"\n"
+"Options:\n"
+" -h This help text.\n"
+" -q Loggable output - no progress indicator\n"
+" -qq No output except for errors\n"
+" -s No-act. Just prints what would be done.\n"
+" -f read/write auto/manual marking in the given file\n"
+" -c=? Read this configuration file\n"
+" -o=? Set an arbitrary configuration option, eg -o dir::cache=/tmp\n"
+"See the apt-mark(8) and apt.conf(5) manual pages for more information."
+msgstr ""
+
#: cmdline/apt-sortpkgs.cc:86
msgid "Unknown package record!"
msgstr ""
@@ -1409,12 +1478,12 @@ msgstr ""
msgid "Duplicate conf file %s/%s"
msgstr ""
-#: apt-inst/dirstream.cc:41 apt-inst/dirstream.cc:46 apt-inst/dirstream.cc:49
+#: apt-inst/dirstream.cc:41 apt-inst/dirstream.cc:47 apt-inst/dirstream.cc:53
#, c-format
msgid "Failed to write file %s"
msgstr ""
-#: apt-inst/dirstream.cc:92 apt-inst/dirstream.cc:100
+#: apt-inst/dirstream.cc:98 apt-inst/dirstream.cc:106
#, c-format
msgid "Failed to close file %s"
msgstr ""
@@ -1468,10 +1537,10 @@ msgstr ""
#. Only warn if there are no sources.list.d.
#. Only warn if there is no sources.list file.
-#: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:180
+#: apt-inst/extract.cc:462 apt-pkg/contrib/cdromutl.cc:179
#: apt-pkg/contrib/fileutl.cc:343 apt-pkg/sourcelist.cc:204
-#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:106
-#: apt-pkg/init.cc:114 apt-pkg/clean.cc:33 apt-pkg/policy.cc:302
+#: apt-pkg/sourcelist.cc:210 apt-pkg/acquire.cc:450 apt-pkg/init.cc:103
+#: apt-pkg/init.cc:111 apt-pkg/clean.cc:33 apt-pkg/policy.cc:338
#: methods/mirror.cc:91
#, c-format
msgid "Unable to read %s"
@@ -1501,9 +1570,9 @@ msgstr ""
msgid "The info and temp directories need to be on the same filesystem"
msgstr ""
-#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1047
-#: apt-pkg/pkgcachegen.cc:1151 apt-pkg/pkgcachegen.cc:1157
-#: apt-pkg/pkgcachegen.cc:1303
+#: apt-inst/deb/dpkgdb.cc:135 apt-pkg/pkgcachegen.cc:1048
+#: apt-pkg/pkgcachegen.cc:1152 apt-pkg/pkgcachegen.cc:1158
+#: apt-pkg/pkgcachegen.cc:1304
msgid "Reading package lists"
msgstr ""
@@ -1780,7 +1849,7 @@ msgstr ""
msgid "Unable to accept connection"
msgstr ""
-#: methods/ftp.cc:869 methods/http.cc:1006 methods/rsh.cc:303
+#: methods/ftp.cc:869 methods/http.cc:1023 methods/rsh.cc:303
msgid "Problem hashing file"
msgstr ""
@@ -1864,34 +1933,28 @@ msgstr ""
msgid "Unable to connect to %s:%s:"
msgstr ""
-#. TRANSLATOR: %s is the trusted keyring parts directory
-#: methods/gpgv.cc:71
-#, c-format
-msgid "No keyring installed in %s."
-msgstr ""
-
-#: methods/gpgv.cc:163
+#: methods/gpgv.cc:166
msgid ""
"Internal error: Good signature, but could not determine key fingerprint?!"
msgstr ""
-#: methods/gpgv.cc:168
+#: methods/gpgv.cc:171
msgid "At least one invalid signature was encountered."
msgstr ""
-#: methods/gpgv.cc:172
+#: methods/gpgv.cc:175
msgid "Could not execute 'gpgv' to verify signature (is gpgv installed?)"
msgstr ""
-#: methods/gpgv.cc:177
+#: methods/gpgv.cc:180
msgid "Unknown error executing gpgv"
msgstr ""
-#: methods/gpgv.cc:211 methods/gpgv.cc:218
+#: methods/gpgv.cc:214 methods/gpgv.cc:221
msgid "The following signatures were invalid:\n"
msgstr ""
-#: methods/gpgv.cc:225
+#: methods/gpgv.cc:228
msgid ""
"The following signatures couldn't be verified because the public key is not "
"available:\n"
@@ -1930,47 +1993,47 @@ msgstr ""
msgid "Unknown date format"
msgstr ""
-#: methods/http.cc:799
+#: methods/http.cc:800
msgid "Select failed"
msgstr ""
-#: methods/http.cc:804
+#: methods/http.cc:805
msgid "Connection timed out"
msgstr ""
-#: methods/http.cc:827
+#: methods/http.cc:828
msgid "Error writing to output file"
msgstr ""
-#: methods/http.cc:858
+#: methods/http.cc:859
msgid "Error writing to file"
msgstr ""
-#: methods/http.cc:886
+#: methods/http.cc:887
msgid "Error writing to the file"
msgstr ""
-#: methods/http.cc:900
+#: methods/http.cc:901
msgid "Error reading from server. Remote end closed connection"
msgstr ""
-#: methods/http.cc:902
+#: methods/http.cc:903
msgid "Error reading from server"
msgstr ""
-#: methods/http.cc:991 apt-pkg/contrib/mmap.cc:283
+#: methods/http.cc:1008 apt-pkg/contrib/mmap.cc:291
msgid "Failed to truncate file"
msgstr ""
-#: methods/http.cc:1160
+#: methods/http.cc:1183
msgid "Bad header data"
msgstr ""
-#: methods/http.cc:1177 methods/http.cc:1232
+#: methods/http.cc:1200 methods/http.cc:1255
msgid "Connection failed"
msgstr ""
-#: methods/http.cc:1324
+#: methods/http.cc:1347
msgid "Internal error"
msgstr ""
@@ -1983,7 +2046,7 @@ msgstr ""
msgid "Couldn't duplicate file descriptor %i"
msgstr ""
-#: apt-pkg/contrib/mmap.cc:97 apt-pkg/contrib/mmap.cc:250
+#: apt-pkg/contrib/mmap.cc:97 apt-pkg/contrib/mmap.cc:258
#, c-format
msgid "Couldn't make mmap of %lu bytes"
msgstr ""
@@ -1996,21 +2059,21 @@ msgstr ""
msgid "Unable to synchronize mmap"
msgstr ""
-#: apt-pkg/contrib/mmap.cc:302
+#: apt-pkg/contrib/mmap.cc:310
#, c-format
msgid ""
"Dynamic MMap ran out of room. Please increase the size of APT::Cache-Limit. "
"Current value: %lu. (man 5 apt.conf)"
msgstr ""
-#: apt-pkg/contrib/mmap.cc:401
+#: apt-pkg/contrib/mmap.cc:409
#, c-format
msgid ""
"Unable to increase the size of the MMap as the limit of %lu bytes is already "
"reached."
msgstr ""
-#: apt-pkg/contrib/mmap.cc:404
+#: apt-pkg/contrib/mmap.cc:412
msgid ""
"Unable to increase size of the MMap as automatic growing is disabled by user."
msgstr ""
@@ -2155,19 +2218,19 @@ msgstr ""
msgid "Invalid operation %s"
msgstr ""
-#: apt-pkg/contrib/cdromutl.cc:53
+#: apt-pkg/contrib/cdromutl.cc:52
#, c-format
msgid "Unable to stat the mount point %s"
msgstr ""
-#: apt-pkg/contrib/cdromutl.cc:176 apt-pkg/contrib/cdromutl.cc:210
+#: apt-pkg/contrib/cdromutl.cc:175 apt-pkg/contrib/cdromutl.cc:209
#: apt-pkg/acquire.cc:456 apt-pkg/acquire.cc:481 apt-pkg/clean.cc:39
#: methods/mirror.cc:97
#, c-format
msgid "Unable to change to %s"
msgstr ""
-#: apt-pkg/contrib/cdromutl.cc:218
+#: apt-pkg/contrib/cdromutl.cc:220
msgid "Failed to stat the cdrom"
msgstr ""
@@ -2237,7 +2300,7 @@ msgstr ""
msgid "Sub-process %s exited unexpectedly"
msgstr ""
-#: apt-pkg/contrib/fileutl.cc:764
+#: apt-pkg/contrib/fileutl.cc:764 apt-pkg/indexcopy.cc:673
#, c-format
msgid "Could not open file %s"
msgstr ""
@@ -2302,59 +2365,59 @@ msgstr ""
msgid "The package cache was built for a different architecture"
msgstr ""
-#: apt-pkg/pkgcache.cc:293
+#: apt-pkg/pkgcache.cc:299
msgid "Depends"
msgstr ""
-#: apt-pkg/pkgcache.cc:293
+#: apt-pkg/pkgcache.cc:299
msgid "PreDepends"
msgstr ""
-#: apt-pkg/pkgcache.cc:293
+#: apt-pkg/pkgcache.cc:299
msgid "Suggests"
msgstr ""
-#: apt-pkg/pkgcache.cc:294
+#: apt-pkg/pkgcache.cc:300
msgid "Recommends"
msgstr ""
-#: apt-pkg/pkgcache.cc:294
+#: apt-pkg/pkgcache.cc:300
msgid "Conflicts"
msgstr ""
-#: apt-pkg/pkgcache.cc:294
+#: apt-pkg/pkgcache.cc:300
msgid "Replaces"
msgstr ""
-#: apt-pkg/pkgcache.cc:295
+#: apt-pkg/pkgcache.cc:301
msgid "Obsoletes"
msgstr ""
-#: apt-pkg/pkgcache.cc:295
+#: apt-pkg/pkgcache.cc:301
msgid "Breaks"
msgstr ""
-#: apt-pkg/pkgcache.cc:295
+#: apt-pkg/pkgcache.cc:301
msgid "Enhances"
msgstr ""
-#: apt-pkg/pkgcache.cc:306
+#: apt-pkg/pkgcache.cc:312
msgid "important"
msgstr ""
-#: apt-pkg/pkgcache.cc:306
+#: apt-pkg/pkgcache.cc:312
msgid "required"
msgstr ""
-#: apt-pkg/pkgcache.cc:306
+#: apt-pkg/pkgcache.cc:312
msgid "standard"
msgstr ""
-#: apt-pkg/pkgcache.cc:307
+#: apt-pkg/pkgcache.cc:313
msgid "optional"
msgstr ""
-#: apt-pkg/pkgcache.cc:307
+#: apt-pkg/pkgcache.cc:313
msgid "extra"
msgstr ""
@@ -2449,7 +2512,7 @@ msgstr ""
msgid "Opening %s"
msgstr ""
-#: apt-pkg/sourcelist.cc:261 apt-pkg/cdrom.cc:438
+#: apt-pkg/sourcelist.cc:261 apt-pkg/cdrom.cc:444
#, c-format
msgid "Line %u too long in source list %s."
msgstr ""
@@ -2464,14 +2527,14 @@ msgstr ""
msgid "Type '%s' is not known on line %u in source list %s"
msgstr ""
-#: apt-pkg/packagemanager.cc:324 apt-pkg/packagemanager.cc:593
+#: apt-pkg/packagemanager.cc:335 apt-pkg/packagemanager.cc:623
#, c-format
msgid ""
"Could not perform immediate configuration on '%s'. Please see man 5 apt.conf "
"under APT::Immediate-Configure for details. (%d)"
msgstr ""
-#: apt-pkg/packagemanager.cc:445
+#: apt-pkg/packagemanager.cc:456
#, c-format
msgid ""
"This installation run will require temporarily removing the essential "
@@ -2479,7 +2542,7 @@ msgid ""
"you really want to do it, activate the APT::Force-LoopBreak option."
msgstr ""
-#: apt-pkg/packagemanager.cc:485
+#: apt-pkg/packagemanager.cc:501
#, c-format
msgid ""
"Could not perform immediate configuration on already unpacked '%s'. Please "
@@ -2491,23 +2554,23 @@ msgstr ""
msgid "Index file type '%s' is not supported"
msgstr ""
-#: apt-pkg/algorithms.cc:249
+#: apt-pkg/algorithms.cc:247
#, c-format
msgid ""
"The package %s needs to be reinstalled, but I can't find an archive for it."
msgstr ""
-#: apt-pkg/algorithms.cc:1175
+#: apt-pkg/algorithms.cc:1158
msgid ""
"Error, pkgProblemResolver::Resolve generated breaks, this may be caused by "
"held packages."
msgstr ""
-#: apt-pkg/algorithms.cc:1177
+#: apt-pkg/algorithms.cc:1160
msgid "Unable to correct problems, you have held broken packages."
msgstr ""
-#: apt-pkg/algorithms.cc:1453 apt-pkg/algorithms.cc:1455
+#: apt-pkg/algorithms.cc:1464 apt-pkg/algorithms.cc:1466
msgid ""
"Some index files failed to download. They have been ignored, or old ones "
"used instead."
@@ -2550,17 +2613,17 @@ msgstr ""
msgid "Method %s did not start correctly"
msgstr ""
-#: apt-pkg/acquire-worker.cc:424
+#: apt-pkg/acquire-worker.cc:423
#, c-format
msgid "Please insert the disc labeled: '%s' in the drive '%s' and press enter."
msgstr ""
-#: apt-pkg/init.cc:149
+#: apt-pkg/init.cc:146
#, c-format
msgid "Packaging system '%s' is not supported"
msgstr ""
-#: apt-pkg/init.cc:165
+#: apt-pkg/init.cc:162
msgid "Unable to determine a suitable packaging system type"
msgstr ""
@@ -2585,17 +2648,17 @@ msgstr ""
msgid "The list of sources could not be read."
msgstr ""
-#: apt-pkg/policy.cc:339
+#: apt-pkg/policy.cc:375
#, c-format
msgid "Invalid record in the preferences file %s, no Package header"
msgstr ""
-#: apt-pkg/policy.cc:361
+#: apt-pkg/policy.cc:397
#, c-format
msgid "Did not understand pin type %s"
msgstr ""
-#: apt-pkg/policy.cc:369
+#: apt-pkg/policy.cc:405
msgid "No priority (or zero) specified for pin"
msgstr ""
@@ -2675,16 +2738,16 @@ msgstr ""
msgid "Package %s %s was not found while processing file dependencies"
msgstr ""
-#: apt-pkg/pkgcachegen.cc:959
+#: apt-pkg/pkgcachegen.cc:960
#, c-format
msgid "Couldn't stat source package list %s"
msgstr ""
-#: apt-pkg/pkgcachegen.cc:1064
+#: apt-pkg/pkgcachegen.cc:1065
msgid "Collecting File Provides"
msgstr ""
-#: apt-pkg/pkgcachegen.cc:1242 apt-pkg/pkgcachegen.cc:1249
+#: apt-pkg/pkgcachegen.cc:1243 apt-pkg/pkgcachegen.cc:1250
msgid "IO Error saving source cache"
msgstr ""
@@ -2693,77 +2756,77 @@ msgstr ""
msgid "rename failed, %s (%s -> %s)."
msgstr ""
-#: apt-pkg/acquire-item.cc:628
+#: apt-pkg/acquire-item.cc:636
msgid "MD5Sum mismatch"
msgstr ""
-#: apt-pkg/acquire-item.cc:892 apt-pkg/acquire-item.cc:1778
-#: apt-pkg/acquire-item.cc:1921
+#: apt-pkg/acquire-item.cc:900 apt-pkg/acquire-item.cc:1848
+#: apt-pkg/acquire-item.cc:1991
msgid "Hash Sum mismatch"
msgstr ""
-#: apt-pkg/acquire-item.cc:1346
+#: apt-pkg/acquire-item.cc:1388
#, c-format
msgid ""
"Unable to find expected entry '%s' in Release file (Wrong sources.list entry "
"or malformed file)"
msgstr ""
-#: apt-pkg/acquire-item.cc:1361
+#: apt-pkg/acquire-item.cc:1403
#, c-format
msgid "Unable to find hash sum for '%s' in Release file"
msgstr ""
-#: apt-pkg/acquire-item.cc:1397
+#: apt-pkg/acquire-item.cc:1439
msgid "There is no public key available for the following key IDs:\n"
msgstr ""
-#. TRANSLATOR: The first %s is the URL of the bad Release file, the second is
-#. the time since then the file is invalid - formated in the same way as in
-#. the download progress display (e.g. 7d 3h 42min 1s)
-#: apt-pkg/acquire-item.cc:1434
+#: apt-pkg/acquire-item.cc:1477
#, c-format
-msgid "Release file expired, ignoring %s (invalid since %s)"
+msgid ""
+"Release file for %s is expired (invalid since %s). Updates for this "
+"repository will not be applied."
msgstr ""
-#: apt-pkg/acquire-item.cc:1455
+#: apt-pkg/acquire-item.cc:1499
#, c-format
msgid "Conflicting distribution: %s (expected %s but got %s)"
msgstr ""
-#: apt-pkg/acquire-item.cc:1488
+#: apt-pkg/acquire-item.cc:1532
#, c-format
msgid ""
"A error occurred during the signature verification. The repository is not "
"updated and the previous index files will be used. GPG error: %s: %s\n"
msgstr ""
-#: apt-pkg/acquire-item.cc:1497
+#. Invalid signature file, reject (LP: #346386) (Closes: #627642)
+#: apt-pkg/acquire-item.cc:1542 apt-pkg/acquire-item.cc:1547
#, c-format
msgid "GPG error: %s: %s"
msgstr ""
-#: apt-pkg/acquire-item.cc:1569
+#: apt-pkg/acquire-item.cc:1639
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
"to manually fix this package. (due to missing arch)"
msgstr ""
-#: apt-pkg/acquire-item.cc:1628
+#: apt-pkg/acquire-item.cc:1698
#, c-format
msgid ""
"I wasn't able to locate a file for the %s package. This might mean you need "
"to manually fix this package."
msgstr ""
-#: apt-pkg/acquire-item.cc:1683
+#: apt-pkg/acquire-item.cc:1753
#, c-format
msgid ""
"The package index files are corrupted. No Filename: field for package %s."
msgstr ""
-#: apt-pkg/acquire-item.cc:1770
+#: apt-pkg/acquire-item.cc:1840
msgid "Size mismatch"
msgstr ""
@@ -2797,105 +2860,104 @@ msgstr ""
msgid "Vendor block %s contains no fingerprint"
msgstr ""
-#: apt-pkg/cdrom.cc:518
+#: apt-pkg/cdrom.cc:525
#, c-format
msgid ""
"Using CD-ROM mount point %s\n"
"Mounting CD-ROM\n"
msgstr ""
-#: apt-pkg/cdrom.cc:527 apt-pkg/cdrom.cc:615
+#: apt-pkg/cdrom.cc:534 apt-pkg/cdrom.cc:631
msgid "Identifying.. "
msgstr ""
-#: apt-pkg/cdrom.cc:552
+#: apt-pkg/cdrom.cc:562
#, c-format
msgid "Stored label: %s\n"
msgstr ""
-#: apt-pkg/cdrom.cc:559 apt-pkg/cdrom.cc:827
+#: apt-pkg/cdrom.cc:571 apt-pkg/cdrom.cc:847
msgid "Unmounting CD-ROM...\n"
msgstr ""
-#: apt-pkg/cdrom.cc:578
+#: apt-pkg/cdrom.cc:591
#, c-format
msgid "Using CD-ROM mount point %s\n"
msgstr ""
-#: apt-pkg/cdrom.cc:596
+#: apt-pkg/cdrom.cc:609
msgid "Unmounting CD-ROM\n"
msgstr ""
-#: apt-pkg/cdrom.cc:600
+#: apt-pkg/cdrom.cc:614
msgid "Waiting for disc...\n"
msgstr ""
-#. Mount the new CDROM
-#: apt-pkg/cdrom.cc:608
+#: apt-pkg/cdrom.cc:623
msgid "Mounting CD-ROM...\n"
msgstr ""
-#: apt-pkg/cdrom.cc:626
+#: apt-pkg/cdrom.cc:642
msgid "Scanning disc for index files..\n"
msgstr ""
-#: apt-pkg/cdrom.cc:666
+#: apt-pkg/cdrom.cc:684
#, c-format
msgid ""
"Found %zu package indexes, %zu source indexes, %zu translation indexes and "
"%zu signatures\n"
msgstr ""
-#: apt-pkg/cdrom.cc:677
+#: apt-pkg/cdrom.cc:695
msgid ""
"Unable to locate any package files, perhaps this is not a Debian Disc or the "
"wrong architecture?"
msgstr ""
-#: apt-pkg/cdrom.cc:703
+#: apt-pkg/cdrom.cc:722
#, c-format
msgid "Found label '%s'\n"
msgstr ""
-#: apt-pkg/cdrom.cc:732
+#: apt-pkg/cdrom.cc:751
msgid "That is not a valid name, try again.\n"
msgstr ""
-#: apt-pkg/cdrom.cc:748
+#: apt-pkg/cdrom.cc:768
#, c-format
msgid ""
"This disc is called: \n"
"'%s'\n"
msgstr ""
-#: apt-pkg/cdrom.cc:752
+#: apt-pkg/cdrom.cc:770
msgid "Copying package lists..."
msgstr ""
-#: apt-pkg/cdrom.cc:778
+#: apt-pkg/cdrom.cc:797
msgid "Writing new source list\n"
msgstr ""
-#: apt-pkg/cdrom.cc:787
+#: apt-pkg/cdrom.cc:805
msgid "Source list entries for this disc are:\n"
msgstr ""
-#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:909
+#: apt-pkg/indexcopy.cc:270 apt-pkg/indexcopy.cc:928
#, c-format
msgid "Wrote %i records.\n"
msgstr ""
-#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:911
+#: apt-pkg/indexcopy.cc:272 apt-pkg/indexcopy.cc:930
#, c-format
msgid "Wrote %i records with %i missing files.\n"
msgstr ""
-#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:914
+#: apt-pkg/indexcopy.cc:275 apt-pkg/indexcopy.cc:933
#, c-format
msgid "Wrote %i records with %i mismatched files\n"
msgstr ""
-#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:917
+#: apt-pkg/indexcopy.cc:278 apt-pkg/indexcopy.cc:936
#, c-format
msgid "Wrote %i records with %i missing files and %i mismatched files\n"
msgstr ""
@@ -2915,6 +2977,17 @@ msgstr ""
msgid "Hash mismatch for: %s"
msgstr ""
+#: apt-pkg/indexcopy.cc:677
+#, c-format
+msgid "File %s doesn't start with a clearsigned message"
+msgstr ""
+
+#. TRANSLATOR: %s is the trusted keyring parts directory
+#: apt-pkg/indexcopy.cc:708
+#, c-format
+msgid "No keyring installed in %s."
+msgstr ""
+
#: apt-pkg/cacheset.cc:337
#, c-format
msgid "Release '%s' for '%s' was not found"
@@ -2962,130 +3035,129 @@ msgstr ""
msgid "Can't select installed version from package %s as it is not installed"
msgstr ""
-#: apt-pkg/deb/dpkgpm.cc:52
+#: apt-pkg/deb/dpkgpm.cc:53
#, c-format
msgid "Installing %s"
msgstr ""
-#: apt-pkg/deb/dpkgpm.cc:53 apt-pkg/deb/dpkgpm.cc:828
+#: apt-pkg/deb/dpkgpm.cc:54 apt-pkg/deb/dpkgpm.cc:847
#, c-format
msgid "Configuring %s"
msgstr ""
-#: apt-pkg/deb/dpkgpm.cc:54 apt-pkg/deb/dpkgpm.cc:835
+#: apt-pkg/deb/dpkgpm.cc:55 apt-pkg/deb/dpkgpm.cc:854
#, c-format
msgid "Removing %s"
msgstr ""
-#: apt-pkg/deb/dpkgpm.cc:55
+#: apt-pkg/deb/dpkgpm.cc:56
#, c-format
msgid "Completely removing %s"
msgstr ""
-#: apt-pkg/deb/dpkgpm.cc:56
+#: apt-pkg/deb/dpkgpm.cc:57
#, c-format
msgid "Noting disappearance of %s"
msgstr ""
-#: apt-pkg/deb/dpkgpm.cc:57
+#: apt-pkg/deb/dpkgpm.cc:58
#, c-format
msgid "Running post-installation trigger %s"
msgstr ""
#. FIXME: use a better string after freeze
-#: apt-pkg/deb/dpkgpm.cc:651
+#: apt-pkg/deb/dpkgpm.cc:653
#, c-format
msgid "Directory '%s' missing"
msgstr ""
-#: apt-pkg/deb/dpkgpm.cc:666 apt-pkg/deb/dpkgpm.cc:680
+#: apt-pkg/deb/dpkgpm.cc:668 apt-pkg/deb/dpkgpm.cc:688
#, c-format
msgid "Could not open file '%s'"
msgstr ""
-#: apt-pkg/deb/dpkgpm.cc:821
+#: apt-pkg/deb/dpkgpm.cc:840
#, c-format
msgid "Preparing %s"
msgstr ""
-#: apt-pkg/deb/dpkgpm.cc:822
+#: apt-pkg/deb/dpkgpm.cc:841
#, c-format
msgid "Unpacking %s"
msgstr ""
-#: apt-pkg/deb/dpkgpm.cc:827
+#: apt-pkg/deb/dpkgpm.cc:846
#, c-format
msgid "Preparing to configure %s"
msgstr ""
-#: apt-pkg/deb/dpkgpm.cc:829
+#: apt-pkg/deb/dpkgpm.cc:848
#, c-format
msgid "Installed %s"
msgstr ""
-#: apt-pkg/deb/dpkgpm.cc:834
+#: apt-pkg/deb/dpkgpm.cc:853
#, c-format
msgid "Preparing for removal of %s"
msgstr ""
-#: apt-pkg/deb/dpkgpm.cc:836
+#: apt-pkg/deb/dpkgpm.cc:855
#, c-format
msgid "Removed %s"
msgstr ""
-#: apt-pkg/deb/dpkgpm.cc:841
+#: apt-pkg/deb/dpkgpm.cc:860
#, c-format
msgid "Preparing to completely remove %s"
msgstr ""
-#: apt-pkg/deb/dpkgpm.cc:842
+#: apt-pkg/deb/dpkgpm.cc:861
#, c-format
msgid "Completely removed %s"
msgstr ""
-#: apt-pkg/deb/dpkgpm.cc:1062
+#: apt-pkg/deb/dpkgpm.cc:1081
msgid "Can not write log, openpty() failed (/dev/pts not mounted?)\n"
msgstr ""
-#: apt-pkg/deb/dpkgpm.cc:1093
+#: apt-pkg/deb/dpkgpm.cc:1112
msgid "Running dpkg"
msgstr ""
-#: apt-pkg/deb/dpkgpm.cc:1301
+#: apt-pkg/deb/dpkgpm.cc:1337
msgid "No apport report written because MaxReports is reached already"
msgstr ""
#. check if its not a follow up error
-#: apt-pkg/deb/dpkgpm.cc:1306
+#: apt-pkg/deb/dpkgpm.cc:1342
msgid "dependency problems - leaving unconfigured"
msgstr ""
-#: apt-pkg/deb/dpkgpm.cc:1308
+#: apt-pkg/deb/dpkgpm.cc:1344
msgid ""
"No apport report written because the error message indicates its a followup "
"error from a previous failure."
msgstr ""
-#: apt-pkg/deb/dpkgpm.cc:1314
+#: apt-pkg/deb/dpkgpm.cc:1350
msgid ""
"No apport report written because the error message indicates a disk full "
"error"
msgstr ""
-#: apt-pkg/deb/dpkgpm.cc:1321
+#: apt-pkg/deb/dpkgpm.cc:1357
msgid ""
"No apport report written because the error message indicates a out of memory "
"error"
msgstr ""
-#. do not report dpkg I/O errors, this is a format string, so we compare
-#. the prefix and the suffix of the error with the dpkg error message
-#: apt-pkg/deb/dpkgpm.cc:1327
-#, c-format
-msgid "short read in buffer_copy %s"
+#: apt-pkg/deb/dpkgpm.cc:1364 apt-pkg/deb/dpkgpm.cc:1370
+msgid ""
+"No apport report written because the error message indicates an issue on the "
+"local system"
msgstr ""
-#: apt-pkg/deb/dpkgpm.cc:1337
+#: apt-pkg/deb/dpkgpm.cc:1391
msgid ""
"No apport report written because the error message indicates a dpkg I/O error"
msgstr ""
@@ -3116,19 +3188,19 @@ msgstr ""
#. FIXME: fallback to a default mirror here instead
#. and provide a config option to define that default
-#: methods/mirror.cc:256
+#: methods/mirror.cc:260
#, c-format
msgid "No mirror file '%s' found "
msgstr ""
#. FIXME: fallback to a default mirror here instead
#. and provide a config option to define that default
-#: methods/mirror.cc:263
+#: methods/mirror.cc:267
#, c-format
msgid "Can not read mirror file '%s'"
msgstr ""
-#: methods/mirror.cc:407
+#: methods/mirror.cc:422
#, c-format
msgid "[Mirror: %s]"
msgstr ""
diff --git a/test/integration/test-resolve-by-keep-new-recommends b/test/integration/test-resolve-by-keep-new-recommends
new file mode 100755
index 000000000..8134b76aa
--- /dev/null
+++ b/test/integration/test-resolve-by-keep-new-recommends
@@ -0,0 +1,20 @@
+#!/bin/sh
+set -e
+
+TESTDIR=$(readlink -f $(dirname $0))
+. $TESTDIR/framework
+setupenvironment
+configarchitecture "i386"
+
+insertinstalledpackage 'foo' 'i386' '1.0'
+insertpackage 'unstable' 'foo' 'i386' '2.0' 'Recommends: bar'
+
+setupaptarchive
+
+UPGRADE_KEEP="Reading package lists...
+Building dependency tree...
+The following packages have been kept back:
+ foo
+0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded."
+testequal "$UPGRADE_KEEP" aptget upgrade -s
+