annotate INSTALL.md @ 1064:f7f73da81a5f

irccd: don't added plugins that fails to load
author David Demelier <markand@malikania.fr>
date Mon, 05 Jul 2021 21:50:14 +0200
parents 8904cd227948
children 4ed442cf25c0
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
1037
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
9 Runtime dependencies:
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
10
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
11 - [libbsd][]: some BSD extensions.
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
12
1008
201ddc487807 irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents: 899
diff changeset
13 Build dependencies:
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
14
1037
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
15 - 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
16 - [Bison][] and [Flex][]: For configuration files.
1037
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
17 - [GNU Make][]: The GNU make utility.
1008
201ddc487807 irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents: 899
diff changeset
18
201ddc487807 irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents: 899
diff changeset
19 Optional runtime dependencies:
201ddc487807 irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents: 899
diff changeset
20
201ddc487807 irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents: 899
diff changeset
21 - [OpenSSL][]: Used for SSL connections to IRC servers (recommended).
201ddc487807 irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents: 899
diff changeset
22 - [CURL][]: Required for the links plugin.
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
23
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
24 Basic installation
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
25 ------------------
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
26
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
27 This is the quick way to install irccd.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
28
71
d7d0e239fb0e Misc: add proper EOF
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
29 tar xvzf irccd-x.y.z-tar.xz
d7d0e239fb0e Misc: add proper EOF
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
30 cd irccd-x.y.z
d7d0e239fb0e Misc: add proper EOF
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
31 make
d7d0e239fb0e Misc: add proper EOF
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
32 sudo make install
1008
201ddc487807 irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents: 899
diff changeset
33
1037
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
34 ### Installing plugins
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
35
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
36 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
37 targets:
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
38
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
39 make plugins
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
40 sudo make install-plugins
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
41
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
42 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
43 `install-plugin-NAME` to install only wanted plugins.
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
44
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
45 Example:
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
46
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
47 make plugin-ask plugin-links
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
48 sudo make install-plugin-ask plugin-links
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
49
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
50 ### Systemd service
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
51
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
52 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
53 file is named `irccd.service`.
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
54
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
55 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
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
58 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
59 when you change options).
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
60
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
61 - `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
62 - `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
63 - `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
64 (default: 0).
1052
8904cd227948 misc: update INSTALL.md
David Demelier <markand@malikania.fr>
parents: 1045
diff changeset
65 - `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
66 - `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
67
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
68 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
69 (note: all paths must be absolute):
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
70
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
71 - `PREFIX`: root directory for installing (default: /usr/local).
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
72 - `BINDIR`: binaries (default: ${PREFIX}/bin).
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
73 - `ETCDIR`: config files (default: ${PREFIX}/etc).
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
74 - `LIBDIR`: libraries (default: ${PREFIX}/lib).
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
75 - `INCDIR`: header files (default: ${PREFIX}/include).
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
76 - `SHAREDIR`: data files (default: ${PREFIX}/share).
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
77 - `MANDIR`: path to manual pages (default: ${PREFIX}/share/man).
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
78 - `VARDIR`: local cache files (default: ${PREFIX}/var).
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
79
1052
8904cd227948 misc: update INSTALL.md
David Demelier <markand@malikania.fr>
parents: 1045
diff changeset
80 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
81 because they can be translated at install time too.
8904cd227948 misc: update INSTALL.md
David Demelier <markand@malikania.fr>
parents: 1045
diff changeset
82
1008
201ddc487807 irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents: 899
diff changeset
83 [Bison]: https://www.gnu.org/software/bison
1037
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
84 [GNU Make]: http://www.cmake.org
1008
201ddc487807 irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents: 899
diff changeset
85 [CURL]: https://curl.se
201ddc487807 irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents: 899
diff changeset
86 [Flex]: https://github.com/westes/flex
201ddc487807 irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents: 899
diff changeset
87 [OpenSSL]: http://openssl.org
1037
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
88 [libbsd]: https://libbsd.freedesktop.org/wiki