forked from lix-project/lix
* `nix-env -q --xml --meta' to show all meta attributes.
This commit is contained in:
parent
e20f0da22c
commit
bd1f66453a
|
@ -67,8 +67,8 @@
|
|||
|
||||
|
||||
<listitem><para>TODO: <command>nix-env</command> now maintains meta
|
||||
info about installed packages in user
|
||||
environments.</para></listitem>
|
||||
info about installed packages in user environments. <option>-q
|
||||
--xml --meta</option> to show all meta info.</para></listitem>
|
||||
|
||||
<listitem><para>TODO: <command>nix-env</command>
|
||||
<option>--set-flag</option>. Specific flags:
|
||||
|
|
|
@ -52,6 +52,7 @@ Query sources:
|
|||
|
||||
Query flags:
|
||||
|
||||
--xml: show output in XML format
|
||||
--status / -s: print installed/present status
|
||||
--no-name: hide derivation names
|
||||
--attr / -A: shows the unambiguous attribute name of the
|
||||
|
@ -60,6 +61,8 @@ Query flags:
|
|||
--compare-versions / -c: compare version to available or installed
|
||||
--drv-path: print path of derivation
|
||||
--out-path: print path of derivation output
|
||||
--description: print description
|
||||
--meta: print all meta attributes (only with --xml)
|
||||
--prebuilt-only: only show derivations whose prebuilt binaries are
|
||||
available on this machine or are downloadable
|
||||
|
||||
|
|
|
@ -836,6 +836,7 @@ static void opQuery(Globals & globals,
|
|||
bool printDrvPath = false;
|
||||
bool printOutPath = false;
|
||||
bool printDescription = false;
|
||||
bool printMeta = false;
|
||||
bool prebuiltOnly = false;
|
||||
bool compareVersions = false;
|
||||
bool xmlOutput = false;
|
||||
|
@ -853,6 +854,7 @@ static void opQuery(Globals & globals,
|
|||
else if (*i == "--compare-versions" || *i == "-c") compareVersions = true;
|
||||
else if (*i == "--drv-path") printDrvPath = true;
|
||||
else if (*i == "--out-path") printOutPath = true;
|
||||
else if (*i == "--meta") printMeta = true;
|
||||
else if (*i == "--installed") source = sInstalled;
|
||||
else if (*i == "--available" || *i == "-a") source = sAvailable;
|
||||
else if (*i == "--prebuilt-only" || *i == "-b") prebuiltOnly = true;
|
||||
|
@ -1014,7 +1016,18 @@ static void opQuery(Globals & globals,
|
|||
}
|
||||
|
||||
if (xmlOutput)
|
||||
xml.writeEmptyElement("item", attrs);
|
||||
if (printMeta) {
|
||||
XMLOpenElement item(xml, "item", attrs);
|
||||
MetaInfo meta = i->queryMetaInfo(globals.state);
|
||||
for (MetaInfo::iterator j = meta.begin(); j != meta.end(); ++j) {
|
||||
XMLAttrs attrs2;
|
||||
attrs2["name"] = j->first;
|
||||
attrs2["value"] = j->second;
|
||||
xml.writeEmptyElement("meta", attrs2);
|
||||
}
|
||||
}
|
||||
else
|
||||
xml.writeEmptyElement("item", attrs);
|
||||
else
|
||||
table.push_back(columns);
|
||||
|
||||
|
|
Loading…
Reference in a new issue