From owner-svn-ports-all@FreeBSD.ORG Sun Jul 6 02:54:37 2014 Return-Path: Delivered-To: svn-ports-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 04F047CE; Sun, 6 Jul 2014 02:54:37 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CB9952742; Sun, 6 Jul 2014 02:54:36 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s662saZI033644; Sun, 6 Jul 2014 02:54:36 GMT (envelope-from adamw@svn.freebsd.org) Received: (from adamw@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s662sYQ7033633; Sun, 6 Jul 2014 02:54:34 GMT (envelope-from adamw@svn.freebsd.org) Message-Id: <201407060254.s662sYQ7033633@svn.freebsd.org> From: Adam Weinberger Date: Sun, 6 Jul 2014 02:54:34 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r360856 - in head/mail: . postsrsd postsrsd/files X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Jul 2014 02:54:37 -0000 Author: adamw Date: Sun Jul 6 02:54:34 2014 New Revision: 360856 URL: http://svnweb.freebsd.org/changeset/ports/360856 QAT: https://qat.redports.org/buildarchive/r360856/ Log: Add mail/postsrsd. PostSRSd provides the Sender Rewriting Scheme (SRS) via TCP-based lookup tables for Postfix. SRS is needed if your mail server acts as forwarder. WWW: https://github.com/roehling/postsrsd PR: ports/191292 Submitted by: Krzysztof Stryjek Added: head/mail/postsrsd/ head/mail/postsrsd/Makefile (contents, props changed) head/mail/postsrsd/distinfo (contents, props changed) head/mail/postsrsd/files/ head/mail/postsrsd/files/patch-CMakeLists.txt (contents, props changed) head/mail/postsrsd/files/patch-postinstall.cmake.in (contents, props changed) head/mail/postsrsd/files/patch-postsrsd.c (contents, props changed) head/mail/postsrsd/files/patch-srs2.c (contents, props changed) head/mail/postsrsd/files/patch-srs2.h (contents, props changed) head/mail/postsrsd/files/postsrsd.in (contents, props changed) head/mail/postsrsd/pkg-descr (contents, props changed) head/mail/postsrsd/pkg-plist (contents, props changed) Modified: head/mail/Makefile Modified: head/mail/Makefile ============================================================================== --- head/mail/Makefile Sun Jul 6 02:27:12 2014 (r360855) +++ head/mail/Makefile Sun Jul 6 02:54:34 2014 (r360856) @@ -511,6 +511,7 @@ SUBDIR += postfixadmin SUBDIR += postgrey SUBDIR += postpals + SUBDIR += postsrsd SUBDIR += prayer SUBDIR += premail SUBDIR += prepflog Added: head/mail/postsrsd/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/mail/postsrsd/Makefile Sun Jul 6 02:54:34 2014 (r360856) @@ -0,0 +1,34 @@ +# Created by: Krzysztof Stryjek +# $FreeBSD$ + +PORTNAME= postsrsd +PORTVERSION= 1.1 +CATEGORIES= mail + +MAINTAINER= ports@bsdserwis.com +COMMENT= Postfix Sender Rewriting Scheme daemon + +LICENSE= GPLv2 + +BUILD_DEPENDS+= help2man:${PORTSDIR}/misc/help2man \ + base64:${PORTSDIR}/converters/base64 +RUN_DEPENDS+= base64:${PORTSDIR}/converters/base64 + +USE_GITHUB= yes +GH_ACCOUNT= roehling +GH_COMMIT= 4a3349d + +USES= cmake pkgconfig +CMAKE_ARGS+= --no-warn-unused-cli \ + -DCMAKE_INCLUDE_PATH="${LOCALBASE}/include" \ + -DCMAKE_LIBRARY_PATH="${LOCALBASE}/lib" +USE_LDCONFIG= ${PREFIX}/lib/${PORTNAME} +USE_RC_SUBR= ${PORTNAME} + +PORTDOCS= README.md main.cf.ex + +OPTIONS_DEFINE= DOCS + +DOCS_CMAKE_ON= -DENABLE_DOCS:STRING="ON" + +.include Added: head/mail/postsrsd/distinfo ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/mail/postsrsd/distinfo Sun Jul 6 02:54:34 2014 (r360856) @@ -0,0 +1,2 @@ +SHA256 (postsrsd-1.1.tar.gz) = 5565cf1ee49540686abcc272eef0dbdfbae2e899bd7b8cc49eb0b5dacf802acf +SIZE (postsrsd-1.1.tar.gz) = 24219 Added: head/mail/postsrsd/files/patch-CMakeLists.txt ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/mail/postsrsd/files/patch-CMakeLists.txt Sun Jul 6 02:54:34 2014 (r360856) @@ -0,0 +1,71 @@ +--- CMakeLists.txt 2014-01-03 01:01:47.000000000 +0100 ++++ CMakeLists.txt.new 2014-06-18 02:01:27.734952000 +0200 +@@ -3,45 +3,22 @@ + + 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) + ++if(MK_CHROOT_DIR) + set(CHROOT_DIR "${CMAKE_INSTALL_PREFIX}/lib/${PROJECT_NAME}" CACHE PATH "Chroot jail for daemon") +-set(CONFIG_DIR "/etc/default" CACHE PATH "Location of configuration file") ++endif() ++set(CONFIG_DIR "${CMAKE_INSTALL_PREFIX}/etc" CACHE PATH "Location of configuration file") + + find_program(HELP2MAN help2man DOC "path to help2man executable") + find_program(DD dd DOC "path to dd executable") + find_program(BASE64 base64 DOC "path to base64 executable") +-find_program(INSSERV insserv DOC "path to insserv executable") +-find_program(CHKCONFIG chkconfig DOC "path to chkconfig executable") +- +-if(NOT DEFINED INIT_FLAVOR) +- if(IS_DIRECTORY "/etc/init" AND EXISTS "/lib/init/upstart-job") +- message(STATUS "Detected init flavor: upstart") +- set(INIT_FLAVOR "upstart" CACHE STRING "Init daemon of this system") +- elseif(IS_DIRECTORY "/etc/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") +- elseif(IS_DIRECTORY "/etc/init.d" AND EXISTS "/etc/init.d/functions") +- message(STATUS "Detected init flavor: sysv-redhat") +- set(INIT_FLAVOR "sysv-redhat" 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_executable(${PROJECT_NAME} postsrsd.c sha1.c srs2.c) + + get_target_property(POSTSRSD ${PROJECT_NAME} LOCATION) + get_filename_component(POSTSRSD ${POSTSRSD} NAME_WE) +-set(APPARMOR_PROFILE "${CMAKE_INSTALL_PREFIX}/sbin/${POSTSRSD}") +-string(REGEX REPLACE "^/+" "" APPARMOR_PROFILE "${APPARMOR_PROFILE}") +-string(REPLACE "/" "." APPARMOR_PROFILE "${APPARMOR_PROFILE}") +- +-configure_file(${PROJECT_NAME}.lsb_init.in ${PROJECT_NAME}.lsb_init @ONLY) +-configure_file(${PROJECT_NAME}.rh_init.in ${PROJECT_NAME}.rh_init @ONLY) +-configure_file(${PROJECT_NAME}.upstart.in ${PROJECT_NAME}.upstart @ONLY) +-configure_file(${PROJECT_NAME}.apparmor.in ${PROJECT_NAME}.apparmor @ONLY) ++ + configure_file(postinstall.cmake.in postinstall.cmake @ONLY) + + if(HELP2MAN) +@@ -49,7 +26,7 @@ + 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}.8 DESTINATION "share/man/man8") ++install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.8 DESTINATION "man/man8") + endif() + + if(USE_APPARMOR) +@@ -57,6 +34,8 @@ + endif() + + install(TARGETS ${PROJECT_NAME} DESTINATION "sbin") ++if(ENABLE_DOCS) + install(FILES README.md main.cf.ex DESTINATION "share/doc/${PROJECT_NAME}") ++endif() + install(SCRIPT "${CMAKE_CURRENT_BINARY_DIR}/postinstall.cmake") + Added: head/mail/postsrsd/files/patch-postinstall.cmake.in ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/mail/postsrsd/files/patch-postinstall.cmake.in Sun Jul 6 02:54:34 2014 (r360856) @@ -0,0 +1,49 @@ +--- postinstall.cmake.in 2014-01-03 01:01:47.000000000 +0100 ++++ postinstall.cmake.in.new 2014-06-18 01:47:16.240011867 +0200 +@@ -5,37 +5,13 @@ + set(SECRET_FILE "@PROJECT_NAME@.secret") + set(DD "@DD@") + set(BASE64 "@BASE64@") +-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 AND NOT EXISTS "$ENV{DESTDIR}${CONFIG_DIR}/@PROJECT_NAME@") +- file(INSTALL FILES "@CMAKE_CURRENT_SOURCE_DIR@/@PROJECT_NAME@.default" DESTINATION "${CONFIG_DIR}" RENAME "@PROJECT_NAME@") +-endif() +- +-if(INIT_FLAVOR STREQUAL "sysv-lsb") +- file(INSTALL FILES "@CMAKE_CURRENT_BINARY_DIR@/@PROJECT_NAME@.lsb_init" TYPE PROGRAM DESTINATION "/etc/init.d" RENAME "@PROJECT_NAME@") +- if(INSSERV) +- execute_process( +- COMMAND ${INSSERV} -p "$ENV{DESTDIR}/etc/init.d" @PROJECT_NAME@ +- ) +- endif() +-elseif(INIT_FLAVOR STREQUAL "sysv-redhat") +- file(INSTALL FILES "@CMAKE_CURRENT_BINARY_DIR@/@PROJECT_NAME@.rh_init" TYPE PROGRAM DESTINATION "/etc/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 "/etc/init" RENAME "@PROJECT_NAME@.conf") +-endif() +- +-if(GENERATE_SRS_SECRET AND DD AND BASE64 AND EXISTS "/dev/urandom" AND NOT EXISTS "$ENV{DESTDIR}/etc/${SECRET_FILE}") ++if(GENERATE_SRS_SECRET AND DD AND BASE64 AND EXISTS "/dev/urandom") + message(STATUS "Generating secret key") + execute_process( + COMMAND ${DD} if=/dev/urandom bs=18 count=1 +@@ -44,6 +20,6 @@ + ERROR_QUIET + OUTPUT_STRIP_TRAILING_WHITESPACE + ) +-file(INSTALL FILES "@CMAKE_CURRENT_BINARY_DIR@/${SECRET_FILE}" DESTINATION "/etc" RENAME "${SECRET_FILE}" FILE_PERMISSIONS OWNER_READ OWNER_WRITE) ++file(INSTALL FILES "@CMAKE_CURRENT_BINARY_DIR@/${SECRET_FILE}" DESTINATION "${CONFIG_DIR}" RENAME "${SECRET_FILE}" FILE_PERMISSIONS OWNER_READ OWNER_WRITE) + file(REMOVE "@CMAKE_CURRENT_BINARY_DIR@/${SECRET_FILE}") + endif() Added: head/mail/postsrsd/files/patch-postsrsd.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/mail/postsrsd/files/patch-postsrsd.c Sun Jul 6 02:54:34 2014 (r360856) @@ -0,0 +1,20 @@ +--- postsrsd.c 2014-01-03 01:01:47.000000000 +0100 ++++ postsrsd.c.new 2014-06-18 23:31:33.290651741 +0200 +@@ -28,7 +28,7 @@ + #include + #include + #include +-#include ++#include + #include + + #ifndef VERSION +@@ -47,7 +47,7 @@ + memset (&hints, 0, sizeof(hints)); + hints.ai_family = family; + hints.ai_socktype = SOCK_STREAM; +- hints.ai_flags = AI_ADDRCONFIG | AI_V4MAPPED; ++ hints.ai_flags = AI_ADDRCONFIG; + err = getaddrinfo(NULL, service, &hints, &addr); + if (err != 0) { + fprintf(stderr, "%s: bind_service(%s): %s\n", self, service, gai_strerror(err)); Added: head/mail/postsrsd/files/patch-srs2.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/mail/postsrsd/files/patch-srs2.c Sun Jul 6 02:54:34 2014 (r360856) @@ -0,0 +1,11 @@ +--- srs2.c 2014-01-03 01:01:47.000000000 +0100 ++++ srs2.c.new 2014-06-17 16:13:45.773381667 +0200 +@@ -21,7 +21,7 @@ + #include /* tyepdefs */ + #include /* timeval / timezone struct */ + #include /* memcpy, strcpy, memset */ +-#include ++#include + + #ifdef USE_OPENSSL + #include Added: head/mail/postsrsd/files/patch-srs2.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/mail/postsrsd/files/patch-srs2.h Sun Jul 6 02:54:34 2014 (r360856) @@ -0,0 +1,10 @@ +--- srs2.h 2014-01-03 01:01:47.000000000 +0100 ++++ srs2.h.new 2014-06-17 16:16:22.880373371 +0200 +@@ -20,6 +20,7 @@ + #include + #include + #include ++#include + + #ifndef __BEGIN_DECLS + #define __BEGIN_DECLS Added: head/mail/postsrsd/files/postsrsd.in ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/mail/postsrsd/files/postsrsd.in Sun Jul 6 02:54:34 2014 (r360856) @@ -0,0 +1,91 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: postsrsd +# REQUIRE: DAEMON +# BEFORE: mail +# KEYWORD: shutdown + +# Define these postsrsd_* variables in one of these files: +# /etc/rc.conf +# /etc/rc.conf.local +# /etc/rc.conf.d/postsrsd +# +# postsrsd_enable (bool): Set to "NO" by default. +# Set it to "YES" to enable dkim-milter +# postsrsd_uid (str): Set username to run postsrsd. +# postsrsd_secret (str): Secret file file. See postsrsd(8) +# postsrsd_domain (str): Local domain name: rewrite to originate from this domain +# postsrsd_flags (str): Flags passed to start command. + +. /etc/rc.subr + +name="postsrsd" +rcvar=postsrsd_enable + +start_precmd="postsrsd_prepcmd" +stop_postcmd="postsrsd_postcmd" +command="%%PREFIX%%/sbin/postsrsd" +_piddir="/var/run/postsrsd" +pidfile="${_piddir}/${name}.pid" + +load_rc_config $name + +# +# DO NOT CHANGE THESE DEFAULT VALUES HERE +# +: ${postsrsd_enable="NO"} +: ${postsrsd_domain=`/bin/hostname`} +: ${postsrsd_uid="mailnull"} +: ${postsrsd_secret="%%PREFIX%%/etc/postsrsd.secret"} +: ${postsrsd_forward_port="10001"} +: ${postsrsd_reverse_port="10002"} +: ${postsrsd_idle_timeout="1800"} +: ${postsrsd_exclude_domains=""} + +# Options other than above can be set with $postsrsd_flags. +# see postsrsd documentation for detail. + +if [ "x${postsrsd_uid}" != "x" ];then + _uid_prefix="-u" +fi +if [ "x${postsrsd_domain}" != "x" ];then + postsrsd_domain="-d ${postsrsd_domain}" +fi +if [ "x${postsrsd_secret}" != "x" ];then + postsrsd_secret="-s ${postsrsd_secret}" +fi +if [ "x${postsrsd_forward_port}" != "x" ];then + postsrsd_forward_port="-f ${postsrsd_forward_port}" +fi +if [ "x${postsrsd_reverse_port}" != "x" ];then + postsrsd_reverse_port="-r ${postsrsd_reverse_port}" +fi +if [ "x${postsrsd_idle_timeout}" != "x" ];then + postsrsd_idle_timeout="-t ${postsrsd_idle_timeout}" +fi +if [ "x${postsrsd_exclude_domains}" != "x" ];then + postsrsd_exclude_domains="-X ${postsrsd_exclude_domains}" +fi + +command_args=" -D ${_uid_prefix} ${postsrsd_uid} -p ${pidfile} ${postsrsd_domain} ${postsrsd_secret} ${postsrsd_forward_port} ${postsrsd_reverse_port} ${postsrsd_idle_timeout} ${postsrsd_exclude_domains} ${postsrsd_flags}" + +postsrsd_prepcmd () +{ + if [ ! -d ${_piddir} ] ; then + mkdir -p ${_piddir} + fi + if [ -n "${postsrsd_uid}" ] ; then + chown ${postsrsd_uid} ${_piddir} + fi +} + +postsrsd_postcmd() +{ + # just if the directory is empty + rmdir ${_piddir} > /dev/null 2>&1 +} + +run_rc_command "$1" Added: head/mail/postsrsd/pkg-descr ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/mail/postsrsd/pkg-descr Sun Jul 6 02:54:34 2014 (r360856) @@ -0,0 +1,4 @@ +PostSRSd provides the Sender Rewriting Scheme (SRS) via TCP-based lookup +tables for Postfix. SRS is needed if your mail server acts as forwarder. + +WWW: https://github.com/roehling/postsrsd Added: head/mail/postsrsd/pkg-plist ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/mail/postsrsd/pkg-plist Sun Jul 6 02:54:34 2014 (r360856) @@ -0,0 +1,3 @@ +sbin/postsrsd +man/man8/postsrsd.8.gz +etc/postsrsd.secret