The service did not start. Launching syslog-ng manually I get: Error creating persistent state file; filename='/var/lib/syslog-ng/syslog-ng.persist-', error='No such file or directory (2)' mkdir /var/lib/syslog-ng solved for me.
patches welcome. I don't use systemd.
(In reply to comment #1) > patches welcome. I don't use systemd. patches? 1)keepdir /var/lib/syslog-ng in src_install() or 2)add systemd IUSE and: use systemd && keepdir /var/lib/syslog-ng
The openrc init.d file takes care of the statefile directory creation. The systemd file should do the same thing.
Why create this dir in init script? /var/lib/ is not symlink to /run/lib and there is no plan to move it into tmpfs.
(In reply to Mr. Bones. from comment #3) > The openrc init.d file takes care of the statefile directory creation. The > systemd file should do the same thing. Just because you do something wrong doesn't mean everyone should do the same.
(In reply to Michał Górny from comment #5) > (In reply to Mr. Bones. from comment #3) > > The openrc init.d file takes care of the statefile directory creation. The > > systemd file should do the same thing. > > Just because you do something wrong doesn't mean everyone should do the same. @mgorny: Wouldn't it be better to point out how this should be handled instead of just telling him that he is wrong?
(In reply to William Hubbs from comment #6) > Wouldn't it be better to point out how this should be handled instead of > just telling him that he is wrong? Since upstream supports systemd, I guess the best solution is that the buildsystem should create that directory.
(In reply to Agostino Sarubbo from comment #7) > (In reply to William Hubbs from comment #6) > > Wouldn't it be better to point out how this should be handled instead of > > just telling him that he is wrong? > > Since upstream supports systemd, I guess the best solution is that the > buildsystem should create that directory. Yes, I agree, since this is in /var/lib, the build system creating the directory is the correct long term fix. (In reply to Mr. Bones. from comment #3) > The openrc init.d file takes care of the statefile directory creation. The > systemd file should do the same thing. No, since this directory is in /var/lib, the ebuild should create it, or better yet, the build system should be patched to create it and the patch sent upstream.
The solution has been pointed out already. The package manager is the thing responsible for creating and owning files in non-volatile locations.