71 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From: =?utf-8?q?Timo_R=C3=B6hling?= <roehling@debian.org>
 | 
						|
Date: Thu, 7 Oct 2021 20:45:32 +0200
 | 
						|
Subject: Fix misinterpretation of Debian Policy on LIBEXECDIR
 | 
						|
 | 
						|
Forwarded: https://gitlab.kitware.com/cmake/cmake/-/merge_requests/6607
 | 
						|
 | 
						|
The Debian Policy builds upon FHS 3.0 and permits installing to
 | 
						|
/usr/libexec. While Policy does grant an additional exception for
 | 
						|
applications to use a single subdirectory of /usr/lib/<triplet>, this is
 | 
						|
not meant to replace /usr/libexec as valid target.
 | 
						|
---
 | 
						|
 Modules/GNUInstallDirs.cmake                        | 15 ++-------------
 | 
						|
 Tests/RunCMake/GNUInstallDirs/Usr-Debian-stderr.txt |  4 ++--
 | 
						|
 2 files changed, 4 insertions(+), 15 deletions(-)
 | 
						|
 | 
						|
diff --git a/Modules/GNUInstallDirs.cmake b/Modules/GNUInstallDirs.cmake
 | 
						|
index ead55ca..4aaad79 100644
 | 
						|
--- a/Modules/GNUInstallDirs.cmake
 | 
						|
+++ b/Modules/GNUInstallDirs.cmake
 | 
						|
@@ -180,6 +180,8 @@ _GNUInstallDirs_cache_path(CMAKE_INSTALL_BINDIR "bin"
 | 
						|
   "User executables (bin)")
 | 
						|
 _GNUInstallDirs_cache_path(CMAKE_INSTALL_SBINDIR "sbin"
 | 
						|
   "System admin executables (sbin)")
 | 
						|
+_GNUInstallDirs_cache_path(CMAKE_INSTALL_LIBEXECDIR "libexec"
 | 
						|
+  "Program executables (libexec)")
 | 
						|
 _GNUInstallDirs_cache_path(CMAKE_INSTALL_SYSCONFDIR "etc"
 | 
						|
   "Read-only single-machine data (etc)")
 | 
						|
 _GNUInstallDirs_cache_path(CMAKE_INSTALL_SHAREDSTATEDIR "com"
 | 
						|
@@ -274,19 +276,6 @@ set(_GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}" CACHE IN
 | 
						|
 unset(_libdir_set)
 | 
						|
 unset(__LAST_LIBDIR_DEFAULT)
 | 
						|
 
 | 
						|
-if(CMAKE_SYSTEM_NAME MATCHES "^(Linux|kFreeBSD|GNU)$"
 | 
						|
-    AND NOT CMAKE_CROSSCOMPILING
 | 
						|
-    AND NOT EXISTS "/etc/arch-release"
 | 
						|
-    AND EXISTS "/etc/debian_version" # is this a debian system ?
 | 
						|
-    AND "${CMAKE_INSTALL_PREFIX}" MATCHES "^/usr/?$")
 | 
						|
-  # see https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#usrlibexec
 | 
						|
-  # and https://www.debian.org/doc/debian-policy/ch-opersys#file-system-structure (section 9.1.1 bullet point 4)
 | 
						|
-  _GNUInstallDirs_cache_path(CMAKE_INSTALL_LIBEXECDIR "${CMAKE_INSTALL_LIBDIR}"
 | 
						|
-    "Program executables (${CMAKE_INSTALL_LIBDIR})")
 | 
						|
-else()
 | 
						|
-  _GNUInstallDirs_cache_path(CMAKE_INSTALL_LIBEXECDIR "libexec"
 | 
						|
-    "Program executables (libexec)")
 | 
						|
-endif()
 | 
						|
 _GNUInstallDirs_cache_path(CMAKE_INSTALL_INCLUDEDIR "include"
 | 
						|
   "C header files (include)")
 | 
						|
 _GNUInstallDirs_cache_path(CMAKE_INSTALL_OLDINCLUDEDIR "/usr/include"
 | 
						|
diff --git a/Tests/RunCMake/GNUInstallDirs/Usr-Debian-stderr.txt b/Tests/RunCMake/GNUInstallDirs/Usr-Debian-stderr.txt
 | 
						|
index 89578ee..c38006c 100644
 | 
						|
--- a/Tests/RunCMake/GNUInstallDirs/Usr-Debian-stderr.txt
 | 
						|
+++ b/Tests/RunCMake/GNUInstallDirs/Usr-Debian-stderr.txt
 | 
						|
@@ -5,7 +5,7 @@ CMAKE_INSTALL_DOCDIR='share/doc/Usr'
 | 
						|
 CMAKE_INSTALL_INCLUDEDIR='include'
 | 
						|
 CMAKE_INSTALL_INFODIR='share/info'
 | 
						|
 CMAKE_INSTALL_LIBDIR='lib/arch'
 | 
						|
-CMAKE_INSTALL_LIBEXECDIR='lib/arch'
 | 
						|
+CMAKE_INSTALL_LIBEXECDIR='libexec'
 | 
						|
 CMAKE_INSTALL_LOCALEDIR='share/locale'
 | 
						|
 CMAKE_INSTALL_LOCALSTATEDIR='var'
 | 
						|
 CMAKE_INSTALL_RUNSTATEDIR='var/run'
 | 
						|
@@ -20,7 +20,7 @@ CMAKE_INSTALL_FULL_DOCDIR='/usr/share/doc/Usr'
 | 
						|
 CMAKE_INSTALL_FULL_INCLUDEDIR='/usr/include'
 | 
						|
 CMAKE_INSTALL_FULL_INFODIR='/usr/share/info'
 | 
						|
 CMAKE_INSTALL_FULL_LIBDIR='/usr/lib/arch'
 | 
						|
-CMAKE_INSTALL_FULL_LIBEXECDIR='/usr/lib/arch'
 | 
						|
+CMAKE_INSTALL_FULL_LIBEXECDIR='/usr/libexec'
 | 
						|
 CMAKE_INSTALL_FULL_LOCALEDIR='/usr/share/locale'
 | 
						|
 CMAKE_INSTALL_FULL_LOCALSTATEDIR='/var'
 | 
						|
 CMAKE_INSTALL_FULL_RUNSTATEDIR='/var/run'
 |