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 Are you not making the incorrect assumption here that systemd operates like a shell? Given the fact that, yknow, it's *not*. It provides primitive shell-*like* substitution. #fanstheflames

@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.

@phessler So out of curiosity - would you put this down to poor documentation, poor implementation, or both? And I'm aware you're against the use of systemd (or I gather as much) - but it's arguably that it is having an impact on your daily life. Is this something you'd want to personally fix?

@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.

@phessler Oh I totally get it. Nobody dislikes the water cooler, its the culture around the water cooler :)