MUSL - runscript / checkpath bug (on dnscrypt-proxy)
There seems to be a bug on MUSL / dnscrypt-proxy with string substitution under the ASH shell.
The wrong path is included for /etc/conf.d/dnscrypt-proxy (from /lib/rc/sh/runscript.sh - line 189) :
May 29 14:09:32 musl daemon.err /etc/init.d/dnscrypt-proxy[455]: dnscrypt-proxy: error loading /etc/init.d/../conf.d/dnscrypt-proxy
May 29 14:09:32 musl daemon.err /etc/init.d/dnscrypt-proxy[451]: ERROR: dnscrypt-proxy failed to start
Changing the shell to BASH fixes this substitution error - but setting the home directory for the dnscrypt user in the pre-install script is also broken in MUSL
Under uclibc the dnscrypt user is set as:
uclibc [~/aports/testing/dnscrypt-proxy]$ cat /etc/passwd|grep dnscrypt
dnscrypt:x:100:65533:dnscrypt:/var/empty:/sbin/nologin
but under musl it becomes:
musl [/var/log/dnscrypt-proxy]$ cat /etc/passwd|grep dnscrypt
dnscrypt:x:101:102:Linux User,,,:/home/dnscrypt:/bin/false
(so the chroot fails & dnscrypt does not start)
(from redmine: issue id 2971, created on 2014-05-29, closed on 2015-05-26)