aboutsummaryrefslogtreecommitdiff
path: root/src/libstore
diff options
context:
space:
mode:
Diffstat (limited to 'src/libstore')
-rw-r--r--src/libstore/build.cc2
-rw-r--r--src/libstore/content-address.cc8
-rw-r--r--src/libstore/content-address.hh14
-rw-r--r--src/libstore/derivations.cc16
-rw-r--r--src/libstore/derivations.hh2
-rw-r--r--src/libstore/local-store.cc2
-rw-r--r--src/libstore/store-api.cc2
7 files changed, 18 insertions, 28 deletions
diff --git a/src/libstore/build.cc b/src/libstore/build.cc
index ecd447495..1126c186f 100644
--- a/src/libstore/build.cc
+++ b/src/libstore/build.cc
@@ -3764,7 +3764,7 @@ void DerivationGoal::registerOutputs()
else
assert(worker.store.parseStorePath(path) == dest);
- ca = FileSystemHash { i.second.hash->method, h2 };
+ ca = FixedOutputHash { i.second.hash->method, h2 };
}
/* Get rid of all weird permissions. This also checks that
diff --git a/src/libstore/content-address.cc b/src/libstore/content-address.cc
index 7de5c0874..98b3677bb 100644
--- a/src/libstore/content-address.cc
+++ b/src/libstore/content-address.cc
@@ -2,7 +2,7 @@
namespace nix {
-std::string FileSystemHash::printMethodAlgo() const {
+std::string FixedOutputHash::printMethodAlgo() const {
return makeFileIngestionPrefix(method) + printHashType(*hash.type);
}
@@ -33,7 +33,7 @@ std::string renderContentAddress(ContentAddress ca) {
[](TextHash th) {
return "text:" + th.hash.to_string(Base32, true);
},
- [](FileSystemHash fsh) {
+ [](FixedOutputHash fsh) {
return makeFixedOutputCA(fsh.method, fsh.hash);
}
}, ca);
@@ -55,10 +55,10 @@ ContentAddress parseContentAddress(std::string_view rawCa) {
auto methodAndHash = rawCa.substr(prefixSeparator+1, string::npos);
if (methodAndHash.substr(0,2) == "r:") {
std::string_view hashRaw = methodAndHash.substr(2,string::npos);
- return FileSystemHash { FileIngestionMethod::Recursive, Hash(string(hashRaw)) };
+ return FixedOutputHash { FileIngestionMethod::Recursive, Hash(string(hashRaw)) };
} else {
std::string_view hashRaw = methodAndHash;
- return FileSystemHash { FileIngestionMethod::Flat, Hash(string(hashRaw)) };
+ return FixedOutputHash { FileIngestionMethod::Flat, Hash(string(hashRaw)) };
}
} else {
throw Error("parseContentAddress: format not recognized; has to be text or fixed");
diff --git a/src/libstore/content-address.hh b/src/libstore/content-address.hh
index 64d514751..ba4797f5b 100644
--- a/src/libstore/content-address.hh
+++ b/src/libstore/content-address.hh
@@ -12,22 +12,12 @@ enum struct FileIngestionMethod : uint8_t {
struct TextHash {
Hash hash;
- TextHash(const TextHash &) = default;
- TextHash(TextHash &&) = default;
- TextHash & operator = (const TextHash &) = default;
};
/// Pair of a hash, and how the file system was ingested
-struct FileSystemHash {
+struct FixedOutputHash {
FileIngestionMethod method;
Hash hash;
- FileSystemHash(FileIngestionMethod method, Hash hash)
- : method(std::move(method))
- , hash(std::move(hash))
- { }
- FileSystemHash(const FileSystemHash &) = default;
- FileSystemHash(FileSystemHash &&) = default;
- FileSystemHash & operator = (const FileSystemHash &) = default;
std::string printMethodAlgo() const;
};
@@ -44,7 +34,7 @@ struct FileSystemHash {
*/
typedef std::variant<
TextHash, // for paths computed by makeTextPath() / addTextToStore
- FileSystemHash // for path computed by makeFixedOutputPath
+ FixedOutputHash // for path computed by makeFixedOutputPath
> ContentAddress;
/* Compute the prefix to the hash algorithm which indicates how the files were
diff --git a/src/libstore/derivations.cc b/src/libstore/derivations.cc
index 6383e31f4..6c49075ba 100644
--- a/src/libstore/derivations.cc
+++ b/src/libstore/derivations.cc
@@ -108,7 +108,7 @@ static DerivationOutput parseDerivationOutput(const Store & store, istringstream
expect(str, ","); const auto hash = parseString(str);
expect(str, ")");
- std::optional<FileSystemHash> fsh;
+ std::optional<FixedOutputHash> fsh;
if (hashAlgo != "") {
auto method = FileIngestionMethod::Flat;
if (string(hashAlgo, 0, 2) == "r:") {
@@ -116,9 +116,9 @@ static DerivationOutput parseDerivationOutput(const Store & store, istringstream
hashAlgo = string(hashAlgo, 2);
}
const HashType hashType = parseHashType(hashAlgo);
- fsh = FileSystemHash {
- std::move(method),
- Hash(hash, hashType),
+ fsh = FixedOutputHash {
+ .method = std::move(method),
+ .hash = Hash(hash, hashType),
};
}
@@ -406,7 +406,7 @@ static DerivationOutput readDerivationOutput(Source & in, const Store & store)
auto hashAlgo = readString(in);
const auto hash = readString(in);
- std::optional<FileSystemHash> fsh;
+ std::optional<FixedOutputHash> fsh;
if (hashAlgo != "") {
auto method = FileIngestionMethod::Flat;
if (string(hashAlgo, 0, 2) == "r:") {
@@ -414,9 +414,9 @@ static DerivationOutput readDerivationOutput(Source & in, const Store & store)
hashAlgo = string(hashAlgo, 2);
}
const HashType hashType = parseHashType(hashAlgo);
- fsh = FileSystemHash {
- std::move(method),
- Hash(hash, hashType),
+ fsh = FixedOutputHash {
+ .method = std::move(method),
+ .hash = Hash(hash, hashType),
};
}
diff --git a/src/libstore/derivations.hh b/src/libstore/derivations.hh
index b2f3ff03b..68c53c1ff 100644
--- a/src/libstore/derivations.hh
+++ b/src/libstore/derivations.hh
@@ -16,7 +16,7 @@ namespace nix {
struct DerivationOutput
{
StorePath path;
- std::optional<FileSystemHash> hash; /* hash used for expected hash computation */
+ std::optional<FixedOutputHash> hash; /* hash used for expected hash computation */
};
typedef std::map<string, DerivationOutput> DerivationOutputs;
diff --git a/src/libstore/local-store.cc b/src/libstore/local-store.cc
index 17d678b9f..f9b2db2e3 100644
--- a/src/libstore/local-store.cc
+++ b/src/libstore/local-store.cc
@@ -1079,7 +1079,7 @@ StorePath LocalStore::addToStoreFromDump(const string & dump, const string & nam
ValidPathInfo info(dstPath);
info.narHash = hash.first;
info.narSize = hash.second;
- info.ca = FileSystemHash { method, h };
+ info.ca = FixedOutputHash { method, h };
registerValidPath(info);
}
diff --git a/src/libstore/store-api.cc b/src/libstore/store-api.cc
index 60d1d22a2..e4a4ae11e 100644
--- a/src/libstore/store-api.cc
+++ b/src/libstore/store-api.cc
@@ -769,7 +769,7 @@ bool ValidPathInfo::isContentAddressed(const Store & store) const
[&](TextHash th) {
return store.makeTextPath(path.name(), th.hash, references);
},
- [&](FileSystemHash fsh) {
+ [&](FixedOutputHash fsh) {
auto refs = references;
bool hasSelfReference = false;
if (refs.count(path)) {