[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Taler] signature (purpose) refactoring
From: |
Christian Grothoff |
Subject: |
Re: [Taler] signature (purpose) refactoring |
Date: |
Sun, 24 Apr 2022 17:56:21 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.8.0 |
On 4/24/22 17:25, Thien-Thi Nguyen wrote:
I've just now modified gana.git format.sh to take a second
optional arg SELEXP:
- https://git.gnunet.org/gana.git/commit/?id=6ece5330af02170401c
This is in preparation for the signature (purpose) refactoring
on the horizon, which immediate aim is to generate exchange.git
src/include/taler_signatures.h (offloading the chore to gana).
Other benefits of centralizing will follow, i'm sure.
So, the mechanism is in place. Now, to clarify the policy.
In discussion w/ CG, we touched on two approaches:
(a) Add another directory to gana.git w/ Taler-specific Stuff.
(b) Augment gana.git gnunet-signatures w/ Taler-specific Stuff
and put in place a mechanism for partial extraction and
generation of caller-specified subset (GNUnet vs Taler, at
this point) of the single registry.
The above changes to format.sh assume we are going w/ (b), but
if i'm mistaken, then please let me know!
Yes, just go with (b): extend the existing GNUnet signature registry,
instead of adding a new directory. Simply add a 'package: GNUnet' or
'package: Taler' line to each of the existing entries, and filter by the
package when generating code for GNUnet or GNU Taler.
Presuming (b), my plan is to:
(1) Change the gana.git gnunet-signatures/Makefile to specify a
GNUnet-specific SELEXP, something like:
../format.sh h.template 'Subsystem ~ "^GNUnet"'
so that "make" in that dir continues to DTRT.
(2) Add a call in exchange.git src/include/Makefile to extract
Taler-specific Stuff, something like:
$(top_srcdir)/contrib/gana/format.sh \
h.template 'Subsystem ~ "^Taler"'
and write the output to src/include/taler_signatures.h.
Please simply extend the existing contrib/gana-update.sh scripts.
Modifying the 'Makefile' may cause the code to be generated at compile
time, but it should be generated at 'bootstrap' time (i.e. before
configure / 'make dist') so that we have no dependency on GNU recutils
for users of the TGZ.
(3) Add to gana.git gnunet-signatures/registry.rec all the
#define:s from the former taler_signatures.h, rewritten
in proper recfile syntax, each w/ 'Subsystem: Taler' in it.
(4) Repeat (2) and (3) for Anastasis (in anastasis.git, this
time, and with 'Subsystem: Anastasis' as appropriate) and
also Sync (sync.git, 'Subsystem: Sync').
(5) document in developer handbook ;-).
My questions are:
(x) Does this plan look OK?
(y) Am i missing anything?
(z) Is there a better approach?
@CG I'm writing to the Taler list in case anyone else would like
to add something -- hope you don't mind.
No problem ;-)
Happy hacking!
Christian