dev-util/catkin: install package.xml in /usr/share/ros_packages/$PKG.
authorAlexis Ballier <aballier@gentoo.org>
Fri, 7 Oct 2016 15:50:50 +0000 (17:50 +0200)
committerAlexis Ballier <aballier@gentoo.org>
Fri, 7 Oct 2016 15:55:15 +0000 (17:55 +0200)
This fixes rospack warnings and more importantly rospack reading the whole /usr/share hierarchy.
Bug #595004

Package-Manager: portage-2.3.1

dev-util/catkin/catkin-0.7.1-r2.ebuild [moved from dev-util/catkin/catkin-0.7.1-r1.ebuild with 84% similarity]
dev-util/catkin/catkin-9999.ebuild
dev-util/catkin/files/40catkin
dev-util/catkin/files/catkin_prefix_path_util_py.patch
dev-util/catkin/files/package_xml.patch [new file with mode: 0644]

similarity index 84%
rename from dev-util/catkin/catkin-0.7.1-r1.ebuild
rename to dev-util/catkin/catkin-0.7.1-r2.ebuild
index cf494b1753eec173b24c3686e0c6481dc45fc804..02c18e9c0e1e7ca40a69a0665e24dc30e043f26b 100644 (file)
@@ -41,6 +41,7 @@ PATCHES=(
        "${FILESDIR}/catkin_prefix_path.patch"
        "${FILESDIR}/gnuinstalldirs.patch"
        "${FILESDIR}/catkin_prefix_path_util_py.patch"
+       "${FILESDIR}/package_xml.patch"
 )
 
 src_prepare() {
@@ -98,3 +99,12 @@ src_install() {
        # needed to be considered as a workspace
        touch "${ED}/usr/.catkin"
 }
+
+pkg_postinst() {
+       ewarn "Starting from version 0.7.1-r2, dev-util/catkin changed the"
+       ewarn "installation path for package.xml files on Gentoo."
+       ewarn "In order for ROS to work properly, you will need to reinstall ROS"
+       ewarn "packages that have it installed in the old location:"
+       ewarn "         emerge -1O /usr/share/*/package.xml"
+       ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=595004 for more details."
+}
index cf494b1753eec173b24c3686e0c6481dc45fc804..02c18e9c0e1e7ca40a69a0665e24dc30e043f26b 100644 (file)
@@ -41,6 +41,7 @@ PATCHES=(
        "${FILESDIR}/catkin_prefix_path.patch"
        "${FILESDIR}/gnuinstalldirs.patch"
        "${FILESDIR}/catkin_prefix_path_util_py.patch"
+       "${FILESDIR}/package_xml.patch"
 )
 
 src_prepare() {
@@ -98,3 +99,12 @@ src_install() {
        # needed to be considered as a workspace
        touch "${ED}/usr/.catkin"
 }
+
+pkg_postinst() {
+       ewarn "Starting from version 0.7.1-r2, dev-util/catkin changed the"
+       ewarn "installation path for package.xml files on Gentoo."
+       ewarn "In order for ROS to work properly, you will need to reinstall ROS"
+       ewarn "packages that have it installed in the old location:"
+       ewarn "         emerge -1O /usr/share/*/package.xml"
+       ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=595004 for more details."
+}
index 46a6edf00ca1bffee83aed6326ed51e14c893dfe..469fa37997cc1dbde2aa4360048337b9f616f46c 100644 (file)
@@ -1,3 +1,3 @@
 CATKIN_PREFIX_PATH=/usr
 ROS_ROOT=/usr/share/ros
-ROS_PACKAGE_PATH=/usr/share
+ROS_PACKAGE_PATH=/usr/share/ros_packages
index d97817662e7690c632c4426b94ecd3d5c1f211f0..e667ea9cf59ee6652e5d6a9b0fbbcec91fd6e450 100644 (file)
@@ -14,3 +14,27 @@ Index: catkin-0.6.16/cmake/templates/_setup_util.py.in
          # prepend current workspace if not already part of CPP
          base_path = os.path.dirname(__file__)
          if base_path not in CMAKE_PREFIX_PATH:
+Index: catkin-0.7.1/python/catkin/builder.py
+===================================================================
+--- catkin-0.7.1.orig/python/catkin/builder.py
++++ catkin-0.7.1/python/catkin/builder.py
+@@ -1026,6 +1026,7 @@ def build_workspace_isolated(
+                     'CATKIN_LIB_ENVIRONMENT_PATHS': "'lib'",
+                     'CATKIN_PKGCONFIG_ENVIRONMENT_PATHS': "os.path.join('lib', 'pkgconfig')",
+                     'CMAKE_PREFIX_PATH_AS_IS': ';'.join(os.environ['CMAKE_PREFIX_PATH'].split(os.pathsep)),
++                    'CATKIN_PREFIX_PATH': ';'.join(os.environ['CATKIN_PREFIX_PATH'].split(os.pathsep)),
+                     'PYTHON_EXECUTABLE': sys.executable,
+                     'PYTHON_INSTALL_DIR': get_python_install_dir(),
+                 }
+Index: catkin-0.7.1/test/unit_tests/test_setup_util.py
+===================================================================
+--- catkin-0.7.1.orig/test/unit_tests/test_setup_util.py
++++ catkin-0.7.1/test/unit_tests/test_setup_util.py
+@@ -14,6 +14,7 @@ data = configure_file(os.path.join(os.pa
+                           'PYTHON_EXECUTABLE': sys.executable,
+                           'PYTHON_INSTALL_DIR': 'pythonX.Y/packages',
+                           'CMAKE_PREFIX_PATH_AS_IS': '',
++                          'CATKIN_PREFIX_PATH':'',
+                       })
+ with tempfile.NamedTemporaryFile('w+') as setup_util_file:
+     setup_util_file.write(data)
diff --git a/dev-util/catkin/files/package_xml.patch b/dev-util/catkin/files/package_xml.patch
new file mode 100644 (file)
index 0000000..6099f07
--- /dev/null
@@ -0,0 +1,37 @@
+Index: catkin-0.7.1/cmake/catkin_package.cmake
+===================================================================
+--- catkin-0.7.1.orig/cmake/catkin_package.cmake
++++ catkin-0.7.1/cmake/catkin_package.cmake
+@@ -518,6 +518,6 @@ function(_catkin_package)
+   # install package.xml
+   install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/package.xml
+-    DESTINATION share/${PROJECT_NAME}
++    DESTINATION share/ros_packages/${PROJECT_NAME}
+   )
+ endfunction()
+Index: catkin-0.7.1/cmake/all.cmake
+===================================================================
+--- catkin-0.7.1.orig/cmake/all.cmake
++++ catkin-0.7.1/cmake/all.cmake
+@@ -156,7 +156,7 @@ foreach(filename
+ endforeach()
+ # output catkin version for debugging
+-_catkin_package_xml(${CMAKE_BINARY_DIR}/catkin/catkin_generated/version DIRECTORY ${catkin_EXTRAS_DIR}/..)
++#_catkin_package_xml(${CMAKE_BINARY_DIR}/catkin/catkin_generated/version DIRECTORY ${catkin_EXTRAS_DIR}/../../ros_packages/catkin)
+ message(STATUS "catkin ${catkin_VERSION}")
+ # ensure that no current package name is set
+ unset(_CATKIN_CURRENT_PACKAGE)
+Index: catkin-0.7.1/cmake/catkin_metapackage.cmake
+===================================================================
+--- catkin-0.7.1.orig/cmake/catkin_metapackage.cmake
++++ catkin-0.7.1/cmake/catkin_metapackage.cmake
+@@ -40,6 +40,6 @@ function(catkin_metapackage)
+   # install package.xml
+   install(FILES ${ARG_DIRECTORY}/package.xml
+-    DESTINATION share/${PROJECT_NAME}
++    DESTINATION share/ros_packages/${PROJECT_NAME}
+   )
+ endfunction()