557 Commits

Author SHA1 Message Date
Peter Powell
a580cacb19 Improve the accessibility and robustness of prompt_bool.
- Use "yes" and "no" instead of "y" and "n".
- Validate the true and false responses properly.
- Keep prompting the user for a response until they give one which
  is valid.
2019-01-29 21:18:18 +00:00
Peter Powell
59ddf1a456 Improve setting the gid/uid which will own files.
- Consistently set the gid/uid for all directories and files.
- Replace the obnoxious warning about root on `make install` with
  a friendlier warning whilst running configure.
- Always install the inspircd executable and modules.
2019-01-29 21:18:18 +00:00
Sadie Powell
9828a06514 Switch the build system to use C++14. 2019-01-25 02:46:43 +00:00
Peter Powell
961109ae4f Remove trailing whitespace from various source files. 2019-01-24 22:18:22 +00:00
Peter Powell
a9a94b6587 Fix "smartmatch is experimental" warning from the helper script. 2018-10-26 14:18:42 +01:00
Peter Powell
2d50984185 Fix a bunch of harmless compiler warnings on recent GCC releases. 2018-10-26 01:20:35 +01:00
Peter Powell
2b4682c2d1 Change the branch version from InspIRCd-3.0 to InspIRCd-3.
Under the new versioning scheme when a new branch is forked the
major version number will be reset. The minor version number will
now be used to mark a release as containing backwards compatible
additions and the patch version number will be used to mark a
release as containing just bug fixes.
2018-10-25 23:29:55 +01:00
Peter Powell
8e3aaf1ff0 Add a directive for requiring a specific compiler. 2018-10-04 14:17:02 +02:00
Peter Powell
479d0d9de4 Avoid using relative paths in make::configure. 2018-10-04 14:17:02 +02:00
Peter Powell
2af0476c5a Move the SQL tables to docs/sql and install them on make install. 2018-09-26 23:36:19 +01:00
Peter Powell
69f70c16d0 Document the --nopid option in the manual pages. 2018-08-24 12:08:56 +01:00
Peter Powell
7d4f8960f8 Add support for vendoring dependencies. 2018-08-14 15:48:39 +01:00
Peter Powell
d9a52277df Remove support for static modules.
This has been frequently broken in the past and as far as I know is
used by literally nobody.

Also, even if all modules are compiled into the core any libraries
linked against are and have always been linked dynamically making
this unusable on platforms without dynamic libraries.
2018-07-31 03:20:18 +01:00
Peter Powell
0438ae0aa4 Define HAS_ARC4RANDOM_BUF in config.h if available. 2018-07-20 12:30:40 +01:00
Peter Powell
ec6bdd1ae9 Use arc4random_buf() instead of random() when available. 2018-07-20 11:48:22 +01:00
Peter Powell
197279b8c9 Always show Make commands for the user to execute in quotes.
Fixes #1189.
2018-06-26 16:38:34 +01:00
Peter Powell
2241991dda Show the package name in the message when doing pkg-config lookups. 2018-06-24 23:24:46 +01:00
Peter Powell
2772c2fa2d Use the pwd tool that is in the path rather than /bin/pwd. 2018-05-01 19:47:08 +02:00
Puck Meerburg
56a1ef63e7 Add Haiku support 2018-03-10 20:44:09 +01:00
Peter Powell
7e5e4a5ae2 Append LDFLAGS at the same time as CPPFLAGS and CXXFLAGS.
This deduplicates the addition of these flags.
2018-02-24 11:48:02 +00:00
Peter Powell
98372c3cf2 Extract RFC modes from the core to core_channel and core_user. 2017-12-10 12:38:45 +00:00
Peter Powell
c83ce75368 Merge INSPIRCD_MODULE and INSPIRCD_TARGET. 2017-11-29 19:23:40 +00:00
Peter Powell
8bc03773ca Remove the preconfigured Charybdis and UnrealIRCd module files.
These are extremely outdated. If we want to ship these then they
should be redone from scratch.
2017-11-22 13:31:24 +00:00
Peter Powell
4743b23e5c Remove INSPIRCD_SOCKETENGINE_NAME and INSPIRCD_SYSTEM.
- INSPIRCD_SOCKETENGINE_NAME is not really something that needs to
  be user facing. If opers want to know this kind of internal info
  then they can look at the build configuration.

