Browse Source

[5170] Done

Francis Dupont 8 years ago
parent
commit
8d4a4511c8
3 changed files with 14 additions and 9 deletions
  1. 9 0
      configure.ac
  2. 2 9
      src/bin/shell/Makefile.am
  3. 3 0
      src/bin/shell/kea-shell.in

+ 9 - 0
configure.ac

@@ -519,6 +519,7 @@ AC_ARG_ENABLE(shell, [AC_HELP_STRING([--enable-shell],
   [enable kea-shell, a text management client for Control Agent [default=no]])],
   enable_shell=$enableval, enable_shell=no)
 
+PKGPYTHONDIR=
 if test "x$enable_shell" != xno ; then
 # If kea-shell is enabled, we really need python. 2.7 or anything newer will do.
 # We try to find 3.x first. If not found, we can do with 2.7.
@@ -526,12 +527,20 @@ if test "x$enable_shell" != xno ; then
   if test "x$found" = xno ; then
     AM_PATH_PYTHON([2.7])
   fi
+  # pkgpythondir needs to be expanded
+  PKGPYTHONDIR="$pkgpythondir"
+  OLD=
+  while test "x$OLD" != "x$PKGPYTHONDIR"; do
+    OLD="$PKGPYTHONDIR"
+    eval PKGPYTHONDIR="\"$OLD\""
+  done
 else
   PYTHON=no
 fi
 
 # Export to makefiles the info whether we have shell enabled or not
 AM_CONDITIONAL(KEA_SHELL, test x$enable_shell != xno)
+AC_SUBST(PKGPYTHONDIR)
 
 # produce PIC unless we disable shared libraries. need this for python bindings.
 if test $enable_shared != "no" -a "X$GXX" = "Xyes"; then

+ 2 - 9
src/bin/shell/Makefile.am

@@ -5,10 +5,9 @@ EXTRA_DIST =
 if KEA_SHELL
 
 # Kea-shell is enabled, here are proper rules for it.
-kea_shell_PYTHON = kea_conn.py kea_connector2.py kea_connector3.py
-kea_shelldir = @localstatedir@/@PACKAGE@
+pkgpython_PYTHON = kea_conn.py kea_connector2.py kea_connector3.py
 
-bin_SCRIPTS = kea-shell
+sbin_SCRIPTS = kea-shell
 
 else
 
@@ -37,12 +36,6 @@ $(man_MANS):
 
 endif
 
-install-data-local:
-	$(mkinstalldirs) $(DESTDIR)/@localstatedir@/@PACKAGE@
-
-install-data-hook:
-	-chmod 2770 $(DESTDIR)/@localstatedir@/@PACKAGE@
-
 CLEANDIRS = __pycache__
 
 clean-local:

+ 3 - 0
src/bin/shell/kea-shell.in

@@ -17,10 +17,13 @@ Text client for Control Agent process
 # that's a stand alone package that requires separate installation. One of
 # the design requirements was to not require any additional packages, so
 # the code uses standard libraries available in python. Hence two versions.
+import os
 import sys
 import signal
 import argparse
 
+sys.path.append('@PKGPYTHONDIR@')
+
 from kea_conn import CARequest # CAResponse
 
 if sys.version_info[0] == 2: