[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gnunet-scheme] 53/324: doc: add a section on Guix in the roadmap
From: |
gnunet |
Subject: |
[gnunet-scheme] 53/324: doc: add a section on Guix in the roadmap |
Date: |
Tue, 21 Sep 2021 13:21:33 +0200 |
This is an automated email from the git hooks/post-receive script.
maxime-devos pushed a commit to branch master
in repository gnunet-scheme.
commit 606563fe3063398a509fb8389093837830a79261
Author: Maxime Devos <maximedevos@telenet.be>
AuthorDate: Mon Jan 25 20:54:23 2021 +0100
doc: add a section on Guix in the roadmap
* ROADMAP.org (Substitutes over GNUnet):
create section.
---
ROADMAP.org | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 76 insertions(+)
diff --git a/ROADMAP.org b/ROADMAP.org
new file mode 100644
index 0000000..cacdf9b
--- /dev/null
+++ b/ROADMAP.org
@@ -0,0 +1,76 @@
+# Copyright (C) 2020, 2021 Maxime Devos
+# SPDX-License-Identifier: FSFAP
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved. This file is offered as-is,
+# without any warranty.
+
+* (Guix) Substitutes over GNUnet
+
+ Source files:
+ + gnu/gnunet/scripts/download-store.scm
+ + gnu/gnunet/scripts/publish-store.scm
+
+ For previous attempts, see the guix mailing list
+ and guile-gnunet.
+
+** DONE Publishing and fetching directories over GNUnet
+ Example usage of publish-store:
+ #+BEGIN_SRC shell
+ guile -L . -e '(@ (gnu gnunet scripts publish-store) main)' -- -i `guix
build hello`
+ #+END_SRC
+
+ Output:
+ #+BEGIN_SRC fundamental
+ Published at
gnunet://fs/chk/DD0C9CM0EG1WPV5MQMWJ1B6QPVPR4R0DEZH8EW2BPASV9B9Q13P2TXWWX59RRBYGSS29TJEJE8WBNS97WQBDWHB7PGE0P21FMNYT83G.YVWEM5SWBHFQR1YFG8TAJD5J3284XDEK144BFY3B2F3BRD678T3HZPDTP7WB18A04N3HT4HC0SZZ6H71XQRVVZNZX2ZGJXXSJXD9KW0.24798
in gnunet-nix-archive-json/0 format
+ #+END_SRC
+
+ Example usage of download-store:
+ #+BEGIN_SRC shell
+ guile -L . -e '(@ (gnu gnunet scripts download-store) main)' -- -i
$THE_GNUNET_URI -o t
+ # Output: plenty of progress messages
+ ls -R t
+ # Success!
+ #+END_SRC
+
+** TODO Doing it *efficiently* [1/7]
+
+ Some proposals (some forthe implementation, some of the directory format):
+
+ * [ ] inline tiny files
+ * [ ] parallel downloads
+ * [ ] compress files
+ Potential problem: if some peers use different compressors,
+ then the files will be different --> more duplication on the network,
+ less performant.
+ * [ ] maybe use a binary format instead of JSON
+ * [ ] factor out store names.
+
+ Sometimes, changing a build dependency changes very little,
+ perhaps only the embedded store names (e.g. when grafting). Maybe
+ zero out the store references in the files, and mark the location
+ anv value in the JSON container. This way, less data should be
+ duplicated over the network (which should lead to better performance!).
+ * [X] indexing (letting gnunet-service-fs refer to the store items by
+ file name instead of inserting the store items in a database).
+ This is done by default in the implementation for the
+ gnunet-nix-archive-json/0 format. The former point ‘factor out store
+ names’ will undo this, however (which could be resolved with
+ a Hurd translator or FUSE filesystem).
+ * [ ] contact 'gnunet-service-fs' directly, instead of calling a
+ binary for each file.
+
+** TODO Let Guix use a GNUnet substituter
+ Make the substituters ‘pluggable’ somehow. Maybe allow
+ to use the user's substituter, instead of the system's
+ subsituter? (Practical for testing and experimentation.)
+
+ Allow substitutes over http, ipfs, GNUnet, torrents (?).
+ Insert some text about open coding here.
+** TODO (external) GNUnet service for Guix System
+
+ Put it in a container to easy people's minds (including
+ my own).
+** TODO more TODO
+ Maybe substitutes in GNS or something? Let's first
+ address the former points.
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
- [gnunet-scheme] 37/324: scripts: publish-store: publish individual files, (continued)
- [gnunet-scheme] 37/324: scripts: publish-store: publish individual files, gnunet, 2021/09/21
- [gnunet-scheme] 40/324: scripts: publish-store: allow setting all options, gnunet, 2021/09/21
- [gnunet-scheme] 39/324: guix: suggest a package definition, gnunet, 2021/09/21
- [gnunet-scheme] 35/324: scripts: publish-store: compute file tree, gnunet, 2021/09/21
- [gnunet-scheme] 43/324: scripts: publish-store: exit after main function, gnunet, 2021/09/21
- [gnunet-scheme] 48/324: scripts: download-store: download json container, gnunet, 2021/09/21
- [gnunet-scheme] 45/324: scripts: publish-store: fix '--config' option parsing, gnunet, 2021/09/21
- [gnunet-scheme] 46/324: scripts: download-store: parse input arguments, gnunet, 2021/09/21
- [gnunet-scheme] 42/324: scripts: publish-store: export some procedures, gnunet, 2021/09/21
- [gnunet-scheme] 44/324: doc: document publish-store.scm, gnunet, 2021/09/21
- [gnunet-scheme] 53/324: doc: add a section on Guix in the roadmap,
gnunet <=
- [gnunet-scheme] 51/324: scripts: publish-store: add option for printing generated JSON, gnunet, 2021/09/21
- [gnunet-scheme] 52/324: scripts: download-store: add downloading procedure, gnunet, 2021/09/21
- [gnunet-scheme] 47/324: scripts: publish-store: don't index temporary files, gnunet, 2021/09/21
- [gnunet-scheme] 50/324: scripts: download-store: (partially) validate entries, gnunet, 2021/09/21
- [gnunet-scheme] 49/324: scripts: publish-store: correct file name creation, gnunet, 2021/09/21
- [gnunet-scheme] 57/324: mq: define priority and preference values, gnunet, 2021/09/21
- [gnunet-scheme] 59/324: Fix value creation in integer->value, gnunet, 2021/09/21
- [gnunet-scheme] 54/324: Add missing dependency ‘guix-stuff.scm’, gnunet, 2021/09/21
- [gnunet-scheme] 62/324: Change e-mail address, gnunet, 2021/09/21
- [gnunet-scheme] 58/324: scripts: publish-store: use SRFI-39 parameters for configuration, gnunet, 2021/09/21