zimoun schreef op wo 05-01-2022 om 12:48 [+0100]: > > > > +  (if (or (eq? recursive? #true) > > > > +          (and (eq? recursive? 'auto) > > > > > > …the symbol ’auto’ is only used here.  IIRC all the series. :-) > > > > In ‘[PATCH v4 3/4] refresh: Support non-tarball sources.’, there's > > > > > +                (let ((hash (file-hash* output))) > > > > There, #:recursive? is 'auto'. > > Naive questions: Is it mandatory?  Or can be explicitly set? > > (I have nothing against, just to me ’auto’ is somehow ambiguous and > «In > the face of ambiguity, refuse the temptation to guess» as ’pyhon3 -c > 'import this'’ says ;-)) 'auto' is indeed a little ambigious, so I adjusted most calls to file-hash* to set #:recursive? #true/#false appropriately in v3. But in this particular case (guix/scripts/refresh.scm), it not known in advance, so some guesswork is necessary. Anyway, these calls to file-hash* are bothering me a little: can't we just record the hash in the 'upstream-source' record or ask the daemon for the hash of a store item (*) or something? (*) Maybe query-path-hash works or maybe there are problems. Also, would be nice if there was a variant of query-path-hash that works on non-sha256 (in principle guix supports other hashes, though currently they are unused). Or maybe query-path-hash is works differently. That would complicate this patch series more, so I'd prefer to delay that for a future patch series. Greetings, Maxime.