You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by tr...@apache.org on 2013/11/26 15:58:10 UTC

svn commit: r1545678 - in /qpid/dispatch/trunk: ./ include/qpid/dispatch/ python/qpid_dispatch/ python/qpid_dispatch_internal/ router/ router/src/ src/ tests/ tools/

Author: tross
Date: Tue Nov 26 14:58:09 2013
New Revision: 1545678

URL: http://svn.apache.org/r1545678
Log:
QPID-5335 - Moved python components to a private install location.
- Applied patch provided by Darryl Pierce.

Added:
    qpid/dispatch/trunk/python/qpid_dispatch_internal/
      - copied from r1544173, qpid/dispatch/trunk/python/qpid_dispatch/
    qpid/dispatch/trunk/tools/qdstat.in
      - copied, changed from r1544173, qpid/dispatch/trunk/tools/qdstat
Removed:
    qpid/dispatch/trunk/python/qpid_dispatch/
    qpid/dispatch/trunk/tools/qdstat
Modified:
    qpid/dispatch/trunk/CMakeLists.txt
    qpid/dispatch/trunk/ChangeLog
    qpid/dispatch/trunk/config.sh
    qpid/dispatch/trunk/include/qpid/dispatch/dispatch.h
    qpid/dispatch/trunk/include/qpid/dispatch/python_embedded.h
    qpid/dispatch/trunk/router/CMakeLists.txt
    qpid/dispatch/trunk/router/src/config.h.in
    qpid/dispatch/trunk/router/src/main.c
    qpid/dispatch/trunk/src/config.c
    qpid/dispatch/trunk/src/dispatch.c
    qpid/dispatch/trunk/src/python_embedded.c
    qpid/dispatch/trunk/src/router_pynode.c
    qpid/dispatch/trunk/tests/router_engine_test.py
    qpid/dispatch/trunk/tests/server_test.c

Modified: qpid/dispatch/trunk/CMakeLists.txt
URL: http://svn.apache.org/viewvc/qpid/dispatch/trunk/CMakeLists.txt?rev=1545678&r1=1545677&r2=1545678&view=diff
==============================================================================
--- qpid/dispatch/trunk/CMakeLists.txt (original)
+++ qpid/dispatch/trunk/CMakeLists.txt Tue Nov 26 14:58:09 2013
@@ -48,19 +48,13 @@ if (NOT DEFINED LIB_SUFFIX)
 endif()
 
 set(INCLUDE_INSTALL_DIR include CACHE PATH "Include file directory")
+set(QPID_DISPATCH_HOME "lib/qpid-dispatch" CACHE PATH "Private Dispatch library directory")
 set(LIB_INSTALL_DIR "lib${LIB_SUFFIX}" CACHE PATH "Library object file directory")
 set(SYSCONF_INSTALL_DIR etc CACHE PATH "System read only configuration directory")
 set(SHARE_INSTALL_DIR share CACHE PATH "Shared read only data directory")
 set(DOC_INSTALL_DIR ${SHARE_INSTALL_DIR}/doc CACHE PATH "Shared read-only data directory")
 set(MAN_INSTALL_DIR share/man CACHE PATH "Manpage directory")
-
-# determine the location for installing the python packages
-if (PYTHONLIBS_FOUND)
-    execute_process(COMMAND ${PYTHON_EXECUTABLE}
-                    -c "from distutils.sysconfig import get_python_lib; print get_python_lib(False, False, \"${CMAKE_INSTALL_PREFIX}\")"
-                    OUTPUT_VARIABLE PYTHON_SITELIB_PACKAGES
-                    OUTPUT_STRIP_TRAILING_WHITESPACE)
-endif (PYTHONLIBS_FOUND)
+set(QPID_DISPATCH_HOME_INSTALLED ${CMAKE_INSTALL_PREFIX}/${QPID_DISPATCH_HOME})
 
 ##
 ## Find dependencies
