annotate INSTALL.md @ 1094:6b4de5bff34e

misc: typo in CHANGES.md
author David Demelier <markand@malikania.fr>
date Wed, 04 Aug 2021 10:27:04 +0200
parents 4ed442cf25c0
children a09d4c9b8518
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 IRC Client Daemon INSTALL
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 =========================
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
3
1037
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
4 This guide will help you to install irccd.
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
5
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 Requirements
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 ------------
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
8
1008
201ddc487807 irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents: 899
diff changeset
9 Build dependencies:
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
10
1037
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
11 - C99 and few features from C11 (stdatomics.h, stdnoreturn.h).
1008
201ddc487807 irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents: 899
diff changeset
12 - [Bison][] and [Flex][]: For configuration files.
1037
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
13 - [GNU Make][]: The GNU make utility.
1008
201ddc487807 irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents: 899
diff changeset
14
201ddc487807 irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents: 899
diff changeset
15 Optional runtime dependencies:
201ddc487807 irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents: 899
diff changeset
16
201ddc487807 irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents: 899
diff changeset
17 - [OpenSSL][]: Used for SSL connections to IRC servers (recommended).
201ddc487807 irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents: 899
diff changeset
18 - [CURL][]: Required for the links plugin.
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
19
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
20 Basic installation
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
21 ------------------
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
22
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
23 This is the quick way to install irccd.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
24
71
d7d0e239fb0e Misc: add proper EOF
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
25 tar xvzf irccd-x.y.z-tar.xz
d7d0e239fb0e Misc: add proper EOF
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
26 cd irccd-x.y.z
d7d0e239fb0e Misc: add proper EOF
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
27 make
d7d0e239fb0e Misc: add proper EOF
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
28 sudo make install
1008
201ddc487807 irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents: 899
diff changeset
29
1037
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
30 ### Installing plugins
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
31
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
32 And to install plugins you must build and use `plugins` and `install-plugins`
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
33 targets:
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
34
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
35 make plugins
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
36 sudo make install-plugins
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
37
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
38 Alternatively you can build and install plugins manually using `plugin-NAME` and
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
39 `install-plugin-NAME` to install only wanted plugins.
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
40
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
41 Example:
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
42
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
43 make plugin-ask plugin-links
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
44 sudo make install-plugin-ask plugin-links
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
45
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
46 ### Systemd service
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
47
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
48 A systemd service is available through the `install-systemd` target. The service
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
49 file is named `irccd.service`.
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
50
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
51 Options
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
52 -------
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
53
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
54 The following options are available at build time (make sure to run `make clean`
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
55 when you change options).
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
56
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
57 - `SSL`: set to 1 or 0 to enable/disable OpenSSL (default: 1).
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
58 - `JS`: set to 1 or 0 to disable Javascript (default: 1).
1045
13e374b9c522 make: add DEBUG option
David Demelier <markand@malikania.fr>
parents: 1037
diff changeset
59 - `DEBUG`: set to 1 or 0 to build with debug symbols and optimizations disabled
13e374b9c522 make: add DEBUG option
David Demelier <markand@malikania.fr>
parents: 1037
diff changeset
60 (default: 0).
1052
8904cd227948 misc: update INSTALL.md
David Demelier <markand@malikania.fr>
parents: 1045
diff changeset
61 - `USER`: user to use for transport and init scripts (default: nobody).
8904cd227948 misc: update INSTALL.md
David Demelier <markand@malikania.fr>
parents: 1045
diff changeset
62 - `GROUP`: group to use for transport and init scripts (default: nobody).
1037
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
63
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
64 You can tweak the installation directories by changing the following variables
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
65 (note: all paths must be absolute):
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
66
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
67 - `PREFIX`: root directory for installing (default: /usr/local).
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
68 - `BINDIR`: binaries (default: ${PREFIX}/bin).
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
69 - `ETCDIR`: config files (default: ${PREFIX}/etc).
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
70 - `LIBDIR`: libraries (default: ${PREFIX}/lib).
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
71 - `INCDIR`: header files (default: ${PREFIX}/include).
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
72 - `SHAREDIR`: data files (default: ${PREFIX}/share).
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
73 - `MANDIR`: path to manual pages (default: ${PREFIX}/share/man).
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
74 - `VARDIR`: local cache files (default: ${PREFIX}/var).
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
75
1052
8904cd227948 misc: update INSTALL.md
David Demelier <markand@malikania.fr>
parents: 1045
diff changeset
76 For any options, make sure to specify them for any make targets (e.g. `install`)
8904cd227948 misc: update INSTALL.md
David Demelier <markand@malikania.fr>
parents: 1045
diff changeset
77 because they can be translated at install time too.
8904cd227948 misc: update INSTALL.md
David Demelier <markand@malikania.fr>
parents: 1045
diff changeset
78
1008
201ddc487807 irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents: 899
diff changeset
79 [Bison]: https://www.gnu.org/software/bison
1037
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
80 [GNU Make]: http://www.cmake.org
1008
201ddc487807 irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents: 899
diff changeset
81 [CURL]: https://curl.se
201ddc487807 irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents: 899
diff changeset
82 [Flex]: https://github.com/westes/flex
201ddc487807 irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents: 899
diff changeset
83 [OpenSSL]: http://openssl.org
1037
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
84 [libbsd]: https://libbsd.freedesktop.org/wiki