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.

STILL FULL OF RAGE

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 once systemd replaces the shells themselves, we'll hardly remember this was ever a problem.