unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: zimoun <zimon.toutoune@gmail.com>
To: Maxime Devos <maximedevos@telenet.be>,
	Attila Lendvai <attila@lendvai.name>
Cc: 54232-done@debbugs.gnu.org
Subject: [bug#54232] [PATCH 1/2] gnu: python-daemon: Use the git repo as source instead of pypi.
Date: Fri, 04 Mar 2022 00:48:14 +0100	[thread overview]
Message-ID: <86lexqsim9.fsf@gmail.com> (raw)
In-Reply-To: <974683641d47f041c71bb9a9adbeda16b45b0908.camel@telenet.be>

Hi Maxime and Attila,

On Thu, 03 Mar 2022 at 15:46, Maxime Devos <maximedevos@telenet.be> wrote:

>> feel free to apply or reject this as you see fit. it's not important
>> for me to build from git, even though i also find it better. probably
>> the software heritage archives also work better with git.
>
> They do support tarballs to some degree, and disarchive to some degree
> compensates for mismatches.  I don't know how well this works in
> practice.

FYI, a quick picture on how it works. :-)

For source using ’git-fetch’, archival on Software Heritage (SWH) is
done using :

    guix lint -c archival <pkg>

and if later the URL for the repository is unavailable, then Guix
automatically sends a cooking requests to SWH and fetch from it there.
Basically the machinery works.  The failure are issues on SWH side or
not enough information on Guix side (see lengthy thread tag vs commit
hash for details of one typical issue :-))

For source using ’url-fetch’, archival on SWH is done via:

    http://guix.gnu.org/sources.json

The file is periodically builds on Guix side and periodically ingested
by SWH.  It lists all the “tarball“ URL locations for one Guix revision.

To keep it short, a tarball contains content (say source code itself)
and meta (say compression level or others).  SWH only preserves content
and drops meta.  Therefore, later it is not possible to rebuild from
their SWH data the exact same tarball and thus checksum mismatches.

The workaround is Disarchive.  It stores this ’meta’ in the database:

    http://disarchive.guix.gnu.org/

and thus using both (content from SWH and meta from Disarchive), the
exact same tarball is rebuilt.  This Disarchive database is periodically
updated by CI Cuirass.

If later the source URL is down, then Guix automatically sends a request
to SWH and Disarchive database ending by reassembling the both elements
of the required tarball.

Basically, the machinery works too.  Not all compression format are
supported.  Among other many other details.

(Note we name Disarchive both the tools to disassemble / reassemble and
also the database; where it can be misleading, sometimes. :-))


The plan is to have a better story for all.

Hope that helps and spread the word. ;-)

Cheers,
simon

PS: I have not talked about ’hg-fetch’ or ’svn-fetch’. ;-)




      reply	other threads:[~2022-03-03 23:53 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-03 10:58 [bug#54232] [PATCH] gnu: python-daemon: Fix build by temporarily disabling the tests Attila Lendvai
2022-03-03 12:33 ` Maxime Devos
2022-03-03 14:19 ` [bug#54232] [PATCH 1/2] gnu: python-daemon: Use the git repo as source instead of pypi Attila Lendvai
2022-03-03 14:30   ` Maxime Devos
2022-03-03 14:42     ` Attila Lendvai
2022-03-03 14:46       ` bug#54232: " Maxime Devos
2022-03-03 23:48         ` zimoun [this message]

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=86lexqsim9.fsf@gmail.com \
    --to=zimon.toutoune@gmail.com \
    --cc=54232-done@debbugs.gnu.org \
    --cc=attila@lendvai.name \
    --cc=maximedevos@telenet.be \
    /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).