From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id SJY2MZj782JFfAEAbAwnHQ (envelope-from ) for ; Wed, 10 Aug 2022 20:40:24 +0200 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id WBZDMJj782KOAgEAG6o9tA (envelope-from ) for ; Wed, 10 Aug 2022 20:40:24 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 82FB9F1E3 for ; Wed, 10 Aug 2022 20:40:23 +0200 (CEST) Received: from localhost ([::1]:44964 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oLqcw-0001VX-0z for larch@yhetil.org; Wed, 10 Aug 2022 14:40:22 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:41854) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oLqcd-0001VM-Ix for bug-guix@gnu.org; Wed, 10 Aug 2022 14:40:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:32776) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oLqcc-0006D0-23 for bug-guix@gnu.org; Wed, 10 Aug 2022 14:40:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1oLqcb-0003w6-UD for bug-guix@gnu.org; Wed, 10 Aug 2022 14:40:01 -0400 X-Loop: help-debbugs@gnu.org Subject: bug#39885: Bioconductor URI, fallback and time-machine Resent-From: Ricardo Wurmus Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Wed, 10 Aug 2022 18:40:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 39885 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: zimoun Cc: Timothy Sample , 39885@debbugs.gnu.org, me@tobias.gr Received: via spool by 39885-submit@debbugs.gnu.org id=B39885.166015679315109 (code B ref 39885); Wed, 10 Aug 2022 18:40:01 +0000 Received: (at 39885) by debbugs.gnu.org; 10 Aug 2022 18:39:53 +0000 Received: from localhost ([127.0.0.1]:50758 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oLqcS-0003vd-Kr for submit@debbugs.gnu.org; Wed, 10 Aug 2022 14:39:52 -0400 Received: from sender4-of-o51.zoho.com ([136.143.188.51]:21186) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oLqcN-0003vQ-K4 for 39885@debbugs.gnu.org; Wed, 10 Aug 2022 14:39:51 -0400 ARC-Seal: i=1; a=rsa-sha256; t=1660156785; cv=none; d=zohomail.com; s=zohoarc; b=oI1wx+LoiUZ66DqvhGL2gR7QrUtwZDxCHp2+bmVbD8xKmkjNU3ewmG6TVFqaLSaZyOXSVPvEsQJnuEZLVcZa+mLc9Mp+S+9l2+YIxdbEqa6ePZtZx5AVkmNIKwaGY1+QrQYqdEcjvtRWxKQ7yFzdXhq0GyBLLJCP3DL+AdDYuZk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1660156785; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; bh=TeXmwSVxSxS260Wh7R3Zw5zrphz8e645fb7uLQEv5cQ=; b=P3NVT84apMP/W0OqPCDPmXR5w70V3xyEKXwF41o0WI5mSwVvkY5M4ljgdL6niiEND7zRuA2fsUbBqxB9vx5SWG1FhxuM9/H9jDDT3XJdmmn81exaEMAIA23tD90vmvQVX11O6yLWiORSa8C9WoBhgONcuUcocsOD7h41nk+AYDw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=elephly.net; spf=pass smtp.mailfrom=rekado@elephly.net; dmarc=pass header.from= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1660156785; s=zoho; d=elephly.net; i=rekado@elephly.net; h=References:From:From:To:To:Cc:Cc:Subject:Subject:Date:Date:In-reply-to:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To; bh=TeXmwSVxSxS260Wh7R3Zw5zrphz8e645fb7uLQEv5cQ=; b=H/7bGZSneLGmrCs/7YoQLZqBbwOnKEtUULLVmcXphRcAtynR0MgILbKlx9bhjeB8 HLLFWcb6szztx33LqYih8XCESNZ9SY0MkQhA1bpx5F1wO0yCxr1ozhltBPm8DESSuHH YdC6ATsE2AndG8QJAmF8cuCTeIksSluyELJvh7RY= Received: from localhost (i5E862C5E.versanet.de [94.134.44.94]) by mx.zohomail.com with SMTPS id 1660156784131221.60771061448702; Wed, 10 Aug 2022 11:39:44 -0700 (PDT) References: <87lesqmmrr.fsf@gmail.com> <87bktmtmol.fsf@elephly.net> User-agent: mu4e 1.8.7; emacs 28.1 From: Ricardo Wurmus Date: Wed, 10 Aug 2022 20:25:00 +0200 In-reply-to: <87bktmtmol.fsf@elephly.net> X-URL: https://elephly.net X-PGP-Key: https://elephly.net/rekado.pubkey X-PGP-Fingerprint: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC Message-ID: <878rnwuemq.fsf@elephly.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-ZohoMailClient: External X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-guix@gnu.org List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+larch=yhetil.org@gnu.org Sender: "bug-Guix" X-Migadu-Flow: FLOW_IN X-Migadu-To: larch@yhetil.org X-Migadu-Country: US ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1660156823; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:resent-cc: resent-from:resent-sender:resent-message-id:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=TeXmwSVxSxS260Wh7R3Zw5zrphz8e645fb7uLQEv5cQ=; b=JGL8F6QNrEVIZ8Y3LrXUG8H5ug9r1nUoZPQN4dzxUPF/kTJW7GvrEZN9/Zcsw1XwKwVhUq oKNsPj/DMJ8leVs1UiHrlY8c1rFm4vcVUehNpLDU7MMIKw+wLZ73bcJtSAkshGXppNTVzr VQJ5F7T1RbgylqCHjqeEfxVSILrNg9bWjgDxcN9WSCyH/kOWAwgePlzx1RvHSvwOy7P+xR S7OE2Qsvdaw+TjMgJtPlqxhm4wgYBXN3XV9TOQy78+FJWSVan58mjzLEoSMivko5LXAgrn YfCFoYqiN+LG9MQ8P5lY/aHhOcwAERYd6uqywzZpY0ilaLnErVrZ0J+vdkhLwg== ARC-Seal: i=2; s=key1; d=yhetil.org; t=1660156823; a=rsa-sha256; cv=fail; b=V6DndhEhZcLlsrqfzU8IL6byXy05ZL10q/+8UryhzoPXLueKO4ndqlkq1diPDuzgPMms5W iwTdSPxLRGCX6ENU0mKEiepqKUMPdYpnUonfwBTfD9J6OYpSWzeDdXk8PIJA7HDOAAG1EU rS0abZ+8aHxDpYjb4ODaFQxJrKwdQj7aKaPjsvSc5E/iVQB/S4O+WN8lc2ykGcDzJ4bhc2 rgDAWifXRCHMHo2Tl5cghNM4kgC/8WXyjCwNKEXmyGQcW/iPaJbqxUwgFfkjjsLAwuoq3C lsrrk5pYGLrM+0YTLY99/9xVLo8PdEvUS81F9e6XF+BTwnzCEPLJ9fzYqf3x9Q== ARC-Authentication-Results: i=2; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=elephly.net header.s=zoho header.b="H/7bGZSn"; arc=reject ("signature check failed: fail, {[1] = sig:zohomail.com:reject}"); dmarc=none; spf=pass (aspmx1.migadu.com: domain of "bug-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="bug-guix-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: 4.81 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=elephly.net header.s=zoho header.b="H/7bGZSn"; arc=reject ("signature check failed: fail, {[1] = sig:zohomail.com:reject}"); dmarc=none; spf=pass (aspmx1.migadu.com: domain of "bug-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="bug-guix-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 82FB9F1E3 X-Spam-Score: 4.81 X-Migadu-Scanner: scn0.migadu.com X-TUID: 0aqxAvXDfd55 Ricardo Wurmus writes: > zimoun writes: > >> At the cost of more bandwidth, we could switch from url-fetch to >> git-fetch. > > Let=E2=80=99s do it! I=E2=80=99m tired of Bioconductor archive shenaniga= ns messing with > package availability. I have finally taken the time to review this and implement a first draft of a change to the bioconductor importer and updater. There are some limitations: - we cannot use the updater to go from =E2=80=9Curl-fetch=E2=80=9D to =E2= =80=9Cgit-fetch=E2=80=9D. That=E2=80=99s because =E2=80=9Cpackage-update=E2=80=9D in (guix upstream= ) decides whether to use package-update/url-fetch or package-update/git-fetch based on the *current* package value=E2=80=99s origin fetch procedure. For the switch= we can hack around this (adding an exception for bioconductor packages), but there is no pretty way to do this in a generic fashion that could be committed. Perhaps we could operate on the url included in the instead of looking at the *current* package value. We=E2=80=99re only accessing =E2=80=9Cpackage=E2=80=9D once in the url-fetch case, so maybe = we can work around this problem. - the repositories at https://git.bioconductor.org/package/NAME do not tag package versions. The only method of organization is branches that are named after *Bioconductor releases* (not package releases), e.g. RELEASE_3_15. We can only determine the package version by reading its DESCRIPTION file or by looking up the version index for all Bioconductor packages (we do that already). This means that there could be different commits for the same package version in the same release branch =E2=80=94 so we have to include the commit hash and a revi= sion counter in the version string. - the updater doesn=E2=80=99t work on version expressions like (git-version "1.12" revision commit). It expects to be able to replace literal strings. Because of that my changes let the importer generate a string literal such as "1.12-0.cafebab" without a let-bound commit string. - =E2=80=9Cexperiment=E2=80=9D or =E2=80=9Cdata=E2=80=9D packages are not k= ept in Git. They only exist as volatile tarballs that will be overwritten. Thankfully, they don=E2= =80=99t change all that often, so they have a good chance of making it into our archives. - the above exception means that we need to litter the importer and updater code with extra checks. With all these notes out of the way I=E2=80=99ll prepare a series of patches next. --=20 Ricardo