summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt7
-rwxr-xr-xconfigure80
-rw-r--r--database/sqlite/CMakeLists.txt2
-rw-r--r--eurephiadm/CMakeLists.txt3
-rw-r--r--plugin/CMakeLists.txt2
-rw-r--r--plugin/firewall/iptables/CMakeLists.txt2
-rw-r--r--xslt/eurephiadm/CMakeLists.txt5
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)
diff --git a/configure b/configure
index b54774c..758db91 100755
--- a/configure
+++ b/configure
@@ -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}/)