portable: add setproctitle
[got-portable.git] / README.portable
blobfc8cc30138461b198ffdb88c36f4091b44034e98
1 README.portable
2 ===============
4 This is the portable version of got[1] (Game of Trees), using autotools to
5 provide the library checks required for GoT's dependencies.
7 The following operating systems are supported:
9 * FreeBSD
10 * NetBSD
11 * DragonFlyBSD
12 * MacOS
13 * Linux
15 DEPENDENCIES
16 ============
18 Linux:
20 * `libncurses` (for tog(1))
21 * `libmd` (BSD's digest routines)
22 * `libbsd` (BSD's arc4random routines)
23 * `libcrypto` (often via 'libssl-dev' for SHA1 routines)
24 * `libuuid` (for UUID generation)
25 * `libz` (for Z compression)
26 * `pkg-config` (for searching libraries)
27 * `bison` (for configuration file grammar)
28 * `libevent` (for gotwebd)
29 * `libtls` (for gotwebd)
31 FreeBSD:
33 * `automake`
34 * `pkgconf`
35 * `GNU coreutils` (for running tests)
36 * `libevent` (for gotwebd)
37 * `libtls` (for gotwebd)
39 NetBSD:
41 * `automake`
42 * `libuuid`
43 * `ncuresesw`
44 * `GNU coreutils` (for running tests)
45 * `libevent` (for gotwebd)
47 DragonFlyBSD:
49 * `automake`
50 * `pkgconf`
51 * `openssl`
52 * `GNU coreutils` (for running tests)
53 * `libevent` (for gotwebd)
55 Darwin (MacOS):
57 * `automake`
58 * `bison`
59 * `pkg-config`
60 * `ncurses`
61 * `openssl`
62 * `ossp-uuid`
63 * `GNU coreutils` (for running tests)
64 * `libevent` (for gotwebd)
65 * `libtls` (for gotwebd)
67 TESTS (REGRESS)
68 ===============
70 To run the test suite:
72 ```
73  $ make tests
74 ```
76 NOTE: For Linux, you must have the jot(1) command which is typically in the
77 `athena-jot` package, or similar.  For non-linux systems (as mentioned above),
78 GNU coreutils needs to be installed.
80 NOTE:  THIS ONLY WORKS AFTER `make install` DUE TO HOW PATHS TO LIBEXEC
81        HELPERS ARE HARD-CODED INTO THE BINARIES.
83 INSTALLATION
84 ============
86 ```
87  $ ./autogen.sh
88  $ ./configure && make
89  $ sudo make install
90 ```
92 BRANCHES + SUBMITTING PATCHES
93 =============================
95 `got-portable` has two key branches:
97 * `main` which tracks got upstream untainted.
98 * `linux` which provides the portable version of GoT based from code on `main`
100 Patches for portable code fixes should be based from the `linux` branch and
101 sent to the mailing list for review [2] or sent to me directly (see CONTACT).
103 The read-only Github repository also runs CI checks using Cirrus-CI on Linux
104 and FreeBSD.
106 TODO
107 ====
109 configure.ac should start defining AC_ENABLE arguments to allow for
110 finer-grained control of where to search for includes/libraries, etc.
112 CONTACT
113 =======
115 Thomas Adam <thomas@xteddy.org>
116 thomas_adam (#gameoftrees on irc.libera.chat)
118 [1]  https://gameoftrees.org
119 [2]  https://lists.openbsd.org/cgi-bin/mj_wwwusr?user=&passw=&func=lists-long-full&extra=gameoftrees