fix possible crash on user deletion
[srvx.git] / INSTALL
1               srvx Installation Instructions
2
3 Introduction:
4 ----------
5 If you encounter any problems compiling/running srvx, please make sure
6 you have followed the directions in this file correctly and that all
7 of the requirements listed below are met.
8
9 If the problem persists, report it to one (or all) of the coders
10 listed in the AUTHORS file. Please try to include ALL relevant
11 information about the error/bug, including anything out of the
12 ordinary reported from make and the appropriate entries from the log
13 files.
14
15 Requirements:
16 ----------
17 This release of srvx (1.3) only supports the Undernet P10 and Bahamut
18 protocols and is known to link with ircu/Universal (u2.10.09),
19 ircu/Undernet (u2.10.10, u2.10.11), ircu-lain, and Bahamut 1.4.32. It
20 does not support hybrid, Unreal, or any other ircd not listed. Should
21 you find other compatible ircds, please let us know.  Most of the
22 testing has been done on ircu2.10.11.06.
23
24 srvx is known to compile on the following systems as long as you
25 are using GNU make (make on Linux, gmake on many other systems):
26
27   * Linux (libc5 or glibc2); glibc2.1 recommended+    (SPARC, ALPHA, x86, PPC)
28   * FreeBSD 4.x; tested on 4.2-RELEASE and 4.2-STABLE (SPARC, x86)
29   * FreeBSD 3.x; tested on 3.3-RELEASE and 3.4-STABLE (SPARC, x86)
30   * FreeBSD 2.x; tested on 2.2.8-RELEASE              (SPARC, x86)
31   * NetBSD 1.6+;                                      (ALPHA, MIPS, x86)
32   * SunOS 5.x; tested on 5.8                          (SPARC, x86)
33   * OpenBSD 2.x; tested on 2.8                        (x86)
34   * BSDi 4.x; tested on 4.0.1                         (x86)
35   * CYGWIN 1.1.x and 1.3.x; tested on 1.1.8           (x86)
36
37 For the Linux kernel, srvx has been tested on Debian 2.x - 3.x, and
38 Redhat 5.x - 8.x.
39
40 srvx should compile on other system types also.  If you have success
41 on other platforms/archs or problems on any platforms/archs, please
42 contact the authors to let us know.
43
44 gcc 2.96 tends to emit spurious warnings; before reporting any
45 compiler warnings from it, make sure you are using the most recent
46 version of it or try using an official release of gcc.
47
48 You may also have trouble unless your compiler's C preprocessor
49 supports ISO C99 varadic macros.  gcc is the compiler we use for
50 almost all our testing, and we recommend it for use with srvx.
51
52 PreInstall:
53 ----------
54 $ aclocal
55 $ autoconf
56 $ autoreconf -f -i -Wall,no-obsolete
57 $ cp /usr/share/libtool/* ./
58 $ automake
59
60 Quick Install:
61 ----------
62 $ ./configure
63     NOTE: The protocol the resulting srvx binary will support is
64     determined by the configure script. The P10 protocol is the
65     default; if you would like to link to Bahamut, you must pass
66     the --with-protocol=bahamut flag to the configure script:
67     $ ./configure --with-protocol=bahamut
68 $ make
69 $ ${EDITOR} srvx.conf
70     NOTE: You may want to copy srvx.conf.example to srvx.conf and
71     edit that.
72 $ ./srvx
73
74 Compiling:
75 ----------
76   1) Enter the root directory of the srvx tree.  If installation is done
77      from outside of it, it may cause problems during compile, or during
78      runtime.
79
80   2) Run the configure script (sh configure), it will verify that your
81      system will have the resources needed for srvx to compile.  If you
82      would like to change the path where srvx will be installed to,
83      execute configure with the --prefix=/path option.  The default path
84      is ~/srvx-X.X.X/, with the X's representing the version.  See the
85      note in "Quick Install" if you are linking to Bahamut.
86
87   3) On some systems you may need to edit the Makefile in order for
88      it to compile correctly.  Includes, and other such things may
89      reside in other directories.  Most likely the Makefile won't require
90      any modifications.
91
92   4) You may optionally edit config.h in case the configure script made a
93      mistake.
94
95   5) Execute the "make" command to begin compiling.  If you encounter any
96      uncorrectable errors/warnings, please scroll up to the introduction
97      section and follow the instructions.
98
99   6) You may now either type "make install" to install it to your
100      installation path, or work from your build directory, either is fine.
101
102   7) Copy sockcheck.conf.example to sockcheck.conf (and edit to add
103      new proxy types, if you wish).
104
105   8) Copy srvx.conf.example to srvx.conf and edit to suit your
106      needs. Errors in the configuration file will be logged to
107      main.log (and if srvx is running in the foreground, printed to
108      stdout) when you start the daemon.
109
110   9) You can now begin using your service bots.  You can debug by
111      running it with '-fd', it will not background itself, and it
112      will be fairly verbose if you gave the configure script the
113      --enable-debug flag. If you would like to run in the foreground
114      with no verbosity, use the '-f' flag. If you just want to run it,
115      execute srvx without any flags.
116
117  10) Once you have srvx started, you'll need to register a NickServ
118      account:
119        /msg NickServ@services.irc.com register <account> <password>
120      Make sure that you register the first account -- it is
121      automatically granted certain privileges and gives you root-level
122      access to OpServ once you are opered up.
123
124  11) New operators can be given access to OpServ through NickServ's
125      (or whatever you've named the nick/authentication service) oset
126      command:
127        /msg NickServ oset <nick>|*<account> level <level>
128      Levels are generally beween 0 and 1000 by convention; higher
129      numbers correspond to more access. You can also add helpers
130      (users with extra privileges such as security override in
131      traditional configurations) through NickServ:
132        /msg NickServ oset <nick>|*<account> flags +H
133
134 End of file, INSTALL.
135
136 -Jedi (jedi@turboflux.net)