You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ac...@apache.org on 2014/09/16 17:18:25 UTC

svn commit: r1625329 - in /qpid/dispatch/trunk: python/CMakeLists.txt python/install_python.cmake python/qpid_dispatch_internal/management/agent.py python/setup.py.in tools/qdmanage

Author: aconway
Date: Tue Sep 16 15:18:24 2014
New Revision: 1625329

URL: http://svn.apache.org/r1625329
Log:
DISPATCH-56:: Fixes to qdmanage and python module installer

- Fix typo in qdmanage, get-* commands were calling 'create' instead of the get-* operation.
- Fix python installer to include output files in cmake install_manifest.txt for uninstall scripts.

Added:
    qpid/dispatch/trunk/python/install_python.cmake
      - copied, changed from r1625117, qpid/dispatch/trunk/python/CMakeLists.txt
Modified:
    qpid/dispatch/trunk/python/CMakeLists.txt
    qpid/dispatch/trunk/python/qpid_dispatch_internal/management/agent.py
    qpid/dispatch/trunk/python/setup.py.in
    qpid/dispatch/trunk/tools/qdmanage

Modified: qpid/dispatch/trunk/python/CMakeLists.txt
URL: http://svn.apache.org/viewvc/qpid/dispatch/trunk/python/CMakeLists.txt?rev=1625329&r1=1625328&r2=1625329&view=diff
==============================================================================
--- qpid/dispatch/trunk/python/CMakeLists.txt (original)
+++ qpid/dispatch/trunk/python/CMakeLists.txt Tue Sep 16 15:18:24 2014
@@ -20,10 +20,8 @@
 # Private python modules, not in standard python site dir.
 install(DIRECTORY qpid_dispatch_internal DESTINATION ${QPID_DISPATCH_HOME}/python)
 
-# Python files with CMake config variables. 
 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/setup.py.in
                ${CMAKE_CURRENT_BINARY_DIR}/setup.py)
 
-# Use python setup.py install for public python modules.	     
-install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} setup.py -v install --prefix=${CMAKE_INSTALL_PREFIX} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})")
-
+# Install script for public python modules
+install(SCRIPT install_python.cmake)

Copied: qpid/dispatch/trunk/python/install_python.cmake (from r1625117, qpid/dispatch/trunk/python/CMakeLists.txt)
URL: http://svn.apache.org/viewvc/qpid/dispatch/trunk/python/install_python.cmake?p2=qpid/dispatch/trunk/python/install_python.cmake&p1=qpid/dispatch/trunk/python/CMakeLists.txt&r1=1625117&r2=1625329&rev=1625329&view=diff
==============================================================================
--- qpid/dispatch/trunk/python/CMakeLists.txt (original)
+++ qpid/dispatch/trunk/python/install_python.cmake Tue Sep 16 15:18:24 2014
@@ -17,13 +17,16 @@
 # under the License.
 #
 
-# Private python modules, not in standard python site dir.
-install(DIRECTORY qpid_dispatch_internal DESTINATION ${QPID_DISPATCH_HOME}/python)
+# Install script to install public python modules.
+# Install with setup.py, add installed files to install manifest.
 
-# Python files with CMake config variables. 
-configure_file(${CMAKE_CURRENT_SOURCE_DIR}/setup.py.in
-               ${CMAKE_CURRENT_BINARY_DIR}/setup.py)
+include(FindPythonInterp)
 
-# Use python setup.py install for public python modules.	     
-install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} setup.py -v install --prefix=${CMAKE_INSTALL_PREFIX} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})")
+set(PYTHON_MANIFEST ${CMAKE_CURRENT_BINARY_DIR}/python/python_manifest.txt)
 
+execute_process(COMMAND ${PYTHON_EXECUTABLE}
+  setup.py -v install --prefix=${CMAKE_INSTALL_PREFIX} --record=${PYTHON_MANIFEST}
+  WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/python)
+
+file(READ ${PYTHON_MANIFEST} PYTHON_MANIFEST_FILES)
+list(APPEND CMAKE_INSTALL_MANIFEST_FILES ${PYTHON_MANIFEST_FILES})

