GNU bug report logs - #35012
Can't install icecat

Previous Next

Package: guix;

Reported by: Alberto EFG <albertoefg <at> posteo.mx>

Date: Tue, 26 Mar 2019 22:20:02 UTC

Severity: normal

Done: Tobias Geerinckx-Rice <me <at> tobias.gr>

Bug is archived. No further changes may be made.

Full log


Message #29 received at 35012 <at> debbugs.gnu.org (full text, mbox):

From: Mark H Weaver <mhw <at> netris.org>
To: Björn Höfling <bjoern.hoefling <at> bjoernhoefling.de>
Cc: Alberto EFG <albertoefg <at> posteo.mx>, 35012 <at> debbugs.gnu.org
Subject: Re: bug#35012: Can't install icecat
Date: Sat, 30 Mar 2019 02:14:14 -0400
Hi Björn,

Björn Höfling <bjoern.hoefling <at> bjoernhoefling.de> writes:

> On Thu, 28 Mar 2019 23:11:22 -0600
> Alberto EFG <albertoefg <at> posteo.mx> wrote:
>
>> H, Mark and everyone who has been helpful 
>> 
>> > As other people have mentioned, this substitute should now be
>> > available,  
>> I keep getting this, I don't know if I am doing something wrong:
>> 
>> $ guix package -n -u .
>> --substitute-urls="https://mirror.hydra.gnu.org
>> https://ci.guix.info" [...] substitute: updating substitutes from
>> 'https://mirror.hydra.gnu.org'... 100.0% substitute: updating
>> substitutes from 'https://ci.guix.info'... 100.0% The following
>> derivations would be
>> built: /gnu/store/5xs5i2pkf369g2hd26f2sy26r40bzjm6-icecat-60.6.1-guix1.drv /gnu/store/4f40wrx514rbly302ha0gvpn5b53d91f-rust-1.24.1.drv
>>    /gnu/store/yf5fcqp3v4jf038g454h2zqm54x6ijj6-profile.drv
>> 938.6 MB would be downloaded:
>
> I see that your hash of icecat differs from mine:
>
> $ guix package -n -i icecat
> --substitute-urls="https://mirror.hydra.gnu.org https://ci.guix.info"
> The following package would be upgraded: icecat	60.6.1-guix1 →
> 60.6.1-guix1	/gnu/store/bwhnxvfx4ng5fhc7xi6wijp8qciqjpbk-icecat-60.6.1-guix1

The hashes don't match because one is a store derivation (.drv) file and
the other is the output store item produced by that derivation.  These
store items are assigned different hashes.

You might expect that the hash of a derivation could be reused for the
outputs of that derivation, but it can't be done for a technical reason:
the hash in the file name of a store derivation is based on the entire
contents of that .drv file.  That .drv file also contains its output
file names.  See the problem?

In order to give these the same hash, you would need to create a
derivation file that contains its own hash, i.e. the result of hashing
its entire contents.  That would involve solving an equation of the
form: H = sha256(X ++ H ++ Y), which is presumably hard :)

     Regards,
       Mark




This bug report was last modified 4 years and 232 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.