]> granicus.if.org Git - icinga2/blobdiff - INSTALL.md
Merge pull request #6305 from gunnarbeutner/feature/environment-variable
[icinga2] / INSTALL.md
index cb34dfd03ca2ed2a91774884e6373d986e96be7d..6c3b9aa0b1d116d10776d4784dec30383b838dc2 100644 (file)
@@ -44,6 +44,10 @@ application using a dist tarball (including notes for distributions):
   - Alpine: boost-dev
 * GNU bison (bison)
 * GNU flex (flex) >= 2.5.35
+* Systemd headers
+  - Only required when using Systemd
+  - Debian/Ubuntu: libsystemd-dev
+  - RHEL/Fedora: systemd-devel
 
 ## Optional features
 
@@ -66,9 +70,6 @@ application using a dist tarball (including notes for distributions):
 * Termcap (only required if libedit doesn't already link against termcap/ncurses)
   - RHEL/Fedora: libtermcap-devel
   - Debian/Ubuntu: (not necessary)
-* wxWidgets (only required when building the Icinga 2 Studio)
-  - Fedora: wxGTK-devel and wxBase
-  - Debian/Ubuntu: libwxgtk2.8-dev
 
 ## Special requirements
 
@@ -153,8 +154,6 @@ In addition to `CMAKE_INSTALL_PREFIX` here are most of the supported Icinga-spec
   Defaults to `OFF`.
 
 **Features:**
-- `ICINGA2_WITH_MYSQL`: Determines whether the MySQL IDO module is built; defaults to `ON`
-- `ICINGA2_WITH_PGSQL`: Determines whether the PostgreSQL IDO module is built; defaults to `ON`
 - `ICINGA2_WITH_CHECKER`: Determines whether the checker module is built; defaults to `ON`
 - `ICINGA2_WITH_COMPAT`: Determines whether the compat module is built; defaults to `ON`
 - `ICINGA2_WITH_DEMO`: Determines whether the demo module is built; defaults to `OFF`
@@ -162,14 +161,34 @@ In addition to `CMAKE_INSTALL_PREFIX` here are most of the supported Icinga-spec
 - `ICINGA2_WITH_LIVESTATUS`: Determines whether the Livestatus module is built; defaults to `ON`
 - `ICINGA2_WITH_NOTIFICATION`: Determines whether the notification module is built; defaults to `ON`
 - `ICINGA2_WITH_PERFDATA`: Determines whether the perfdata module is built; defaults to `ON`
-- `ICINGA2_WITH_STUDIO`: Determines whether the Icinga Studio application is built; defaults to `OFF`
 - `ICINGA2_WITH_TESTS`: Determines whether the unit tests are built; defaults to `ON`
 
+**MySQL or MariaDB:**
+
+The following settings can be tuned for the MySQL / MariaDB IDO feature.
+
+- `ICINGA2_WITH_MYSQL`: Determines whether the MySQL IDO module is built; defaults to `ON`
+- `MYSQL_CLIENT_LIBS`: Client implementation used (mysqlclient / mariadbclient); defaults searches for `mysqlclient` and `mariadbclient`
+- `MYSQL_INCLUDE_DIR`: Directory containing include files for the mysqlclient; default empty -
+  checking multiple paths like `/usr/include/mysql`
+
+See [FindMySQL.cmake](third-party/cmake/FindMySQL.cmake) for the implementation.
+
+**PostgreSQL:**
+
+The following settings can be tuned for the PostgreSQL IDO feature.
+
+- `ICINGA2_WITH_PGSQL`: Determines whether the PostgreSQL IDO module is built; defaults to `ON`
+- `PostgreSQL_INCLUDE_DIR`: Top-level directory containing the PostgreSQL include directories
+- `PostgreSQL_LIBRARY_DIR`: Top-level directory containing the PostgreSQL libraries
+
+See [FindMySQL.cmake](third-party/cmake/FindPostgreSQL.cmake) for the implementation.
+
 **Version detection:**
 
 CMake determines the Icinga 2 version number using `git describe` if the
 source directory is contained in a Git repository. Otherwise the version number
-is extracted from the [icinga2.spec](icinga2.spec) file. This behavior can be
+is extracted from the [VERSION](VERSION) file. This behavior can be
 overridden by creating a file called `icinga-version.h.force` in the source
 directory. Alternatively the `-DICINGA2_GIT_VERSION_INFO=OFF` option for CMake
 can be used to disable the usage of `git describe`.
@@ -213,7 +232,7 @@ rpmdev-setuptree
 
 Copy the icinga2.spec file to `rpmbuild/SPEC` or fetch the latest version:
 ```
-curl https://raw.githubusercontent.com/Icinga/icinga2/master/icinga2.spec -o $HOME/rpmbuild/SPECS/icinga2.spec
+curl https://raw.githubusercontent.com/Icinga/rpm-icinga2/master/icinga2.spec -o $HOME/rpmbuild/SPECS/icinga2.spec
 ```
 
 Copy the tarball to `rpmbuild/SOURCES` e.g. by using the `spectool` binary