diff options
-rw-r--r-- | CMakeLists.txt | 7 | ||||
-rwxr-xr-x | configure | 80 | ||||
-rw-r--r-- | database/sqlite/CMakeLists.txt | 2 | ||||
-rw-r--r-- | eurephiadm/CMakeLists.txt | 3 | ||||
-rw-r--r-- | plugin/CMakeLists.txt | 2 | ||||
-rw-r--r-- | plugin/firewall/iptables/CMakeLists.txt | 2 | ||||
-rw-r--r-- | xslt/eurephiadm/CMakeLists.txt | 5 |
7 files changed, 78 insertions, 23 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index cfe5526..a281c9d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,10 +10,13 @@ OPTION(EUREPHIADM "Build command line based admin utility" OFF) OPTION(PLUGIN "Build the eurephia plugin for OpenVPN" OFF) SET(OPENVPN_SRC "" CACHE STRING "Path to OpenVPN source code") -SET(PREFIX "/etc/openvpn/eurephia" CACHE STRING "Install prefix for eurephia") -SET(XSLTROOT "/usr/share/eurephia/xslt" CACHE STRING "Root path for the XSLT templates") +SET(PREFIX "/usr/local" CACHE STRING "Install prefix for eurephia") +SET(BINDIR "/usr/local/bin" CACHE STRING "Directory for eurephia binaries") +SET(PLUGINDIR "/usr/local/lib/eurephia" CACHE STRING "Plug-in path for the eurephia modules") +SET(XSLTROOT "/usr/local/share/eurephia/xslt" CACHE STRING "Root path for the XSLT templates") SET(CMAKE_INSTALL_PREFIX ${PREFIX}) + IF(SQLITE3) message(STATUS "Will build database interface for SQLite") SET(subdirs ${subdirs} database/sqlite) @@ -1,26 +1,47 @@ #!/bin/sh -XSLTPATH="/usr/share/eurephia/xslt" +PREFIX="/usr/local" +BINDIR="${PREFIX}/bin" +BINDIR_SET=0 +PLUGINDIR="${PREFIX}/lib/eurephia" +PLUGINDIR_SET=0 +XSLTPATH="${PREFIX}/share/eurephia/xslt" +XSLTPATH_SET=0 EUREPHIADM_XSLT="${XSLTPATH}/eurephiadm" EUREPHIADM_XSLT_SET=0 +SQLITE3PREFIX="/etc/openvpn" + usage() { cat <<EOF configure help for eurephia --help | -h -- This help screen + + ** Main paths --prefix <path> -- Root directory of installation - (default: /etc/openvpn/eurephia) + (default: ${PREFIX}) + --bin-dir -- Directory where to place binaries + (default: ${BINDIR}) --xslt-path | -X -- Default XSLT path - (default: /usr/share/eurephia/xslt) + (default: ${XSLTPATH}) + + ** Debug options --debug | -D -- Enable verbose debug logging --show-secrets | -S -- Log passwords as clear text in log files | (only available when debug is enabled) + + ** Plug-in options --plug-in | -p -- Build the eurephia plug-in for OpenVPN + --plug-in-dir | -P -- Destination path for the plug-ins and other modules + (default: ${PLUGINDIR}) --openvpn-src <path> | -s <path> -- OpenVPN source directory (needed when building plug-in) --fw-iptables | -- Build iptables firewall module + + ** Database options --db-sqlite3 | -- Build SQLite3 database module - --sqlite3-prefix | -sp -- Root directory of SQLite3 eurephia database - (default: /etc/openvpn) + --sqlite3-path | -sp -- Root directory of SQLite3 eurephia database file + (default: ${SQLITE3PREFIX}) + ** Administration utility options --eurephiadm | -A -- Build command line admin utility --eurephiadm-fw -- Include the firewall info even without any firewall interface being built @@ -34,8 +55,6 @@ DB="" FW="" ADMIN=""; OPENVPN_SRC_DIR="" -PREFIX="/etc/openvpn/eurephia" -SQLITE3PREFIX="/etc/openvpn" PLUGIN="" while [ ! -z "$1" ]; do @@ -46,10 +65,26 @@ while [ ! -z "$1" ]; do ;; --prefix) PREFIX="$2"; - shift; + shift + if [ "${BINDIR_SET}" = "0" ]; then + BINDIR="${PREFIX}/bin"; + fi + if [ "${PLUGINDIR_SET}" = "0" ]; then + PLUGINDIR="${PREFIX}/lib/eurephia" + fi + if [ "${XSLTPATH_SET}" = "0" ]; then + XSLTPATH="${PREFIX}/share/eurephia/xslt" + if [ "${EUREPHIADM_XSLT_SET}" = "0" ]; then + EUREPHIADM_XSLT="${XSLTPATH}/eurephiadm" + fi + fi + ;; + --bin-dir) + BINDIR="$2" + BINDIR_SET=1 + shift ;; -X|--xslt-path) - PARAMS="${PARAMS} -DXSLTROOT:STRING=$2" XSLTPATH="$2" if [ "${EUREPHIADM_XSLT_SET}" = "0" ]; then EUREPHIADM_XSLT="${XSLTPATH}/eurephiadm" @@ -68,6 +103,11 @@ while [ ! -z "$1" ]; do PARAMS="${PARAMS} -DPLUGIN=ON" PLUGIN="eurephia-auth" ;; + -P|--plug-in-dir) + PLUGINDIR="$2" + PLUGINDIR_SET=1 + shift + ;; -s|--openvpn-src) OPENVPN_SRC_DIR="$2" PARAMS="${PARAMS} -DOPENVPN_SRC:STRING=$2" @@ -81,7 +121,7 @@ while [ ! -z "$1" ]; do PARAMS="${PARAMS} -DSQLITE3=ON" DB="SQLite3 " ;; - --sp|--sqlite3-prefix) + --sp|--sqlite3-path) SQLITE3PREFIX="$2" shift ;; @@ -93,8 +133,7 @@ while [ ! -z "$1" ]; do PARAMS="${PARAMS} -DFIREWALL=ON" ;; --eurephiadm-xslt) - PARAMS="${PARAMS} -DEUREPHIADM_XSLT_PATH:STRING=$2" - EUREPHIADM_XSLT="$2" + EUREPHIADM_XSLT="$2" EUREPHIADM_XSLT_SET=1 shift ;; @@ -126,7 +165,12 @@ if [ ${DB} = "SQLite3" ]; then fi rm -f CMakeCache.txt -cmake . ${PARAMS} -DPREFIX:STRING=${PREFIX} +cmake . ${PARAMS} -DPREFIX:STRING=${PREFIX} -DCMAKE_INSTALL_PREFIX:STRING=${PREFIX} \ + -DPLUGINDIR:STRING=${PLUGINDIR} -DBINDIR:STRING=${BINDIR} \ + -DEUREPHIADM_XSLT_PATH:STRING=${EUREPHIADM_XSLT} -DXSLTROOT:STRING=${XSLTPATH} + + +echo $PARAMS ec=$? if [ $ec = 0 ]; then echo @@ -139,15 +183,15 @@ if [ $ec = 0 ]; then echo " Admin tools: ${ADMIN:-"None"}" echo echo " Install prefix: ${PREFIX}" - if [ ${DB} = "SQLite3" ]; then - echo " SQLite3 database path: ${SQLITE3PREFIX}" - fi - + echo " Binaries dir: ${BINDIR}" + echo " Plug-in path: ${PLUGINDIR}" if [ ! -z "${ADMIN}" ]; then - echo "" echo " XSLT base path: ${XSLTPATH}" echo " eurephiadm XSLT path: ${EUREPHIADM_XSLT}" fi + if [ ${DB} = "SQLite3" ]; then + echo " SQLite3 database path: ${SQLITE3PREFIX}" + fi echo echo diff --git a/database/sqlite/CMakeLists.txt b/database/sqlite/CMakeLists.txt index 5f1e0f9..c2774ff 100644 --- a/database/sqlite/CMakeLists.txt +++ b/database/sqlite/CMakeLists.txt @@ -62,7 +62,7 @@ ADD_DEFINITIONS(${LIBXML2_DEFINITIONS}) SET_TARGET_PROPERTIES(edb-sqlite PROPERTIES OUTPUT_NAME edb-sqlite PREFIX "") SET_SOURCE_FILES_PROPERTIES(${common_files_SRC} PROPERTIES GENERATED true) SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES eurephiadb) -INSTALL(TARGETS edb-sqlite LIBRARY DESTINATION ${PREFIX}) +INSTALL(TARGETS edb-sqlite LIBRARY DESTINATION ${PLUGINDIR}) IF(SQLITE3BIN) INSTALL(FILES eurephiadb DESTINATION ${SQLITE3PREFIX}/ RENAME eurephiadb-template) ENDIF(SQLITE3BIN) diff --git a/eurephiadm/CMakeLists.txt b/eurephiadm/CMakeLists.txt index b6e37c6..984d258 100644 --- a/eurephiadm/CMakeLists.txt +++ b/eurephiadm/CMakeLists.txt @@ -41,3 +41,6 @@ ADD_DEFINITIONS(-DEUREPHIADM_XSLT_PATH="${EUREPHIADM_XSLT_PATH}") INCLUDE_DIRECTORIES(../common ../database) ADD_EXECUTABLE(eurephiadm ${efw_ipt_SRC}) TARGET_LINK_LIBRARIES(eurephiadm dl crypto ${EXTRA_LIBS}) + +INSTALL(TARGETS eurephiadm RUNTIME DESTINATION ${BINDIR}) +SUBDIRS(../xslt/eurephiadm) diff --git a/plugin/CMakeLists.txt b/plugin/CMakeLists.txt index 82fbb6e..2ac083e 100644 --- a/plugin/CMakeLists.txt +++ b/plugin/CMakeLists.txt @@ -47,7 +47,7 @@ ADD_LIBRARY(eurephia-auth MODULE ${eurephia_auth_SRC}) TARGET_LINK_LIBRARIES(eurephia-auth dl pthread rt crypto) SET_TARGET_PROPERTIES(eurephia-auth PROPERTIES OUTPUT_NAME eurephia-auth PREFIX "") -INSTALL(TARGETS eurephia-auth LIBRARY DESTINATION ${PREFIX}) +INSTALL(TARGETS eurephia-auth LIBRARY DESTINATION ${PLUGINDIR}) IF(subdirs) SUBDIRS(${subdirs}) diff --git a/plugin/firewall/iptables/CMakeLists.txt b/plugin/firewall/iptables/CMakeLists.txt index fa9c4c5..69173d7 100644 --- a/plugin/firewall/iptables/CMakeLists.txt +++ b/plugin/firewall/iptables/CMakeLists.txt @@ -10,4 +10,4 @@ INCLUDE_DIRECTORIES(BEFORE ../..) ADD_LIBRARY(efw-iptables MODULE ${efw_ipt_SRC}) TARGET_LINK_LIBRARIES(efw-iptables pthread rt gcc_s) SET_TARGET_PROPERTIES(efw-iptables PROPERTIES PREFIX "") -INSTALL(TARGETS efw-iptables LIBRARY DESTINATION ${PREFIX}) +INSTALL(TARGETS efw-iptables LIBRARY DESTINATION ${PLUGINDIR}) diff --git a/xslt/eurephiadm/CMakeLists.txt b/xslt/eurephiadm/CMakeLists.txt new file mode 100644 index 0000000..e35aec1 --- /dev/null +++ b/xslt/eurephiadm/CMakeLists.txt @@ -0,0 +1,5 @@ +SET(eurephiadm_XSLT + fwadmin.xsl + lastlog.xsl +) +INSTALL(FILES ${eurephiadm_XSLT} DESTINATION ${EUREPHIADM_XSLT_PATH}/) |