diff options
-rw-r--r-- | src/nix-store/nix-store.cc | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/nix-store/nix-store.cc b/src/nix-store/nix-store.cc index a20ba81a6f3d..c919b0f25df6 100644 --- a/src/nix-store/nix-store.cc +++ b/src/nix-store/nix-store.cc @@ -584,12 +584,17 @@ static void opExport(Strings opFlags, Strings opArgs) static void opImport(Strings opFlags, Strings opArgs) { - if (!opFlags.empty()) throw UsageError("unknown flag"); + bool requireSignature = false; + for (Strings::iterator i = opFlags.begin(); + i != opFlags.end(); ++i) + if (*i == "--require-signature") requireSignature = true; + else throw UsageError(format("unknown flag `%1%'") % *i); + if (!opArgs.empty()) throw UsageError("no arguments expected"); FdSource source(STDIN_FILENO); while (readInt(source) == 1) - cout << format("%1%\n") % store->importPath(false, source) << std::flush; + cout << format("%1%\n") % store->importPath(requireSignature, source) << std::flush; } |