Subject: 'guix publish' is unable to serve narinfos for dead items

From: Ludovic Courtès <[email-masked]>
Date: Fri, 28 Dec 2018 22:49:58 +0100

Hello,

‘render-narinfo/cached’ in ‘guix publish’ uses ‘hash-part->path’ to go
from /xyz.narinfo to, say, /gnu/store/xyz-guile-2.2.4.

The problem is that ‘hash-part->path’ is an RPC that works only if xyz
corresponds to a live item; in other cases, it returns the empty
string.  Consequently, if /gnu/store/xyz-guile-2.2.4 has been GC’d,
‘guix publish’ returns 404 for /xyz.narinfo, even if it actually has the
narinfo somewhere in cache.

This defeats the intended behavior of ‘--cache’ and ‘--ttl’.

Ludo’.