about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2012-07-02T22·05-0400
committerEelco Dolstra <eelco.dolstra@logicblox.com>2012-07-02T22·05-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 8ca72b62a31f..2ebff5575616 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 51106657bb0c..35ad43d283bb 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";