aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2012-07-02 18:05:57 -0400
committerEelco Dolstra <eelco.dolstra@logicblox.com>2012-07-02 18:05:57 -0400
commitcf49472d601a3d9d34ba92def1eca9a2d2c7c391 (patch)
treeeb1e75614700400917c67f272d7dc4d8aa7987fd
parent6ec7460af1103a23e4d331e0c8a56283350175c5 (diff)
nix-push: Always generate base-32 hashes
-rw-r--r--perl/lib/Nix/Store.xs4
-rwxr-xr-xscripts/nix-push.in4
2 files changed, 4 insertions, 4 deletions
diff --git a/perl/lib/Nix/Store.xs b/perl/lib/Nix/Store.xs
index 8ca72b62a..2ebff5575 100644
--- a/perl/lib/Nix/Store.xs
+++ b/perl/lib/Nix/Store.xs
@@ -86,7 +86,7 @@ SV * queryDeriver(char * path)
}
-SV * queryPathInfo(char * path)
+SV * queryPathInfo(char * path, int base32)
PPCODE:
try {
doInit();
@@ -95,7 +95,7 @@ SV * queryPathInfo(char * path)
XPUSHs(&PL_sv_undef);
else
XPUSHs(sv_2mortal(newSVpv(info.deriver.c_str(), 0)));
- string s = "sha256:" + printHash(info.hash);
+ string s = "sha256:" + (base32 ? printHash32(info.hash) : printHash(info.hash));
XPUSHs(sv_2mortal(newSVpv(s.c_str(), 0)));
mXPUSHi(info.registrationTime);
mXPUSHi(info.narSize);
diff --git a/scripts/nix-push.in b/scripts/nix-push.in
index 51106657b..35ad43d28 100755
--- a/scripts/nix-push.in
+++ b/scripts/nix-push.in
@@ -146,7 +146,7 @@ for (my $n = 0; $n < scalar @storePaths; $n++) {
my $baseName = basename $storePath;
# Get info about the store path.
- my ($deriver, $narHash, $time, $narSize, $refs) = queryPathInfo($storePath);
+ my ($deriver, $narHash, $time, $narSize, $refs) = queryPathInfo($storePath, 1);
# In some exceptional cases (such as VM tests that use the Nix
# store of the host), the database doesn't contain the hash. So
@@ -155,7 +155,7 @@ for (my $n = 0; $n < scalar @storePaths; $n++) {
my $nar = "$tmpDir/nar";
system("$Nix::Config::binDir/nix-store --dump $storePath > $nar") == 0
or die "cannot dump $storePath\n";
- $narHash = `$Nix::Config::binDir/nix-hash --type sha256 --flat $nar`;
+ $narHash = `$Nix::Config::binDir/nix-hash --type sha256 --base32 --flat $nar`;
die "cannot hash `$nar'" if $? != 0;
chomp $narHash;
$narHash = "sha256:$narHash";