Latest version (1.0.0) incompatible with systemd on Debian Jessie

I’ve just spent a little while diagnosing a laptop on which syncthing had suddenly stopped auto-starting - since it was upgraded to syncthing 1.0.0 last night.

The laptop is running Debian Jessie. All my other systems are running Debian Stretch, but for compatibility testing purposes I need one which is running the older software.

If invoked from the command line, syncthing still works fine, but it doesn’t start as a user service. The problem seems to be in the file:

/usr/lib/systemd/user/syncthing.service

provided in the syncthing deb package, and lies in the new Hardening section. In particular, the systemd on Debian Jessie doesn’t seem to understand MemoryDenyWriteExecute=true (or at least, that’s the first thing which it complains about).

It all seems to work fine on Debian Stretch, but not on Debian Jessie.

I offer this purely as a documentary record, and in the hope of sparing someone else the pain. It was only by chance that I spotted that syncthing had silently stopped working. It could have been serious if I hadn’t picked it up.

There’s also an old (RHEL) systemd that by mistake makes /home read only instead of /usr, for the ProtectSystem option. It’s quite hilarious and totally on brand for systemd, imho.