- INSPIRCD_SYSTEM causes problems for reproducible builds and is
  only accurate for the state of the system when InspIRCd is built
  which is not useful in the slightest.
2017-10-15 11:57:05 +01:00
Peter Powell
e4f89286df Fix a minor typo in the init script. 2017-10-05 16:51:16 +01:00
Peter Powell
bdd854e332 Fix the regex for parsing the git version in get_version. 2017-09-25 14:55:10 +01:00
Peter Powell
b8babf2c43 Move the init scripts out of the prefix into the new script dir.
The previous directory was okay for home directory installs but
was problematic for system wide installs.
2017-09-21 20:49:49 +01:00
Peter Powell
bb9db07c21 Remove support for building with BSD Make.
BSD users should install GNU Make to build InspIRCd.
2017-07-24 17:00:05 +01:00
Peter Powell
f471083cd0 Merge pull request #1337 from SaberUK/master+merge
Merge v2.0.23 and v2.0.24 into master.
2017-07-12 14:25:28 +01:00
Peter Powell
3cf2dd8247 Remove use of global barewords in most file handling code.
This is not considered good practise in modern Perl code.

A few cases of this still remain in code which is due to be
rewritten anyway.
2017-07-11 17:37:20 +01:00
Peter Powell
c0aba5b728 Merge v2.0.23 and v2.0.24 into master. 2017-07-09 22:45:00 +01:00
Peter Powell
7e1629bdf1 Switch compiler detection to use a more reliable method.
Its clear that parsing version output is not reliable enough so
switch to using a method which is less likely to break.
2017-04-14 14:59:03 +01:00
Peter Powell
b6a69e98ee Add a nice API for command line interfaces to make::console. 2017-03-25 00:54:25 +00:00
Peter Powell
5c88e3df25 Replace module_installed with eval. 2017-03-25 00:54:25 +00:00
Peter Powell
c185edf71c Extract core logic of write_configure_cache to write_config_file. 2017-03-25 00:54:25 +00:00
Peter Powell
64273cc51b Rename read_configure_cache to read_config_file and move to common. 2017-03-25 00:54:21 +00:00
Peter Powell
62aa553563 Don't suppress error output when INSPIRCD_VERBOSE is set. 2016-12-26 05:07:40 +00:00
Peter Powell
348a746b98 Fix pure static builds. 2016-12-02 14:44:09 +00:00
Peter Powell
3ad1a0bad2 Fix the distribution label not showing up since b8d85c6251. 2016-11-18 18:13:47 +00:00
Peter Powell
25f2f7f3e8 Rework the example services aliases.
- Split common stuff into a generic configuration file.
- Reserve all nicknames used by services by default.
- Exempt all services clients from filtering.
- Add missing aliases for services pseudoclients.
2016-11-16 10:56:39 +00:00
Peter Powell
2c350e0b7f Fix the directive parser using invalid environment variables. 2016-09-21 00:58:17 +01:00
Peter Powell
fff28e7ff0 Use the environment's CPPFLAGS as well as its CXXFLAGS. 2016-09-17 03:07:44 +01:00
Peter Powell
806e57433a Rewrite the build system directive parser. 2016-09-16 04:23:56 +01:00
Peter Powell
6c98c29874 Fix print_format breaking when formatting empty strings. 2016-09-14 23:47:01 +01:00
Peter Powell
4133ccb043 Allow print_error and print_warning to take multiple lines. 2016-09-14 23:47:01 +01:00
Peter Powell
b8d85c6251 Update stuff for the new versioning system. 2016-09-02 22:13:22 +02:00
Peter Powell
2a419c7525 Fix linker flags being in the wrong place on static builds. 2016-08-19 16:10:00 +01:00
Attila Molnar
b9e11915a9 Merge insp20 2016-08-17 12:49:48 +02:00
Attila Molnar
4d36019385 Include <array> or <tr1/array> globally 2016-08-08 15:07:32 +02:00
Peter Powell
9401f1fbc3 GCC should never assume that this can not be null. 2016-06-27 15:41:27 +01:00