From: Ricardo Wurmus <rekado@elephly.net>
To: zimoun <zimon.toutoune@gmail.com>
Cc: Timothy Sample <samplet@ngyro.com>, 39885@debbugs.gnu.org, me@tobias.gr
Subject: bug#39885: Bioconductor URI, fallback and time-machine
Date: Wed, 10 Aug 2022 20:25:00 +0200 [thread overview]
Message-ID: <878rnwuemq.fsf@elephly.net> (raw)
In-Reply-To: <87bktmtmol.fsf@elephly.net>
Ricardo Wurmus <rekado@elephly.net> writes:
> zimoun <zimon.toutoune@gmail.com> writes:
>
>> At the cost of more bandwidth, we could switch from url-fetch to
>> git-fetch.
>
> Let’s do it! I’m tired of Bioconductor archive shenanigans 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 “url-fetch” to “git-fetch”.
That’s because “package-update” in (guix upstream) decides whether to
use package-update/url-fetch or package-update/git-fetch based on the
*current* package value’s 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 <upstream-source>
instead of looking at the *current* package value. We’re only
accessing “package” 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 — so we have to include the commit hash and a revision
counter in the version string.
- the updater doesn’t 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.
- “experiment” or “data” packages are not kept in Git. They only exist
as volatile tarballs that will be overwritten. Thankfully, they don’t
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’ll prepare a series of patches
next.
--
Ricardo
next prev parent reply other threads:[~2022-08-10 18:40 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-03 15:59 bug#39885: Bioconductor URI, fallback and time-machine zimoun
2020-03-23 21:20 ` Ricardo Wurmus
2020-05-21 23:29 ` zimoun
2020-06-24 11:07 ` zimoun
2020-06-28 20:14 ` Ludovic Courtès
2020-06-29 17:36 ` zimoun
2020-06-29 20:42 ` Ludovic Courtès
2020-11-19 14:22 ` zimoun
2021-11-22 19:48 ` zimoun
2022-07-18 16:03 ` zimoun
2022-07-18 16:21 ` Ricardo Wurmus
2022-08-10 18:25 ` Ricardo Wurmus [this message]
2022-08-10 19:44 ` Maxime Devos
2022-08-10 19:48 ` Maxime Devos
2022-09-09 17:23 ` zimoun
2024-01-08 15:07 ` Ludovic Courtès
2024-01-08 15:34 ` Ricardo Wurmus
2024-01-11 16:11 ` Simon Tournier
2023-12-22 13:40 ` bug#39885: Bioconductor tarballs are not archived Ludovic Courtès
2024-01-08 9:09 ` Simon Tournier
2024-01-08 15:02 ` Ludovic Courtès
2024-01-10 12:41 ` Ricardo Wurmus
2024-01-10 15:23 ` Simon Tournier
2024-01-19 15:46 ` Timothy Sample
2024-01-23 9:10 ` Ludovic Courtès
2024-02-14 15:23 ` Simon Tournier
2024-02-16 16:14 ` Timothy Sample
2024-02-19 16:50 ` Simon Tournier
2024-02-21 18:16 ` Timothy Sample
2023-12-22 20:57 ` bug#39885: Bioconductor URI, fallback and time-machine Ludovic Courtès
2024-01-02 9:20 ` Simon Tournier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=878rnwuemq.fsf@elephly.net \
--to=rekado@elephly.net \
--cc=39885@debbugs.gnu.org \
--cc=me@tobias.gr \
--cc=samplet@ngyro.com \
--cc=zimon.toutoune@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).