I've been using i2pd with i2pd-s6 recently and am posting my fixes to some issues I've encountered.
The first is about logging. i2pd ships a tmpfiles config indicating /var/log/i2pd should be owned by user i2pd and with perm 700, which is incompatible with the logging provided by i2pd-s6, who s6-logs to the same directory with uid/gid set to s6log.
The second is that in the service script of i2pd-s6, the daemon is executed with uid/gid set to i2pd instead of root user, so a --service parameter should be added so that i2pd saves profiles to /var/lib/i2pd.
Diffs:
For s6-services
diff --git a/i2pd/i2pd-srv/run b/i2pd/i2pd-srv/run
index cd60d76..03c2ecc 100644
--- a/i2pd/i2pd-srv/run
+++ b/i2pd/i2pd-srv/run
@@ -1,3 +1,3 @@
#!/bin/execlineb -P
fdmove -c 2 1
-s6-setuidgid i2pd exec i2pd --log=stdout
+s6-setuidgid i2pd exec i2pd --log=stdout --service
For i2pd
diff --git a/trunk/i2pd.tmpfiles b/trunk/i2pd.tmpfiles
index f5b9818..221b001 100644
--- a/trunk/i2pd.tmpfiles
+++ b/trunk/i2pd.tmpfiles
@@ -1,5 +1,4 @@
d /var/lib/i2pd 0700 i2pd i2pd - -
-d /var/log/i2pd 0700 i2pd i2pd - -
L /var/lib/i2pd/i2pd.conf - - - - /etc/i2pd/i2pd.conf
L /var/lib/i2pd/tunnels.d - - - - /etc/i2pd/tunnels.d
L /var/lib/i2pd/tunnels.conf - - - - /etc/i2pd/tunnels.conf
Alternatively, the tmpfiles can be overriden by user config in /etc/tmpfiles.d for those reluctant to modify distro-shipped configs.
P.S. other packages indicating tmpfiles in /var/log are also potentially affected by this logging incompatibility (privoxy for example, although I've not really been using it). Moreover some packages provide files in /etc/logrotate.d, and this is also possibly in conflict with in-house logging mechanisms used in most s6 setups.