taler-deployment

Deployment scripts and configuration files
Log | Files | Refs | README

commit 10914fb958a1611d5b706ae0980ad31f19b698b7
parent 83d9485d3ea2c25109a8309e3f9bb28c8c969675
Author: Florian Dold <florian.dold@gmail.com>
Date:   Fri, 11 Oct 2019 22:26:55 +0530

build subcommand

Diffstat:
Mbin/taler-deployment | 122+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------
1 file changed, 98 insertions(+), 24 deletions(-)

diff --git a/bin/taler-deployment b/bin/taler-deployment @@ -71,7 +71,7 @@ def cli(): currmap = {"test": "TESTKUDOS", "demo": "KUDOS", "int": "INTKUDOS"} -def update_checkout(p: Path): +def update_checkout(r: Repo, p: Path): """Clean the repository's working directory and update it to the match the latest version of the upstream branch that we are tracking.""" @@ -102,56 +102,130 @@ def update_checkout(p: Path): def default_configure(*extra): pfx = Path.home() / "local" - subprocess.run(["./configure", f"--prefix={pfx.as_posix()}"] + list(extra), check=True) + subprocess.run( + ["./configure", f"--prefix={pfx.as_posix()}"] + list(extra), check=True + ) -def build_libmicrohttpd(p): - update_checkout(p) +def build_libmicrohttpd(r: Repo, p: Path): + update_checkout(r, p) subprocess.run(["./bootstrap"], check=True) # Debian gnutls packages are too old ... default_configure("--with-gnutls=/usr/local") subprocess.run(["make"], check=True) subprocess.run(["make", "install"], check=True) + (p / "taler-buildstamp").touch() -def build_gnunet(p): - update_checkout(p) +def build_gnunet(r: Repo, p: Path): + update_checkout(r, p) + subprocess.run(["./bootstrap"], check=True) + pfx = Path.home() / "local" + default_configure( + "--enable-logging=verbose", + f"--with-libgnurl={pfx.as_posix()}", + f"--with-microhttpd={pfx.as_posix()}", + "--disable-documentation", + ) + subprocess.run(["make", "install"], check=True) + (p / "taler-buildstamp").touch() -def build_exchange(p): - update_checkout(p) +def build_exchange(r, p): + update_checkout(r, p) + subprocess.run(["./bootstrap"], check=True) + pfx = Path.home() / "local" + default_configure( + "CFLAGS=-ggdb -O0" "--enable-logging=verbose", + f"--with-libgnurl={pfx.as_posix()}", + f"--with-microhttpd={pfx.as_posix()}", + f"--with-gnunet={pfx.as_posix()}", + ) + subprocess.run(["make", "install"], check=True) + (p / "taler-buildstamp").touch() -def build_twister(p): - update_checkout(p) +def build_twister(r, p): + update_checkout(r, p) + subprocess.run(["./bootstrap"], check=True) + pfx = Path.home() / "local" + default_configure( + "CFLAGS=-ggdb -O0" "--enable-logging=verbose", + f"--with-exchange={pfx.as_posix()}", + f"--with-gnunet={pfx.as_posix()}", + ) + subprocess.run(["make", "install"], check=True) + (p / "taler-buildstamp").touch() -def build_merchant(p): - update_checkout(p) +def build_merchant(r, p): + update_checkout(r, p) + subprocess.run(["./bootstrap"], check=True) + pfx = Path.home() / "local" + default_configure( + "CFLAGS=-ggdb -O0" "--enable-logging=verbose", + f"--with-libgnurl={pfx.as_posix()}", + f"--with-microhttpd={pfx.as_posix()}", + f"--with-exchange={pfx.as_posix()}", + f"--with-gnunet={pfx.as_posix()}", + "--disable-doc", + ) + subprocess.run(["make", "install"], check=True) + (p / "taler-buildstamp").touch() -def build_bank(p): - update_checkout(p) +def build_bank(r, p): + update_checkout(r, p) + subprocess.run(["./bootstrap"], check=True) + pfx = Path.home() / "local" + default_configure() + subprocess.run(["make", "install"], check=True) + (p / "taler-buildstamp").touch() -def build_landing(p): - update_checkout(p) +def build_landing(r, p): + update_checkout(r, p) + subprocess.run(["./bootstrap"], check=True) + pfx = Path.home() / "local" + default_configure() + subprocess.run(["make", "install"], check=True) + (p / "taler-buildstamp").touch() -def build_donations(p): - update_checkout(p) +def build_donations(r, p): + update_checkout(r, p) + subprocess.run(["./bootstrap"], check=True) + pfx = Path.home() / "local" + default_configure() + subprocess.run(["make", "install"], check=True) + (p / "taler-buildstamp").touch() -def build_blog(p): - update_checkout(p) +def build_blog(r, p): + update_checkout(r, p) + subprocess.run(["./bootstrap"], check=True) + pfx = Path.home() / "local" + default_configure() + subprocess.run(["make", "install"], check=True) + (p / "taler-buildstamp").touch() -def build_survey(p): - update_checkout(p) +def build_survey(r, p): + update_checkout(r, p) + subprocess.run(["./bootstrap"], check=True) + pfx = Path.home() / "local" + default_configure() + subprocess.run(["make", "install"], check=True) + (p / "taler-buildstamp").touch() -def build_backoffice(p): - update_checkout(p) +def build_backoffice(r, p): + update_checkout(r, p) + subprocess.run(["./bootstrap"], check=True) + pfx = Path.home() / "local" + default_configure() + subprocess.run(["make", "install"], check=True) + (p / "taler-buildstamp").touch() # Our repositories, *must* be topologically sorted