unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Sree Harsha Totakura <totakura@in.tum.de>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: guix-devel <guix-devel@gnu.org>, gnunet-developers@gnu.org
Subject: Re: [GNUnet-developers] Guix - GNUnet binary ditribution roadmap
Date: Wed, 12 Mar 2014 23:53:29 +0100	[thread overview]
Message-ID: <5320E569.6000104@in.tum.de> (raw)
In-Reply-To: <87siqndtka.fsf@gnu.org>

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 03/12/2014 09:56 PM, Ludovic Courtès wrote:
>>> Let's just stick with the GNUnet server (we call such a server
>>> as a service in GNUnet, let's call it Guix service) as of now.
>>> HTTP can be done optionally.  Moreover the currently binary
>>> distribution is made through a HTTP server.
> Yeah, let’s keep HTTP optional.  The requirement will be to have a 
> server over GNUnet’s MESH, right?

Yes, so the service should be using both DHT and MESH services of
GNUnet.  DHT to publish and lookup packages and MESH for downloading
and seeding packages.

> 
>>>>> * required: users should use a gpg key to sign their
>>>>> packages.
>>> OK, sounds good.
> For consistency, I’d prefer to use our SPKI-style infrastructure
> (info "(guix) Invoking guix archive").

OK.

>>>>> * optional: users' servers could be dht nodes themselves.
>>> This may not be possible.  If you are running the Guix server,
>>> you would want to publish the packages you built into the DHT
>>> and for this you need to run the DHT service.
> To me “could be DHT nodes” is the same as could “run the DHT
> service”. I think you’re saying the same thing, no?  :-)

Yes, if a node is a DHT node that basically implies that it is running
the DHT service.

>>> The requirements from Guix side are missing here.  IMO, you
>>> have to: * Understand the current protocol used over HTTP to
>>> search and download packages from Guix Hydra server. *
>>> Implement a equivalent client/downloader in Guix using Guile
>>> to download the packages using GNUnet. * Extend the Guix daemon
>>> to publish package updates into GNUnet DHT, whenever new
>>> packages are added to the Guix store.
> I think guix-daemon would remain unchanged.  Instead, the package 
> publisher could (say) periodically ask for the list of live store
> items (as per ‘guix gc --list-live’) and publish those.
> 

OK, I agree; this is also simple.  Does '--list-live' option list all
the items in the store or only the ones currently used?  I believe it
is helpful for other peers to push all items in the store, but then
how do packages age-out?

> However, I think the protocol could be different from, and simpler
> than Hydra’s.
> 
> Ideally, I imagine you could do something like:
> 
> dht-get /gnu/store/ykmg6ydrmlkn600wklriw3wzc1z3dcli-emacs-24.3
> 
> and get as a reply (roughly) a tuple containing:
> 
> 1. a signature (as a canonical s-expression);
> 
> 2. a reference to a MESH channel from which to download the archive
> of that store item;

We also need a peer identity in the tuple since establishing MESH
connections require both the peer identity and a channel number.  MESH
is the GNUnet's equivalent of TCP: peer identity ~= IP address;
channel number ~= port number.

Sree
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
Comment: Using GnuPG with Icedove - http://www.enigmail.net/

iQEcBAEBAgAGBQJTIOVgAAoJECthXLMALpxG49cH/A9uK5z3R7++uFfrp3LTs7UD
qTZV63wn7y01l2WfX2Yzvj7gMIHNhwojBkfpALgchHVDCbTXtfdDHo5OYFbmpxhN
MqJ6bmrkF2uQ1d1cgWqlByaOERDWEw8RwCjzAwJ0FzEv1P2/5KUXdlQCFwKyd+k+
g5//utsLrEfPzb5KvXEKUCloBCksnt7iBuyhUwy2KH7BaNOc1pmeWUShc5zErH2m
rrZJfa+vS7YqvbpqKN4ZorDoDHW8SqOXJOxStrBuV0qzNq4iCWZkDeomybKEQ/UA
b3YmtKwLIrMEf3f7/mPmAIy3A5mN2yKy4CP3m2dGVObDzuWWCEQX/WvuZCP4Upk=
=Gb1A
-----END PGP SIGNATURE-----

  reply	other threads:[~2014-03-12 22:53 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <531F607F.7080208@rigelk.eu>
2014-03-12 18:57 ` Guix - GNUnet binary ditribution roadmap Sree Harsha Totakura
2014-03-12 20:56   ` Ludovic Courtès
2014-03-12 22:53     ` Sree Harsha Totakura [this message]
2014-03-12 23:15       ` [GNUnet-developers] " Ludovic Courtès
2014-03-13  8:23         ` Sree Harsha Totakura
2014-03-13  9:46     ` Christian Grothoff
2014-03-13 23:08       ` Ludovic Courtès
2014-03-13 23:58         ` Christian Grothoff
2014-03-14 13:27           ` Ludovic Courtès
2014-03-14 14:31             ` Christian Grothoff
2014-03-14 16:13               ` Ludovic Courtès
2014-03-18 11:00                 ` Ludovic Courtès
2014-03-13 14:06     ` Mark H Weaver
2014-03-13 14:14       ` Ludovic Courtès
2014-03-13 14:30         ` Mark H Weaver
2014-03-13 14:44           ` Christian Grothoff
2014-03-18 19:48   ` Pierre-Antoine Rault
2014-03-18 20:59     ` Ludovic Courtès

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=5320E569.6000104@in.tum.de \
    --to=totakura@in.tum.de \
    --cc=gnunet-developers@gnu.org \
    --cc=guix-devel@gnu.org \
    --cc=ludo@gnu.org \
    /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).