Add patch for CMake installation directory improvements in libarchive

This commit is contained in:
2026-05-26 02:28:36 -05:00
parent aac5d72fe4
commit 1a0fcaccf5
@@ -0,0 +1,114 @@
diff -Naur orig/libarchive-3.8.7/CMakeLists.txt mod/libarchive-3.8.7/CMakeLists.txt
--- a/CMakeLists.txt 2026-04-13 07:56:14.000000000 -0500
+++ b/CMakeLists.txt 2026-05-26 02:18:05.649234385 -0500
@@ -369,7 +369,7 @@
IF(ENABLE_INSTALL)
FOREACH (_man ${ARGV})
STRING(REGEX REPLACE "^.+[.]([1-9])" "\\1" _mansect ${_man})
- INSTALL(FILES ${_man} DESTINATION "share/man/man${_mansect}")
+ INSTALL(FILES ${_man} DESTINATION "${CMAKE_INSTALL_MANDIR}/man${_mansect}")
ENDFOREACH (_man)
ENDIF(ENABLE_INSTALL)
ENDMACRO (INSTALL_MAN __mans)
@@ -2220,7 +2220,7 @@
#
IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/doc/pdf)
INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/doc/pdf
- DESTINATION share/man
+ DESTINATION "${CMAKE_INSTALL_MANDIR}"
FILES_MATCHING PATTERN "*.pdf"
)
ENDIF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/doc/pdf)
diff -Naur orig/libarchive-3.8.7/build/cmake/CreatePkgConfigFile.cmake mod/libarchive-3.8.7/build/cmake/CreatePkgConfigFile.cmake
--- a/build/cmake/CreatePkgConfigFile.cmake 2025-11-17 16:04:25.000000000 -0600
+++ b/build/cmake/CreatePkgConfigFile.cmake 2026-05-26 02:18:05.649234385 -0500
@@ -4,8 +4,16 @@
# Set the required variables (we use the same input file as autotools)
SET(prefix ${CMAKE_INSTALL_PREFIX})
SET(exec_prefix \${prefix})
-SET(libdir \${exec_prefix}/lib)
-SET(includedir \${prefix}/include)
+IF(IS_ABSOLUTE "${CMAKE_INSTALL_LIBDIR}")
+ SET(libdir ${CMAKE_INSTALL_LIBDIR})
+ELSE()
+ SET(libdir \${exec_prefix}/${CMAKE_INSTALL_LIBDIR})
+ENDIF()
+IF(IS_ABSOLUTE "${CMAKE_INSTALL_INCLUDEDIR}")
+ SET(includedir ${CMAKE_INSTALL_INCLUDEDIR})
+ELSE()
+ SET(includedir \${prefix}/${CMAKE_INSTALL_INCLUDEDIR})
+ENDIF()
# Now, this is not particularly pretty, nor is it terribly accurate...
# Loop over all our additional libs
FOREACH(mylib ${ADDITIONAL_LIBS})
diff -Naur orig/libarchive-3.8.7/cat/CMakeLists.txt mod/libarchive-3.8.7/cat/CMakeLists.txt
--- a/cat/CMakeLists.txt 2025-11-17 16:04:25.000000000 -0600
+++ b/cat/CMakeLists.txt 2026-05-26 02:18:05.649234385 -0500
@@ -34,7 +34,7 @@
# Installation rules
IF(ENABLE_INSTALL)
- INSTALL(TARGETS bsdcat RUNTIME DESTINATION bin)
+ INSTALL(TARGETS bsdcat RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
INSTALL_MAN(${bsdcat_MANS})
ENDIF(ENABLE_INSTALL)
ENDIF(ENABLE_CAT)
diff -Naur orig/libarchive-3.8.7/cpio/CMakeLists.txt mod/libarchive-3.8.7/cpio/CMakeLists.txt
--- a/cpio/CMakeLists.txt 2026-04-13 07:56:14.000000000 -0500
+++ b/cpio/CMakeLists.txt 2026-05-26 02:18:05.649234385 -0500
@@ -45,7 +45,7 @@
# Installation rules
IF(ENABLE_INSTALL)
- INSTALL(TARGETS bsdcpio RUNTIME DESTINATION bin)
+ INSTALL(TARGETS bsdcpio RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
INSTALL_MAN(${bsdcpio_MANS})
ENDIF(ENABLE_INSTALL)
diff -Naur orig/libarchive-3.8.7/libarchive/CMakeLists.txt mod/libarchive-3.8.7/libarchive/CMakeLists.txt
--- a/libarchive/CMakeLists.txt 2025-11-17 16:04:25.000000000 -0600
+++ b/libarchive/CMakeLists.txt 2026-05-26 02:18:05.650234411 -0500
@@ -277,16 +277,16 @@
# How to install the libraries
IF(BUILD_SHARED_LIBS)
INSTALL(TARGETS archive
- RUNTIME DESTINATION bin
+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
ENDIF(BUILD_SHARED_LIBS)
INSTALL(TARGETS archive_static
- RUNTIME DESTINATION bin
+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
INSTALL_MAN(${libarchive_MANS})
- INSTALL(FILES ${include_HEADERS} DESTINATION include)
+ INSTALL(FILES ${include_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
ENDIF()
add_subdirectory(test)
diff -Naur orig/libarchive-3.8.7/tar/CMakeLists.txt mod/libarchive-3.8.7/tar/CMakeLists.txt
--- a/tar/CMakeLists.txt 2025-11-17 16:04:25.000000000 -0600
+++ b/tar/CMakeLists.txt 2026-05-26 02:18:05.650234411 -0500
@@ -47,7 +47,7 @@
# Installation rules
IF(ENABLE_INSTALL)
- INSTALL(TARGETS bsdtar RUNTIME DESTINATION bin)
+ INSTALL(TARGETS bsdtar RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
INSTALL_MAN(${bsdtar_MANS})
ENDIF(ENABLE_INSTALL)
ENDIF(ENABLE_TAR)
diff -Naur orig/libarchive-3.8.7/unzip/CMakeLists.txt mod/libarchive-3.8.7/unzip/CMakeLists.txt
--- a/unzip/CMakeLists.txt 2026-04-13 07:56:14.000000000 -0500
+++ b/unzip/CMakeLists.txt 2026-05-26 02:18:05.650234411 -0500
@@ -39,7 +39,7 @@
# Installation rules
IF(ENABLE_INSTALL)
- INSTALL(TARGETS bsdunzip RUNTIME DESTINATION bin)
+ INSTALL(TARGETS bsdunzip RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
INSTALL_MAN(${bsdunzip_MANS})
ENDIF(ENABLE_INSTALL)
ENDIF(ENABLE_UNZIP)