summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2024-01-13 15:44:05 +0100
committerChristian Grothoff <christian@grothoff.org>2024-01-13 15:44:05 +0100
commit495b10e34d19319186494d83b0dbb5ec3dde4dc9 (patch)
treeb10b808c10bb765ada21c820f9f3271b08a08966
parent9afe2f07bf4405aa4645bdaeb294d15c1c3f94a6 (diff)
downloadtaler-mdb-495b10e34d19319186494d83b0dbb5ec3dde4dc9.tar.gz
taler-mdb-495b10e34d19319186494d83b0dbb5ec3dde4dc9.tar.bz2
taler-mdb-495b10e34d19319186494d83b0dbb5ec3dde4dc9.zip
misc improvements for error handling
-rw-r--r--.gitignore2
-rwxr-xr-xcontrib/taler-mdb-network-check.sh7
-rwxr-xr-xcontrib/taler-mdb.service18
-rw-r--r--debian/changelog8
-rw-r--r--debian/control8
-rw-r--r--debian/etc/taler-mdb.conf24
-rw-r--r--debian/taler-mdb.config10
-rw-r--r--debian/taler-mdb.postinst48
-rw-r--r--debian/taler-mdb.service12
9 files changed, 41 insertions, 96 deletions
diff --git a/.gitignore b/.gitignore
index 55de9f5..a9ab344 100644
--- 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
index 1c809e9..90f1471 100755
--- 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
deleted file mode 100755
index 4c78c61..0000000
--- a/contrib/taler-mdb.service
+++ /dev/null
@@ -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
index 176bc27..2313453 100644
--- 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
index 54b1b9a..436ce57 100644
--- 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
index 80d1514..da0a2d2 100644
--- 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
deleted file mode 100644
index a1d226f..0000000
--- a/debian/taler-mdb.config
+++ /dev/null
@@ -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
deleted file mode 100644
index c08fb2f..0000000
--- a/debian/taler-mdb.postinst
+++ /dev/null
@@ -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
new file mode 100644
index 0000000..4946e41
--- /dev/null
+++ 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