update Debian package instructions

This commit is contained in:
Christian Grothoff 2020-12-28 13:14:11 +01:00
parent 51eef33b4e
commit e413b9523b
No known key found for this signature in database
GPG Key ID: 939E6BE1E29FC3CC
8 changed files with 210 additions and 69 deletions

View File

@ -1 +1,2 @@
usr/lib/*/*.so.* usr/lib/*/*.so.*
usr/share/

View File

@ -1,3 +1,2 @@
usr/include usr/include
usr/lib/*/*.so
usr/lib/*/pkgconfig usr/lib/*/pkgconfig

View File

@ -4,19 +4,25 @@ set -e
. /usr/share/debconf/confmodule . /usr/share/debconf/confmodule
db_input low gnunet-systempeer/username || true db_input low taler-exchange/eusername || true
db_go db_go
db_input low gnunet-systempeer/groupname || true db_input low taler-exchange/rsecusername || true
db_go db_go
db_input medium gnunet-systempeer/autostart || true db_input low taler-exchange/esecusername || true
db_go db_go
db_input medium gnunet-dns/libnsswitch || true db_input low taler-exchange/wireusername || true
db_go db_go
db_input medium gnunet-user/proxy || true db_input low taler-exchange/aggrusername || true
db_go
db_input low taler-exchange/groupname || true
db_go
db_input medium taler-exchange/autostart || true
db_go db_go
db_stop db_stop

View File

@ -1,4 +1,3 @@
etc/taler.conf etc/taler.conf
usr/bin/ usr/bin/
usr/lib/*/taler/ usr/lib/*/taler/
usr/share/

View File

@ -8,13 +8,25 @@ case "${1}" in
configure) configure)
db_version 2.0 db_version 2.0
db_get taler-systempeer/username db_get taler-exchange/eusername
_USERNAME="${RET:-taler}" _EUSERNAME="${RET:-taler-exchange-httpd}"
db_get taler-systempeer/groupname db_get taler-exchange/rsecusername
_GROUPNAME="${RET:-taler}" _RSECUSERNAME="${RET:-taler-helper-rsa}"
db_get taler-systempeer/autostart db_get taler-exchange/esecusername
_ESECUSERNAME="${RET:-taler-helper-eddsa}"
db_get taler-exchange/wireusername
_WIREUSERNAME="${RET:-taler-exchange-wire}"
db_get taler-exchange/aggrusername
_AGGRUSERNAME="${RET:-taler-exchange-aggregator}"
db_get taler-exchange/groupname
_GROUPNAME="${RET:-taler-private}"
db_get taler-exchange/autostart
_AUTOSTART="${RET}" # boolean _AUTOSTART="${RET}" # boolean
db_stop db_stop
@ -33,25 +45,36 @@ case "${1}" in
echo " done." echo " done."
fi fi
# Creating taler user if needed # Creating taler users if needed
if ! getent passwd ${_USERNAME} > /dev/null if ! getent passwd ${_EUSERNAME} > /dev/null
then then
echo -n "Creating new Taler user ${_USERNAME}:" echo -n "Creating new Taler user ${_EUSERNAME}:"
adduser --quiet --system --ingroup ${_GROUPNAME} --home ${TALER_HOME} ${_USERNAME} adduser --quiet --system --ingroup ${_GROUPNAME} --home ${TALER_HOME}/httpd ${_EUSERNAME}
echo " done." echo " done."
fi fi
if ! getent passwd ${_RSECUSERNAME} > /dev/null
# Add a special secured group
TALERDNS_GROUP="talerdns"
# Creating talerdns group if needed
if ! getent group ${TALERDNS_GROUP} > /dev/null
then then
echo -n "Creating new secured Taler group ${TALERDNS_GROUP}:" echo -n "Creating new Taler user ${_RSECUSERNAME}:"
addgroup --quiet --system ${TALERDNS_GROUP} adduser --quiet --system --ingroup ${_GROUPNAME} --home ${TALER_HOME}/helper-rsa ${_USERNAME}
echo " done." echo " done."
fi fi
if ! getent passwd ${_ESECUSERNAME} > /dev/null
then
echo -n "Creating new Taler user ${_ESECUSERNAME}:"
adduser --quiet --system --ingroup ${_GROUPNAME} --home ${TALER_HOME}/helper-eddsa ${_ESECUSERNAME}
echo " done."
fi
if ! getent passwd ${_WIREUSERNAME} > /dev/null
then
echo -n "Creating new Taler user ${_WIREUSERNAME}:"
adduser --quiet --system --home ${TALER_HOME}/wire ${_WIREUSERNAME}
echo " done."
fi
if ! getent passwd ${_AGGRUSERNAME} > /dev/null
then
echo -n "Creating new Taler user ${_AGGRUSERNAME}:"
adduser --quiet --system --home ${TALER_HOME}/aggregator ${_AGGRUSERNAME}
echo " done."
fi fi
# Writing new values to configuration file # Writing new values to configuration file
@ -61,26 +84,94 @@ CONFIG_NEW=$(tempfile)
cat > "${CONFIG_NEW}" <<EOF cat > "${CONFIG_NEW}" <<EOF
# This file controls the behaviour of the Taler init script. # This file controls the behaviour of the Taler init script.
# It will be parsed as a shell script. # It will be parsed as a shell script.
# please do not edit by hand, use 'dpkg-reconfigure taler-systempeer'. # please do not edit by hand, use 'dpkg-reconfigure taler-exchange'.
TALER_USER=${_USERNAME} TALER_EUSER=${_EUSERNAME}
TALER_RSECUSER=${_RESCUSERNAME}
TALER_ESECUSER=${_ESECUSERNAME}
TALER_WIREUSER=${_WIREUSERNAME}
TALER_AGGRUSER=${_AGGRUSERNAME}
TALER_GROUP=${_GROUPNAME} TALER_GROUP=${_GROUPNAME}
TALER_AUTOSTART="${_AUTOSTART}" TALER_AUTOSTART="${_AUTOSTART}"
EOF EOF
cat > "/etc/systemd/system/taler.service" <<EOF cat > "/etc/systemd/system/taler-exchange-httpd.service" <<EOF
[Unit] [Unit]
Description=GNU Taler payment system Description=GNU Taler payment system exchange REST API
Requires=taler-exchange-helper-rsa.service taler-exchange-helper-eddsa.service
Wants=taler-exchange-wirewatch taler-exchange-aggregator taler-exchange-transfer
After=postgres.service network.target
[Service] [Service]
EnvironmentFile=/etc/default/taler EnvironmentFile=/etc/default/taler
User=${_USERNAME} User=${_EUSERNAME}
Type=forking Type=simple
ExecStart=/usr/bin/taler-arm -s -c /etc/taler.conf Restart=on-failure
ExecStop=/usr/bin/taler-arm -e -c /etc/taler.conf ExecStart=/usr/bin/taler-exchange-httpd -c /etc/taler.conf
[Install] [Install]
WantedBy=multi-user.target WantedBy=multi-user.target
EOF
cat > "/etc/systemd/system/taler-exchange-helper-rsa.service" <<EOF
[Unit]
Description=GNU Taler payment system exchange RSA security module
[Service]
EnvironmentFile=/etc/default/taler
User=${_RSECUSERNAME}
Type=simple
Restart=on-failure
ExecStart=/usr/bin/taler-exchange-helper-rsa -c /etc/taler.conf
[Install]
WantedBy=multi-user.target
EOF
cat > "/etc/systemd/system/taler-exchange-helper-eddsa.service" <<EOF
[Unit]
Description=GNU Taler payment system exchange EdDSA security module
[Service]
EnvironmentFile=/etc/default/taler
User=${_ESECUSERNAME}
Type=simple
Restart=on-failure
ExecStart=/usr/bin/taler-exchange-helper-eddsa -c /etc/taler.conf
EOF
cat > "/etc/systemd/system/taler-exchange-wirewatch.service" <<EOF
[Unit]
Description=GNU Taler payment system exchange wirewatch service
After=network.target
[Service]
EnvironmentFile=/etc/default/taler
User=${_WIREUSERNAME}
Type=simple
Restart=on-failure
ExecStart=/usr/bin/taler-exchange-wirewatch -c /etc/taler-wire.conf
EOF
cat > "/etc/systemd/system/taler-exchange-transfer.service" <<EOF
[Unit]
Description=GNU Taler payment system exchange transfer service
After=network.target
[Service]
EnvironmentFile=/etc/default/taler
User=${_WIREUSERNAME}
Type=simple
Restart=on-failure
ExecStart=/usr/bin/taler-exchange-wirewatch -c /etc/taler-wire.conf
EOF
cat > "/etc/systemd/system/taler-exchange-aggregator.service" <<EOF
[Unit]
Description=GNU Taler payment system exchange aggregator service
[Service]
EnvironmentFile=/etc/default/taler
User=${_AGGRUSERNAME}
Type=simple
Restart=on-failure
ExecStart=/usr/bin/taler-exchange-aggregator -c /etc/taler.conf
EOF EOF
cp -f "${CONFIG_NEW}" "${CONFIG_FILE}" cp -f "${CONFIG_NEW}" "${CONFIG_FILE}"

View File

@ -22,27 +22,46 @@ case "${1}" in
. /usr/share/debconf/confmodule . /usr/share/debconf/confmodule
db_version 2.0 db_version 2.0
db_get taler-systempeer/username db_get taler-exchange/eusername
_USERNAME="${RET:-taler}" _EUSERNAME="${RET:-taler-exchange-httpd}"
db_get taler-systempeer/groupname db_get taler-exchange/rsecusername
_GROUPNAME="${RET:-taler}" _RSECUSERNAME="${RET:-taler-helper-rsa}"
db_get taler-exchange/esecusername
_ESECUSERNAME="${RET:-taler-helper-eddsa}"
db_get taler-exchange/wireusername
_WIREUSERNAME="${RET:-taler-exchange-wire}"
db_get taler-exchange/aggrusername
_AGGRUSERNAME="${RET:-taler-exchange-aggregator}"
db_get taler-exchange/groupname
_GROUPNAME="${RET:-taler-private}"
else else
_USERNAME="taler" _EUSERNAME="taler-exchange-httpd"
_GROUPNAME="taler" _RSECUSERNAME="taler-helper-rsa"
_ESECUSERNAME="taler-helper-eddsa"
_WIREUSERNAME="taler-exchange-wire"
_AGGRUSERNAME="taler-exchange-aggregator"
_GROUPNAME="taler-private"
fi fi
TALERDNS_GROUP="talerdns" TALERDNS_GROUP="talerdns"
if pathfind deluser if pathfind deluser
then then
deluser --quiet --system ${_USERNAME} || true deluser --quiet --system ${_EUSERNAME} || true
deluser --quiet --system ${_RSECUSERNAME} || true
deluser --quiet --system ${_ESECUSERNAME} || true
deluser --quiet --system ${_WIREUSERNAME} || true
deluser --quiet --system ${_AGGRUSERNAME} || true
fi fi
if pathfind delgroup if pathfind delgroup
then then
delgroup --quiet --system --only-if-empty ${_GROUPNAME} || true delgroup --quiet --system --only-if-empty ${_GROUPNAME} || true
delgroup --quiet --system --only-if-empty ${TALERDNS_GROUP} || true
fi fi
rm -rf /var/log/taler/ /var/lib/taler /etc/default/taler rm -rf /var/log/taler/ /var/lib/taler /etc/default/taler

View File

@ -1,12 +0,0 @@
[Unit]
Description=GNU's payment system
[Service]
EnvironmentFile=/etc/default/taler
User=${TALER_USER}
Type=forking
ExecStart=/usr/bin/gnunet-arm -s -c /etc/taler.conf
ExecStop=/usr/bin/gnunet-arm -e -c /etc/taler.conf
[Install]
WantedBy=multi-user.target

View File

@ -1,26 +1,64 @@
Template: taler-systempeer/username Template: taler-exchange/eusername
Type: string Type: string
Default: taler Default: taler
_Description: Taler user: _Description: Taler user:
Please choose the user that the Taler server process will run as. Please choose the user that the taler-exchange-httpd process will run as.
. .
This should be a dedicated account. If the specified account does not This should be a dedicated account. If the specified account does not
already exist, it will automatically be created, with no login shell. already exist, it will automatically be created, with no login shell.
Template: taler-systempeer/groupname Template: taler-exchange/rsecusername
Type: string
Default: taler
_Description: Taler user:
Please choose the user that the taler-exchange-helper-rsa process will run as.
.
This should be a dedicated account. If the specified account does not
already exist, it will automatically be created, with no login shell.
Template: taler-exchange/esecusername
Type: string
Default: taler
_Description: Taler user:
Please choose the user that the taler-exchange-helper-eddsa process will run as.
.
This should be a dedicated account. If the specified account does not
already exist, it will automatically be created, with no login shell.
Template: taler-exchange/wireusername
Type: string
Default: taler
_Description: Taler user:
Please choose the user that the taler-exchange-transfer and
taler-exchange-wirewatch processes will run as.
.
This should be a dedicated account. If the specified account does not
already exist, it will automatically be created, with no login shell.
Template: taler-exchange/aggrusername
Type: string
Default: taler
_Description: Taler user:
Please choose the user that the taler-exchange-aggregator process will run as.
.
This should be a dedicated account. If the specified account does not
already exist, it will automatically be created, with no login shell.
Template: taler-exchange/groupname
Type: string Type: string
Default: taler Default: taler
_Description: Taler group: _Description: Taler group:
Please choose the group that the Taler peer process will run as. Please choose the group that the Taler exchange and security
modules will run as.
. .
This should be a dedicated group, not one that already owns data. This should be a dedicated group, not one that already owns data.
Only the members of this group will have access to Taler data, and Only the members of this group will have access to Taler private
be allowed to start and stop the Taler server. online signing keys.
Template: taler-systempeer/autostart Template: taler-exchange/autostart
Type: boolean Type: boolean
Default: true Default: true
_Description: Should the Taler server be launched on boot? _Description: Should the Taler exchange be launched on boot?
If you choose this option, a Taler peer will be launched each time If you choose this option, a Taler exchange will be launched each time
the system is started. Otherwise, you will need to launch the system is started. Otherwise, you will need to launch
Taler each time you want to use it. Taler each time you want to use it.