Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
mail/postsrsd: revert update to 2.0.6
This reverts commit 06c06ad. Unfortunately the /usr/local/etc/rc.d/postsrsd script does not work with postsrsd 2.x as several command line options were dropped in favor of a config file. Revert the update until a solution is found. PR: 273002 Reported by: Peter Putzer <freebsd@mnd.sc>
- Loading branch information
1 parent
bbbf8e3
commit ccf1c3f
Showing
9 changed files
with
160 additions
and
142 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,44 +1,35 @@ | ||
PORTNAME= postsrsd | ||
DISTVERSION= 2.0.6 | ||
DISTVERSION= 1.10 | ||
PORTEPOCH= 1 | ||
CATEGORIES= mail | ||
|
||
MAINTAINER= ports@bsdserwis.com | ||
COMMENT= Postfix Sender Rewriting Scheme daemon | ||
WWW= https://github.com/roehling/postsrsd | ||
|
||
LICENSE= BSD3CLAUSE GPLv3+ | ||
LICENSE_COMB= dual | ||
LICENSE= GPLv2+ | ||
LICENSE_FILE= ${WRKSRC}/LICENSE | ||
|
||
LIB_DEPENDS= libconfuse.so:devel/libconfuse | ||
BUILD_DEPENDS= help2man:misc/help2man | ||
|
||
USES= cmake cpe pkgconfig | ||
USE_LDCONFIG= yes | ||
|
||
CPE_VENDOR= ${PORTNAME}_project | ||
|
||
USE_GITHUB= yes | ||
GH_ACCOUNT= roehling | ||
USE_RC_SUBR= ${PORTNAME} | ||
|
||
OPTIONS_DEFINE= DOCS REDIS | ||
|
||
DOCS_CMAKE_BOOL= ENABLE_DOCS | ||
|
||
REDIS_DESC= Store envelope senders in redis | ||
REDIS_LIB_DEPENDS= libhiredis.so:databases/hiredis | ||
REDIS_CMAKE_BOOL= WITH_REDIS | ||
|
||
CMAKE_ARGS= --no-warn-unused-cli \ | ||
-DBUILD_TESTING=OFF \ | ||
-DCMAKE_BUILD_TYPE=Release \ | ||
-DFETCHCONTENT_TRY_FIND_PACKAGE_MODE=ALWAYS \ | ||
-DCMAKE_INCLUDE_PATH="${LOCALBASE}/include" \ | ||
-DCMAKE_LIBRARY_PATH="${LOCALBASE}/lib" | ||
|
||
PLIST_FILES= \ | ||
sbin/postsrsd \ | ||
${LOCALBASE}/etc/${PORTNAME}.secret | ||
PLIST_FILES= man/man8/postsrsd.8.gz \ | ||
sbin/postsrsd | ||
|
||
PORTDOCS= README.md README_UPGRADE.md main.cf.ex | ||
|
||
PORTDOCS= README.rst CHANGELOG.rst postsrsd.conf | ||
OPTIONS_DEFINE= DOCS | ||
|
||
DOCS_CMAKE_BOOL= ENABLE_DOCS | ||
|
||
.include <bsd.port.mk> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
TIMESTAMP = 1690572136 | ||
SHA256 (roehling-postsrsd-2.0.6_GH0.tar.gz) = 4f45695e208b349dfebd182f48a95b8646781cfe68ae81ecbbee889897a5ec80 | ||
SIZE (roehling-postsrsd-2.0.6_GH0.tar.gz) = 61894 | ||
TIMESTAMP = 1488207086 | ||
SHA256 (roehling-postsrsd-1.10_GH0.tar.gz) = 4880bf12f1a75791f10a995e46a7fce26ee760d1d6942b4602244d2026d4e64a | ||
SIZE (roehling-postsrsd-1.10_GH0.tar.gz) = 34844 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,80 +1,88 @@ | ||
--- CMakeLists.txt.orig 2023-07-15 18:53:41 UTC | ||
--- CMakeLists.txt.orig 2020-12-12 09:55:17 UTC | ||
+++ CMakeLists.txt | ||
@@ -55,6 +55,7 @@ option(WITH_REDIS | ||
) | ||
add_feature_info(WITH_REDIS WITH_REDIS "use Redis as database backend") | ||
@@ -7,12 +7,15 @@ include(CTest) | ||
|
||
option(GENERATE_SRS_SECRET "Generate a random SRS secret if none exists during install" ON) | ||
option(USE_APPARMOR "Enable AppArmor profile" OFF) | ||
+option(MK_CHROOT_DIR "Chroot jail for daemon" OFF) | ||
option(TESTS_WITH_ASAN "Run test suite with AddressSanitizer" ON) | ||
option(GENERATE_SRS_SECRET "Generate and install a postsrsd.secret" ON) | ||
add_feature_info( | ||
@@ -71,15 +72,13 @@ set(POSTSRSD_DATADIR | ||
"${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/lib/${PROJECT_NAME}" | ||
CACHE PATH "The default directory where PostSRSd should put runtime data" | ||
) | ||
+set(DOC_DIR "share/doc/${PROJECT_NAME}" CACHE PATH "Path for documentation files") | ||
option(USE_SELINUX "Enable SELinux policy module" OFF) | ||
|
||
+if(MK_CHROOT_DIR) | ||
set(POSTSRSD_CHROOTDIR | ||
"${POSTSRSD_DATADIR}" | ||
CACHE PATH "The default chroot directory where PostSRSd should jail itself" | ||
) | ||
-find_systemd_unit_destination(DETECTED_SYSTEMD_UNITDIR) | ||
-set(SYSTEMD_UNITDIR | ||
- "${DETECTED_SYSTEMD_UNITDIR}" | ||
- CACHE PATH "Install destination for systemd service unit" | ||
-) | ||
set(CHROOT_DIR "${CMAKE_INSTALL_PREFIX}/lib/${PROJECT_NAME}" CACHE PATH "Chroot jail for daemon") | ||
+endif() | ||
set(SYSCONF_DIR "/etc" CACHE PATH "Global system configuration folder") | ||
set(SYSD_UNIT_DIR "${SYSCONF_DIR}/systemd/system" CACHE PATH "Systemd unit file folder") | ||
-set(CONFIG_DIR "${SYSCONF_DIR}/default" CACHE PATH "Location of startup configuration file") | ||
+set(CONFIG_DIR "${CMAKE_INSTALL_PREFIX}/etc" CACHE PATH "Location of startup configuration file") | ||
set(DOC_DIR "share/doc/${PROJECT_NAME}" CACHE PATH "Path for documentation files") | ||
mark_as_advanced(CHROOT_DIR SYSCONF_DIR SYSD_UNIT_DIR CONFIG_DIR DOC_DIR) | ||
|
||
if(POSTSRSD_CHROOTDIR) | ||
file(RELATIVE_PATH CHROOTABLE_DATADIR "${POSTSRSD_CHROOTDIR}" | ||
@@ -105,7 +104,6 @@ mark_as_advanced( | ||
POSTSRSD_USER | ||
POSTSRSD_DATADIR | ||
POSTSRSD_CHROOTDIR | ||
- SYSTEMD_UNITDIR | ||
) | ||
@@ -20,8 +23,6 @@ find_program(HELP2MAN help2man DOC "path to help2man e | ||
find_program(DD dd DOC "path to dd executable") | ||
find_program(BASE64 base64 DOC "path to base64 executable") | ||
find_program(OPENSSL openssl DOC "path to OpenSSL executable") | ||
-find_program(INSSERV insserv DOC "path to insserv executable") | ||
-find_program(CHKCONFIG chkconfig DOC "path to chkconfig executable") | ||
find_program(SYSTEMCTL systemctl DOC "path to systemctl executable") | ||
|
||
if(CMAKE_SYSTEM_NAME MATCHES "SunOS") | ||
@@ -69,23 +70,6 @@ endif() | ||
check_type_size("unsigned long" SIZEOF_UNSIGNED_LONG) | ||
add_definitions(-DSIZEOF_UNSIGNED_LONG=${SIZEOF_UNSIGNED_LONG}) | ||
|
||
FetchContent_Declare( | ||
@@ -181,11 +179,7 @@ endif() | ||
set(THREADS_PREFER_PTHREAD_FLAG TRUE) | ||
find_package(Threads QUIET) | ||
-if(NOT DEFINED INIT_FLAVOR) | ||
- if(SYSTEMCTL) | ||
- message(STATUS "Detected init flavor: systemd") | ||
- set(INIT_FLAVOR "systemd" CACHE STRING "Init daemon of this system") | ||
- elseif(IS_DIRECTORY "${SYSCONF_DIR}/init.d" AND EXISTS "${SYSCONF_DIR}/init.d/functions") | ||
- message(STATUS "Detected init flavor: sysv-redhat") | ||
- set(INIT_FLAVOR "sysv-redhat" CACHE STRING "Init daemon of this system") | ||
- elseif(IS_DIRECTORY "${SYSCONF_DIR}/init.d" AND EXISTS "/lib/lsb/init-functions") | ||
- message(STATUS "Detected init flavor: sysv-lsb") | ||
- set(INIT_FLAVOR "sysv-lsb" CACHE STRING "Init daemon of this system") | ||
- else() | ||
- message(STATUS "Detected init flavor: none") | ||
- message(STATUS "System startup files will not be installed") | ||
- set(INIT_FLAVOR "" CACHE STRING "Init daemon of this system") | ||
- endif() | ||
-endif() | ||
- | ||
add_definitions(-DPOSTSRSD_VERSION=\"${PROJECT_VERSION}\") | ||
add_executable(${PROJECT_NAME} postsrsd.c sha1.c srs2.c) | ||
|
||
-add_autotools_dependency( | ||
- Confuse | ||
- LIBRARY_NAME confuse | ||
- EXPORTED_TARGET Confuse::Confuse | ||
-) | ||
+find_package(Confuse REQUIRED) | ||
@@ -95,16 +79,8 @@ if(CMAKE_SYSTEM_NAME MATCHES "SunOS") | ||
endif() | ||
|
||
if(WITH_REDIS) | ||
set(DISABLE_TESTS | ||
@@ -202,6 +196,7 @@ if(WITH_REDIS) | ||
DIRECTORY "${hiredis_SOURCE_DIR}" PROPERTY EXCLUDE_FROM_ALL TRUE | ||
) | ||
endif() | ||
+ find_package(Hiredis REQUIRED) | ||
if(TARGET hiredis::hiredis_static) | ||
set(HIREDIS_TARGET hiredis::hiredis_static) | ||
elseif(TARGET hiredis::hiredis) | ||
@@ -315,7 +310,7 @@ target_compile_features(postsrsd PRIVATE c_std_99) | ||
target_link_libraries( | ||
postsrsd | ||
PRIVATE Confuse::Confuse | ||
- $<$<BOOL:${WITH_SQLITE}>:sqlite3::sqlite3> | ||
+ $<$<BOOL:${WITH_SQLITE}>:sqlite3> | ||
$<$<BOOL:${WITH_REDIS}>:${HIREDIS_TARGET}> | ||
$<$<BOOL:${WITH_MILTER}>:LibMilter::LibMilter> | ||
${LIBSOCKET} | ||
@@ -335,9 +330,9 @@ install(TARGETS postsrsd RUNTIME DESTINATION ${CMAKE_I | ||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.conf" | ||
DESTINATION "${CMAKE_INSTALL_DATADIR}/doc/${PROJECT_NAME}" | ||
set(POSTSRSD "${PROJECT_NAME}${CMAKE_EXECUTABLE_SUFFIX}") | ||
-set(APPARMOR_PROFILE "${CMAKE_INSTALL_PREFIX}/sbin/${POSTSRSD}") | ||
-string(REGEX REPLACE "^/+" "" APPARMOR_PROFILE "${APPARMOR_PROFILE}") | ||
-string(REPLACE "/" "." APPARMOR_PROFILE "${APPARMOR_PROFILE}") | ||
|
||
-configure_file(init/${PROJECT_NAME}.sysv-lsb.in ${PROJECT_NAME}.sysv-lsb @ONLY) | ||
-configure_file(init/${PROJECT_NAME}.sysv-redhat.in ${PROJECT_NAME}.sysv-redhat @ONLY) | ||
-configure_file(init/${PROJECT_NAME}.apparmor.in ${PROJECT_NAME}.apparmor @ONLY) | ||
-configure_file(init/${PROJECT_NAME}.systemd.in ${PROJECT_NAME}.systemd @ONLY) | ||
configure_file(init/${PROJECT_NAME}.default.in ${PROJECT_NAME}.default @ONLY) | ||
-configure_file(init/${PROJECT_NAME}-systemd-launcher.in ${PROJECT_NAME}-systemd-launcher @ONLY) | ||
|
||
configure_file(postinstall.cmake.in postinstall.cmake @ONLY) | ||
|
||
@@ -118,7 +94,7 @@ add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD | ||
COMMAND ${HELP2MAN} ARGS -s8 -o${PROJECT_NAME}.8 -n "Postfix Sender Rewriting Scheme daemon" -N -h-h -v-v ${CMAKE_CURRENT_BINARY_DIR}/${POSTSRSD} | ||
VERBATIM | ||
) | ||
-install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.service" | ||
- DESTINATION "${SYSTEMD_UNITDIR}" | ||
-) | ||
-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.8 DESTINATION "share/man/man8") | ||
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.8 DESTINATION "man/man8") | ||
endif() | ||
|
||
if(USE_APPARMOR) | ||
@@ -135,6 +111,8 @@ if(USE_SELINUX) | ||
endif() | ||
|
||
install(TARGETS ${PROJECT_NAME} DESTINATION "sbin") | ||
-install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-systemd-launcher DESTINATION "share/${PROJECT_NAME}") | ||
+if(ENABLE_DOCS) | ||
+ install(FILES README.rst CHANGELOG.rst doc/postsrsd.conf DESTINATION "${DOC_DIR}" ) | ||
+ install(FILES README.md README_UPGRADE.md main.cf.ex DESTINATION "${DOC_DIR}") | ||
+endif() | ||
|
||
if(GENERATE_SRS_SECRET) | ||
find_program(DD dd DOC "path to dd executable") | ||
install(FILES README.md README_UPGRADE.md main.cf.ex DESTINATION "${DOC_DIR}") | ||
install(SCRIPT "${CMAKE_CURRENT_BINARY_DIR}/postinstall.cmake") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,69 @@ | ||
--- postinstall.cmake.in.orig 2015-12-13 08:56:05 UTC | ||
+++ postinstall.cmake.in | ||
@@ -1,4 +1,3 @@ | ||
-set(GENERATE_SRS_SECRET "@GENERATE_SRS_SECRET@") | ||
set(SYSCONF_DIR "@SYSCONF_DIR@") | ||
set(SYSD_UNIT_DIR "@SYSD_UNIT_DIR@") | ||
set(CHROOT_DIR "@CHROOT_DIR@") | ||
@@ -7,51 +6,13 @@ set(INIT_FLAVOR "@INIT_FLAVOR@") | ||
set(SECRET_FILE "@PROJECT_NAME@.secret") | ||
set(DD "@DD@") | ||
set(BASE64_ENCODE "@BASE64_ENCODE@") | ||
-set(INSSERV "@INSSERV@") | ||
-set(CHKCONFIG "@CHKCONFIG@") | ||
|
||
if(CHROOT_DIR AND NOT EXISTS "$ENV{DESTDIR}${CHROOT_DIR}") | ||
message(STATUS "Chroot jail: $ENV{DESTDIR}${CHROOT_DIR}") | ||
file(MAKE_DIRECTORY "$ENV{DESTDIR}${CHROOT_DIR}") | ||
endif() | ||
|
||
-if(INIT_FLAVOR) | ||
- if (NOT EXISTS "$ENV{DESTDIR}${CONFIG_DIR}/@PROJECT_NAME@") | ||
- file(INSTALL FILES "@CMAKE_CURRENT_BINARY_DIR@/@PROJECT_NAME@.default" DESTINATION "${CONFIG_DIR}" RENAME "@PROJECT_NAME@") | ||
- else() | ||
- file(INSTALL FILES "@CMAKE_CURRENT_BINARY_DIR@/@PROJECT_NAME@.default" DESTINATION "${CONFIG_DIR}" RENAME "@PROJECT_NAME@.new") | ||
- message(STATUS "") | ||
- message(STATUS "*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*") | ||
- message(STATUS "*!* ${CONFIG_DIR}/@PROJECT_NAME@ will NOT be overwritten!") | ||
- message(STATUS "*!* Please note the changes from @PROJECT_NAME@.new in the same folder and") | ||
- message(STATUS "*!* update your configuration accordinly.") | ||
- message(STATUS "*!* See also README_UPGRADE.md for details") | ||
- message(STATUS "*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*") | ||
- message(STATUS "") | ||
- endif() | ||
-endif() | ||
- | ||
-if(INIT_FLAVOR STREQUAL "sysv-lsb") | ||
- file(INSTALL FILES "@CMAKE_CURRENT_BINARY_DIR@/@PROJECT_NAME@.sysv-lsb" TYPE PROGRAM DESTINATION "${SYSCONF_DIR}/init.d" RENAME "@PROJECT_NAME@") | ||
- if(INSSERV) | ||
- execute_process( | ||
- COMMAND ${INSSERV} -p "$ENV{DESTDIR}${SYSCONF_DIR}/init.d" @PROJECT_NAME@ | ||
- ) | ||
- endif() | ||
-elseif(INIT_FLAVOR STREQUAL "sysv-redhat") | ||
- file(INSTALL FILES "@CMAKE_CURRENT_BINARY_DIR@/@PROJECT_NAME@.sysv-redhat" TYPE PROGRAM DESTINATION "${SYSCONF_DIR}/init.d" RENAME "@PROJECT_NAME@") | ||
- if(CHKCONFIG AND NOT "$ENV{DESTDIR}") | ||
- execute_process( | ||
- COMMAND ${CHKCONFIG} --add @PROJECT_NAME@ | ||
- ) | ||
- endif() | ||
-elseif(INIT_FLAVOR STREQUAL "upstart") | ||
- file(INSTALL FILES "@CMAKE_CURRENT_BINARY_DIR@/@PROJECT_NAME@.upstart" DESTINATION "${SYSCONF_DIR}/init" RENAME "@PROJECT_NAME@.conf") | ||
-elseif(INIT_FLAVOR STREQUAL "systemd") | ||
- file(INSTALL FILES "@CMAKE_CURRENT_BINARY_DIR@/@PROJECT_NAME@.systemd" DESTINATION "${SYSD_UNIT_DIR}" RENAME "@PROJECT_NAME@.service") | ||
-endif() | ||
- | ||
-if(GENERATE_SRS_SECRET AND DD AND BASE64_ENCODE AND EXISTS "/dev/urandom" AND NOT EXISTS "$ENV{DESTDIR}${SYSCONF_DIR}/${SECRET_FILE}") | ||
+if(GENERATE_SRS_SECRET AND DD AND BASE64_ENCODE AND EXISTS "/dev/urandom") | ||
message(STATUS "Generating secret key") | ||
execute_process( | ||
COMMAND ${DD} if=/dev/urandom bs=18 count=1 | ||
@@ -60,7 +21,7 @@ if(GENERATE_SRS_SECRET AND DD AND BASE64 | ||
ERROR_QUIET | ||
OUTPUT_STRIP_TRAILING_WHITESPACE | ||
) | ||
-file(INSTALL FILES "@CMAKE_CURRENT_BINARY_DIR@/${SECRET_FILE}" DESTINATION "${SYSCONF_DIR}" RENAME "${SECRET_FILE}" PERMISSIONS OWNER_READ OWNER_WRITE) | ||
+file(INSTALL FILES "@CMAKE_CURRENT_BINARY_DIR@/${SECRET_FILE}" DESTINATION "${CONFIG_DIR}" RENAME "${SECRET_FILE}" PERMISSIONS OWNER_READ OWNER_WRITE) | ||
file(REMOVE "@CMAKE_CURRENT_BINARY_DIR@/${SECRET_FILE}") | ||
endif() | ||
|
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.