README.md
1# Utilities for writing services in Go [![GoDoc](https://godoc.org/gopkg.in/hlandau/svcutils.v1?status.svg)](https://godoc.org/gopkg.in/hlandau/svcutils.v1)
2
3The following packages are contained in this repository:
4
5 * chroot, a package for chrooting and then determining whether absolute paths
6 can be addressed within that chroot and, if so, converting them
7 appropriately;
8
9 * exepath, a package for determining the absolute path of the executable as
10 invoked, but without resolving symlinks, which can be useful in some
11 circumstances;
12
13 * passwd, a package for determining user and group information on \*NIX
14 systems beyond that available in `os/user`;
15
16 * pidfile, a package for creating and locking PID files on \*NIX;
17
18 * setuid, a package for changing UID and GID on \*NIX systems,
19 including workarounds for the unfortunate absurdities underlying
20 Linux's implementation of setuid (which means that `syscall.Setuid`
21 does not work on Linux);
22
23 * systemd, a package for detecting whether systemd is in use and sending
24 status messages to it, in a way that works in a chroot;
25
26 * caps, a package for detecting and dropping capabilities on Linux;
27
28 * dupfd, a package for duplicating file descriptors to a target
29 file descriptor number, which irons out some differences between
30 different \*NIX platforms.
31
32## Licence
33
34 © 2015—2016 Hugo Landau <hlandau@devever.net>
35
36[Licenced under the licence with SHA256 hash
37`fd80a26fbb3f644af1fa994134446702932968519797227e07a1368dea80f0bc`, a copy of
38which can be found
39here.](https://github.com/hlandau/rilts/blob/master/licences/COPYING.MIT)
40