forked from lix-project/lix
nix-prefetch-url: $PRINT_PATH -> --print-path
This commit is contained in:
parent
bec3c31608
commit
a3c4eb0964
|
@ -3,7 +3,7 @@
|
||||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||||
version="5.0"
|
version="5.0"
|
||||||
xml:id="sec-nix-prefetch-url">
|
xml:id="sec-nix-prefetch-url">
|
||||||
|
|
||||||
<refmeta>
|
<refmeta>
|
||||||
<refentrytitle>nix-prefetch-url</refentrytitle>
|
<refentrytitle>nix-prefetch-url</refentrytitle>
|
||||||
<manvolnum>1</manvolnum>
|
<manvolnum>1</manvolnum>
|
||||||
|
@ -54,8 +54,8 @@ error if signaled if the actual hash of the file does not match the
|
||||||
specified hash.</para>
|
specified hash.</para>
|
||||||
|
|
||||||
<para>This command prints the hash on standard output. Additionally,
|
<para>This command prints the hash on standard output. Additionally,
|
||||||
if the environment variable <envar>PRINT_PATH</envar> is set, the path
|
if the option <option>--print-path</option> is used, the path of the
|
||||||
of the downloaded file in the Nix store is also printed.</para>
|
downloaded file in the Nix store is also printed.</para>
|
||||||
|
|
||||||
</refsection>
|
</refsection>
|
||||||
|
|
||||||
|
@ -63,7 +63,7 @@ of the downloaded file in the Nix store is also printed.</para>
|
||||||
<refsection><title>Options</title>
|
<refsection><title>Options</title>
|
||||||
|
|
||||||
<variablelist>
|
<variablelist>
|
||||||
|
|
||||||
<varlistentry><term><option>--type</option> <replaceable>hashAlgo</replaceable></term>
|
<varlistentry><term><option>--type</option> <replaceable>hashAlgo</replaceable></term>
|
||||||
|
|
||||||
<listitem><para>Use the specified cryptographic hash algorithm,
|
<listitem><para>Use the specified cryptographic hash algorithm,
|
||||||
|
@ -73,6 +73,13 @@ of the downloaded file in the Nix store is also printed.</para>
|
||||||
|
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
|
<varlistentry><term><option>--print-path</option></term>
|
||||||
|
|
||||||
|
<listitem><para>Print the store path of the downloaded file on
|
||||||
|
standard output.</para></listitem>
|
||||||
|
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
</variablelist>
|
</variablelist>
|
||||||
|
|
||||||
</refsection>
|
</refsection>
|
||||||
|
@ -81,14 +88,14 @@ of the downloaded file in the Nix store is also printed.</para>
|
||||||
<refsection><title>Examples</title>
|
<refsection><title>Examples</title>
|
||||||
|
|
||||||
<screen>
|
<screen>
|
||||||
$ nix-prefetch-url ftp://ftp.nluug.nl/pub/gnu/make/make-3.80.tar.bz2
|
$ nix-prefetch-url ftp://ftp.gnu.org/pub/gnu/hello/hello-2.10.tar.gz
|
||||||
0bbd1df101bc0294d440471e50feca71
|
0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i
|
||||||
|
|
||||||
$ PRINT_PATH=1 nix-prefetch-url ftp://ftp.nluug.nl/pub/gnu/make/make-3.80.tar.bz2
|
$ nix-prefetch-url --print-path mirror://gnu/hello/hello-2.10.tar.gz
|
||||||
0bbd1df101bc0294d440471e50feca71
|
0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i
|
||||||
/nix/store/wvyz8ifdn7wyz1p3pqyn0ra45ka2l492-make-3.80.tar.bz2</screen>
|
/nix/store/3x7dwzq014bblazs7kq20p9hyzz0qh8g-hello-2.10.tar.gz</screen>
|
||||||
|
|
||||||
</refsection>
|
</refsection>
|
||||||
|
|
||||||
|
|
||||||
</refentry>
|
</refentry>
|
||||||
|
|
|
@ -48,6 +48,7 @@ int main(int argc, char * * argv)
|
||||||
HashType ht = htSHA256;
|
HashType ht = htSHA256;
|
||||||
std::vector<string> args;
|
std::vector<string> args;
|
||||||
Strings searchPath;
|
Strings searchPath;
|
||||||
|
bool printPath = getEnv("PRINT_PATH") != "";
|
||||||
|
|
||||||
parseCmdLine(argc, argv, [&](Strings::iterator & arg, const Strings::iterator & end) {
|
parseCmdLine(argc, argv, [&](Strings::iterator & arg, const Strings::iterator & end) {
|
||||||
if (*arg == "--help")
|
if (*arg == "--help")
|
||||||
|
@ -60,6 +61,8 @@ int main(int argc, char * * argv)
|
||||||
if (ht == htUnknown)
|
if (ht == htUnknown)
|
||||||
throw UsageError(format("unknown hash type ‘%1%’") % s);
|
throw UsageError(format("unknown hash type ‘%1%’") % s);
|
||||||
}
|
}
|
||||||
|
else if (*arg == "--print-path")
|
||||||
|
printPath = true;
|
||||||
else if (parseSearchPathArg(arg, end, searchPath))
|
else if (parseSearchPathArg(arg, end, searchPath))
|
||||||
;
|
;
|
||||||
else if (*arg != "" && arg->at(0) == '-')
|
else if (*arg != "" && arg->at(0) == '-')
|
||||||
|
@ -123,10 +126,11 @@ int main(int argc, char * * argv)
|
||||||
storePath = store->addToStore(name, tmpFile, false, ht);
|
storePath = store->addToStore(name, tmpFile, false, ht);
|
||||||
}
|
}
|
||||||
|
|
||||||
printMsg(lvlInfo, format("path is ‘%1%’") % storePath);
|
if (!printPath)
|
||||||
|
printMsg(lvlInfo, format("path is ‘%1%’") % storePath);
|
||||||
|
|
||||||
std::cout << printHash16or32(hash) << std::endl;
|
std::cout << printHash16or32(hash) << std::endl;
|
||||||
if (getEnv("PRINT_PATH") != "")
|
if (printPath)
|
||||||
std::cout << storePath << std::endl;
|
std::cout << storePath << std::endl;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue