Hi Ludo, On Sat, 18 Sep 2021 at 18:06, Ludovic Courtès <l...@gnu.org> wrote: > zimoun <zimon.touto...@gmail.com> skribis: > >> Why the store item of source tarball is it different when applying the >> transformation? >> >> Maxime provided a clue [1]. > > Maxime is right: ‘--with-source’ passes #:recursive? #t unconditionally, > whereas it’s usually #f for a ‘url-fetch’ kind of URI.
Thanks for confirming. Why is it different? > What we could do is make it #t if and only if the URL denotes a local > file and that file is a directory. I think that would achieve what you > want without any observable regression in practice. What I expect is that 2 (fixed-output) files with the same hash (0ssi1w…) lives at the same store location… --8<---------------cut here---------------start------------->8--- $ guix hash /gnu/store/chariqd6k0sli3s7vcl4q3al0crirz5v-hello-2.10.tar.gz 0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i $ guix hash /gnu/store/hbdalsf5lpf01x4dcknwx6xbn6n5km6k-hello-2.10.tar.gz 0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i --8<---------------cut here---------------end--------------->8--- …whatever if these (fixed-output) files come from “guix download”, “guix build -S” or “--with-source=https://” or etc. The mapping from hash (0ssi1w…) to store location should be 1:1 for fixed-output, IMHO. Cheers, simon