@@ -86,7 +80,11 @@ set (CMAKE_REQUIRED_INCLUDES ${proton_in
 set (CMAKE_REQUIRED_LIBRARIES ${proton_lib})
 check_function_exists(pn_link_get_drain HAVE_LINK_GET_DRAIN)
 
-configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/conditionals.h.in ${CMAKE_CURRENT_BINARY_DIR}/conditionals.h)
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/conditionals.h.in
+               ${CMAKE_CURRENT_BINARY_DIR}/conditionals.h)
+
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/tools/qdstat.in
+               ${CMAKE_CURRENT_BINARY_DIR}/tools/qdstat)
 
 ##
 ## Build the Multi-Threaded Server Library
@@ -138,39 +136,8 @@ install(FILES etc/qdrouterd.conf DESTINA
 ##
 ## Python modules installation
 ##
-set(PYTHON_STUBS_SOURCES
-    python/qpid_dispatch/stubs/__init__.py
-    python/qpid_dispatch/stubs/ioadapter.py
-    python/qpid_dispatch/stubs/logadapter.py
-)
-
-set(PYTHON_ROUTER_SOURCES
-    python/qpid_dispatch/router/link.py
-    python/qpid_dispatch/router/engine.py
-    python/qpid_dispatch/router/__init__.py
-    python/qpid_dispatch/router/mobile.py
-    python/qpid_dispatch/router/node.py
-    python/qpid_dispatch/router/routing.py
-    python/qpid_dispatch/router/data.py
-    python/qpid_dispatch/router/configuration.py
-    python/qpid_dispatch/router/neighbor.py
-    python/qpid_dispatch/router/path.py
-)
-
-set(PYTHON_CONFIG_SOURCES
-    python/qpid_dispatch/config/parser.py
-    python/qpid_dispatch/config/__init__.py
-    python/qpid_dispatch/config/schema.py
-    python/qpid_dispatch/__init__.py
-)
-
-set(PYTHON_TOOLS_SOURCES
-    python/qpid_dispatch/tools/__init__.py
-    python/qpid_dispatch/tools/display.py
-)
-
 set(PYTHON_TOOLS_EXECUTABLES
-    tools/qdstat
+    ${CMAKE_CURRENT_BINARY_DIR}/tools/qdstat
 )
 
 set(DOC_FILES
@@ -180,29 +147,15 @@ set(DOC_FILES
     TODO
 )
 
-install(FILES ${PYTHON_STUBS_SOURCES}
-        DESTINATION ${PYTHON_SITELIB_PACKAGES}/qpid_dispatch/stubs)
-
-install(FILES ${PYTHON_ROUTER_SOURCES}
-        DESTINATION ${PYTHON_SITELIB_PACKAGES}/qpid_dispatch/router)
-
-install(FILES ${PYTHON_CONFIG_SOURCES}
-        DESTINATION ${PYTHON_SITELIB_PACKAGES}/qpid_dispatch/config)
-
-install(FILES ${PYTHON_TOOLS_SOURCES}
-        DESTINATION ${PYTHON_SITELIB_PACKAGES}/qpid_dispatch/tools)
-
-install(FILES python/qpid_dispatch/__init__.py
-        DESTINATION ${PYTHON_SITELIB_PACKAGES}/qpid_dispatch)
-
-install(FILES python/qpid_dispatch/__init__.py
-        DESTINATION ${PYTHON_SITELIB_PACKAGES}/qpid_dispatch)
+install(DIRECTORY python/qpid_dispatch_internal
+        DESTINATION ${QPID_DISPATCH_HOME}/python)
 
 install(PROGRAMS ${PYTHON_TOOLS_EXECUTABLES}
         DESTINATION bin)
 
 install(FILES ${DOC_FILES}
         DESTINATION ${DOC_INSTALL_DIR}/qpid-dispatch)
+
 ##
 ## Build Tests
 ##

Modified: qpid/dispatch/trunk/ChangeLog
URL: http://svn.apache.org/viewvc/qpid/dispatch/trunk/ChangeLog?rev=1545678&r1=1545677&r2=1545678&view=diff
==============================================================================
--- qpid/dispatch/trunk/ChangeLog (original)
+++ qpid/dispatch/trunk/ChangeLog Tue Nov 26 14:58:09 2013
@@ -25,3 +25,4 @@ Version 0.1:
 	* QPID-5201: Dispatch - Fix build errors in Release mode
 	* QPID-5218: [dispatch] Crash when outgoing window > 0 and multiple subscribed Messenger clients
 	* QPID-5338: The Dispatch top-level Python package should be renamed
+	* QPID-5335: Dispatch Python libraries need to install to a private directory.

Modified: qpid/dispatch/trunk/config.sh
URL: http://svn.apache.org/viewvc/qpid/dispatch/trunk/config.sh?rev=1545678&r1=1545677&r2=1545678&view=diff
==============================================================================
--- qpid/dispatch/trunk/config.sh (original)
+++ qpid/dispatch/trunk/config.sh Tue Nov 26 14:58:09 2013
@@ -23,5 +23,5 @@ export QPID_DISPATCH_HOME=$(pwd)
 cd - > /dev/null
 
 export PYTHONPATH=$QPID_DISPATCH_HOME/python:$PYTHONPATH
-export PATH=$QPID_DISPATCH_HOME/tools:$PATH
+export PATH=$QPID_DISPATCH_HOME/build/tools:$PATH
 

Modified: qpid/dispatch/trunk/include/qpid/dispatch/dispatch.h
URL: http://svn.apache.org/viewvc/qpid/dispatch/trunk/include/qpid/dispatch/dispatch.h?rev=1545678&r1=1545677&r2=1545678&view=diff
==============================================================================
--- qpid/dispatch/trunk/include/qpid/dispatch/dispatch.h (original)
+++ qpid/dispatch/trunk/include/qpid/dispatch/dispatch.h Tue Nov 26 14:58:09 2013
@@ -29,10 +29,12 @@ typedef struct qd_dispatch_t qd_dispatch
 /**
  * \brief Initialize the Dispatch library and prepare it for operation.
  *
- * #param config_path The path to the configuration file.
+ * @param config_path The path to the configuration file.
+ * @param python_pkgdir The path to the Python files.
  * @return A handle to be used in API calls for this instance.
  */
-qd_dispatch_t *qd_dispatch(const char *config_path);
+qd_dispatch_t *qd_dispatch(const char *config_path,
+                           const char *python_pkgdir);
 
 
 /**

Modified: qpid/dispatch/trunk/include/qpid/dispatch/python_embedded.h
URL: http://svn.apache.org/viewvc/qpid/dispatch/trunk/include/qpid/dispatch/python_embedded.h?rev=1545678&r1=1545677&r2=1545678&view=diff
==============================================================================
--- qpid/dispatch/trunk/include/qpid/dispatch/python_embedded.h (original)
+++ qpid/dispatch/trunk/include/qpid/dispatch/python_embedded.h Tue Nov 26 14:58:09 2013
@@ -29,7 +29,8 @@
  * Initialize the embedded-python subsystem.  This must be called before
  * any other call into this module is invoked.
  */
-void qd_python_initialize(qd_dispatch_t *qd);
+void qd_python_initialize(qd_dispatch_t *qd,
+                          const char    *python_pkgdir);
 
 /**
  * Finalize the embedded-python subsystem.  After this is called, there

Modified: qpid/dispatch/trunk/router/CMakeLists.txt
URL: http://svn.apache.org/viewvc/qpid/dispatch/trunk/router/CMakeLists.txt?rev=1545678&r1=1545677&r2=1545678&view=diff
==============================================================================
--- qpid/dispatch/trunk/router/CMakeLists.txt (original)
+++ qpid/dispatch/trunk/router/CMakeLists.txt Tue Nov 26 14:58:09 2013
@@ -19,7 +19,7 @@
 
 
 set(DEFAULT_CONFIG_PATH "/etc/qpid-dispatch/qdrouterd.conf" CACHE string "Default config file path")
-
+set(DEFAULT_DISPATCH_PYTHON_DIR ${QPID_DISPATCH_PYTHON_DIR})
 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h)
 
 include_directories(${CMAKE_CURRENT_BINARY_DIR})

Modified: qpid/dispatch/trunk/router/src/config.h.in
URL: http://svn.apache.org/viewvc/qpid/dispatch/trunk/router/src/config.h.in?rev=1545678&r1=1545677&r2=1545678&view=diff
==============================================================================
--- qpid/dispatch/trunk/router/src/config.h.in (original)
+++ qpid/dispatch/trunk/router/src/config.h.in Tue Nov 26 14:58:09 2013
@@ -17,5 +17,5 @@
  * under the License.
  */
 
-#cmakedefine DEFAULT_CONFIG_PATH "${DEFAULT_CONFIG_PATH}"
-
+#cmakedefine DEFAULT_CONFIG_PATH          "${DEFAULT_CONFIG_PATH}"
+#cmakedefine QPID_DISPATCH_HOME_INSTALLED "${QPID_DISPATCH_HOME_INSTALLED}"

Modified: qpid/dispatch/trunk/router/src/main.c
URL: http://svn.apache.org/viewvc/qpid/dispatch/trunk/router/src/main.c?rev=1545678&r1=1545677&r2=1545678&view=diff
==============================================================================
--- qpid/dispatch/trunk/router/src/main.c (original)
+++ qpid/dispatch/trunk/router/src/main.c Tue Nov 26 14:58:09 2013
@@ -87,16 +87,19 @@ static void startup(void *context)
 
 int main(int argc, char **argv)
 {
-    const char *config_path = DEFAULT_CONFIG_PATH;
+#define DEFAULT_DISPATCH_PYTHON_DIR QPID_DISPATCH_HOME_INSTALLED "/python"
+    const char *config_path   = DEFAULT_CONFIG_PATH;
+    const char *python_pkgdir = DEFAULT_DISPATCH_PYTHON_DIR;
 
     static struct option long_options[] = {
-    {"config", required_argument, 0, 'c'},
-    {"help",   no_argument,       0, 'h'},
-    {0,        0,                 0,  0}
+    {"config",  required_argument, 0, 'c'},
+    {"include", required_argument, 0, 'I'},
+    {"help",    no_argument,       0, 'h'},
+    {0,         0,                 0,  0}
     };
 
     while (1) {
-        int c = getopt_long(argc, argv, "c:h", long_options, 0);
+        int c = getopt_long(argc, argv, "c:I:h", long_options, 0);
         if (c == -1)
             break;
 
@@ -105,10 +108,16 @@ int main(int argc, char **argv)
             config_path = optarg;
             break;
 
+        case 'I' :
+            python_pkgdir = optarg;
+            break;
+
         case 'h' :
             printf("Usage: %s [OPTION]\n\n", argv[0]);
             printf("  -c, --config=PATH (%s)\n", DEFAULT_CONFIG_PATH);
             printf("                             Load configuration from file at PATH\n");
+            printf("  -I, --include=PATH (%s)\n", DEFAULT_DISPATCH_PYTHON_DIR);
+            printf("                             Location of Dispatch's Python library\n");
             printf("  -h, --help                 Print this help\n");
             exit(0);
 
@@ -119,7 +128,7 @@ int main(int argc, char **argv)
 
     qd_log_set_mask(0xFFFFFFFE);
 
-    dispatch = qd_dispatch(config_path);
+    dispatch = qd_dispatch(config_path, python_pkgdir);
 
     qd_server_set_signal_handler(dispatch, server_signal_handler, 0);
     qd_server_set_start_handler(dispatch, thread_start_handler, 0);

Modified: qpid/dispatch/trunk/src/config.c
URL: http://svn.apache.org/viewvc/qpid/dispatch/trunk/src/config.c?rev=1545678&r1=1545677&r2=1545678&view=diff
==============================================================================
--- qpid/dispatch/trunk/src/config.c (original)
+++ qpid/dispatch/trunk/src/config.c Tue Nov 26 14:58:09 2013
@@ -22,7 +22,7 @@
 #include <qpid/dispatch/alloc.h>
 #include <qpid/dispatch/log.h>
 
-#define PYTHON_MODULE "qpid_dispatch.config"
+#define PYTHON_MODULE "qpid_dispatch_internal.config"
 
 static const char *log_module = "CONFIG";
 

Modified: qpid/dispatch/trunk/src/dispatch.c
URL: http://svn.apache.org/viewvc/qpid/dispatch/trunk/src/dispatch.c?rev=1545678&r1=1545677&r2=1545678&view=diff
==============================================================================
--- qpid/dispatch/trunk/src/dispatch.c (original)
+++ qpid/dispatch/trunk/src/dispatch.c Tue Nov 26 14:58:09 2013
@@ -50,7 +50,8 @@ static const char *CONF_LISTENER    = "l
 static const char *CONF_CONNECTOR   = "connector";
 
 
-qd_dispatch_t *qd_dispatch(const char *config_path)
+qd_dispatch_t *qd_dispatch(const char *config_path,
+                           const char *python_pkgdir)
 {
     qd_dispatch_t *qd = NEW(qd_dispatch_t);
 
@@ -65,7 +66,7 @@ qd_dispatch_t *qd_dispatch(const char *c
     DEQ_INIT(qd->config_listeners);
     DEQ_INIT(qd->config_connectors);
 
-    qd_python_initialize(qd);
+    qd_python_initialize(qd, python_pkgdir);
     qd_log_initialize();
     qd_alloc_initialize();
 

Modified: qpid/dispatch/trunk/src/python_embedded.c
URL: http://svn.apache.org/viewvc/qpid/dispatch/trunk/src/python_embedded.c?rev=1545678&r1=1545677&r2=1545678&view=diff
==============================================================================
--- qpid/dispatch/trunk/src/python_embedded.c (original)
+++ qpid/dispatch/trunk/src/python_embedded.c Tue Nov 26 14:58:09 2013
@@ -34,14 +34,18 @@ static uint32_t       ref_count  = 0;
 static sys_mutex_t   *lock       = 0;
 static char          *log_module = "PYTHON";
 static PyObject      *dispatch_module = 0;
+static PyObject      *dispatch_python_pkgdir = 0;
 
 static void qd_python_setup();
 
 
-void qd_python_initialize(qd_dispatch_t *qd)
+void qd_python_initialize(qd_dispatch_t *qd,
+                          const char    *python_pkgdir)
 {
     dispatch = qd;
     lock = sys_mutex();
+    if (python_pkgdir)
+        dispatch_python_pkgdir = PyString_FromString(python_pkgdir);
 }
 
 
@@ -642,6 +646,14 @@ static void qd_python_setup()
         PyObject *m = Py_InitModule3("dispatch", empty_methods, "Dispatch Adapter Module");
 
         //
+        // Append sys.path to include location of Dispatch libraries
+        //
+        if (dispatch_python_pkgdir) {
+            PyObject *sys_path = PySys_GetObject("path");
+            PyList_Append(sys_path, dispatch_python_pkgdir);
+        }
+
+        //
         // Add LogAdapter
         //
         PyTypeObject *laType = &LogAdapterType;

Modified: qpid/dispatch/trunk/src/router_pynode.c
URL: http://svn.apache.org/viewvc/qpid/dispatch/trunk/src/router_pynode.c?rev=1545678&r1=1545677&r2=1545678&view=diff
==============================================================================
--- qpid/dispatch/trunk/src/router_pynode.c (original)
+++ qpid/dispatch/trunk/src/router_pynode.c Tue Nov 26 14:58:09 2013
@@ -538,7 +538,7 @@ void qd_router_python_setup(qd_router_t 
     PyObject* pClass;
     PyObject* pArgs;
 
-    pName   = PyString_FromString("qpid_dispatch.router");
+    pName   = PyString_FromString("qpid_dispatch_internal.router");
     pModule = PyImport_Import(pName);
     Py_DECREF(pName);
     if (!pModule) {

Modified: qpid/dispatch/trunk/tests/router_engine_test.py
URL: http://svn.apache.org/viewvc/qpid/dispatch/trunk/tests/router_engine_test.py?rev=1545678&r1=1545677&r2=1545678&view=diff
==============================================================================
--- qpid/dispatch/trunk/tests/router_engine_test.py (original)
+++ qpid/dispatch/trunk/tests/router_engine_test.py Tue Nov 26 14:58:09 2013
@@ -18,8 +18,8 @@
 #
 
 import unittest
-from qpid_dispatch.router.engine import NeighborEngine, PathEngine, Configuration, NodeTracker
-from qpid_dispatch.router.data import LinkState, MessageHELLO
+from qpid_dispatch_internal.router.engine import NeighborEngine, PathEngine, Configuration, NodeTracker
+from qpid_dispatch_internal.router.data import LinkState, MessageHELLO
 
 class Adapter(object):
     def __init__(self, domain):

Modified: qpid/dispatch/trunk/tests/server_test.c
URL: http://svn.apache.org/viewvc/qpid/dispatch/trunk/tests/server_test.c?rev=1545678&r1=1545677&r2=1545678&view=diff
==============================================================================
--- qpid/dispatch/trunk/tests/server_test.c (original)
+++ qpid/dispatch/trunk/tests/server_test.c Tue Nov 26 14:58:09 2013
@@ -117,7 +117,7 @@ static char* test_start_handler(void *co
 {
     int i;
 
-    qd = qd_dispatch(config_file);
+    qd = qd_dispatch(config_file, 0);
 
     expected_context = (void*) 0x00112233;
     stored_error[0] = 0x0;
@@ -140,7 +140,7 @@ static char* test_start_handler(void *co
 
 static char *test_server_start(void *context)
 {
-    qd = qd_dispatch(config_file);
+    qd = qd_dispatch(config_file, 0);
     qd_server_start(qd);
     qd_server_stop(qd);
     qd_dispatch_free(qd);
@@ -154,7 +154,7 @@ static char* test_user_fd(void *context)
     int res;
     qd_timer_t *timer;
 
-    qd = qd_dispatch(config_file);
+    qd = qd_dispatch(config_file, 0);
     qd_server_set_user_fd_handler(qd, ufd_handler);
     timer = qd_timer(qd, fd_test_start, 0);
     qd_timer_schedule(timer, 0);

Copied: qpid/dispatch/trunk/tools/qdstat.in (from r1544173, qpid/dispatch/trunk/tools/qdstat)
URL: http://svn.apache.org/viewvc/qpid/dispatch/trunk/tools/qdstat.in?p2=qpid/dispatch/trunk/tools/qdstat.in&p1=qpid/dispatch/trunk/tools/qdstat&r1=1544173&r2=1545678&rev=1545678&view=diff
==============================================================================
--- qpid/dispatch/trunk/tools/qdstat (original)
+++ qpid/dispatch/trunk/tools/qdstat.in Tue Nov 26 14:58:09 2013
@@ -27,10 +27,10 @@ import socket
 import re
 from proton import Messenger, Message
 
-home = os.environ.get("QD_TOOLS_HOME", os.path.normpath("/usr/share/qd-tools"))
+home = os.environ.get("QPID_DISPATCH_HOME", os.path.normpath("${QPID_DISPATCH_HOME}"))
 sys.path.append(os.path.join(home, "python"))
 
-from qpid_dispatch.tools import Display, Header, Sorter, YN, Commas, TimeLong
+from qpid_dispatch_internal.tools import Display, Header, Sorter, YN, Commas, TimeLong
 
 
 class Config:



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org