From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36919) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cxh0d-00067o-DG for guix-patches@gnu.org; Mon, 10 Apr 2017 17:38:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cxh0c-0000dZ-If for guix-patches@gnu.org; Mon, 10 Apr 2017 17:38:03 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:43418) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cxh0c-0000dP-Eq for guix-patches@gnu.org; Mon, 10 Apr 2017 17:38:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1cxh0c-0003Vs-9i for guix-patches@gnu.org; Mon, 10 Apr 2017 17:38:02 -0400 Subject: bug#26373: [PATCH 6/6] import cran: Skip updating when meta data cannot be downloaded. Resent-Message-ID: From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) References: <20170405164210.29428-1-rekado@elephly.net> <20170405164210.29428-6-rekado@elephly.net> <87efx0egd6.fsf@gnu.org> <87k26s1i5q.fsf@elephly.net> Date: Mon, 10 Apr 2017 23:37:29 +0200 In-Reply-To: <87k26s1i5q.fsf@elephly.net> (Ricardo Wurmus's message of "Mon, 10 Apr 2017 15:55:29 +0200") Message-ID: <8737dgeyg6.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: Ricardo Wurmus Cc: 26373@debbugs.gnu.org Ricardo Wurmus skribis: > Ludovic Court=C3=A8s writes: > >> Ricardo Wurmus skribis: >> >>> * gnu/packages/bioinformatics.scm (latest-cran-release, >>> latest-bioconductor-release): Abort early when meta data cannot be down= loaded. >>> --- >>> guix/import/cran.scm | 6 ++++-- >>> 1 file changed, 4 insertions(+), 2 deletions(-) >>> >>> diff --git a/guix/import/cran.scm b/guix/import/cran.scm >>> index 557d694ad..fc7a1ed84 100644 >>> --- a/guix/import/cran.scm >>> +++ b/guix/import/cran.scm >>> @@ -398,7 +398,8 @@ dependencies." >>> (package->upstream-name package)) >>> >>> (define meta >>> - (fetch-description 'cran upstream-name)) >>> + (false-if-exception >>> + (fetch-description 'cran upstream-name))) >> >> I would prefer catching only the relevant exception. So I suppose >> something like: >> >> (guard (c ((http-get-error? c) >> (if (=3D 404 (http-get-error-code c)) >> #f >> (raise c)))) >> (fetch-description 'cran upstream-name)) >> >> However I see that =E2=80=98fetch-description=E2=80=99 already does that= , so what >> exceptions are we protecting against? > > I don=E2=80=99t know what the desired behaviour here is. When updating > packages, I think it=E2=80=99s good to keep going. If there=E2=80=99s an= error > downloading the package meta data I want =E2=80=9Cmeta=E2=80=9D to be =E2= =80=9C#f=E2=80=9D, which leads > to skipping the update. > > Without turning errors to =E2=80=9C#f=E2=80=9D I wasn=E2=80=99t able to j= ust update all packages > with =E2=80=9Cguix refresh -t cran,bioconductor -u=E2=80=9D. What was the exception? I think a good approach is to catch precisely the kind of error that we don=E2=80=99t want to see. =E2=80=98false-if-exception=E2=80=99 catches ev= erything and could thus hide genuine errors/bugs (including unbound variables and similar), which sounds undesirable. WDYT? Ludo=E2=80=99.