Hi,
Result of my basic tests:
Update with existing /var/www/html/index.cgi works as expected
(index.cgi as default page).
Install with existing /var/www/html/index.cgi works as expected
(index.cgi as default page).
Install without /var/www/ works as expected (index.html copied, and as
default page).
Install with empty /var/www/html/ works as expected (index.html copied,
and as default page).
Testing error behaviour:
rm -rf /var/www
touch /var/www
chmod 000 /var/www
apt install /tmp/mini-httpd_1.30-8_amd64.deb
Fails as expected:
Setting up mini-httpd (1.30-8) ...
mkdir: cannot create directory ‘/var/www’: Not a directory
dpkg: error processing package mini-httpd (--configure):
installed mini-httpd package post-installation script subprocess
returned error exit status 1
Processing triggers for man-db (2.12.0-3) ...
Errors were encountered while processing:
mini-httpd
E: Sub-process /usr/bin/dpkg returned an error code (1)
postinst checks look sane.
But while testing, I found an odd little detail:
root@debian-sid:~# service mini-httpd status
...
Process: 2536 ExecStart=/usr/sbin/mini_httpd -C
/etc/mini-httpd.conf $DAEMON_OPTS -i /run/mini_httpd.pid (code=exited,
status=0/SUCCESS)
...
└─2538 /usr/sbin/mini_httpd -C /etc/mini-httpd.conf -C
/etc/mini-httpd.conf -i /run/mini_httpd.pid
...
mini_httpd is invoked with a repeated -C /etc/mini-httpd.conf, or at
least that is what systemd reports.
ps confirms:
root@debian-sid:~# ps auxwwwww | grep m[i]ni_httpd
nobody 2538 0.0 0.1 10124 2980 ? Ss 10:20 0:00
/usr/sbin/mini_httpd -C /etc/mini-httpd.conf -C /etc/mini-httpd.conf -i
/run/mini_httpd.pid
root@debian-sid:~#
mini_httpd does not seem to care, so it's just cosmetic.
This happens because /usr/lib/systemd/system/mini-httpd.service invokes
mini_httpd like this:
EnvironmentFile=-/etc/default/mini-httpd
ExecStart=/usr/sbin/mini_httpd -C /etc/mini-httpd.conf $DAEMON_OPTS
-i /run/mini_httpd.pid
And /etc/default/mini-httpd contains:
DAEMON_OPTS="-C /etc/mini-httpd.conf"
Compare with /etc/init.d/mini-httpd:
...
if [ -f /etc/default/mini-httpd ]
then
. /etc/default/mini-httpd
fi
...
start() {
echo -n "Starting $DESC: "
start-stop-daemon --start --quiet --pidfile
/var/run/$NAME.pid \
--exec $DAEMON -- $DAEMON_OPTS
echo "$NAME."
}
...
The ExecStart line in the service file should not contain "-C
/etc/mini-httpd.conf", as that option is already read from
/etc/default/mini-httpd and replaces $DAEMON_OPTS in the ExecStart line.
Best regards
A.Foken
On 02.02.2024 00:03, Alexandru Mihail wrote:
Hi,
Hi,
Can you test this updated package? It's a lot closer to release form. I
cleaned up postinst as yesterday's build was a bit rushed. Thanks for
all the helpful observations !
I don't need any more full logs, just your usual tests that you did
before (fresh install, update, existing index.html, etc) as I've
removed the debug prints anyway.
Thanks for your contribution !
Cheers,
Alexandru Mihail
--
Alexander Foken
mailto:alexan...@foken.de