Modified: qpid/dispatch/trunk/python/qpid_dispatch_internal/management/agent.py
URL: http://svn.apache.org/viewvc/qpid/dispatch/trunk/python/qpid_dispatch_internal/management/agent.py?rev=1625329&r1=1625328&r2=1625329&view=diff
==============================================================================
--- qpid/dispatch/trunk/python/qpid_dispatch_internal/management/agent.py (original)
+++ qpid/dispatch/trunk/python/qpid_dispatch_internal/management/agent.py Tue Sep 16 15:18:24 2014
@@ -18,7 +18,7 @@
 #
 
 """
-Pyton agent for dispatch router.
+Python agent for dispatch router.
 
 Implements the server side of the AMQP management protocol for the dispatch router.
 Manages a set of manageable Entities that can be Created, Read, Updated and Deleted.

Modified: qpid/dispatch/trunk/python/setup.py.in
URL: http://svn.apache.org/viewvc/qpid/dispatch/trunk/python/setup.py.in?rev=1625329&r1=1625328&r2=1625329&view=diff
==============================================================================
--- qpid/dispatch/trunk/python/setup.py.in (original)
+++ qpid/dispatch/trunk/python/setup.py.in Tue Sep 16 15:18:24 2014
@@ -19,33 +19,36 @@
 #
 
 from distutils.core import setup
-from distutils.sysconfig import get_python_lib
+from distutils.command.build_py import build_py
+from distutils.file_util import write_file
 import os
 
 """Install public packages and scripts for Qpid Dispatch."""
 
+class BuildPy(build_py):
+    """Extend standard build command, add generated site_data.py file."""
+
+    def site_data_py(self): return os.path.join(self.build_lib, 'qpid_dispatch', 'site_data.py')
+
+    def run(self):
+        build_py.run(self)      # Run the standard build
+        write_file(self.site_data_py(), ['HOME = "${QPID_DISPATCH_HOME_INSTALLED}"'])
+
+    def get_outputs(self, **kwargs):
+        return build_py.get_outputs(self, **kwargs) +[self.site_data_py()]
+
+# Install public python modules in standard python locations.
 setup(
     name='qpid_dispatch',
     description='Apache Qpid Dispatch tools and libraries.',
-
+    package_dir={'' : '${CMAKE_SOURCE_DIR}/python'},
     packages=['qpid_dispatch', 'qpid_dispatch.management'],
-    package_dir={'qpid_dispatch' : '${CMAKE_SOURCE_DIR}/python/qpid_dispatch'},
     scripts=['${CMAKE_SOURCE_DIR}/tools/qdstat', '${CMAKE_SOURCE_DIR}/tools/qdmanage'],
+    cmdclass={'build_py': BuildPy},
 
     version='${QPID_DISPATCH_VERSION}',
     author='Apache Qpid',
     author_email='dev@qpid.apache.org',
     url='http://qpid.apache.org/',
-    license='Apache Software License',
+    license='Apache Software License'
 )
-
-# Create site_data.py pointing to the install location for the private files.
-site_data = os.path.join(
-    get_python_lib(prefix='${CMAKE_INSTALL_PREFIX}'), 'qpid_dispatch', 'site_data.py')
-try:
-    print "creating %s" % (site_data)
-    f = open(site_data, 'w')
-    f.write('HOME = "${QPID_DISPATCH_HOME_INSTALLED}"\n')
-finally:
-    f.close()
-

Modified: qpid/dispatch/trunk/tools/qdmanage
URL: http://svn.apache.org/viewvc/qpid/dispatch/trunk/tools/qdmanage?rev=1625329&r1=1625328&r2=1625329&view=diff
==============================================================================
--- qpid/dispatch/trunk/tools/qdmanage (original)
+++ qpid/dispatch/trunk/tools/qdmanage Tue Sep 16 15:18:24 2014
@@ -186,21 +186,21 @@ For help with a command: %s <command> --
         self.setup(
             "Get the list of entity types. Prints a JSON list of type names.",
             [('type', 'string', 'Restrict types implementing <type>.')])
-        self.print_json(self.call_node('create'))
+        self.print_json(self.call_node('get-types'))
 
     @commands
     def get_attributes(self):
         self.setup(
             "Get the list of entity attribute names. Prints a JSON list of attribute names.",
             [('type', 'string', 'If set return only attributes for <type>.')])
-        self.print_json(self.call_node('create'))
+        self.print_json(self.call_node('get-attributes'))
 
     @commands
     def get_operations(self):
         self.setup(
             "Get the list of entity operation names. Prints a JSON list of operation names.",
             [('type', 'string', 'If set return only operations for <type>.')])
-        self.print_json(self.call_node('create'))
+        self.print_json(self.call_node('get-operations'))
 
 
 def main(argv):



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