From 03dbbc98ba48eeb7c360c7fb02f21cdc9cd86465 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Fri, 31 Jul 2009 18:52:16 +0200 Subject: [cmdline/apt-get.cc] add APT::Get::HideAutoRemove=small to display only a short line instead of the full package list. (Closes: #537450) --- cmdline/apt-get.cc | 58 +++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 40 insertions(+), 18 deletions(-) (limited to 'cmdline') diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc index ab6dca388..d3972ad81 100644 --- a/cmdline/apt-get.cc +++ b/cmdline/apt-get.cc @@ -1400,20 +1400,29 @@ bool DoAutomaticRemove(CacheFile &Cache) bool Debug = _config->FindI("Debug::pkgAutoRemove",false); bool doAutoRemove = _config->FindB("APT::Get::AutomaticRemove", false); bool hideAutoRemove = _config->FindB("APT::Get::HideAutoRemove"); - pkgDepCache::ActionGroup group(*Cache); + pkgDepCache::ActionGroup group(*Cache); if(Debug) std::cout << "DoAutomaticRemove()" << std::endl; - if (_config->FindB("APT::Get::Remove",true) == false && - doAutoRemove == true) + // we don't want to autoremove and we don't want to see it, so why calculating? + if (doAutoRemove == false && hideAutoRemove == true) + return true; + + if (doAutoRemove == true && + _config->FindB("APT::Get::Remove",true) == false) { c1out << _("We are not supposed to delete stuff, can't start " "AutoRemover") << std::endl; - doAutoRemove = false; + return false; } + bool purgePkgs = _config->FindB("APT::Get::Purge", false); + bool smallList = (hideAutoRemove == false && + strcasecmp(_config->Find("APT::Get::HideAutoRemove","").c_str(),"small") == 0); + string autoremovelist, autoremoveversions; + unsigned long autoRemoveCount = 0; // look over the cache to see what can be removed for (pkgCache::PkgIterator Pkg = Cache->PkgBegin(); ! Pkg.end(); ++Pkg) { @@ -1422,30 +1431,43 @@ bool DoAutomaticRemove(CacheFile &Cache) if(Pkg.CurrentVer() != 0 || Cache[Pkg].Install()) if(Debug) std::cout << "We could delete %s" << Pkg.Name() << std::endl; - - // only show stuff in the list that is not yet marked for removal - if(Cache[Pkg].Delete() == false) - { - autoremovelist += string(Pkg.Name()) + " "; - autoremoveversions += string(Cache[Pkg].CandVersion) + "\n"; - } + if (doAutoRemove) { if(Pkg.CurrentVer() != 0 && Pkg->CurrentState != pkgCache::State::ConfigFiles) - Cache->MarkDelete(Pkg, _config->FindB("APT::Get::Purge", false)); + Cache->MarkDelete(Pkg, purgePkgs); else Cache->MarkKeep(Pkg, false, false); } + else + { + // only show stuff in the list that is not yet marked for removal + if(Cache[Pkg].Delete() == false) + { + // we don't need to fill the strings if we don't need them + if (smallList == true) + ++autoRemoveCount; + else + { + autoremovelist += string(Pkg.Name()) + " "; + autoremoveversions += string(Cache[Pkg].CandVersion) + "\n"; + } + } + } } } - if (!hideAutoRemove) - ShowList(c1out, _("The following packages were automatically installed and are no longer required:"), autoremovelist, autoremoveversions); - if (!doAutoRemove && !hideAutoRemove && autoremovelist.size() > 0) + // if we don't remove them, we should show them! + if (doAutoRemove == false && (autoremovelist.empty() == false || autoRemoveCount != 0)) + { + if (smallList == false) + ShowList(c1out, _("The following packages were automatically installed and are no longer required:"), autoremovelist, autoremoveversions); + else + ioprintf(c1out, _("%lu packages were automatically installed and are no longer required.\n"), autoRemoveCount); c1out << _("Use 'apt-get autoremove' to remove them.") << std::endl; - - // Now see if we destroyed anything - if (Cache->BrokenCount() != 0) + } + // Now see if we had destroyed anything (if we had done anything) + else if (Cache->BrokenCount() != 0) { c1out << _("Hmm, seems like the AutoRemover destroyed something which really\n" "shouldn't happen. Please file a bug report against apt.") << endl; -- cgit v1.2.3-70-g09d2 From 0dae8ac5f8a3092057a80d932ae4e55c1e7d3ca5 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Fri, 31 Jul 2009 20:29:50 +0200 Subject: [cmdline/apt-get.cc] ShowBroken() in build-dep (Closes: #145916) Patch from Mike O'Connor, thanks! --- cmdline/apt-get.cc | 5 ++++- debian/changelog | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) (limited to 'cmdline') diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc index d3972ad81..ebb634b4f 100644 --- a/cmdline/apt-get.cc +++ b/cmdline/apt-get.cc @@ -2572,7 +2572,10 @@ bool DoBuildDep(CommandLine &CmdL) // Now we check the state of the packages, if (Cache->BrokenCount() != 0) - return _error->Error(_("Build-dependencies for %s could not be satisfied."),*I); + { + ShowBroken(cout, Cache, false); + return _error->Error(_("Build-dependencies for %s could not be satisfied."),*I); + } } if (InstallPackages(Cache, false, true) == false) diff --git a/debian/changelog b/debian/changelog index 46bd16df9..b105faaef 100644 --- a/debian/changelog +++ b/debian/changelog @@ -9,6 +9,7 @@ apt (0.7.23) unstable; urgency=low * cmdline/apt-get.cc: - add APT::Get::HideAutoRemove=small to display only a short line instead of the full package list. (Closes: #537450) + - ShowBroken() in build-dep (by Mike O'Connor, Closes: #145916) -- Michael Vogt Thu, 30 Jul 2009 15:27:30 +0200 -- cgit v1.2.3-70-g09d2 From 034960416c99c4737f99536c55b77cc9a27b8d66 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Sat, 8 Aug 2009 12:40:00 +0200 Subject: [cmdline/apt-cache.cc] fix a memory leak in the xvcg method Patch from George Danchev, thanks (Closes: #511557) --- cmdline/apt-cache.cc | 6 +++++- debian/changelog | 7 +++++-- 2 files changed, 10 insertions(+), 3 deletions(-) (limited to 'cmdline') diff --git a/cmdline/apt-cache.cc b/cmdline/apt-cache.cc index 0e950310b..7d7f58a62 100644 --- a/cmdline/apt-cache.cc +++ b/cmdline/apt-cache.cc @@ -929,7 +929,11 @@ bool XVcg(CommandLine &CmdL) Shapes[ShapeMap[Pkg->ID]]); } - + + delete[] Show; + delete[] Flags; + delete[] ShapeMap; + printf("}\n"); return true; } diff --git a/debian/changelog b/debian/changelog index 408070b69..e82057d8e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -8,9 +8,12 @@ apt (0.7.22.3) unstable; urgency=low * apt-pkg/contrib/strutl.cc: - enable thousand separator according to the current locale (by Luca Bruno, Closes: #223712) + + [ George Danchev ] + * cmdline/apt-cache.cc: + - fix a memory leak in the xvcg method (Closes: #511557) * apt-pkg/indexcopy.cc: - - fix a (hypothetical) memory leak then the Release file not exists - (by George Danchev, Closes: #511556) + - fix a memory leak then the Release file not exists (Closes: #511556) -- David Kalnischkies Sat, 08 Aug 2009 09:40:08 +0200 -- cgit v1.2.3-70-g09d2 From f64196e879103151f3b90ba423dc74ef61ea8c76 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Sun, 9 Aug 2009 10:21:00 +0200 Subject: [cmdline/apt-get.cc] check for availability ofstatfs.f_type Patch from Robert Millan, thanks! (Closes: #509313) --- cmdline/apt-get.cc | 14 +++- configure.in | 4 + debian/changelog | 1 + po/apt-all.pot | 212 ++++++++++++++++++++++++++--------------------------- 4 files changed, 121 insertions(+), 110 deletions(-) (limited to 'cmdline') diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc index ebb634b4f..384953a6b 100644 --- a/cmdline/apt-get.cc +++ b/cmdline/apt-get.cc @@ -868,8 +868,11 @@ bool InstallPackages(CacheFile &Cache,bool ShwKept,bool Ask = true, if (unsigned(Buf.f_bfree) < (FetchBytes - FetchPBytes)/Buf.f_bsize) { struct statfs Stat; - if (statfs(OutputDir.c_str(),&Stat) != 0 || - unsigned(Stat.f_type) != RAMFS_MAGIC) + if (statfs(OutputDir.c_str(),&Stat) != 0 +#if HAVE_STRUCT_STATFS_F_TYPE + || unsigned(Stat.f_type) != RAMFS_MAGIC +#endif + ) return _error->Error(_("You don't have enough free space in %s."), OutputDir.c_str()); } @@ -2201,8 +2204,11 @@ bool DoSource(CommandLine &CmdL) if (unsigned(Buf.f_bfree) < (FetchBytes - FetchPBytes)/Buf.f_bsize) { struct statfs Stat; - if (statfs(OutputDir.c_str(),&Stat) != 0 || - unsigned(Stat.f_type) != RAMFS_MAGIC) + if (statfs(OutputDir.c_str(),&Stat) != 0 +#if HAVE_STRUCT_STATFS_F_TYPE + || unsigned(Stat.f_type) != RAMFS_MAGIC +#endif + ) return _error->Error(_("You don't have enough free space in %s"), OutputDir.c_str()); } diff --git a/configure.in b/configure.in index 9131e2fbe..0dd1beb1a 100644 --- a/configure.in +++ b/configure.in @@ -112,6 +112,10 @@ if test x"$HAVE_STATVFS" != x"yes"; then ]) fi +AC_CHECK_MEMBERS([struct statfs.f_type],,, + [$ac_includes_default + #include ]) + dnl We should use the real timegm function if we have it. AC_CHECK_FUNC(timegm,AC_DEFINE(HAVE_TIMEGM)) AC_SUBST(HAVE_TIMEGM) diff --git a/debian/changelog b/debian/changelog index e4b498a93..fd6f853e0 100644 --- a/debian/changelog +++ b/debian/changelog @@ -5,6 +5,7 @@ apt (0.7.22.3) unstable; urgency=low - add APT::Get::HideAutoRemove=small to display only a short line instead of the full package list. (Closes: #537450) - ShowBroken() in build-dep (by Mike O'Connor, Closes: #145916) + - check for statfs.f_type (by Robert Millan, Closes: #509313) * apt-pkg/contrib/strutl.cc: - enable thousand separator according to the current locale (by Luca Bruno, Closes: #223712) diff --git a/po/apt-all.pot b/po/apt-all.pot index 78c9c94e0..3ec999f76 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: 2009-08-08 09:46+0200\n" +"POT-Creation-Date: 2009-08-09 10:20+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -21,8 +21,8 @@ msgid "Package %s version %s has an unmet dep:\n" msgstr "" #: cmdline/apt-cache.cc:181 cmdline/apt-cache.cc:550 cmdline/apt-cache.cc:644 -#: cmdline/apt-cache.cc:797 cmdline/apt-cache.cc:1017 -#: cmdline/apt-cache.cc:1419 cmdline/apt-cache.cc:1571 +#: cmdline/apt-cache.cc:797 cmdline/apt-cache.cc:1021 +#: cmdline/apt-cache.cc:1423 cmdline/apt-cache.cc:1575 #, c-format msgid "Unable to locate package %s" msgstr "" @@ -91,72 +91,72 @@ msgstr "" msgid "Total space accounted for: " msgstr "" -#: cmdline/apt-cache.cc:469 cmdline/apt-cache.cc:1217 +#: cmdline/apt-cache.cc:469 cmdline/apt-cache.cc:1221 #, c-format msgid "Package file %s is out of sync." msgstr "" -#: cmdline/apt-cache.cc:1293 +#: cmdline/apt-cache.cc:1297 msgid "You must give exactly one pattern" msgstr "" -#: cmdline/apt-cache.cc:1447 +#: cmdline/apt-cache.cc:1451 msgid "No packages found" msgstr "" -#: cmdline/apt-cache.cc:1524 +#: cmdline/apt-cache.cc:1528 msgid "Package files:" msgstr "" -#: cmdline/apt-cache.cc:1531 cmdline/apt-cache.cc:1618 +#: cmdline/apt-cache.cc:1535 cmdline/apt-cache.cc:1622 msgid "Cache is out of sync, can't x-ref a package file" msgstr "" #. Show any packages have explicit pins -#: cmdline/apt-cache.cc:1545 +#: cmdline/apt-cache.cc:1549 msgid "Pinned packages:" msgstr "" -#: cmdline/apt-cache.cc:1557 cmdline/apt-cache.cc:1598 +#: cmdline/apt-cache.cc:1561 cmdline/apt-cache.cc:1602 msgid "(not found)" msgstr "" #. Installed version -#: cmdline/apt-cache.cc:1578 +#: cmdline/apt-cache.cc:1582 msgid " Installed: " msgstr "" -#: cmdline/apt-cache.cc:1580 cmdline/apt-cache.cc:1588 +#: cmdline/apt-cache.cc:1584 cmdline/apt-cache.cc:1592 msgid "(none)" msgstr "" #. Candidate Version -#: cmdline/apt-cache.cc:1585 +#: cmdline/apt-cache.cc:1589 msgid " Candidate: " msgstr "" -#: cmdline/apt-cache.cc:1595 +#: cmdline/apt-cache.cc:1599 msgid " Package pin: " msgstr "" #. Show the priority tables -#: cmdline/apt-cache.cc:1604 +#: cmdline/apt-cache.cc:1608 msgid " Version table:" msgstr "" -#: cmdline/apt-cache.cc:1619 +#: cmdline/apt-cache.cc:1623 #, c-format msgid " %4i %s\n" msgstr "" -#: cmdline/apt-cache.cc:1714 cmdline/apt-cdrom.cc:134 cmdline/apt-config.cc:70 +#: cmdline/apt-cache.cc:1718 cmdline/apt-cdrom.cc:134 cmdline/apt-config.cc:70 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:547 -#: cmdline/apt-get.cc:2609 cmdline/apt-sortpkgs.cc:144 +#: cmdline/apt-get.cc:2615 cmdline/apt-sortpkgs.cc:144 #, c-format msgid "%s %s for %s compiled on %s %s\n" msgstr "" -#: cmdline/apt-cache.cc:1721 +#: cmdline/apt-cache.cc:1725 msgid "" "Usage: apt-cache [options] command\n" " apt-cache [options] add file1 [file2 ...]\n" @@ -549,7 +549,7 @@ msgstr "" msgid "Y" msgstr "" -#: cmdline/apt-get.cc:149 cmdline/apt-get.cc:1681 +#: cmdline/apt-get.cc:149 cmdline/apt-get.cc:1684 #, c-format msgid "Regex compilation error - %s" msgstr "" @@ -692,7 +692,7 @@ msgstr "" msgid "Some packages could not be authenticated" msgstr "" -#: cmdline/apt-get.cc:734 cmdline/apt-get.cc:883 +#: cmdline/apt-get.cc:734 cmdline/apt-get.cc:886 msgid "There are problems and -y was used without --force-yes" msgstr "" @@ -708,11 +708,11 @@ msgstr "" msgid "Internal error, Ordering didn't finish" msgstr "" -#: cmdline/apt-get.cc:811 cmdline/apt-get.cc:2023 cmdline/apt-get.cc:2056 +#: cmdline/apt-get.cc:811 cmdline/apt-get.cc:2026 cmdline/apt-get.cc:2059 msgid "Unable to lock the download directory" msgstr "" -#: cmdline/apt-get.cc:821 cmdline/apt-get.cc:2104 cmdline/apt-get.cc:2350 +#: cmdline/apt-get.cc:821 cmdline/apt-get.cc:2107 cmdline/apt-get.cc:2356 #: apt-pkg/cachefile.cc:65 msgid "The list of sources could not be read." msgstr "" @@ -741,25 +741,25 @@ msgstr "" msgid "After this operation, %sB disk space will be freed.\n" msgstr "" -#: cmdline/apt-get.cc:866 cmdline/apt-get.cc:2199 +#: cmdline/apt-get.cc:866 cmdline/apt-get.cc:2202 #, c-format msgid "Couldn't determine free space in %s" msgstr "" -#: cmdline/apt-get.cc:873 +#: cmdline/apt-get.cc:876 #, c-format msgid "You don't have enough free space in %s." msgstr "" -#: cmdline/apt-get.cc:889 cmdline/apt-get.cc:909 +#: cmdline/apt-get.cc:892 cmdline/apt-get.cc:912 msgid "Trivial Only specified but this is not a trivial operation." msgstr "" -#: cmdline/apt-get.cc:891 +#: cmdline/apt-get.cc:894 msgid "Yes, do as I say!" msgstr "" -#: cmdline/apt-get.cc:893 +#: cmdline/apt-get.cc:896 #, c-format msgid "" "You are about to do something potentially harmful.\n" @@ -767,74 +767,74 @@ msgid "" " ?] " msgstr "" -#: cmdline/apt-get.cc:899 cmdline/apt-get.cc:918 +#: cmdline/apt-get.cc:902 cmdline/apt-get.cc:921 msgid "Abort." msgstr "" -#: cmdline/apt-get.cc:914 +#: cmdline/apt-get.cc:917 msgid "Do you want to continue [Y/n]? " msgstr "" -#: cmdline/apt-get.cc:986 cmdline/apt-get.cc:2247 apt-pkg/algorithms.cc:1389 +#: cmdline/apt-get.cc:989 cmdline/apt-get.cc:2253 apt-pkg/algorithms.cc:1389 #, c-format msgid "Failed to fetch %s %s\n" msgstr "" -#: cmdline/apt-get.cc:1004 +#: cmdline/apt-get.cc:1007 msgid "Some files failed to download" msgstr "" -#: cmdline/apt-get.cc:1005 cmdline/apt-get.cc:2256 +#: cmdline/apt-get.cc:1008 cmdline/apt-get.cc:2262 msgid "Download complete and in download only mode" msgstr "" -#: cmdline/apt-get.cc:1011 +#: cmdline/apt-get.cc:1014 msgid "" "Unable to fetch some archives, maybe run apt-get update or try with --fix-" "missing?" msgstr "" -#: cmdline/apt-get.cc:1015 +#: cmdline/apt-get.cc:1018 msgid "--fix-missing and media swapping is not currently supported" msgstr "" -#: cmdline/apt-get.cc:1020 +#: cmdline/apt-get.cc:1023 msgid "Unable to correct missing packages." msgstr "" -#: cmdline/apt-get.cc:1021 +#: cmdline/apt-get.cc:1024 msgid "Aborting install." msgstr "" -#: cmdline/apt-get.cc:1055 +#: cmdline/apt-get.cc:1058 #, c-format msgid "Note, selecting %s instead of %s\n" msgstr "" -#: cmdline/apt-get.cc:1065 +#: cmdline/apt-get.cc:1068 #, c-format msgid "Skipping %s, it is already installed and upgrade is not set.\n" msgstr "" -#: cmdline/apt-get.cc:1083 +#: cmdline/apt-get.cc:1086 #, c-format msgid "Package %s is not installed, so not removed\n" msgstr "" -#: cmdline/apt-get.cc:1094 +#: cmdline/apt-get.cc:1097 #, c-format msgid "Package %s is a virtual package provided by:\n" msgstr "" -#: cmdline/apt-get.cc:1106 +#: cmdline/apt-get.cc:1109 msgid " [Installed]" msgstr "" -#: cmdline/apt-get.cc:1111 +#: cmdline/apt-get.cc:1114 msgid "You should explicitly select one to install." msgstr "" -#: cmdline/apt-get.cc:1116 +#: cmdline/apt-get.cc:1119 #, c-format msgid "" "Package %s is not available, but is referred to by another package.\n" @@ -842,73 +842,73 @@ msgid "" "is only available from another source\n" msgstr "" -#: cmdline/apt-get.cc:1135 +#: cmdline/apt-get.cc:1138 msgid "However the following packages replace it:" msgstr "" -#: cmdline/apt-get.cc:1138 +#: cmdline/apt-get.cc:1141 #, c-format msgid "Package %s has no installation candidate" msgstr "" -#: cmdline/apt-get.cc:1158 +#: cmdline/apt-get.cc:1161 #, c-format msgid "Reinstallation of %s is not possible, it cannot be downloaded.\n" msgstr "" -#: cmdline/apt-get.cc:1166 +#: cmdline/apt-get.cc:1169 #, c-format msgid "%s is already the newest version.\n" msgstr "" -#: cmdline/apt-get.cc:1195 +#: cmdline/apt-get.cc:1198 #, c-format msgid "Release '%s' for '%s' was not found" msgstr "" -#: cmdline/apt-get.cc:1197 +#: cmdline/apt-get.cc:1200 #, c-format msgid "Version '%s' for '%s' was not found" msgstr "" -#: cmdline/apt-get.cc:1203 +#: cmdline/apt-get.cc:1206 #, c-format msgid "Selected version %s (%s) for %s\n" msgstr "" -#: cmdline/apt-get.cc:1309 +#: cmdline/apt-get.cc:1312 #, c-format msgid "No source package '%s' picking '%s' instead\n" msgstr "" -#: cmdline/apt-get.cc:1346 +#: cmdline/apt-get.cc:1349 msgid "The update command takes no arguments" msgstr "" -#: cmdline/apt-get.cc:1359 +#: cmdline/apt-get.cc:1362 msgid "Unable to lock the list directory" msgstr "" -#: cmdline/apt-get.cc:1415 +#: cmdline/apt-get.cc:1418 msgid "We are not supposed to delete stuff, can't start AutoRemover" msgstr "" -#: cmdline/apt-get.cc:1464 +#: cmdline/apt-get.cc:1467 msgid "" "The following packages were automatically installed and are no longer " "required:" msgstr "" -#: cmdline/apt-get.cc:1466 +#: cmdline/apt-get.cc:1469 #, c-format msgid "%lu packages were automatically installed and are no longer required.\n" msgstr "" -#: cmdline/apt-get.cc:1467 +#: cmdline/apt-get.cc:1470 msgid "Use 'apt-get autoremove' to remove them." msgstr "" -#: cmdline/apt-get.cc:1472 +#: cmdline/apt-get.cc:1475 msgid "" "Hmm, seems like the AutoRemover destroyed something which really\n" "shouldn't happen. Please file a bug report against apt." @@ -924,49 +924,49 @@ msgstr "" #. "that package should be filed.") << endl; #. } #. -#: cmdline/apt-get.cc:1475 cmdline/apt-get.cc:1765 +#: cmdline/apt-get.cc:1478 cmdline/apt-get.cc:1768 msgid "The following information may help to resolve the situation:" msgstr "" -#: cmdline/apt-get.cc:1479 +#: cmdline/apt-get.cc:1482 msgid "Internal Error, AutoRemover broke stuff" msgstr "" -#: cmdline/apt-get.cc:1498 +#: cmdline/apt-get.cc:1501 msgid "Internal error, AllUpgrade broke stuff" msgstr "" -#: cmdline/apt-get.cc:1553 +#: cmdline/apt-get.cc:1556 #, c-format msgid "Couldn't find task %s" msgstr "" -#: cmdline/apt-get.cc:1668 cmdline/apt-get.cc:1704 +#: cmdline/apt-get.cc:1671 cmdline/apt-get.cc:1707 #, c-format msgid "Couldn't find package %s" msgstr "" -#: cmdline/apt-get.cc:1691 +#: cmdline/apt-get.cc:1694 #, c-format msgid "Note, selecting %s for regex '%s'\n" msgstr "" -#: cmdline/apt-get.cc:1722 +#: cmdline/apt-get.cc:1725 #, c-format msgid "%s set to manually installed.\n" msgstr "" -#: cmdline/apt-get.cc:1735 +#: cmdline/apt-get.cc:1738 msgid "You might want to run `apt-get -f install' to correct these:" msgstr "" -#: cmdline/apt-get.cc:1738 +#: cmdline/apt-get.cc:1741 msgid "" "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a " "solution)." msgstr "" -#: cmdline/apt-get.cc:1750 +#: cmdline/apt-get.cc:1753 msgid "" "Some packages could not be installed. This may mean that you have\n" "requested an impossible situation or if you are using the unstable\n" @@ -974,152 +974,152 @@ msgid "" "or been moved out of Incoming." msgstr "" -#: cmdline/apt-get.cc:1768 +#: cmdline/apt-get.cc:1771 msgid "Broken packages" msgstr "" -#: cmdline/apt-get.cc:1797 +#: cmdline/apt-get.cc:1800 msgid "The following extra packages will be installed:" msgstr "" -#: cmdline/apt-get.cc:1886 +#: cmdline/apt-get.cc:1889 msgid "Suggested packages:" msgstr "" -#: cmdline/apt-get.cc:1887 +#: cmdline/apt-get.cc:1890 msgid "Recommended packages:" msgstr "" -#: cmdline/apt-get.cc:1916 +#: cmdline/apt-get.cc:1919 msgid "Calculating upgrade... " msgstr "" -#: cmdline/apt-get.cc:1919 methods/ftp.cc:702 methods/connect.cc:112 +#: cmdline/apt-get.cc:1922 methods/ftp.cc:702 methods/connect.cc:112 msgid "Failed" msgstr "" -#: cmdline/apt-get.cc:1924 +#: cmdline/apt-get.cc:1927 msgid "Done" msgstr "" -#: cmdline/apt-get.cc:1991 cmdline/apt-get.cc:1999 +#: cmdline/apt-get.cc:1994 cmdline/apt-get.cc:2002 msgid "Internal error, problem resolver broke stuff" msgstr "" -#: cmdline/apt-get.cc:2099 +#: cmdline/apt-get.cc:2102 msgid "Must specify at least one package to fetch source for" msgstr "" -#: cmdline/apt-get.cc:2129 cmdline/apt-get.cc:2368 +#: cmdline/apt-get.cc:2132 cmdline/apt-get.cc:2374 #, c-format msgid "Unable to find a source package for %s" msgstr "" -#: cmdline/apt-get.cc:2178 +#: cmdline/apt-get.cc:2181 #, c-format msgid "Skipping already downloaded file '%s'\n" msgstr "" -#: cmdline/apt-get.cc:2206 +#: cmdline/apt-get.cc:2212 #, c-format msgid "You don't have enough free space in %s" msgstr "" -#: cmdline/apt-get.cc:2212 +#: cmdline/apt-get.cc:2218 #, c-format msgid "Need to get %sB/%sB of source archives.\n" msgstr "" -#: cmdline/apt-get.cc:2215 +#: cmdline/apt-get.cc:2221 #, c-format msgid "Need to get %sB of source archives.\n" msgstr "" -#: cmdline/apt-get.cc:2221 +#: cmdline/apt-get.cc:2227 #, c-format msgid "Fetch source %s\n" msgstr "" -#: cmdline/apt-get.cc:2252 +#: cmdline/apt-get.cc:2258 msgid "Failed to fetch some archives." msgstr "" -#: cmdline/apt-get.cc:2280 +#: cmdline/apt-get.cc:2286 #, c-format msgid "Skipping unpack of already unpacked source in %s\n" msgstr "" -#: cmdline/apt-get.cc:2292 +#: cmdline/apt-get.cc:2298 #, c-format msgid "Unpack command '%s' failed.\n" msgstr "" -#: cmdline/apt-get.cc:2293 +#: cmdline/apt-get.cc:2299 #, c-format msgid "Check if the 'dpkg-dev' package is installed.\n" msgstr "" -#: cmdline/apt-get.cc:2310 +#: cmdline/apt-get.cc:2316 #, c-format msgid "Build command '%s' failed.\n" msgstr "" -#: cmdline/apt-get.cc:2329 +#: cmdline/apt-get.cc:2335 msgid "Child process failed" msgstr "" -#: cmdline/apt-get.cc:2345 +#: cmdline/apt-get.cc:2351 msgid "Must specify at least one package to check builddeps for" msgstr "" -#: cmdline/apt-get.cc:2373 +#: cmdline/apt-get.cc:2379 #, c-format msgid "Unable to get build-dependency information for %s" msgstr "" -#: cmdline/apt-get.cc:2393 +#: cmdline/apt-get.cc:2399 #, c-format msgid "%s has no build depends.\n" msgstr "" -#: cmdline/apt-get.cc:2445 +#: cmdline/apt-get.cc:2451 #, c-format msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " "found" msgstr "" -#: cmdline/apt-get.cc:2498 +#: cmdline/apt-get.cc:2504 #, 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:2534 +#: cmdline/apt-get.cc:2540 #, c-format msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" msgstr "" -#: cmdline/apt-get.cc:2561 +#: cmdline/apt-get.cc:2567 #, c-format msgid "Failed to satisfy %s dependency for %s: %s" msgstr "" -#: cmdline/apt-get.cc:2577 +#: cmdline/apt-get.cc:2583 #, c-format msgid "Build-dependencies for %s could not be satisfied." msgstr "" -#: cmdline/apt-get.cc:2582 +#: cmdline/apt-get.cc:2588 msgid "Failed to process build dependencies" msgstr "" -#: cmdline/apt-get.cc:2614 +#: cmdline/apt-get.cc:2620 msgid "Supported modules:" msgstr "" -#: cmdline/apt-get.cc:2655 +#: cmdline/apt-get.cc:2661 msgid "" "Usage: apt-get [options] command\n" " apt-get [options] install|remove pkg1 [pkg2 ...]\n" @@ -1163,7 +1163,7 @@ msgid "" " This APT has Super Cow Powers.\n" msgstr "" -#: cmdline/apt-get.cc:2822 +#: cmdline/apt-get.cc:2828 msgid "" "NOTE: This is only a simulation!\n" " apt-get needs root privileges for real execution.\n" @@ -2641,22 +2641,22 @@ msgstr "" msgid "Source list entries for this disc are:\n" msgstr "" -#: apt-pkg/indexcopy.cc:263 apt-pkg/indexcopy.cc:832 +#: apt-pkg/indexcopy.cc:263 apt-pkg/indexcopy.cc:835 #, c-format msgid "Wrote %i records.\n" msgstr "" -#: apt-pkg/indexcopy.cc:265 apt-pkg/indexcopy.cc:834 +#: apt-pkg/indexcopy.cc:265 apt-pkg/indexcopy.cc:837 #, c-format msgid "Wrote %i records with %i missing files.\n" msgstr "" -#: apt-pkg/indexcopy.cc:268 apt-pkg/indexcopy.cc:837 +#: apt-pkg/indexcopy.cc:268 apt-pkg/indexcopy.cc:840 #, c-format msgid "Wrote %i records with %i mismatched files\n" msgstr "" -#: apt-pkg/indexcopy.cc:271 apt-pkg/indexcopy.cc:840 +#: apt-pkg/indexcopy.cc:271 apt-pkg/indexcopy.cc:843 #, c-format msgid "Wrote %i records with %i missing files and %i mismatched files\n" msgstr "" -- cgit v1.2.3-70-g09d2 From 717ec7d41a232a1571f98e1efe2ff3c71d94968f Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Sun, 9 Aug 2009 13:43:21 +0200 Subject: [cmdline/apt-get.cc] correct the order of picked package binary vs source in the source command in the msg "No source package x picking y instead" --- cmdline/apt-get.cc | 2 +- debian/changelog | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) (limited to 'cmdline') diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc index 384953a6b..34ffaf11a 100644 --- a/cmdline/apt-get.cc +++ b/cmdline/apt-get.cc @@ -1309,7 +1309,7 @@ pkgSrcRecords::Parser *FindSrc(const char *Name,pkgRecords &Recs, // show name mismatches if (IsMatch == true && Parse->Package() != Src) - ioprintf(c1out, _("No source package '%s' picking '%s' instead\n"), Parse->Package().c_str(), Src.c_str()); + ioprintf(c1out, _("No source package '%s' picking '%s' instead\n"), Src.c_str(), Parse->Package().c_str()); if (VerTag.empty() == false) { diff --git a/debian/changelog b/debian/changelog index 7f8764c8e..fa2a3f612 100644 --- a/debian/changelog +++ b/debian/changelog @@ -6,6 +6,7 @@ apt (0.7.22.3) unstable; urgency=low instead of the full package list. (Closes: #537450) - ShowBroken() in build-dep (by Mike O'Connor, Closes: #145916) - check for statfs.f_type (by Robert Millan, Closes: #509313) + - correct the order of picked package binary vs source in source * apt-pkg/contrib/strutl.cc: - enable thousand separator according to the current locale (by Luca Bruno, Closes: #223712) -- cgit v1.2.3-70-g09d2 From 619596fcd20e3fda2ab352103cfeb9437015dfbc Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Wed, 12 Aug 2009 13:17:36 +0200 Subject: [cmdline/apt-get.cc] - use SourceVersion instead of the BinaryVersion to get the source Patch by Matt Kraai, thanks! (Closes: #382826) --- cmdline/apt-get.cc | 5 ++- debian/changelog | 2 + po/apt-all.pot | 118 ++++++++++++++++++++++++++--------------------------- 3 files changed, 65 insertions(+), 60 deletions(-) (limited to 'cmdline') diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc index 34ffaf11a..71566fd55 100644 --- a/cmdline/apt-get.cc +++ b/cmdline/apt-get.cc @@ -1255,7 +1255,10 @@ pkgSrcRecords::Parser *FindSrc(const char *Name,pkgRecords &Recs, //std::cout << VF.File().Archive() << std::endl; if(VF.File().Archive() && (VF.File().Archive() == DefRel)) { - VerTag = Ver.VerStr(); + pkgRecords::Parser &Parse = Recs.Lookup(VF); + VerTag = Parse.SourceVer(); + if (VerTag.empty()) + VerTag = Ver.VerStr(); break; } } diff --git a/debian/changelog b/debian/changelog index 0f7669930..3407cdcec 100644 --- a/debian/changelog +++ b/debian/changelog @@ -7,6 +7,8 @@ apt (0.7.22.3) unstable; urgency=low - ShowBroken() in build-dep (by Mike O'Connor, Closes: #145916) - check for statfs.f_type (by Robert Millan, Closes: #509313) - correct the order of picked package binary vs source in source + - use SourceVersion instead of the BinaryVersion to get the source + Patch by Matt Kraai, thanks! (Closes: #382826) * apt-pkg/contrib/strutl.cc: - enable thousand separator according to the current locale (by Luca Bruno, Closes: #223712) diff --git a/po/apt-all.pot b/po/apt-all.pot index 8f3d4cf60..767d9f060 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: 2009-08-10 23:54+0200\n" +"POT-Creation-Date: 2009-08-12 13:14+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -151,7 +151,7 @@ msgstr "" #: cmdline/apt-cache.cc:1718 cmdline/apt-cdrom.cc:134 cmdline/apt-config.cc:70 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:547 -#: cmdline/apt-get.cc:2615 cmdline/apt-sortpkgs.cc:144 +#: cmdline/apt-get.cc:2618 cmdline/apt-sortpkgs.cc:144 #, c-format msgid "%s %s for %s compiled on %s %s\n" msgstr "" @@ -549,7 +549,7 @@ msgstr "" msgid "Y" msgstr "" -#: cmdline/apt-get.cc:149 cmdline/apt-get.cc:1684 +#: cmdline/apt-get.cc:149 cmdline/apt-get.cc:1687 #, c-format msgid "Regex compilation error - %s" msgstr "" @@ -708,11 +708,11 @@ msgstr "" msgid "Internal error, Ordering didn't finish" msgstr "" -#: cmdline/apt-get.cc:811 cmdline/apt-get.cc:2026 cmdline/apt-get.cc:2059 +#: cmdline/apt-get.cc:811 cmdline/apt-get.cc:2029 cmdline/apt-get.cc:2062 msgid "Unable to lock the download directory" msgstr "" -#: cmdline/apt-get.cc:821 cmdline/apt-get.cc:2107 cmdline/apt-get.cc:2356 +#: cmdline/apt-get.cc:821 cmdline/apt-get.cc:2110 cmdline/apt-get.cc:2359 #: apt-pkg/cachefile.cc:65 msgid "The list of sources could not be read." msgstr "" @@ -741,7 +741,7 @@ msgstr "" msgid "After this operation, %sB disk space will be freed.\n" msgstr "" -#: cmdline/apt-get.cc:866 cmdline/apt-get.cc:2202 +#: cmdline/apt-get.cc:866 cmdline/apt-get.cc:2205 #, c-format msgid "Couldn't determine free space in %s" msgstr "" @@ -775,7 +775,7 @@ msgstr "" msgid "Do you want to continue [Y/n]? " msgstr "" -#: cmdline/apt-get.cc:989 cmdline/apt-get.cc:2253 apt-pkg/algorithms.cc:1389 +#: cmdline/apt-get.cc:989 cmdline/apt-get.cc:2256 apt-pkg/algorithms.cc:1389 #, c-format msgid "Failed to fetch %s %s\n" msgstr "" @@ -784,7 +784,7 @@ msgstr "" msgid "Some files failed to download" msgstr "" -#: cmdline/apt-get.cc:1008 cmdline/apt-get.cc:2262 +#: cmdline/apt-get.cc:1008 cmdline/apt-get.cc:2265 msgid "Download complete and in download only mode" msgstr "" @@ -876,39 +876,39 @@ msgstr "" msgid "Selected version %s (%s) for %s\n" msgstr "" -#: cmdline/apt-get.cc:1312 +#: cmdline/apt-get.cc:1315 #, c-format msgid "No source package '%s' picking '%s' instead\n" msgstr "" -#: cmdline/apt-get.cc:1349 +#: cmdline/apt-get.cc:1352 msgid "The update command takes no arguments" msgstr "" -#: cmdline/apt-get.cc:1362 +#: cmdline/apt-get.cc:1365 msgid "Unable to lock the list directory" msgstr "" -#: cmdline/apt-get.cc:1418 +#: cmdline/apt-get.cc:1421 msgid "We are not supposed to delete stuff, can't start AutoRemover" msgstr "" -#: cmdline/apt-get.cc:1467 +#: cmdline/apt-get.cc:1470 msgid "" "The following packages were automatically installed and are no longer " "required:" msgstr "" -#: cmdline/apt-get.cc:1469 +#: cmdline/apt-get.cc:1472 #, c-format msgid "%lu packages were automatically installed and are no longer required.\n" msgstr "" -#: cmdline/apt-get.cc:1470 +#: cmdline/apt-get.cc:1473 msgid "Use 'apt-get autoremove' to remove them." msgstr "" -#: cmdline/apt-get.cc:1475 +#: cmdline/apt-get.cc:1478 msgid "" "Hmm, seems like the AutoRemover destroyed something which really\n" "shouldn't happen. Please file a bug report against apt." @@ -924,49 +924,49 @@ msgstr "" #. "that package should be filed.") << endl; #. } #. -#: cmdline/apt-get.cc:1478 cmdline/apt-get.cc:1768 +#: cmdline/apt-get.cc:1481 cmdline/apt-get.cc:1771 msgid "The following information may help to resolve the situation:" msgstr "" -#: cmdline/apt-get.cc:1482 +#: cmdline/apt-get.cc:1485 msgid "Internal Error, AutoRemover broke stuff" msgstr "" -#: cmdline/apt-get.cc:1501 +#: cmdline/apt-get.cc:1504 msgid "Internal error, AllUpgrade broke stuff" msgstr "" -#: cmdline/apt-get.cc:1556 +#: cmdline/apt-get.cc:1559 #, c-format msgid "Couldn't find task %s" msgstr "" -#: cmdline/apt-get.cc:1671 cmdline/apt-get.cc:1707 +#: cmdline/apt-get.cc:1674 cmdline/apt-get.cc:1710 #, c-format msgid "Couldn't find package %s" msgstr "" -#: cmdline/apt-get.cc:1694 +#: cmdline/apt-get.cc:1697 #, c-format msgid "Note, selecting %s for regex '%s'\n" msgstr "" -#: cmdline/apt-get.cc:1725 +#: cmdline/apt-get.cc:1728 #, c-format msgid "%s set to manually installed.\n" msgstr "" -#: cmdline/apt-get.cc:1738 +#: cmdline/apt-get.cc:1741 msgid "You might want to run `apt-get -f install' to correct these:" msgstr "" -#: cmdline/apt-get.cc:1741 +#: cmdline/apt-get.cc:1744 msgid "" "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a " "solution)." msgstr "" -#: cmdline/apt-get.cc:1753 +#: cmdline/apt-get.cc:1756 msgid "" "Some packages could not be installed. This may mean that you have\n" "requested an impossible situation or if you are using the unstable\n" @@ -974,152 +974,152 @@ msgid "" "or been moved out of Incoming." msgstr "" -#: cmdline/apt-get.cc:1771 +#: cmdline/apt-get.cc:1774 msgid "Broken packages" msgstr "" -#: cmdline/apt-get.cc:1800 +#: cmdline/apt-get.cc:1803 msgid "The following extra packages will be installed:" msgstr "" -#: cmdline/apt-get.cc:1889 +#: cmdline/apt-get.cc:1892 msgid "Suggested packages:" msgstr "" -#: cmdline/apt-get.cc:1890 +#: cmdline/apt-get.cc:1893 msgid "Recommended packages:" msgstr "" -#: cmdline/apt-get.cc:1919 +#: cmdline/apt-get.cc:1922 msgid "Calculating upgrade... " msgstr "" -#: cmdline/apt-get.cc:1922 methods/ftp.cc:702 methods/connect.cc:112 +#: cmdline/apt-get.cc:1925 methods/ftp.cc:702 methods/connect.cc:112 msgid "Failed" msgstr "" -#: cmdline/apt-get.cc:1927 +#: cmdline/apt-get.cc:1930 msgid "Done" msgstr "" -#: cmdline/apt-get.cc:1994 cmdline/apt-get.cc:2002 +#: cmdline/apt-get.cc:1997 cmdline/apt-get.cc:2005 msgid "Internal error, problem resolver broke stuff" msgstr "" -#: cmdline/apt-get.cc:2102 +#: cmdline/apt-get.cc:2105 msgid "Must specify at least one package to fetch source for" msgstr "" -#: cmdline/apt-get.cc:2132 cmdline/apt-get.cc:2374 +#: cmdline/apt-get.cc:2135 cmdline/apt-get.cc:2377 #, c-format msgid "Unable to find a source package for %s" msgstr "" -#: cmdline/apt-get.cc:2181 +#: cmdline/apt-get.cc:2184 #, c-format msgid "Skipping already downloaded file '%s'\n" msgstr "" -#: cmdline/apt-get.cc:2212 +#: cmdline/apt-get.cc:2215 #, c-format msgid "You don't have enough free space in %s" msgstr "" -#: cmdline/apt-get.cc:2218 +#: cmdline/apt-get.cc:2221 #, c-format msgid "Need to get %sB/%sB of source archives.\n" msgstr "" -#: cmdline/apt-get.cc:2221 +#: cmdline/apt-get.cc:2224 #, c-format msgid "Need to get %sB of source archives.\n" msgstr "" -#: cmdline/apt-get.cc:2227 +#: cmdline/apt-get.cc:2230 #, c-format msgid "Fetch source %s\n" msgstr "" -#: cmdline/apt-get.cc:2258 +#: cmdline/apt-get.cc:2261 msgid "Failed to fetch some archives." msgstr "" -#: cmdline/apt-get.cc:2286 +#: cmdline/apt-get.cc:2289 #, c-format msgid "Skipping unpack of already unpacked source in %s\n" msgstr "" -#: cmdline/apt-get.cc:2298 +#: cmdline/apt-get.cc:2301 #, c-format msgid "Unpack command '%s' failed.\n" msgstr "" -#: cmdline/apt-get.cc:2299 +#: cmdline/apt-get.cc:2302 #, c-format msgid "Check if the 'dpkg-dev' package is installed.\n" msgstr "" -#: cmdline/apt-get.cc:2316 +#: cmdline/apt-get.cc:2319 #, c-format msgid "Build command '%s' failed.\n" msgstr "" -#: cmdline/apt-get.cc:2335 +#: cmdline/apt-get.cc:2338 msgid "Child process failed" msgstr "" -#: cmdline/apt-get.cc:2351 +#: cmdline/apt-get.cc:2354 msgid "Must specify at least one package to check builddeps for" msgstr "" -#: cmdline/apt-get.cc:2379 +#: cmdline/apt-get.cc:2382 #, c-format msgid "Unable to get build-dependency information for %s" msgstr "" -#: cmdline/apt-get.cc:2399 +#: cmdline/apt-get.cc:2402 #, c-format msgid "%s has no build depends.\n" msgstr "" -#: cmdline/apt-get.cc:2451 +#: cmdline/apt-get.cc:2454 #, c-format msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " "found" msgstr "" -#: cmdline/apt-get.cc:2504 +#: cmdline/apt-get.cc:2507 #, 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:2540 +#: cmdline/apt-get.cc:2543 #, c-format msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" msgstr "" -#: cmdline/apt-get.cc:2567 +#: cmdline/apt-get.cc:2570 #, c-format msgid "Failed to satisfy %s dependency for %s: %s" msgstr "" -#: cmdline/apt-get.cc:2583 +#: cmdline/apt-get.cc:2586 #, c-format msgid "Build-dependencies for %s could not be satisfied." msgstr "" -#: cmdline/apt-get.cc:2588 +#: cmdline/apt-get.cc:2591 msgid "Failed to process build dependencies" msgstr "" -#: cmdline/apt-get.cc:2620 +#: cmdline/apt-get.cc:2623 msgid "Supported modules:" msgstr "" -#: cmdline/apt-get.cc:2661 +#: cmdline/apt-get.cc:2664 msgid "" "Usage: apt-get [options] command\n" " apt-get [options] install|remove pkg1 [pkg2 ...]\n" @@ -1163,7 +1163,7 @@ msgid "" " This APT has Super Cow Powers.\n" msgstr "" -#: cmdline/apt-get.cc:2828 +#: cmdline/apt-get.cc:2831 msgid "" "NOTE: This is only a simulation!\n" " apt-get needs root privileges for real execution.\n" -- cgit v1.2.3-70-g09d2 From ebf6c42d9db4766c315ea15f25c4a7a9a799660b Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Wed, 12 Aug 2009 14:52:43 +0200 Subject: Add the pkg/release syntax to the source command in apt-get and also add the understanding for codenames instead of archives here [cmdline/apt-get.cc] - add pkg/archive and codename in source (Closes: #414105, #441178) --- cmdline/apt-get.cc | 22 ++++++---- debian/changelog | 1 + po/apt-all.pot | 118 ++++++++++++++++++++++++++--------------------------- 3 files changed, 75 insertions(+), 66 deletions(-) (limited to 'cmdline') diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc index 71566fd55..1582fff85 100644 --- a/cmdline/apt-get.cc +++ b/cmdline/apt-get.cc @@ -1220,17 +1220,25 @@ pkgSrcRecords::Parser *FindSrc(const char *Name,pkgRecords &Recs, { // We want to pull the version off the package specification.. string VerTag; + string DefRel; string TmpSrc = Name; - string::size_type Slash = TmpSrc.rfind('='); + const size_t found = TmpSrc.find_last_of("/="); // honor default release - string DefRel = _config->Find("APT::Default-Release"); + if (found != string::npos && TmpSrc[found] == '/') + { + DefRel = TmpSrc.substr(found+1); + TmpSrc = TmpSrc.substr(0,found); + } + else + DefRel = _config->Find("APT::Default-Release"); + pkgCache::PkgIterator Pkg = Cache.FindPkg(TmpSrc); - if (Slash != string::npos) + if (found != string::npos && TmpSrc[found] == '=') { - VerTag = string(TmpSrc.begin() + Slash + 1,TmpSrc.end()); - TmpSrc = string(TmpSrc.begin(),TmpSrc.begin() + Slash); + VerTag = TmpSrc.substr(found+1); + TmpSrc = TmpSrc.substr(0,found); } else if(!Pkg.end() && DefRel.empty() == false) { @@ -1252,8 +1260,8 @@ pkgSrcRecords::Parser *FindSrc(const char *Name,pkgRecords &Recs, pkgCache::Flag::NotSource && Pkg.CurrentVer() != Ver) continue; - //std::cout << VF.File().Archive() << std::endl; - if(VF.File().Archive() && (VF.File().Archive() == DefRel)) + if((VF.File().Archive() != 0 && VF.File().Archive() == DefRel) || + (VF.File().Codename() != 0 && VF.File().Codename() == DefRel)) { pkgRecords::Parser &Parse = Recs.Lookup(VF); VerTag = Parse.SourceVer(); diff --git a/debian/changelog b/debian/changelog index 3407cdcec..7dbbcdf7a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -9,6 +9,7 @@ apt (0.7.22.3) unstable; urgency=low - correct the order of picked package binary vs source in source - use SourceVersion instead of the BinaryVersion to get the source Patch by Matt Kraai, thanks! (Closes: #382826) + - add pkg/archive and codename in source (Closes: #414105, #441178) * apt-pkg/contrib/strutl.cc: - enable thousand separator according to the current locale (by Luca Bruno, Closes: #223712) diff --git a/po/apt-all.pot b/po/apt-all.pot index 767d9f060..b20a3fd92 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: 2009-08-12 13:14+0200\n" +"POT-Creation-Date: 2009-08-12 14:46+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -151,7 +151,7 @@ msgstr "" #: cmdline/apt-cache.cc:1718 cmdline/apt-cdrom.cc:134 cmdline/apt-config.cc:70 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:547 -#: cmdline/apt-get.cc:2618 cmdline/apt-sortpkgs.cc:144 +#: cmdline/apt-get.cc:2626 cmdline/apt-sortpkgs.cc:144 #, c-format msgid "%s %s for %s compiled on %s %s\n" msgstr "" @@ -549,7 +549,7 @@ msgstr "" msgid "Y" msgstr "" -#: cmdline/apt-get.cc:149 cmdline/apt-get.cc:1687 +#: cmdline/apt-get.cc:149 cmdline/apt-get.cc:1695 #, c-format msgid "Regex compilation error - %s" msgstr "" @@ -708,11 +708,11 @@ msgstr "" msgid "Internal error, Ordering didn't finish" msgstr "" -#: cmdline/apt-get.cc:811 cmdline/apt-get.cc:2029 cmdline/apt-get.cc:2062 +#: cmdline/apt-get.cc:811 cmdline/apt-get.cc:2037 cmdline/apt-get.cc:2070 msgid "Unable to lock the download directory" msgstr "" -#: cmdline/apt-get.cc:821 cmdline/apt-get.cc:2110 cmdline/apt-get.cc:2359 +#: cmdline/apt-get.cc:821 cmdline/apt-get.cc:2118 cmdline/apt-get.cc:2367 #: apt-pkg/cachefile.cc:65 msgid "The list of sources could not be read." msgstr "" @@ -741,7 +741,7 @@ msgstr "" msgid "After this operation, %sB disk space will be freed.\n" msgstr "" -#: cmdline/apt-get.cc:866 cmdline/apt-get.cc:2205 +#: cmdline/apt-get.cc:866 cmdline/apt-get.cc:2213 #, c-format msgid "Couldn't determine free space in %s" msgstr "" @@ -775,7 +775,7 @@ msgstr "" msgid "Do you want to continue [Y/n]? " msgstr "" -#: cmdline/apt-get.cc:989 cmdline/apt-get.cc:2256 apt-pkg/algorithms.cc:1389 +#: cmdline/apt-get.cc:989 cmdline/apt-get.cc:2264 apt-pkg/algorithms.cc:1389 #, c-format msgid "Failed to fetch %s %s\n" msgstr "" @@ -784,7 +784,7 @@ msgstr "" msgid "Some files failed to download" msgstr "" -#: cmdline/apt-get.cc:1008 cmdline/apt-get.cc:2265 +#: cmdline/apt-get.cc:1008 cmdline/apt-get.cc:2273 msgid "Download complete and in download only mode" msgstr "" @@ -876,39 +876,39 @@ msgstr "" msgid "Selected version %s (%s) for %s\n" msgstr "" -#: cmdline/apt-get.cc:1315 +#: cmdline/apt-get.cc:1323 #, c-format msgid "No source package '%s' picking '%s' instead\n" msgstr "" -#: cmdline/apt-get.cc:1352 +#: cmdline/apt-get.cc:1360 msgid "The update command takes no arguments" msgstr "" -#: cmdline/apt-get.cc:1365 +#: cmdline/apt-get.cc:1373 msgid "Unable to lock the list directory" msgstr "" -#: cmdline/apt-get.cc:1421 +#: cmdline/apt-get.cc:1429 msgid "We are not supposed to delete stuff, can't start AutoRemover" msgstr "" -#: cmdline/apt-get.cc:1470 +#: cmdline/apt-get.cc:1478 msgid "" "The following packages were automatically installed and are no longer " "required:" msgstr "" -#: cmdline/apt-get.cc:1472 +#: cmdline/apt-get.cc:1480 #, c-format msgid "%lu packages were automatically installed and are no longer required.\n" msgstr "" -#: cmdline/apt-get.cc:1473 +#: cmdline/apt-get.cc:1481 msgid "Use 'apt-get autoremove' to remove them." msgstr "" -#: cmdline/apt-get.cc:1478 +#: cmdline/apt-get.cc:1486 msgid "" "Hmm, seems like the AutoRemover destroyed something which really\n" "shouldn't happen. Please file a bug report against apt." @@ -924,49 +924,49 @@ msgstr "" #. "that package should be filed.") << endl; #. } #. -#: cmdline/apt-get.cc:1481 cmdline/apt-get.cc:1771 +#: cmdline/apt-get.cc:1489 cmdline/apt-get.cc:1779 msgid "The following information may help to resolve the situation:" msgstr "" -#: cmdline/apt-get.cc:1485 +#: cmdline/apt-get.cc:1493 msgid "Internal Error, AutoRemover broke stuff" msgstr "" -#: cmdline/apt-get.cc:1504 +#: cmdline/apt-get.cc:1512 msgid "Internal error, AllUpgrade broke stuff" msgstr "" -#: cmdline/apt-get.cc:1559 +#: cmdline/apt-get.cc:1567 #, c-format msgid "Couldn't find task %s" msgstr "" -#: cmdline/apt-get.cc:1674 cmdline/apt-get.cc:1710 +#: cmdline/apt-get.cc:1682 cmdline/apt-get.cc:1718 #, c-format msgid "Couldn't find package %s" msgstr "" -#: cmdline/apt-get.cc:1697 +#: cmdline/apt-get.cc:1705 #, c-format msgid "Note, selecting %s for regex '%s'\n" msgstr "" -#: cmdline/apt-get.cc:1728 +#: cmdline/apt-get.cc:1736 #, c-format msgid "%s set to manually installed.\n" msgstr "" -#: cmdline/apt-get.cc:1741 +#: cmdline/apt-get.cc:1749 msgid "You might want to run `apt-get -f install' to correct these:" msgstr "" -#: cmdline/apt-get.cc:1744 +#: cmdline/apt-get.cc:1752 msgid "" "Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a " "solution)." msgstr "" -#: cmdline/apt-get.cc:1756 +#: cmdline/apt-get.cc:1764 msgid "" "Some packages could not be installed. This may mean that you have\n" "requested an impossible situation or if you are using the unstable\n" @@ -974,152 +974,152 @@ msgid "" "or been moved out of Incoming." msgstr "" -#: cmdline/apt-get.cc:1774 +#: cmdline/apt-get.cc:1782 msgid "Broken packages" msgstr "" -#: cmdline/apt-get.cc:1803 +#: cmdline/apt-get.cc:1811 msgid "The following extra packages will be installed:" msgstr "" -#: cmdline/apt-get.cc:1892 +#: cmdline/apt-get.cc:1900 msgid "Suggested packages:" msgstr "" -#: cmdline/apt-get.cc:1893 +#: cmdline/apt-get.cc:1901 msgid "Recommended packages:" msgstr "" -#: cmdline/apt-get.cc:1922 +#: cmdline/apt-get.cc:1930 msgid "Calculating upgrade... " msgstr "" -#: cmdline/apt-get.cc:1925 methods/ftp.cc:702 methods/connect.cc:112 +#: cmdline/apt-get.cc:1933 methods/ftp.cc:702 methods/connect.cc:112 msgid "Failed" msgstr "" -#: cmdline/apt-get.cc:1930 +#: cmdline/apt-get.cc:1938 msgid "Done" msgstr "" -#: cmdline/apt-get.cc:1997 cmdline/apt-get.cc:2005 +#: cmdline/apt-get.cc:2005 cmdline/apt-get.cc:2013 msgid "Internal error, problem resolver broke stuff" msgstr "" -#: cmdline/apt-get.cc:2105 +#: cmdline/apt-get.cc:2113 msgid "Must specify at least one package to fetch source for" msgstr "" -#: cmdline/apt-get.cc:2135 cmdline/apt-get.cc:2377 +#: cmdline/apt-get.cc:2143 cmdline/apt-get.cc:2385 #, c-format msgid "Unable to find a source package for %s" msgstr "" -#: cmdline/apt-get.cc:2184 +#: cmdline/apt-get.cc:2192 #, c-format msgid "Skipping already downloaded file '%s'\n" msgstr "" -#: cmdline/apt-get.cc:2215 +#: cmdline/apt-get.cc:2223 #, c-format msgid "You don't have enough free space in %s" msgstr "" -#: cmdline/apt-get.cc:2221 +#: cmdline/apt-get.cc:2229 #, c-format msgid "Need to get %sB/%sB of source archives.\n" msgstr "" -#: cmdline/apt-get.cc:2224 +#: cmdline/apt-get.cc:2232 #, c-format msgid "Need to get %sB of source archives.\n" msgstr "" -#: cmdline/apt-get.cc:2230 +#: cmdline/apt-get.cc:2238 #, c-format msgid "Fetch source %s\n" msgstr "" -#: cmdline/apt-get.cc:2261 +#: cmdline/apt-get.cc:2269 msgid "Failed to fetch some archives." msgstr "" -#: cmdline/apt-get.cc:2289 +#: cmdline/apt-get.cc:2297 #, c-format msgid "Skipping unpack of already unpacked source in %s\n" msgstr "" -#: cmdline/apt-get.cc:2301 +#: cmdline/apt-get.cc:2309 #, c-format msgid "Unpack command '%s' failed.\n" msgstr "" -#: cmdline/apt-get.cc:2302 +#: cmdline/apt-get.cc:2310 #, c-format msgid "Check if the 'dpkg-dev' package is installed.\n" msgstr "" -#: cmdline/apt-get.cc:2319 +#: cmdline/apt-get.cc:2327 #, c-format msgid "Build command '%s' failed.\n" msgstr "" -#: cmdline/apt-get.cc:2338 +#: cmdline/apt-get.cc:2346 msgid "Child process failed" msgstr "" -#: cmdline/apt-get.cc:2354 +#: cmdline/apt-get.cc:2362 msgid "Must specify at least one package to check builddeps for" msgstr "" -#: cmdline/apt-get.cc:2382 +#: cmdline/apt-get.cc:2390 #, c-format msgid "Unable to get build-dependency information for %s" msgstr "" -#: cmdline/apt-get.cc:2402 +#: cmdline/apt-get.cc:2410 #, c-format msgid "%s has no build depends.\n" msgstr "" -#: cmdline/apt-get.cc:2454 +#: cmdline/apt-get.cc:2462 #, c-format msgid "" "%s dependency for %s cannot be satisfied because the package %s cannot be " "found" msgstr "" -#: cmdline/apt-get.cc:2507 +#: cmdline/apt-get.cc:2515 #, 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:2543 +#: cmdline/apt-get.cc:2551 #, c-format msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new" msgstr "" -#: cmdline/apt-get.cc:2570 +#: cmdline/apt-get.cc:2578 #, c-format msgid "Failed to satisfy %s dependency for %s: %s" msgstr "" -#: cmdline/apt-get.cc:2586 +#: cmdline/apt-get.cc:2594 #, c-format msgid "Build-dependencies for %s could not be satisfied." msgstr "" -#: cmdline/apt-get.cc:2591 +#: cmdline/apt-get.cc:2599 msgid "Failed to process build dependencies" msgstr "" -#: cmdline/apt-get.cc:2623 +#: cmdline/apt-get.cc:2631 msgid "Supported modules:" msgstr "" -#: cmdline/apt-get.cc:2664 +#: cmdline/apt-get.cc:2672 msgid "" "Usage: apt-get [options] command\n" " apt-get [options] install|remove pkg1 [pkg2 ...]\n" @@ -1163,7 +1163,7 @@ msgid "" " This APT has Super Cow Powers.\n" msgstr "" -#: cmdline/apt-get.cc:2831 +#: cmdline/apt-get.cc:2839 msgid "" "NOTE: This is only a simulation!\n" " apt-get needs root privileges for real execution.\n" -- cgit v1.2.3-70-g09d2