having to upgrade varnish isn't helping with the anger issues.
I AM NOW FULL OF RAGE.
having to upgrade varnish isn't helping with the anger issues.
I AM NOW FULL OF RAGE.
AM NOW DEBUGGING SYSTEMD, AND HAVING TO LEARN THE INTERNALS.
ALL OF THE RAGE
not kidding, we fixed it with:
EnvironmentFile=-/etc/default/varnish
ExecStart=/bin/bash -c "/bin/echo ${DAEMON_OPTS} && /usr/sbin/varnishd ${DAEMON_OPTS}"
Because otherwise systemd would randomly eat parts of ${DAEMON_OPTS}. oh yes, we *also* had to make DAEMON_OPTS a single line, because *something* didn't like '\' continuation chars.
systemd is the worst software I've ever had to use, and I've used AIX, HP-UX, Solaris, and 16-bit Windows Payroll software.
systemd parses and interprets ${VARIABLE} different than shells do.
in every shell that has ever existed, ${VARIABLE} ensures that only VARIABLE is expanded, even if VAR also exists.
systemd instead passes the entirety of VARIABLE as a single argument.
so argv and argc were wrong
ARGV AND ARGC WERE FUCKING WRONG!
@phessler Do you mean it behaves exactly as written in the doc and illustrated by an example ?
--------------------------8<--------------------------
Example:
Environment="ONE=one" 'TWO=two two'
ExecStart=/bin/echo $ONE $TWO ${TWO}
This will execute /bin/echo with four arguments: "one", "two", "two", and "two two".
--------------------------8<--------------------------
https://www.freedesktop.org/software/systemd/man/systemd.service.html