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!
@ikey shell-like substitution is pretty simple. $VARIABLE gets expanded, sure. ${VARIABLE} gets expanded.
But ${VARIABLE} is never expanded to be a single argument, in any shell-like construction I've ever heard of.
The point of the feature is to take shell env variables, and I specifically used the "pull from a file" option. *That* should have shell-like behaviour.
If they used $'VARIABLE' to quote it, fine. ${V} should be a syntax error, instead of the current behaviour.
@ikey I'm a *BSD user and developer. I only use Linux under duress (aka, at work).
Besides, I've seen too many horror stories of dealing with Lennart, that I won't even bother to fix it for them. If someone else were to fix it, I wish them luck.
This is poor implementation and design. Documenting this behaviour doesn't excuse it.
@phessler if it was any other situation I'd probably argue against that - but truth be known I've encountered similar upstream situations personally and been met with the wall of nope.
FWIW, as a Linux distro developer, I've wanted to use BSD for a long time. My problem has been mostly drivers, as there is a lower barrier, higher cadence, and higher tolerance, within the Linux kernel tree, it gets the drivers first. Regardless of sacrifice..
@ikey I'm not specifically against systemd for hating-systemd's sake. I'm against it because nearly every time I look at it, it has horrible behaviours and activity.
If those behaviours are fixed, I wouldn't care.