summaryrefslogtreecommitdiff
path: root/taler-developer-manual.rst
diff options
context:
space:
mode:
authorThien-Thi Nguyen <ttn@gnuvola.org>2022-06-06 09:44:58 -0400
committerThien-Thi Nguyen <ttn@gnuvola.org>2022-06-06 09:45:15 -0400
commit32929d2ac4b8b093e3dcf7a3f52c5c99858244b2 (patch)
treede44671bc24dc01ea4f8faa51cd2322d14dbd3c1 /taler-developer-manual.rst
parentee3fb1e0888ad64b326a8c9cf1d64801aa979069 (diff)
downloaddocs-32929d2ac4b8b093e3dcf7a3f52c5c99858244b2.tar.gz
docs-32929d2ac4b8b093e3dcf7a3f52c5c99858244b2.tar.bz2
docs-32929d2ac4b8b093e3dcf7a3f52c5c99858244b2.zip
Add subsection "What to put in bootstrap" to developer manual
This describes the general bootstrap flow, and furthermore describes the exchange.git/src/include/taler_signatures.h generation process.
Diffstat (limited to 'taler-developer-manual.rst')
-rw-r--r--taler-developer-manual.rst41
1 files changed, 41 insertions, 0 deletions
diff --git a/taler-developer-manual.rst b/taler-developer-manual.rst
index b7f2ac4e..c4870c2c 100644
--- a/taler-developer-manual.rst
+++ b/taler-developer-manual.rst
@@ -149,6 +149,47 @@ all developers should probably subscribe to the low-volume Taler mailinglist.
There are separate low-volume mailinglists for gnunet-developers (@gnu.org)
and for libmicrohttpd (@gnu.org).
+What to put in bootstrap
+------------------------
+
+Each repository has a ``bootstrap`` script, which contains commands for the
+developer to run after a repository checkout (i.e., after ``git clone`` or
+``git pull``).
+Typically, this updates and initializes submodules, prepares the tool chain,
+and runs ``autoreconf``.
+The last step generates the ``configure`` script, whether for immediate use or
+for inclusion in the distribution tarball.
+
+One common submodule is ``contrib/gana``, which pulls from the
+`GNUnet GANA repository https://git.gnunet.org/gana.git/`_.
+For example, in the
+`Taler exchange repository https://git.taler.net/exchange.git`_,
+the bootstrap script eventually runs the ``git submodule update`` command
+early on, and later runs script ``./contrib/gana.sh``, which in turn
+runs script ``./contrib/gana-update.sh``, which performs various tasks,
+such as generating the file ``src/include/taler_signatures.h``.
+
+Thus, to update that file, you need to:
+
+- (in GANA repo) Find a suitable (unused) name and number for the Signature
+ Purposes database.
+
+- Add it to GANA, in ``gnunet-signatures/registry.rec``.
+ (You can check for uniqueness with the ``recfix`` utility.)
+
+- Commit the change, and push it to the GANA Git repo.
+
+- (in Taler Repo) Change directory to ``contrib/gana`` and run
+ command ``git pull`` there.
+
+- Bootstrap, configure, do ``make install``, ``make check``, etc.
+ (Basically, make sure the change does not break anything.)
+
+- Commit the submodule change, and push it to the Taler exchange Git repo.
+
+A similiar procedure is required for other databases in GANA.
+See file ``README`` in the various directories for specific instructions.
+
Debian and Ubuntu Repositories
==============================