Hi ingopingo and anyone else,
I have looked closely at your perfectly valid bug report, and I have to say thank you for reporting it and helping to improve Ubuntu. It's true that the ExecStartPre directive is incomplete, as it is not using the --conf-dir/-7 option and there isn't a folder hardcoded anywhere that the daemon uses with the --test option without argument, as we can see experimenting a bit directly with the command in that directive (root@focal:~# grep ExecStartPre /lib/systemd/system/dnsmasq.service ExecStartPre=/usr/sbin/dnsmasq --test ): 1- Let's put a bad configuration file under /etc/dnsmasq.d : root@focal:~# cat /etc/dnsmasq.d/kk.conf HELLO="I need coffee to say hello in the morning" 2- Running the command from the directive, we get: root@focal:~# /usr/sbin/dnsmasq --test dnsmasq: syntax check OK. 3- Running the command with the --conf-dir/-7 option: root@focal:~# /usr/sbin/dnsmasq --test --conf-dir=/etc/dnsmasq.d dnsmasq: bad option at line 1 of /etc/dnsmasq.d/kk.conf So, as you pointed, the ExecStartPre is doing nothing in the service unit file. But, if we look the failed status after trying a "systemctl start dnsmasq" with the bad config, we get: - Not testing well, but with SUCCESS status for the directive (so the starting process continues): Process: 34824 ExecStartPre=/usr/sbin/dnsmasq --test (code=exited, status=0/SUCCESS) - and not starting the service, because the dnsmasq's init.d file check the configuration on start: Nov 25 10:16:43 focal dnsmasq[34824]: dnsmasq: syntax check OK. Nov 25 10:16:43 focal dnsmasq[34825]: dnsmasq: bad option at line 1 of /etc/dnsmasq.d/kk.conf Nov 25 10:16:43 focal dnsmasq[34825]: bad option at line 1 of /etc/dnsmasq.d/kk.conf root@focal:~# systemctl start dnsmasq Job for dnsmasq.service failed because the control process exited with error code. See "systemctl status dnsmasq.service" and "journalctl -xe" for details. root@focal:~# systemctl status dnsmasq ● dnsmasq.service - dnsmasq - A lightweight DHCP and caching DNS server Loaded: loaded (/lib/systemd/system/dnsmasq.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Thu 2021-11-25 10:16:43 UTC; 4s ago Process: 34824 ExecStartPre=/usr/sbin/dnsmasq --test (code=exited, status=0/SUCCESS) Process: 34825 ExecStart=/etc/init.d/dnsmasq systemd-exec (code=exited, status=1/FAILURE) Nov 25 10:16:43 focal systemd[1]: Starting dnsmasq - A lightweight DHCP and caching DNS server... Nov 25 10:16:43 focal dnsmasq[34824]: dnsmasq: syntax check OK. Nov 25 10:16:43 focal dnsmasq[34825]: dnsmasq: bad option at line 1 of /etc/dnsmasq.d/kk.conf Nov 25 10:16:43 focal dnsmasq[34825]: bad option at line 1 of /etc/dnsmasq.d/kk.conf Nov 25 10:16:43 focal dnsmasq[34825]: FAILED to start up Nov 25 10:16:43 focal systemd[1]: dnsmasq.service: Control process exited, code=exited, status=1/FAILURE Nov 25 10:16:43 focal systemd[1]: dnsmasq.service: Failed with result 'exit-code'. Nov 25 10:16:43 focal systemd[1]: Failed to start dnsmasq - A lightweight DHCP and caching DNS server. -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to dnsmasq in Ubuntu. https://bugs.launchpad.net/bugs/1639452 Title: systemd ExecStartPre test config Status in dnsmasq package in Ubuntu: Fix Released Status in dnsmasq source package in Bionic: Triaged Status in dnsmasq source package in Focal: Triaged Bug description: The standard configuration file of dnsmasq is complete commented out. The real configuration is saved in /etc/dnsmasq.d, so the test of systemd is a fake. In the Service Section of /lib/systemd/system/dnsmasq.service the ExecStartPre directive should be set to "/usr/sbin/dnsmasq --conf- dir=/etc/dnsmasq.d --test" To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/dnsmasq/+bug/1639452/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp