mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 20:12:31 +01:00
68c0f6d8ea
As was done indc77111
for `support-files/CMakeLists.txt` Do not rely on existence of `CMakeFiles/${target}.dir` directory existence. It is not there for custom targets in Ninja build. This regression was introduced in #1131 which likely copied the pattern frome79e840
before that regression was addressed indc77111
. All new code of the whole pull request, including one or several files that are either new files or modified ones, are contributed under the BSD-new license. I am contributing on behalf of my employer Amazon Web Services.
49 lines
2 KiB
CMake
49 lines
2 KiB
CMake
|
|
IF(PLUGIN_CRACKLIB_PASSWORD_CHECK STREQUAL "NO")
|
|
ADD_FEATURE_INFO(CRACKLIB_PASSWORD_CHECK "OFF" "CrackLib Password Validation Plugin")
|
|
RETURN()
|
|
ENDIF()
|
|
|
|
INCLUDE (CheckIncludeFiles)
|
|
INCLUDE (CheckLibraryExists)
|
|
|
|
SET(CPACK_RPM_cracklib-password-check_PACKAGE_SUMMARY "CrackLib Password Validation Plugin for MariaDB server" PARENT_SCOPE)
|
|
SET(CPACK_RPM_cracklib-password-check_PACKAGE_DESCRIPTION "This password validation plugin uses cracklib to allow only
|
|
sufficiently secure (as defined by cracklib) user passwords in MariaDB server." PARENT_SCOPE)
|
|
|
|
CHECK_LIBRARY_EXISTS(crack FascistCheckUser "" HAVE_LIBCRACK)
|
|
|
|
SET(CMAKE_REQUIRED_DEFINITIONS -Dsize_t=int) # debian hack, debian bug.
|
|
CHECK_INCLUDE_FILES (crack.h HAVE_CRACK_H)
|
|
|
|
IF (HAVE_ALLOCA_H AND HAVE_CRACK_H AND HAVE_LIBCRACK AND HAVE_MEMCPY)
|
|
MYSQL_ADD_PLUGIN(cracklib_password_check cracklib_password_check.c
|
|
LINK_LIBRARIES crack MODULE_ONLY
|
|
COMPONENT cracklib-password-check)
|
|
|
|
IF (RPM)
|
|
SET(inst_location ${INSTALL_SUPPORTFILESDIR})
|
|
INSTALL(DIRECTORY policy DESTINATION ${inst_location} COMPONENT cracklib-password-check)
|
|
FIND_PROGRAM(CHECKMODULE checkmodule)
|
|
FIND_PROGRAM(SEMODULE_PACKAGE semodule_package)
|
|
MARK_AS_ADVANCED(CHECKMODULE SEMODULE_PACKAGE)
|
|
|
|
# Build pp files in policy/selinux
|
|
IF(CHECKMODULE AND SEMODULE_PACKAGE)
|
|
FOREACH(pol mariadb-plugin-cracklib-password-check)
|
|
SET(src ${CMAKE_CURRENT_SOURCE_DIR}/policy/selinux/${pol}.te)
|
|
SET(tmp ${CMAKE_CURRENT_BINARY_DIR}/${pol}.mod)
|
|
SET(out ${CMAKE_CURRENT_BINARY_DIR}/${pol}.pp)
|
|
ADD_CUSTOM_COMMAND(OUTPUT ${out}
|
|
COMMAND ${CHECKMODULE} -M -m ${src} -o ${tmp}
|
|
COMMAND ${SEMODULE_PACKAGE} -m ${tmp} -o ${out}
|
|
COMMAND ${CMAKE_COMMAND} -E remove ${tmp}
|
|
DEPENDS ${src})
|
|
ADD_CUSTOM_TARGET(${pol}-pp ALL DEPENDS ${out})
|
|
INSTALL(FILES ${out} DESTINATION ${inst_location}/policy/selinux COMPONENT cracklib-password-check)
|
|
ENDFOREACH()
|
|
ENDIF()
|
|
|
|
ENDIF()
|
|
|
|
ENDIF()
|