GNU bug report logs -
#49196
[PATCH] "guix import go" Improve error handling
Previous Next
Reported by: Sarah Morgensen <iskarian <at> mgsn.dev>
Date: Wed, 23 Jun 2021 20:50:02 UTC
Severity: normal
Tags: patch
Done: Ludovic Courtès <ludo <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
Message #11 received at 49196 <at> debbugs.gnu.org (full text, mbox):
Hello,
Thanks for the review!
zimoun <zimon.toutoune <at> gmail.com> writes:
> Indeed, there is an inconsistency betweem all the recursive importers.
> An attempt to fix this is done by [1].
>
> 1: <http://issues.guix.gnu.org/issue/45984>
Thanks, that was a good read. With context, I see where you're coming
from. I agree that the direction to take with these importers is to
unify and standardize.
The goal of this patch is just to allow recursive import to provide a
usable result despite some failures, when the importer supports it. I'd
rather hunt down one package than 20+ :) This may make reporting errors
more difficult, but I think the use-case is worth it.
> ...however, I am not convinced this fixes the issue. Compare:
>
> $ guix import go do-not-exist -r
>
> with:
>
> $ ./pre-inst-env guix import go do-not-exist -r
Good catch. I did not think to handle the toplevel package not being
found! This actually leads to making this a much simpler patch...
--8<---------------cut here---------------start------------->8---
- (map node-package
+ (filter-map node-package
(topological-sort (list (lookup-node package-name version))
--8<---------------cut here---------------end--------------->8---
...which also works for other importers which return (values #f ...):
--8<---------------cut here---------------start------------->8---
~/guix$ for importer in stackage elpa gem cran go ; do printf "\n### $importer\n" ; ./pre-inst-env guix import $importer really-does-not-exist -r ;done
### stackage
guix import: error: really-does-not-exist: Stackage package not found
### elpa
guix import: error: couldn't find meta-data for ELPA package `really-does-not-exist'.
### gem
### cran
error: failed to retrieve package information from "https://cran.r-project.org/web/packages/really-does-not-exist/DESCRIPTION": 404 ("Not Found")
guix import: error: couldn't find meta-data for R package
### go
guix import: warning: Failed to import package "really-does-not-exist".
reason: "https://proxy.golang.org/really-does-not-exist/@v/list" could not be fetched: HTTP error 410 ("Gone").
This package and its dependencies won't be imported.
--8<---------------cut here---------------end--------------->8---
> Well, it is not worse for most of the importers. And perhaps this patch
> is worth. As explained in [1], all the recursive importers should be
> unified and the errors correctly handled, IMHO. With jeko, we are
> pair-programming to work on it... but we are really slow. ;-)
Yes, this is very much just a stopgap. In your words (from #45984):
> Well, this patch set are trivial changes that quickly fix the current
> broken situation without a deep revamp.
I will follow up with an updated patch.
Regards,
Sarah
This bug report was last modified 3 years and 262 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.