diff options
author | Arch Librarian <arch@canonical.com> | 2004-09-20 17:04:45 +0000 |
---|---|---|
committer | Arch Librarian <arch@canonical.com> | 2004-09-20 17:04:45 +0000 |
commit | bd3d53eff6e951c6546dde623ccd9eb489610a0f (patch) | |
tree | 50a27877fb663fe3acb9211f10a0b0ec2d0eda3c | |
parent | cc74210843bbaddc0407a579414d8a8caa2501e6 (diff) |
* Add an "apt-cache madison" command with an output for...
Author: mdz
Date: 2004-01-04 07:41:52 GMT
* Add an "apt-cache madison" command with an output format similar to
the katie tool of the same name (but less functionality)
-rw-r--r-- | cmdline/apt-cache.cc | 69 | ||||
-rw-r--r-- | doc/apt-cache.8.sgml | 11 | ||||
-rw-r--r-- | po/apt-all.pot | 78 |
3 files changed, 118 insertions, 40 deletions
diff --git a/cmdline/apt-cache.cc b/cmdline/apt-cache.cc index 00a2c6883..a8db900a1 100644 --- a/cmdline/apt-cache.cc +++ b/cmdline/apt-cache.cc @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: apt-cache.cc,v 1.69 2003/12/20 22:56:14 mdz Exp $ +// $Id: apt-cache.cc,v 1.70 2004/01/04 07:41:52 mdz Exp $ /* ###################################################################### apt-cache - Manages the cache files @@ -37,6 +37,8 @@ #include <errno.h> #include <regex.h> #include <stdio.h> + +#include <iomanip> /*}}}*/ using namespace std; @@ -1560,6 +1562,70 @@ bool Policy(CommandLine &CmdL) return true; } /*}}}*/ +// Madison - Look a bit like katie's madison /*{{{*/ +// --------------------------------------------------------------------- +/* */ +bool Madison(CommandLine &CmdL) +{ + if (SrcList == 0) + return _error->Error("Generate must be enabled for this function"); + + SrcList->ReadMainList(); + + pkgCache &Cache = *GCache; + + // Create the text record parsers + pkgSrcRecords SrcRecs(*SrcList); + if (_error->PendingError() == true) + return false; + + for (const char **I = CmdL.FileList + 1; *I != 0; I++) + { + pkgCache::PkgIterator Pkg = Cache.FindPkg(*I); + + if (Pkg.end() == false) + { + for (pkgCache::VerIterator V = Pkg.VersionList(); V.end() == false; V++) + { + for (pkgCache::VerFileIterator VF = V.FileList(); VF.end() == false; VF++) + { + if (VF.File().Archive() != 0) + { + cout << setw(10) << Pkg.Name() << " | " << setw(10) << V.VerStr() << " | " + << VF.File().Archive() << endl; + } + else + { + // Locate the associated index files so we can derive a description + for (pkgSourceList::const_iterator S = SrcList->begin(); S != SrcList->end(); S++) + { + if ((*S)->FindInCache(*(VF.File().Cache())) == VF.File()) + { + cout << setw(10) << Pkg.Name() << " | " << setw(10) << V.VerStr() << " | " + << (*S)->Describe(true) << endl; + } + } + } + } + } + } + + + SrcRecs.Restart(); + pkgSrcRecords::Parser *SrcParser; + while ((SrcParser = SrcRecs.Find(*I,false)) != 0) + { + // Maybe support Release info here too eventually + cout << setw(10) << SrcParser->Package() << " | " + << setw(10) << SrcParser->Version() << " | " + << SrcParser->Index().Describe(true) << endl; + } + } + + return true; +} + + /*}}}*/ // GenCaches - Call the main cache generator /*{{{*/ // --------------------------------------------------------------------- /* */ @@ -1670,6 +1736,7 @@ int main(int argc,const char *argv[]) {"show",&ShowPackage}, {"pkgnames",&ShowPkgNames}, {"policy",&Policy}, + {"madison",&Madison}, {0,0}}; CacheInitialize(); diff --git a/doc/apt-cache.8.sgml b/doc/apt-cache.8.sgml index 24aa275ea..2ef3a2d25 100644 --- a/doc/apt-cache.8.sgml +++ b/doc/apt-cache.8.sgml @@ -43,6 +43,7 @@ <arg>pkgnames <arg choice="plain"><replaceable>prefix</replaceable></arg></arg> <arg>dotty <arg choice="plain" rep="repeat"><replaceable>pkg</replaceable></arg></arg> <arg>policy <arg choice="plain" rep="repeat"><replaceable>pkgs</replaceable></arg></arg> + <arg>madison <arg choice="plain" rep="repeat"><replaceable>pkgs</replaceable></arg></arg> </group> </cmdsynopsis> </refsynopsisdiv> @@ -266,6 +267,16 @@ Reverse Provides: priorities of each source. Otherwise it prints out detailed information about the priority selection of the named package. </VarListEntry> + + <VarListEntry><Term>madison <replaceable/[ pkg(s) ]/</Term> + <ListItem><Para> + + <literal/apt-cache/'s <literal/madison/ command attempts to mimic + the output format and a subset of the functionality of the katie + program, <literal/madison/. It displays available versions of a + package in a tabular format. + + </VarListEntry> </VariableList> </RefSect1> diff --git a/po/apt-all.pot b/po/apt-all.pot index 047ce097d..7c15c9429 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: 2004-01-02 13:54-0800\n" +"POT-Creation-Date: 2004-01-03 23:28-0800\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" @@ -15,145 +15,145 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: cmdline/apt-cache.cc:133 +#: cmdline/apt-cache.cc:135 #, c-format msgid "Package %s version %s has an unmet dep:\n" msgstr "" -#: cmdline/apt-cache.cc:173 cmdline/apt-cache.cc:525 cmdline/apt-cache.cc:613 -#: cmdline/apt-cache.cc:769 cmdline/apt-cache.cc:987 cmdline/apt-cache.cc:1355 -#: cmdline/apt-cache.cc:1506 +#: cmdline/apt-cache.cc:175 cmdline/apt-cache.cc:527 cmdline/apt-cache.cc:615 +#: cmdline/apt-cache.cc:771 cmdline/apt-cache.cc:989 cmdline/apt-cache.cc:1357 +#: cmdline/apt-cache.cc:1508 #, c-format msgid "Unable to locate package %s" msgstr "" -#: cmdline/apt-cache.cc:230 +#: cmdline/apt-cache.cc:232 msgid "Total Package Names : " msgstr "" -#: cmdline/apt-cache.cc:270 +#: cmdline/apt-cache.cc:272 msgid " Normal Packages: " msgstr "" -#: cmdline/apt-cache.cc:271 +#: cmdline/apt-cache.cc:273 msgid " Pure Virtual Packages: " msgstr "" -#: cmdline/apt-cache.cc:272 +#: cmdline/apt-cache.cc:274 msgid " Single Virtual Packages: " msgstr "" -#: cmdline/apt-cache.cc:273 +#: cmdline/apt-cache.cc:275 msgid " Mixed Virtual Packages: " msgstr "" -#: cmdline/apt-cache.cc:274 +#: cmdline/apt-cache.cc:276 msgid " Missing: " msgstr "" -#: cmdline/apt-cache.cc:276 +#: cmdline/apt-cache.cc:278 msgid "Total Distinct Versions: " msgstr "" -#: cmdline/apt-cache.cc:278 +#: cmdline/apt-cache.cc:280 msgid "Total Dependencies: " msgstr "" -#: cmdline/apt-cache.cc:281 +#: cmdline/apt-cache.cc:283 msgid "Total Ver/File relations: " msgstr "" -#: cmdline/apt-cache.cc:283 +#: cmdline/apt-cache.cc:285 msgid "Total Provides Mappings: " msgstr "" -#: cmdline/apt-cache.cc:295 +#: cmdline/apt-cache.cc:297 msgid "Total Globbed Strings: " msgstr "" -#: cmdline/apt-cache.cc:309 +#: cmdline/apt-cache.cc:311 msgid "Total Dependency Version space: " msgstr "" -#: cmdline/apt-cache.cc:314 +#: cmdline/apt-cache.cc:316 msgid "Total Slack space: " msgstr "" -#: cmdline/apt-cache.cc:322 +#: cmdline/apt-cache.cc:324 msgid "Total Space Accounted for: " msgstr "" -#: cmdline/apt-cache.cc:444 cmdline/apt-cache.cc:1187 +#: cmdline/apt-cache.cc:446 cmdline/apt-cache.cc:1189 #, c-format msgid "Package file %s is out of sync." msgstr "" -#: cmdline/apt-cache.cc:1229 +#: cmdline/apt-cache.cc:1231 msgid "You must give exactly one pattern" msgstr "" -#: cmdline/apt-cache.cc:1383 +#: cmdline/apt-cache.cc:1385 msgid "No packages found" msgstr "" -#: cmdline/apt-cache.cc:1460 +#: cmdline/apt-cache.cc:1462 msgid "Package Files:" msgstr "" -#: cmdline/apt-cache.cc:1467 cmdline/apt-cache.cc:1553 +#: cmdline/apt-cache.cc:1469 cmdline/apt-cache.cc:1555 msgid "Cache is out of sync, can't x-ref a package file" msgstr "" -#: cmdline/apt-cache.cc:1468 +#: cmdline/apt-cache.cc:1470 #, c-format msgid "%4i %s\n" msgstr "" #. Show any packages have explicit pins -#: cmdline/apt-cache.cc:1480 +#: cmdline/apt-cache.cc:1482 msgid "Pinned Packages:" msgstr "" -#: cmdline/apt-cache.cc:1492 cmdline/apt-cache.cc:1533 +#: cmdline/apt-cache.cc:1494 cmdline/apt-cache.cc:1535 msgid "(not found)" msgstr "" #. Installed version -#: cmdline/apt-cache.cc:1513 +#: cmdline/apt-cache.cc:1515 msgid " Installed: " msgstr "" -#: cmdline/apt-cache.cc:1515 cmdline/apt-cache.cc:1523 +#: cmdline/apt-cache.cc:1517 cmdline/apt-cache.cc:1525 msgid "(none)" msgstr "" #. Candidate Version -#: cmdline/apt-cache.cc:1520 +#: cmdline/apt-cache.cc:1522 msgid " Candidate: " msgstr "" -#: cmdline/apt-cache.cc:1530 +#: cmdline/apt-cache.cc:1532 msgid " Package Pin: " msgstr "" #. Show the priority tables -#: cmdline/apt-cache.cc:1539 +#: cmdline/apt-cache.cc:1541 msgid " Version Table:" msgstr "" -#: cmdline/apt-cache.cc:1554 +#: cmdline/apt-cache.cc:1556 #, c-format msgid " %4i %s\n" msgstr "" -#: cmdline/apt-cache.cc:1581 cmdline/apt-cdrom.cc:731 cmdline/apt-config.cc:70 +#: cmdline/apt-cache.cc:1646 cmdline/apt-cdrom.cc:731 cmdline/apt-config.cc:70 #: cmdline/apt-extracttemplates.cc:225 ftparchive/apt-ftparchive.cc:545 #: cmdline/apt-get.cc:2256 cmdline/apt-sortpkgs.cc:144 #, c-format msgid "%s %s for %s %s compiled on %s %s\n" msgstr "" -#: cmdline/apt-cache.cc:1588 +#: cmdline/apt-cache.cc:1653 msgid "" "Usage: apt-cache [options] command\n" " apt-cache [options] add file1 [file2 ...]\n" @@ -399,22 +399,22 @@ msgstr "" msgid " DeLink limit of %sB hit.\n" msgstr "" -#: ftparchive/writer.cc:352 apt-inst/extract.cc:181 apt-inst/extract.cc:193 +#: ftparchive/writer.cc:358 apt-inst/extract.cc:181 apt-inst/extract.cc:193 #: apt-inst/extract.cc:210 apt-inst/deb/dpkgdb.cc:121 #, c-format msgid "Failed to stat %s" msgstr "" -#: ftparchive/writer.cc:372 +#: ftparchive/writer.cc:379 msgid "Archive had no package field" msgstr "" -#: ftparchive/writer.cc:380 ftparchive/writer.cc:589 +#: ftparchive/writer.cc:387 ftparchive/writer.cc:596 #, c-format msgid " %s has no override entry\n" msgstr "" -#: ftparchive/writer.cc:423 ftparchive/writer.cc:671 +#: ftparchive/writer.cc:430 ftparchive/writer.cc:678 #, c-format msgid " %s maintainer is %s not %s\n" msgstr "" |