commit 495b10e34d19319186494d83b0dbb5ec3dde4dc9
parent 9afe2f07bf4405aa4645bdaeb294d15c1c3f94a6
Author: Christian Grothoff <christian@grothoff.org>
Date: Sat, 13 Jan 2024 15:44:05 +0100
misc improvements for error handling
Diffstat:
9 files changed, 41 insertions(+), 96 deletions(-)
diff --git a/.gitignore b/.gitignore
@@ -27,3 +27,5 @@ build
uncrustify.cfg
debian/taler-mdb/
debian/taler-mdb.debhelper.log
+config.guess
+config.sub
diff --git a/contrib/taler-mdb-network-check.sh b/contrib/taler-mdb-network-check.sh
@@ -58,9 +58,6 @@ while getopts ':c:f:ht:' OPTION; do
# shellcheck disable=SC2016
echo ' -t $HOSTNAME -- target hostname (required)'
;;
- t)
- BACKEND_HOSTNAME="$OPTARG"
- ;;
?)
exit_fail "Unrecognized command line option"
;;
@@ -117,6 +114,9 @@ trap childdeath SIGCHLD
# shellcheck disable=SC2120
function check_network()
{
+ DEF_BACKEND=$(taler-config -c "$CONF" -s "taler-mdb" -o "BACKEND_BASE_URL")
+ BACKEND_HOSTNAME=$(echo "$DEF_BACKEND" | awk -F/ '{print $3}')
+
DNS_HOST=$(grep nameserver /etc/resolv.conf | awk '{print $2}')
if ! ping -c1 "$DNS_HOST" &> /dev/null
then
@@ -134,7 +134,6 @@ function check_network()
return
fi
- DEF_BACKEND=$(taler-config -c "$CONF" -s "taler-mdb" -o "BACKEND_BASE_URL")
if echo "$DEF_BACKEND" | grep "https://" > /dev/null
then
if ! wget --no-check-certificate "${DEF_BACKEND}config" -O /dev/null &> /dev/null
diff --git a/contrib/taler-mdb.service b/contrib/taler-mdb.service
@@ -1,18 +0,0 @@
-[Unit]
-Description=Start the taler-mdb application to communicate with the VMC
-#After=taler-mdb.target
-After=network-online.target
-
-[Service]
-WorkingDirectory=/home/pi/taler-mdb
-#ExecStart=/home/pi/taler-mdb/src/taler-mdb -t -c /home/pi/taler-mdb/taler.conf -L INFO
-ExecStart=/home/pi/showIPoverQR.sh
-StandardOutput=inherit
-StandardError=inherit
-Restart=always
-RestartSec=10
-User=root
-
-[Install]
-WantedBy=multi-user.target
-
diff --git a/debian/changelog b/debian/changelog
@@ -1,3 +1,11 @@
+taler-mdb (0.9.4-1) unstable; urgency=low
+
+ * Removing unnecessary build dependencies.
+ * Improving systemd service file packaging.
+ * Added logic to test network connectivity before launching taler-mdb.
+
+ -- Christian Grothoff <grothoff@gnu.org> Sat, 13 Jan 2024 13:50:12 +0200
+
taler-mdb (0.9.4) unstable; urgency=low
* First work towards packaging v0.9.4.
diff --git a/debian/control b/debian/control
@@ -7,21 +7,19 @@ Build-Depends:
automake (>=1.11.1),
autopoint,
debhelper-compat (= 13),
- gettext,
libgnunet-dev (>= 0.20),
libnfc-dev,
libtalerexchange-dev (>= 0.9.3),
libtalermerchant-dev (>= 0.9.3),
libpq-dev (>=13),
- libsqlite3-dev (>=3.8),
po-debconf,
zlib1g-dev
Build-Conflicts:
autoconf2.13,
automake1.4
Standards-Version: 4.5.0
-Vcs-Git: https://salsa.debian.org/debian/taler-merchant.git
-Vcs-browser: https://salsa.debian.org/debian/taler-merchant
+Vcs-Git: https://salsa.debian.org/debian/taler-mdb.git
+Vcs-browser: https://salsa.debian.org/debian/taler-mdb
Homepage: https://taler.net/
Package: taler-mdb
@@ -36,4 +34,6 @@ Depends:
netbase,
${misc:Depends},
${shlibs:Depends}
+Recommends:
+ bind9-dnsutils
Description: GNU's payment system multi-drop-bus integration.
diff --git a/debian/etc/taler-mdb.conf b/debian/etc/taler-mdb.conf
@@ -1,18 +1,14 @@
# This is a reference configuration. Adjust to your needs!
-[taler]
-# Which currency do we use? Must match products at the end!
-CURRENCY = KUDOS
-
[taler-mdb]
# Where is our backend?
-BACKEND-BASE-URL = http://backend.demo.taler.net/
+BACKEND_BASE_URL = http://backend.demo.taler.net/
# Secret key to talk to *all* instances we use.
-BACKEND-AUTHORIZATION = ApiKey Sandbox
+BACKEND_AUTHORIZATION = "Bearer secret-token:sandbox"
# Message to diplay after purchase is completed,
-fulfillment-msg = Enjoy your ${PRODUCT_DESCRIPTION}
+FULFILLMENT_MSG = Enjoy your ${PRODUCT_DESCRIPTION}
# Name of the UART where the MDB connector is reachable.
UART_DEVICE = /dev/ttyAMA0
@@ -30,14 +26,18 @@ ESSID = snack
#If sold out is enabled, products with description "empty" will be registered as sold out.
# Use different "product-" section names for the various products.
+
[product-sample]
# Text to show to the user
-description = sample-text
+DESCRIPTION = sample-text
# How much to charge
-price = KUDOS:0.1
+PRICE = KUDOS:0.1
# MDB bus number
-number = 31
+NUMBER = 31
+
# Optional: use another instance
-# instance = http://backend.test.taler.net/instances/foo/
-# NOTE: authorization key of that instance MUST match the one from [taler-mdb]!
+# INSTANCE = http://backend.test.taler.net/instances/foo/
+
+# Secret key to talk to this instance.
+# BACKEND_AUTHORIZATION = "Bearer secret-token:sandbox"
diff --git a/debian/taler-mdb.config b/debian/taler-mdb.config
@@ -1,10 +0,0 @@
-#!/bin/sh
-
-set -e
-
-. /usr/share/debconf/confmodule
-
-db_input medium taler-mdb/autostart || true
-db_go
-
-db_stop
diff --git a/debian/taler-mdb.postinst b/debian/taler-mdb.postinst
@@ -1,48 +0,0 @@
-#!/bin/bash
-
-set -e
-
-. /usr/share/debconf/confmodule
-
-case "${1}" in
- configure)
- db_version 2.0
-
- db_get taler-mdb/autostart
- _AUTOSTART="${RET}" # boolean
-
- db_stop
-
-cat > "/etc/systemd/system/taler-mdb.service" <<EOF
-[Unit]
-Description=GNU Taler Multi-Drop-Bus application
-
-[Service]
-EnvironmentFile=/etc/default/taler-mdb
-User=root
-Type=simple
-Restart=on-failure
-ExecStart=/usr/bin/taler-mdb -c /etc/taler-mdb.conf
-EOF
-
- systemctl daemon-reload
-
-
- # Cleaning
- echo "All done."
-
- ;;
-
- abort-upgrade|abort-remove|abort-deconfigure)
-
- ;;
-
- *)
- echo "postinst called with unknown argument \`${1}'" >&2
- exit 1
- ;;
-esac
-
-#DEBHELPER#
-
-exit 0
diff --git a/debian/taler-mdb.service b/debian/taler-mdb.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=GNU Taler Multi-Drop-Bus application
+
+[Service]
+User=root
+Type=simple
+Restart=on-failure
+ExecStart=/usr/bin/taler-mdb-network-check.sh -c /etc/taler-mdb.conf -f "FIXME-show-message-cmd" /usr/bin/taler-mdb -c /etc/taler-mdb.conf
+StandardOutput=inherit
+StandardError=inherit
+Restart=always
+RestartSec=10