summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmdline/apt-cache.cc27
-rw-r--r--cmdline/apt-get.cc16
-rw-r--r--debian/changelog11
3 files changed, 30 insertions, 24 deletions
diff --git a/cmdline/apt-cache.cc b/cmdline/apt-cache.cc
index b981e2fa7..10dbf44d2 100644
--- a/cmdline/apt-cache.cc
+++ b/cmdline/apt-cache.cc
@@ -14,7 +14,9 @@
/*}}}*/
// Include Files /*{{{*/
#include <apt-pkg/error.h>
+#include <cassert>
#include <apt-pkg/pkgcachegen.h>
+#include <apt-pkg/cachefile.h>
#include <apt-pkg/init.h>
#include <apt-pkg/progress.h>
#include <apt-pkg/sourcelist.h>
@@ -1406,6 +1408,29 @@ bool Search(CommandLine &CmdL)
return _error->Error("Write to stdout failed");
return true;
}
+
+
+/* show automatically installed packages (sorted) */
+bool ShowAuto(CommandLine &CmdL)
+{
+ OpProgress op;
+ pkgDepCache DepCache(GCache);
+ DepCache.Init(&op);
+
+ std::vector<string> packages;
+ packages.reserve(GCache->HeaderP->PackageCount / 3);
+
+ for (pkgCache::PkgIterator P = GCache->PkgBegin(); P.end() == false; P++)
+ if (DepCache[P].Flags & pkgCache::Flag::Auto)
+ packages.push_back(P.Name());
+
+ std::sort(packages.begin(), packages.end());
+
+ for (vector<string>::iterator I = packages.begin(); I != packages.end(); I++)
+ cout << *I << "\n";
+
+ return true;
+}
/*}}}*/
// ShowPackage - Dump the package record to the screen /*{{{*/
// ---------------------------------------------------------------------
@@ -1777,6 +1802,7 @@ bool ShowHelp(CommandLine &Cmd)
" 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"
@@ -1841,6 +1867,7 @@ int main(int argc,const char *argv[]) /*{{{*/
{"xvcg",&XVcg},
{"show",&ShowPackage},
{"pkgnames",&ShowPkgNames},
+ {"showauto",&ShowAuto},
{"policy",&Policy},
{"madison",&Madison},
{0,0}};
diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc
index 8f9faf158..03239dabe 100644
--- a/cmdline/apt-get.cc
+++ b/cmdline/apt-get.cc
@@ -2014,20 +2014,6 @@ bool DoInstall(CommandLine &CmdL)
return InstallPackages(Cache,false);
}
-/* show automatically installed packages. */
-bool DoShowAuto(CommandLine &CmdL)
-{
- OpProgress progress;
- pkgCacheFile Cache;
- if (Cache.Open(progress, false) == false)
- return false;
-
- for (pkgCache::PkgIterator P = Cache->PkgBegin(); P.end() == false; P++)
- if (Cache[P].Flags & pkgCache::Flag::Auto)
- ioprintf(c1out,_("%s\n"), P.Name());
- return true;
-}
-
/* mark packages as automatically/manually installed. */
bool DoMarkAuto(CommandLine &CmdL)
{
@@ -2854,7 +2840,6 @@ bool ShowHelp(CommandLine &CmdL)
" 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"
- " showauto - Display a list of automatically installed packages\n"
"\n"
"Options:\n"
" -h This help text.\n"
@@ -2961,7 +2946,6 @@ int main(int argc,const char *argv[]) /*{{{*/
{"purge",&DoInstall},
{"autoremove",&DoInstall},
{"purge",&DoInstall},
- {"showauto",&DoShowAuto},
{"markauto",&DoMarkAuto},
{"unmarkauto",&DoMarkAuto},
{"dist-upgrade",&DoDistUpgrade},
diff --git a/debian/changelog b/debian/changelog
index 07fc08453..d414af35a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -75,8 +75,10 @@ apt (0.7.26~exp4) UNRELEASEDexperimental; urgency=low
- subclass pkgAcquire::{Worker,Item,ItemDesc} from WeakPointable.
* apt-pkg/pkgcache.cc:
- Merge fix from David to correct handling in single-arch environments.
+ * cmdline/apt-cache.cc:
+ - Add a showauto command to apt-cache.
* cmdline/apt-get.cc:
- - Add apt-get markauto, showauto and unmarkauto commands.
+ - Add apt-get markauto and unmarkauto commands.
-- David Kalnischkies <kalnischkies@gmail.com> Sat, 03 Apr 2010 14:58:39 +0200
@@ -1584,13 +1586,6 @@ apt (0.7.6) unstable; urgency=low
-- Otavio Salvador <otavio@debian.org> Wed, 01 Aug 2007 19:49:51 -0300
-apt (0.7.6) unstable; urgency=low
-
- * Applied patch from Aurelien Jarno <aurel32@debian.org> to fix wrong
- directory downloading on non-linux architectures (closes: #435597)
-
- -- Otavio Salvador <otavio@debian.org> Wed, 01 Aug 2007 19:49:51 -0300
-
apt (0.7.5) unstable; urgency=low
[ Otavio Salvador ]