--- Begin Message ---
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
--- End Message ---