Source: pupnp Version: 1:1.14.25-1 Severity: important Tags: patch upstream Control: forwarded -1 https://github.com/pupnp/pupnp/pull/534
Dear Maintainer,
I am currently working on an updated version of the amule package which
normally build-depends on libupnp-dev. When trying such a build,
setting up the build environment using pbuilder/cowbuilder fails with
various messages like:
CMake Error in src/CMakeLists.txt:
Imported target "UPNP::Shared" includes non-existent path
"/usr/COMPONENT"
in its INTERFACE_INCLUDE_DIRECTORIES. Possible reasons include:
* The path was deleted, renamed, or moved to another location.
* An install or uninstall procedure did not complete successfully.
* The installation package was faulty and references files it does not
provide.
See pipeline on Salsa [1] for a complete picture.
These errors are caused by a malformed INTERFACE_INCLUDE_DIRECTORIES
statement in /usr/lib/*/cmake/UPNP/UPNP.cmake at line 73. In addition,
exactly the same malformed statement exists in
/usr/lib/*/IXML/IXML.cmake again at line 73.
These malformed statements are originating from invalid use of
'install(TARGETS ... INCLUDES DESTINATION ...)' in source files
upnp/CMakeLists.txt [2] + [3] and ixml/CMakeLists.txt [4] + [5].
INCLUDES DESTINATION does not know artifact options like COMPONENT but
solely directories [6].
I reported the issue upstream. Though, upstream seems to be hesitant to
accept my pull request [7].
I prepared patches to fix this in Debian for versions 1:1.14.25-1 and
1:1.18.0-1 of pupnp. Please find the patches attached, ready to be
imported with 'quilt import ...'. A patched local build of pupnp
1:1.14.25-1 enabled a successful local build of the amule package under
development. It would be great patched versions 1:1.14.25-2 and
1:1.18.0-2 of pupnp would show up in the repo.
Best,
Sven
[1] https://salsa.debian.org/sge/amule/-/jobs/9235504#L2703 ff.
[2] https://sources.debian.org/src/pupnp/1%3A1.14.25-1/upnp/CMakeLists.txt#L159
+ L160
[3] https://sources.debian.org/src/pupnp/1%3A1.14.25-1/upnp/CMakeLists.txt#L218
+ L219
[4] https://sources.debian.org/src/pupnp/1%3A1.14.25-1/ixml/CMakeLists.txt#L60
+ L61
[5] https://sources.debian.org/src/pupnp/1%3A1.14.25-1/ixml/CMakeLists.txt#L109
+ L110
[6] https://cmake.org/cmake/help/v4.0/command/install.html#signatures
[7] https://github.com/pupnp/pupnp/pull/534
-- System Information:
Debian Release: forky/sid
APT prefers testing
APT policy: (500, 'testing')
Architecture: amd64 (x86_64)
Kernel: Linux 6.18.9+deb14-amd64 (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8),
LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
--
GPG Fingerprint
3DF5 E8AA 43FC 9FDF D086 F195 ADF5 0EDA F8AD D585
Description: Fix usage of INCLUDES DESTINATION In ixml/CMakeLists.txt and upnp/CMakeLists.txt: INCLUDES DESTINATION is not an <artifact-kind> and thus does not come with <artifact-option>s like e.g. COMPONENT. At least with cmake 4, the strings up to the next <artifact-kind> get considered as paths which do not exist, resulting in invalid 'INTERFACE_INCLUDE_DIRECTORIES ...' lines in the generated files /usr/lib/*/cmake/IXML/IXML.cmake and /usr/lib/*/cmake/UPNP/UPNP.cmake. . This patch drops the false 'COMPONENT UPNP_Development' lines. As a saveguard the remaining 'INCLUDES DESTINATION...' lines are moved to the end of the respective invocation of 'install(TARGET...)' as the cmake manual suggests, see https://cmake.org/cmake/help/v4.0/command/install.html#signatures. Author: Sven Geuer <[email protected]> Origin: backport, https://github.com/pupnp/pupnp/pull/534 Forwarded: not-needed Last-Update: 2026-03-13 --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ --- a/ixml/CMakeLists.txt +++ b/ixml/CMakeLists.txt @@ -57,8 +57,6 @@ EXPORT IXML ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT UPNP_Development - INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/upnp - COMPONENT UPNP_Development LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT UPNP_RunTime NAMELINK_COMPONENT UPNP_Development @@ -66,6 +64,7 @@ COMPONENT UPNP_Development RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT UPNP_RunTime + INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/upnp ) endif() @@ -106,8 +105,6 @@ EXPORT IXML ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT UPNP_Development - INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/upnp - COMPONENT UPNP_Development LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT UPNP_RunTime NAMELINK_COMPONENT UPNP_Development @@ -115,6 +112,7 @@ COMPONENT UPNP_Development RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT UPNP_RunTime + INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/upnp ) endif() --- a/upnp/CMakeLists.txt +++ b/upnp/CMakeLists.txt @@ -156,8 +156,6 @@ EXPORT UPNP ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT UPNP_Development - INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/upnp - COMPONENT UPNP_Development LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT UPNP_RunTime NAMELINK_COMPONENT UPNP_Development @@ -165,6 +163,7 @@ COMPONENT UPNP_Development RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT UPNP_RunTime + INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/upnp ) endif() @@ -215,8 +214,6 @@ EXPORT UPNP ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT UPNP_Development - INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/upnp - COMPONENT UPNP_Development LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT UPNP_RunTime NAMELINK_COMPONENT UPNP_Development @@ -224,6 +221,7 @@ COMPONENT UPNP_Development RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT UPNP_RunTime + INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/upnp ) endif()
Description: Fix usage of INCLUDES DESTINATION In ixml/CMakeLists.txt and upnp/CMakeLists.txt: INCLUDES DESTINATION is not an <artifact-kind> and thus does not come with <artifact-option>s like e.g. COMPONENT. At least with cmake 4, the strings up to the next <artifact-kind> get considered as paths which do not exist, resulting in invalid 'INTERFACE_INCLUDE_DIRECTORIES ...' lines in the generated files /usr/lib/*/cmake/IXML/IXML.cmake and /usr/lib/*/cmake/UPNP/UPNP.cmake. . This patch drops the false 'COMPONENT UPNP_Development' lines. As a saveguard the remaining 'INCLUDES DESTINATION...' lines are moved to the end of the respective invocation of 'install(TARGET...)' as the cmake manual suggests, see https://cmake.org/cmake/help/v4.0/command/install.html#signatures. Author: Sven Geuer <[email protected]> Origin: backport, https://github.com/pupnp/pupnp/pull/534 Forwarded: not-needed Last-Update: 2026-03-13 --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ --- a/ixml/CMakeLists.txt +++ b/ixml/CMakeLists.txt @@ -58,9 +58,6 @@ EXPORT IXML ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT UPNP_Development - INCLUDES - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/upnp - COMPONENT UPNP_Development LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT UPNP_RunTime NAMELINK_COMPONENT UPNP_Development @@ -68,6 +65,7 @@ COMPONENT UPNP_Development RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT UPNP_RunTime + INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/upnp ) endif() @@ -111,9 +109,6 @@ EXPORT IXML ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT UPNP_Development - INCLUDES - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/upnp - COMPONENT UPNP_Development LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT UPNP_RunTime NAMELINK_COMPONENT UPNP_Development @@ -121,6 +116,7 @@ COMPONENT UPNP_Development RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT UPNP_RunTime + INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/upnp ) endif() --- a/upnp/CMakeLists.txt +++ b/upnp/CMakeLists.txt @@ -163,9 +163,6 @@ EXPORT UPNP ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT UPNP_Development - INCLUDES - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/upnp - COMPONENT UPNP_Development LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT UPNP_RunTime NAMELINK_COMPONENT UPNP_Development @@ -173,6 +170,7 @@ COMPONENT UPNP_Development RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT UPNP_RunTime + INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/upnp ) endif() @@ -230,9 +228,6 @@ EXPORT UPNP ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT UPNP_Development - INCLUDES - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/upnp - COMPONENT UPNP_Development LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT UPNP_RunTime NAMELINK_COMPONENT UPNP_Development @@ -240,6 +235,7 @@ COMPONENT UPNP_Development RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT UPNP_RunTime + INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/upnp ) endif()
signature.asc
Description: This is a digitally signed message part

