Subject: Re: bug#33235: Bzip hash error

From: [email-masked]
Date: Fri, 02 Nov 2018 21:12:30 +0100

Hi bjorn.

Thank you your steps did help in getting it to build with the 
appropairiate hash sums.

However, how do I get the guix system init process to
Use that version of the build we just made? It is still
Wanting to use the incorrect substitute.

On 02.11.2018 12:07, Björn Höfling wrote:
> Hi brettg,
> 
> I tried with a fresh guixsd 0.15 install and can confirm your problem:
> 
> On Fri, 02 Nov 2018 04:33:10 +0100
> [email-masked] wrote:
> 
>> Hi Leo,
>> 
>> Are you perhaps mistaken? the URL for bzip2 is bzip.org not bzip2.org
>> 
>> Regardless, even when pulling from the archive I am still being given
>> an incorrect hash.
> 
> $ guix build -S --no-substitutes bzip2
> 
> --> As you see it, there is a hash mismatch
> That's because the URL expired and the new "archive.org/..." URL was
> added in commit
> 
> 7598b678fad2112ea87a85acf755908a59dd4676
> Committer: Leo Famulari <[email-masked]>  2018-08-10 22:42:01
> 
> Which follows the 0.15.0 release.
> 
> If you then look into the log output and open that downloaded file:
> 
> less /gnu/store/...-bzip2-1.0.6.tar.gz
> 
> you see plain HTML. Of cause, that mismatches.
> 
> If there is an error while downloading (i.e. a 404 - not found) then
> guix downloader would fallback and try to download the sources from
> subistitute servers or even NixOS servers by hashsum. But as we get a
> good HTTP return code here, it assumes everything is fine and saves to
> the store, not trying anything else.
> 
> Now to download the sources from web.archive.org I needed these
> steps:
> 
> # find out path of guix:
> readlink `which guix`
> 
> # Then use that directory to authorize berlin:
> guix archive --authorize
> < /gnu/store/...-guix-0.15.0.../share/guix/berlin.guixsd.org.pub
> 
> #Install nss-certs for HTTPS access:
> guix package -i nss-certs
> # set environment variables, see 6.2.9 X.509 Certificates
> export SSL_CERT_DIR="$HOME/.guix-profile/etc/ssl/certs"
> export 
> SSL_CERT_FILE="$HOME/.guix-profile/etc/ssl/certs/ca-certificates.crt"
> 
> # Now download --with-source
> guix build -S
> --with-source="https://web.archive.org/web/20180624184835/http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz"
> 
> # This fails with a stacktrace "wrong type, expected struc", I can't
> # copy it out of VM currently.
> #
> # Anyway, it downloads the sources and the next:
> 
> guix build -S bzip2
> 
> # does succeed.
> 
> Sorry for the inconveniences with substitutes missing, hope this brings
> you a step further?
> 
> Björn