On Fri, Aug 28, 2020 at 10:38:25PM +0200, Thomas Goirand wrote: > Hi Dann, > > If you look into the minissdpd configuration script (ie: > /var/lib/dpkg/info/minissdpd.config) it does read what's in the > /etc/default/minissdpd configuration file before attempting to configure > the package. Maybe there's a problem in it, and you could try debugging > it by adding a set -x in there? It would help a lot of you could show > the output like that, so we can figure out where the problem is.
Thanks for the reply Thomas. I've collected the 'set -x' output in the following annotated log: =======> Demonstrate that original config includes interface =======> that is no longer available, which I've searched and =======> replaced as enxREDACTED1: $ cat /etc/default/minissdpd # MiniSSDPd default configuration # Set this to 1 if you want to start the daemon # START_DAEMON deprecated, use service minissdpd enable/disable #START_DAEMON=1 # Set this to the IP/interface you want the demon to run on # Notes: # 1. It is mandatory to use the network interface name in order to enable IPv6 # HTTP is available on all interfaces. # 2. Specifying IP when built with IPv6 support is disabled by original # author, so this option may not be available outside Debian. MiniSSDPd_INTERFACE_ADDRESS="enxREDACTED1" # This defines other options which you might want to use when # starting MiniSSDPd. #MiniSSDPd_OTHER_OPTIONS="-6" MiniSSDPd_OTHER_OPTIONS="" =======> Here we see the failure I originally reported, =======> this time w/ set -x $ sudo dpkg --configure -a Setting up minissdpd (1.5.20190824-1) ... + set -e + DEFAULT_FILE=/etc/default/minissdpd + . /usr/share/debconf/confmodule + [ ! ] + PERL_DL_NONLAZY=1 + export PERL_DL_NONLAZY + [ ] + exec /usr/share/debconf/frontend /var/lib/dpkg/info/minissdpd.postinst configure 1.5.20190824-1 + set -e + DEFAULT_FILE=/etc/default/minissdpd + . /usr/share/debconf/confmodule + [ ! 1 ] + [ -z ] + exec + [ ] + exec + DEBCONF_REDIR=1 + export DEBCONF_REDIR + [ configure = configure ] + [ -x /etc/init.d/minissdpd ] + update-rc.d minissdpd defaults-disabled + [ configure = configure ] + deb-systemd-helper debian-installed minissdpd.service + deb-systemd-helper unmask minissdpd.service + deb-systemd-helper --quiet was-enabled minissdpd.service + deb-systemd-helper enable minissdpd.service + deb-systemd-helper update-state minissdpd.service + [ -e /etc/default/minissdpd ] + db_get minissdpd/listen + _db_cmd GET minissdpd/listen + _db_internal_IFS= + IFS= + printf %s\n GET minissdpd/listen + IFS= + read -r _db_internal_line + IFS= + RET=enxREDACTED1 + return 0 + MiniSSDPd_INTERFACE_ADDRESS=enxREDACTED1 + replace_config /etc/default/minissdpd MiniSSDPd_INTERFACE_ADDRESS "enxREDACTED1" + [ -s /etc/default/minissdpd ] + sed -ri x s|^$|| t find x b : find x s|^\s*(MiniSSDPd_INTERFACE_ADDRESS=).*|\1"enxREDACTED1"| t end s|^#[ \t#]*(MiniSSDPd_INTERFACE_ADDRESS=['"]?"enxREDACTED1"['"]?)\s*$|\1| t end s|^#[ \t#]*(MiniSSDPd_INTERFACE_ADDRESS=)\s*$|\1"enxREDACTED1"| t end $ aMiniSSDPd_INTERFACE_ADDRESS="enxREDACTED1" b : end h /etc/default/minissdpd + db_get minissdpd/ip6 + _db_cmd GET minissdpd/ip6 + _db_internal_IFS= + IFS= + printf %s\n GET minissdpd/ip6 + IFS= + read -r _db_internal_line + IFS= + RET=false + return 0 + [ false = true ] + echo + grep -qn \-6 + echo + sed -r s/^\s+//; s/\s+$//; s/ +/ /g + MiniSSDPd_OTHER_OPTIONS= + replace_config /etc/default/minissdpd MiniSSDPd_OTHER_OPTIONS "" + [ -s /etc/default/minissdpd ] + sed -ri x s|^$|| t find x b : find x s|^\s*(MiniSSDPd_OTHER_OPTIONS=).*|\1""| t end s|^#[ \t#]*(MiniSSDPd_OTHER_OPTIONS=['"]?""['"]?)\s*$|\1| t end s|^#[ \t#]*(MiniSSDPd_OTHER_OPTIONS=)\s*$|\1""| t end $ aMiniSSDPd_OTHER_OPTIONS="" b : end h /etc/default/minissdpd + db_get minissdpd/start_daemon + _db_cmd GET minissdpd/start_daemon + _db_internal_IFS= + IFS= + printf %s\n GET minissdpd/start_daemon + IFS= + read -r _db_internal_line + IFS= + RET=true + return 0 + [ true = true ] + update-rc.d minissdpd enable + [ -n 1.5.20190824-1 ] + _dh_action=restart + invoke-rc.d minissdpd restart Job for minissdpd.service failed because the control process exited with error code. See "systemctl status minissdpd.service" and "journalctl -xe" for details. invoke-rc.d: initscript minissdpd, action "restart" failed. ● minissdpd.service - keep memory of all UPnP devices that announced themselves Loaded: loaded (/lib/systemd/system/minissdpd.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Wed 2020-09-02 16:24:08 MDT; 6ms ago Docs: man:minissdpd(1) Process: 839116 ExecCondition=/usr/lib/minissdpd/minissdpd-systemd-wrapper -t ${MiniSSDPd_INTERFACE_ADDRESS} (code=exited, status=0/SUCCESS) Process: 839117 ExecStart=/usr/lib/minissdpd/minissdpd-systemd-wrapper ${MiniSSDPd_INTERFACE_ADDRESS} $MiniSSDPd_OTHER_OPTIONS (code=exited, status=1/FAILURE) Sep 02 16:24:08 xps13 minissdpd-systemd-wrapper[839117]: Error parsing address/mask (or interface name) : enxREDACTED1 Sep 02 16:24:08 xps13 minissdpd-systemd-wrapper[839117]: can't parse "enxREDACTED1" as a valid address or interface name Sep 02 16:24:08 xps13 minissdpd-systemd-wrapper[839117]: Usage: /usr/sbin/minissdpd [-d] [-6] [-s socket] [-p pidfile] [-t TTL] [-f device] -i <interface> [-i <interface2>] ... Sep 02 16:24:08 xps13 minissdpd-systemd-wrapper[839117]: <interface> is either an IPv4 address with mask such as Sep 02 16:24:08 xps13 minissdpd-systemd-wrapper[839117]: 192.168.1.42/255.255.255.0, or an interface name such as eth0. Sep 02 16:24:08 xps13 minissdpd-systemd-wrapper[839117]: By default, socket will be open as /var/run/minissdpd.sock Sep 02 16:24:08 xps13 minissdpd-systemd-wrapper[839117]: and pid written to file /var/run/minissdpd.pid Sep 02 16:24:08 xps13 systemd[1]: minissdpd.service: Control process exited, code=exited, status=1/FAILURE Sep 02 16:24:08 xps13 systemd[1]: minissdpd.service: Failed with result 'exit-code'. Sep 02 16:24:08 xps13 systemd[1]: Failed to start keep memory of all UPnP devices that announced themselves. + exit 1 dpkg: error processing package minissdpd (--configure): installed minissdpd package post-installation script subprocess returned error exit status 1 Errors were encountered while processing: minissdpd =======> Here I correct the interface to one that is available/active, =======> which I've searched and replaced as enxREDACTED2: $ sudo emacs -nw /etc/default/minissdpd $ cat /etc/default/minissdpd # MiniSSDPd default configuration # Set this to 1 if you want to start the daemon # START_DAEMON deprecated, use service minissdpd enable/disable #START_DAEMON=1 # Set this to the IP/interface you want the demon to run on # Notes: # 1. It is mandatory to use the network interface name in order to enable IPv6 # HTTP is available on all interfaces. # 2. Specifying IP when built with IPv6 support is disabled by original # author, so this option may not be available outside Debian. MiniSSDPd_INTERFACE_ADDRESS="enxREDACTED2" # This defines other options which you might want to use when # starting MiniSSDPd. #MiniSSDPd_OTHER_OPTIONS="-6" MiniSSDPd_OTHER_OPTIONS="" (reverse-i-search)`dpkg-': sudo ^Ckg-reconfigure minissdpd -plow (reverse-i-search)`dpkg-': sudo ^Ckg-reconfigure minissdpd -plow =======> Now I demonstrate that it still fails even after =======> correcting the interface name: $ sudo dpkg --configure -a Setting up minissdpd (1.5.20190824-1) ... + set -e + DEFAULT_FILE=/etc/default/minissdpd + . /usr/share/debconf/confmodule + [ ! ] + PERL_DL_NONLAZY=1 + export PERL_DL_NONLAZY + [ ] + exec /usr/share/debconf/frontend /var/lib/dpkg/info/minissdpd.postinst configure 1.5.20190824-1 + set -e + DEFAULT_FILE=/etc/default/minissdpd + . /usr/share/debconf/confmodule + [ ! 1 ] + [ -z ] + exec + [ ] + exec + DEBCONF_REDIR=1 + export DEBCONF_REDIR + [ configure = configure ] + [ -x /etc/init.d/minissdpd ] + update-rc.d minissdpd defaults-disabled + [ configure = configure ] + deb-systemd-helper debian-installed minissdpd.service + deb-systemd-helper unmask minissdpd.service + deb-systemd-helper --quiet was-enabled minissdpd.service + deb-systemd-helper enable minissdpd.service + deb-systemd-helper update-state minissdpd.service + [ -e /etc/default/minissdpd ] + db_get minissdpd/listen + _db_cmd GET minissdpd/listen + _db_internal_IFS= + IFS= + printf %s\n GET minissdpd/listen + IFS= + read -r _db_internal_line + IFS= + RET=enxREDACTED1 + return 0 + MiniSSDPd_INTERFACE_ADDRESS=enxREDACTED1 + replace_config /etc/default/minissdpd MiniSSDPd_INTERFACE_ADDRESS "enxREDACTED1" + [ -s /etc/default/minissdpd ] + sed -ri x s|^$|| t find x b : find x s|^\s*(MiniSSDPd_INTERFACE_ADDRESS=).*|\1"enxREDACTED1"| t end s|^#[ \t#]*(MiniSSDPd_INTERFACE_ADDRESS=['"]?"enxREDACTED1"['"]?)\s*$|\1| t end s|^#[ \t#]*(MiniSSDPd_INTERFACE_ADDRESS=)\s*$|\1"enxREDACTED1"| t end $ aMiniSSDPd_INTERFACE_ADDRESS="enxREDACTED1" b : end h /etc/default/minissdpd + db_get minissdpd/ip6 + _db_cmd GET minissdpd/ip6 + _db_internal_IFS= + IFS= + printf %s\n GET minissdpd/ip6 + IFS= + read -r _db_internal_line + IFS= + RET=false + return 0 + [ false = true ] + echo + grep -qn \-6 + echo + sed -r s/^\s+//; s/\s+$//; s/ +/ /g + MiniSSDPd_OTHER_OPTIONS= + replace_config /etc/default/minissdpd MiniSSDPd_OTHER_OPTIONS "" + [ -s /etc/default/minissdpd ] + sed -ri x s|^$|| t find x b : find x s|^\s*(MiniSSDPd_OTHER_OPTIONS=).*|\1""| t end s|^#[ \t#]*(MiniSSDPd_OTHER_OPTIONS=['"]?""['"]?)\s*$|\1| t end s|^#[ \t#]*(MiniSSDPd_OTHER_OPTIONS=)\s*$|\1""| t end $ aMiniSSDPd_OTHER_OPTIONS="" b : end h /etc/default/minissdpd + db_get minissdpd/start_daemon + _db_cmd GET minissdpd/start_daemon + _db_internal_IFS= + IFS= + printf %s\n GET minissdpd/start_daemon + IFS= + read -r _db_internal_line + IFS= + RET=true + return 0 + [ true = true ] + update-rc.d minissdpd enable + [ -n 1.5.20190824-1 ] + _dh_action=restart + invoke-rc.d minissdpd restart Job for minissdpd.service failed because the control process exited with error code. See "systemctl status minissdpd.service" and "journalctl -xe" for details. invoke-rc.d: initscript minissdpd, action "restart" failed. ● minissdpd.service - keep memory of all UPnP devices that announced themselves Loaded: loaded (/lib/systemd/system/minissdpd.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Wed 2020-09-02 16:24:40 MDT; 6ms ago Docs: man:minissdpd(1) Process: 839329 ExecCondition=/usr/lib/minissdpd/minissdpd-systemd-wrapper -t ${MiniSSDPd_INTERFACE_ADDRESS} (code=exited, status=0/SUCCESS) Process: 839330 ExecStart=/usr/lib/minissdpd/minissdpd-systemd-wrapper ${MiniSSDPd_INTERFACE_ADDRESS} $MiniSSDPd_OTHER_OPTIONS (code=exited, status=1/FAILURE) Sep 02 16:24:40 xps13 minissdpd-systemd-wrapper[839330]: Error parsing address/mask (or interface name) : enxREDACTED1 Sep 02 16:24:40 xps13 minissdpd-systemd-wrapper[839330]: can't parse "enxREDACTED1" as a valid address or interface name Sep 02 16:24:40 xps13 minissdpd-systemd-wrapper[839330]: Usage: /usr/sbin/minissdpd [-d] [-6] [-s socket] [-p pidfile] [-t TTL] [-f device] -i <interface> [-i <interface2>] ... Sep 02 16:24:40 xps13 minissdpd-systemd-wrapper[839330]: <interface> is either an IPv4 address with mask such as Sep 02 16:24:40 xps13 minissdpd-systemd-wrapper[839330]: 192.168.1.42/255.255.255.0, or an interface name such as eth0. Sep 02 16:24:40 xps13 minissdpd-systemd-wrapper[839330]: By default, socket will be open as /var/run/minissdpd.sock Sep 02 16:24:40 xps13 minissdpd-systemd-wrapper[839330]: and pid written to file /var/run/minissdpd.pid Sep 02 16:24:40 xps13 systemd[1]: minissdpd.service: Control process exited, code=exited, status=1/FAILURE Sep 02 16:24:40 xps13 systemd[1]: minissdpd.service: Failed with result 'exit-code'. Sep 02 16:24:40 xps13 systemd[1]: Failed to start keep memory of all UPnP devices that announced themselves. + exit 1 dpkg: error processing package minissdpd (--configure): installed minissdpd package post-installation script subprocess returned error exit status 1 Errors were encountered while processing: minissdpd =======> And finally I show that my change has been overwritten =======> with the old/incorrect value: $ cat /etc/default/minissdpd # MiniSSDPd default configuration # Set this to 1 if you want to start the daemon # START_DAEMON deprecated, use service minissdpd enable/disable #START_DAEMON=1 # Set this to the IP/interface you want the demon to run on # Notes: # 1. It is mandatory to use the network interface name in order to enable IPv6 # HTTP is available on all interfaces. # 2. Specifying IP when built with IPv6 support is disabled by original # author, so this option may not be available outside Debian. MiniSSDPd_INTERFACE_ADDRESS="enxREDACTED1" # This defines other options which you might want to use when # starting MiniSSDPd. #MiniSSDPd_OTHER_OPTIONS="-6" MiniSSDPd_OTHER_OPTIONS=""