[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#970098: buster-pu: package orocos-kdl/1.4.0-7+deb10u1



Package: release.debian.org
Severity: normal
Tags: buster
User: release.debian.org@packages.debian.org
Usertags: pu

[ Reason ]
orocos-kdl ships KDLConfig.cmake providing a cmake variable with the
location of the header files. For Debian this is /usr/include, but it's
written as ${CMAKE_CURRENT_LIST_DIR}/../../../include. This breaks with
gcc > 5 and cmake < 3.16 if the path is added as -isystem to the
compiler.
This is the case for the ROS packages using orocos-kdl, as discussed in
https://github.com/ros/rosdistro/issues/26526.

[ Impact ]
If this is not approve the downstream users would need to add a
workaround to make use of the development package.

[ Tests ]
There is an autopkgtest in place, making sure that the headers are still
found. Also this was tested manually.

[ Risks ]
I think the change is trivial and I don't see a risk.

[ Checklist ]
  [X] *all* changes are documented in the d/changelog
  [X] I reviewed all changes and I approve them
  [X] attach debdiff against the package in (old)stable
  [X] the issue is verified as fixed in unstable

[ Changes ]
As /usr/include is a default include path, the patch simply removes the
extra path.

-- System Information:
Debian Release: bullseye/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 5.8.0-1-amd64 (SMP w/8 CPU threads)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
diff --git a/debian/changelog b/debian/changelog
index 9dc72bf..91e8724 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,15 @@
+orocos-kdl (1.4.0-7+deb10u2) buster; urgency=medium
+
+  * Add patch for include path
+    KDLConfig.cmake exports ${CMAKE_CURRENT_LIST_DIR}/../../../include as an
+    include path, which resolves to /usr/include. This breaks with gcc > 5 and
+    cmake < 3.16 as discussed in
+    https://github.com/ros/rosdistro/issues/26526.
+    As /usr/include is a default include path, the patch simply removes the
+    extra path.
+
+ -- Jochen Sprickerhof <jspricke@debian.org>  Fri, 11 Sep 2020 18:15:58 +0200
+
 orocos-kdl (1.4.0-7+deb10u1) buster; urgency=medium
 
   * Add patch for python3 std string conversion (Closes: #956254)
diff --git a/debian/patches/0007-Don-t-export-usr-include-as-include-path.patch b/debian/patches/0007-Don-t-export-usr-include-as-include-path.patch
new file mode 100644
index 0000000..017e061
--- /dev/null
+++ b/debian/patches/0007-Don-t-export-usr-include-as-include-path.patch
@@ -0,0 +1,24 @@
+From: Jochen Sprickerhof <git@jochen.sprickerhof.de>
+Date: Fri, 11 Sep 2020 09:06:41 +0200
+Subject: Don't export /usr/include as include path
+
+It's not needed and breaks cmake < 3.16.
+
+cf. https://github.com/ros/rosdistro/issues/26526
+---
+ orocos_kdl/KDLConfig.cmake.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/orocos_kdl/KDLConfig.cmake.in b/orocos_kdl/KDLConfig.cmake.in
+index a099c19..3a9b738 100644
+--- a/orocos_kdl/KDLConfig.cmake.in
++++ b/orocos_kdl/KDLConfig.cmake.in
+@@ -5,7 +5,7 @@
+ #  orocos_kdl_PKGCONFIG_DIR - directory containing the .pc pkgconfig files
+ 
+ # Compute paths
+-set(orocos_kdl_INCLUDE_DIRS "${CMAKE_CURRENT_LIST_DIR}/../../../include;@Boost_INCLUDE_DIRS@;@Eigen_INCLUDE_DIR@")
++set(orocos_kdl_INCLUDE_DIRS "@Boost_INCLUDE_DIRS@;@Eigen_INCLUDE_DIR@")
+ 
+ set(orocos_kdl_LIBRARIES orocos-kdl)
+ 
diff --git a/debian/patches/series b/debian/patches/series
index da119f6..2c77779 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -2,3 +2,4 @@
 0002-Support-in-tree-compilation.patch
 0003-Don-t-install-OrocosKDLTargets.patch
 0005-Fixed-python3-std-string-conversion-issue.patch
+0007-Don-t-export-usr-include-as-include-path.patch

Reply to: