[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#51091] [PATCH] guix: opam: Do not fail when refreshing.
From: |
Ludovic Courtès |
Subject: |
[bug#51091] [PATCH] guix: opam: Do not fail when refreshing. |
Date: |
Thu, 14 Oct 2021 15:01:18 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) |
Hi,
Xinglu Chen <public@yoctocell.xyz> skribis:
> On Fri, Oct 08 2021, Julien Lepiller wrote:
[...]
>> Because we throw an error when a package is not in the opam repository,
>> the updater would crash when encountering a package that is not in opam
>> but uses the ocaml-build-system, such as opam itself. This catches the
>> error and continues without updating said package, and lets us update
>> the rest of the packages.
>>
>> * guix/import/opam.scm (latest-release): Catch errors and do not crash.
>> ---
>> guix/import/opam.scm | 23 +++++++++++++----------
>> 1 file changed, 13 insertions(+), 10 deletions(-)
>>
>> diff --git a/guix/import/opam.scm b/guix/import/opam.scm
>> index fe13d29f03..8ff1a3ae63 100644
>> --- a/guix/import/opam.scm
>> +++ b/guix/import/opam.scm
>> @@ -409,16 +409,19 @@ package in OPAM."
>>
>> (define (latest-release package)
>> "Return an <upstream-source> for the latest release of PACKAGE."
>> - (and-let* ((opam-name (guix-package->opam-name package))
>> - (opam-file (opam-fetch opam-name))
>> - (version (assoc-ref opam-file "version"))
>> - (opam-content (assoc-ref opam-file "metadata"))
>> - (url-dict (metadata-ref opam-content "url"))
>> - (source-url (metadata-ref url-dict "src")))
>> - (upstream-source
>> - (package (package-name package))
>> - (version version)
>> - (urls (list source-url)))))
>> + (catch #t
>
> Using (catch #t ...) is generally not a good idea. Maybe ‘opam-fetch’ should
> raise a ‘opam-fetch’ condition, and then we would only catch those
> conditions?
Agreed, it’s best to catch the most specific exception, around the most
narrow bits of code, so unexpected errors that denote bugs are properly
reported.
Nitpick: in the commit log, the subject line should start with
“import: opam:”. :-)
Thanks,
Ludo’.