pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/mail/opensmtpd-extras



Module Name:    pkgsrc
Committed By:   vins
Date:           Thu Feb 29 20:57:37 UTC 2024

Added Files:
        pkgsrc/mail/opensmtpd-extras: DESCR Makefile PLIST distinfo options.mk
        pkgsrc/mail/opensmtpd-extras/patches: patch-api_filter__api.c
            patch-api_queue__api.c patch-api_scheduler__api.c
            patch-api_table__api.c patch-configure.ac

Log Message:
mail/opensmtpd-extras: initial import of opensmtpd-extras-6.7.1

This package provides extras for OpenSMTPD, including several filters, queues,
shcedulers and tables.


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 pkgsrc/mail/opensmtpd-extras/DESCR \
    pkgsrc/mail/opensmtpd-extras/Makefile pkgsrc/mail/opensmtpd-extras/PLIST \
    pkgsrc/mail/opensmtpd-extras/distinfo \
    pkgsrc/mail/opensmtpd-extras/options.mk
cvs rdiff -u -r0 -r1.1 \
    pkgsrc/mail/opensmtpd-extras/patches/patch-api_filter__api.c \
    pkgsrc/mail/opensmtpd-extras/patches/patch-api_queue__api.c \
    pkgsrc/mail/opensmtpd-extras/patches/patch-api_scheduler__api.c \
    pkgsrc/mail/opensmtpd-extras/patches/patch-api_table__api.c \
    pkgsrc/mail/opensmtpd-extras/patches/patch-configure.ac

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Added files:

Index: pkgsrc/mail/opensmtpd-extras/DESCR
diff -u /dev/null pkgsrc/mail/opensmtpd-extras/DESCR:1.1
--- /dev/null   Thu Feb 29 20:57:37 2024
+++ pkgsrc/mail/opensmtpd-extras/DESCR  Thu Feb 29 20:57:37 2024
@@ -0,0 +1,2 @@
+Extras for OpenSMTPD, including several filters, queues, schedulers and
+tables.
Index: pkgsrc/mail/opensmtpd-extras/Makefile
diff -u /dev/null pkgsrc/mail/opensmtpd-extras/Makefile:1.1
--- /dev/null   Thu Feb 29 20:57:37 2024
+++ pkgsrc/mail/opensmtpd-extras/Makefile       Thu Feb 29 20:57:37 2024
@@ -0,0 +1,80 @@
+# $NetBSD: Makefile,v 1.1 2024/02/29 20:57:37 vins Exp $
+
+DISTNAME=      opensmtpd-extras-6.7.1
+CATEGORIES=    mail
+MASTER_SITES=  ${MASTER_SITE_GITHUB:=OpenSMTPD/}
+GITHUB_PROJECT=        OpenSMTPD-extras
+GITHUB_RELEASE=        ${PKGVERSION_NOREV}
+
+MAINTAINER=    vins%NetBSD.org@localhost
+HOMEPAGE=      https://github.com/OpenSMTPD/OpenSMTPD-extras/
+COMMENT=       Addons for OpenSMTPD
+LICENSE=       isc
+
+BUILD_DEFS+=           VARBASE
+PTHREAD_AUTO_VARS=     yes
+
+CFLAGS.NetBSD+=        -D_OPENBSD_SOURCE   # strtonum()
+
+GNU_CONFIGURE= yes
+USE_LIBTOOL=   yes
+USE_TOOLS+=    awk mandoc pkg-config sh
+USE_TOOLS+=    automake aclocal autoheader autoconf
+
+DEPENDS+=      opensmtpd-[0-9]*:../../mail/opensmtpd
+
+SUBST_CLASSES+=                paths
+SUBST_STAGE.paths=     pre-configure
+SUBST_MESSAGE.paths=   Replacing hard-coded paths.
+SUBST_FILES.paths=     configure.ac
+SUBST_SED.paths+=      -e "s:/usr/local/bin:${PREFIX}/bin:g"
+SUBST_SED.paths+=      -e "s:/usr/local/lib:${PREFIX}/lib:g"
+SUBST_SED.paths+=      -e "s:/usr/local/include:${PREFIX}/include:g"
+SUBST_SED.paths+=      -e "s:/usr/local/ssl:${SSLDIR}:g"
+
+CONFIGURE_ENV+=                TEST_MINUS_S_SH=${SH:Q}
+CONFIGURE_ARGS+=       --with-pie
+CONFIGURE_ARGS+=       --with-mantype=man
+CONFIGURE_ARGS+=       --libexecdir=${PREFIX}/libexec
+CONFIGURE_ARGS+=       --sysconfdir=${PKG_SYSCONFDIR}/smtpd
+CONFIGURE_ARGS+=       --with-user-smtpd=_smtpd
+CONFIGURE_ARGS+=       --with-path-empty=${VARBASE}/empty
+CONFIGURE_ARGS+=       --with-libssl=${SSLBASE:Q}
+CONFIGURE_ARGS+=       --with-libevent=${BUILDLINK_PREFIX.libevent}
+
+CONFIGURE_ARGS+=       --with-cflags=${CFLAGS:Q}       \
+                       --with-cppflags=${CPPFLAGS:Q}   \
+                       --with-ldflags=${LDFLAGS:Q}
+
+CONFIGURE_ARGS+=       --with-filter-stub      \
+                       --with-filter-trace     \
+                       --with-filter-void      \
+                       --with-queue-null       \
+                       --with-queue-ram        \
+                       --with-queue-stub       \
+                       --with-scheduler-ram    \
+                       --with-scheduler-stub   \
+                       --with-table-passwd     \
+                       --with-table-socketmap  \
+                       --with-table-stub       \
+                       --with-tool-stats
+
+.include "options.mk"
+
+INSTALL_TARGET=                install-strip
+INSTALLATION_DIRS+=    libexec/opensmtpd
+
+pre-configure:
+       cd ${WRKSRC} && ${PREFIX}/bin/libtoolize --copy --force
+       cd ${WRKSRC} && ${TOOLS_CMD.aclocal}
+       cd ${WRKSRC} && ${TOOLS_CMD.autoconf}
+       cd ${WRKSRC} && ${TOOLS_CMD.autoheader}
+       cd ${WRKSRC} && ${TOOLS_CMD.automake} --foreign --add-missing --copy
+
+.include "../../security/openssl/buildlink3.mk"
+.include "../../devel/libevent/buildlink3.mk"
+.include "../../devel/zlib/buildlink3.mk"
+.include "../../mk/pthread.buildlink3.mk"
+.include "../../mk/pam.buildlink3.mk"
+
+.include "../../mk/bsd.pkg.mk"
Index: pkgsrc/mail/opensmtpd-extras/PLIST
diff -u /dev/null pkgsrc/mail/opensmtpd-extras/PLIST:1.1
--- /dev/null   Thu Feb 29 20:57:37 2024
+++ pkgsrc/mail/opensmtpd-extras/PLIST  Thu Feb 29 20:57:37 2024
@@ -0,0 +1,21 @@
+@comment $NetBSD: PLIST,v 1.1 2024/02/29 20:57:37 vins Exp $
+libexec/opensmtpd/queue-null
+${PLIST.python}libexec/opensmtpd/queue-python
+libexec/opensmtpd/queue-ram
+libexec/opensmtpd/queue-stub
+${PLIST.python}libexec/opensmtpd/scheduler-python
+libexec/opensmtpd/scheduler-ram
+libexec/opensmtpd/scheduler-stub
+${PLIST.ldap}libexec/opensmtpd/table-ldap
+${PLIST.mysql}libexec/opensmtpd/table-mysql
+libexec/opensmtpd/table-passwd
+${PLIST.pgsql}libexec/opensmtpd/table-postgres
+${PLIST.python}libexec/opensmtpd/table-python
+${PLIST.redis}libexec/opensmtpd/table-redis
+libexec/opensmtpd/table-socketmap
+${PLIST.sqlite}libexec/opensmtpd/table-sqlite
+libexec/opensmtpd/table-stub
+man/man5/table-passwd.5
+${PLIST.redis}man/man5/table-redis.5
+man/man5/table-socketmap.5
+${PLIST.sqlite}man/man5/table-sqlite.5
Index: pkgsrc/mail/opensmtpd-extras/distinfo
diff -u /dev/null pkgsrc/mail/opensmtpd-extras/distinfo:1.1
--- /dev/null   Thu Feb 29 20:57:37 2024
+++ pkgsrc/mail/opensmtpd-extras/distinfo       Thu Feb 29 20:57:37 2024
@@ -0,0 +1,10 @@
+$NetBSD: distinfo,v 1.1 2024/02/29 20:57:37 vins Exp $
+
+BLAKE2s (opensmtpd-extras-6.7.1.tar.gz) = 8f083e788e92af2374701f283e46b010f62d21d16cce0399fd5382a008425c1a
+SHA512 (opensmtpd-extras-6.7.1.tar.gz) = 0969c53a5d13816862f13b3572c0d84d34e2d36d85f83a528d70ee3f4ad5e6b2cdda256529e95a43a177e64368e4e93540d5bb2f81039808d79049234b249d91
+Size (opensmtpd-extras-6.7.1.tar.gz) = 548792 bytes
+SHA1 (patch-api_filter__api.c) = 10386e0910025a5fb7e39e516ba89d37a9f4f2df
+SHA1 (patch-api_queue__api.c) = 95cb46aaaec8f61767abd66a6ae7122aa524d20e
+SHA1 (patch-api_scheduler__api.c) = 926efe385a7cfe5844af80041e01b1886a27fea6
+SHA1 (patch-api_table__api.c) = a0a96fb0e8f26d4595dc92ad8c3844270530c4d1
+SHA1 (patch-configure.ac) = f772a1659f12fc421203d911d6b710020c29f5b2
Index: pkgsrc/mail/opensmtpd-extras/options.mk
diff -u /dev/null pkgsrc/mail/opensmtpd-extras/options.mk:1.1
--- /dev/null   Thu Feb 29 20:57:37 2024
+++ pkgsrc/mail/opensmtpd-extras/options.mk     Thu Feb 29 20:57:37 2024
@@ -0,0 +1,84 @@
+# $NetBSD: options.mk,v 1.1 2024/02/29 20:57:37 vins Exp $
+
+PKG_OPTIONS_VAR=       PKG_OPTIONS.opensmtpd-extras
+
+PKG_SUPPORTED_OPTIONS+=        ldap mysql perl pgsql python redis sqlite
+PKG_SUGGESTED_OPTIONS= ldap sqlite
+
+PLIST_VARS+=   ldap mysql pgsql python redis sqlite
+
+.include "../../mk/bsd.options.mk"
+
+###
+### SQLite based OpenSMTPD table
+###
+.if !empty(PKG_OPTIONS:Msqlite)
+.  include "../../databases/sqlite3/buildlink3.mk"
+CONFIGURE_ARGS+=       --with-table-sqlite
+PLIST.sqlite=       yes
+.endif
+
+###
+### LDAP based OpenSMTPD table
+###
+.if !empty(PKG_OPTIONS:Mldap)
+.  include "../../databases/openldap-client/buildlink3.mk"
+CONFIGURE_ARGS+=       --with-table-ldap
+PLIST.ldap=       yes
+.endif
+
+###
+### MySQL based OpenSMTPD table
+###
+.if !empty(PKG_OPTIONS:Mmysql)
+.  include "../../mk/mysql.buildlink3.mk"
+CONFIGURE_ARGS+=       --with-table-mysql
+PLIST.mysql=           yes
+.endif
+
+###
+### PostgreSQL based OpenSMTPD table
+###
+.if !empty(PKG_OPTIONS:Mpgsql)
+.  include "../../mk/pgsql.buildlink3.mk"
+CONFIGURE_ARGS+=       --with-table-postgres
+PLIST.pgsql=           yes
+.endif
+
+###
+### Redis based OpenSMTPD table
+###
+.if !empty(PKG_OPTIONS:Mredis)
+.  include "../../databases/hiredis/buildlink3.mk"
+CONFIGURE_ARGS+=       --with-table-redis
+PLIST.redis=           yes
+.endif
+
+###
+### Perl bindings for OpenSMTPD
+###
+.if !empty(PKG_OPTIONS:Mperl)
+.  include "../../lang/perl5/buildlink3.mk"
+USE_TOOLS+=            perl:run
+CONFIGURE_ENV+=                need_perl=yes
+CONFIGURE_ENV+=                PERL_CONFIG=${PERL5:Q}
+CONFIGURE_ARGS+=       --with-perl=${BUILDLINK_PREFIX.perl:Q}
+.endif
+
+###
+### Python bindings for OpenSMTPD
+###
+.if !empty(PKG_OPTIONS:Mpython)
+# current implementation is incompatible and does not build with python3
+PYTHON_VERSIONS_ACCEPTED=      27
+LDFLAGS+=              ${COMPILER_RPATH_FLAG}${PREFIX}/lib
+.  include "../../converters/libiconv/buildlink3.mk"
+.  include "../../devel/gettext-lib/buildlink3.mk"
+.  include "../../lang/python/application.mk"
+CONFIGURE_ARGS+=       --with-python=${PREFIX:Q}
+CONFIGURE_ARGS+=       --with-python-type=python${PYVERSSUFFIX}
+CONFIGURE_ARGS+=       --with-queue-python
+CONFIGURE_ARGS+=       --with-table-python
+CONFIGURE_ARGS+=       --with-scheduler-python
+PLIST.python=          yes
+.endif

Index: pkgsrc/mail/opensmtpd-extras/patches/patch-api_filter__api.c
diff -u /dev/null pkgsrc/mail/opensmtpd-extras/patches/patch-api_filter__api.c:1.1
--- /dev/null   Thu Feb 29 20:57:37 2024
+++ pkgsrc/mail/opensmtpd-extras/patches/patch-api_filter__api.c        Thu Feb 29 20:57:37 2024
@@ -0,0 +1,27 @@
+$NetBSD: patch-api_filter__api.c,v 1.1 2024/02/29 20:57:37 vins Exp $
+
+Use seteuid(2) on systems where setresuid() is unsupported 
+
+--- api/filter_api.c.orig      2024-02-29 15:13:00.034082660 +0000
++++ api/filter_api.c
+@@ -1062,8 +1062,18 @@ filter_api_loop(void)
+       }
+ 
+       if (setgroups(1, &fi.gid) ||
+-          setresgid(fi.gid, fi.gid, fi.gid) ||
+-          setresuid(fi.uid, fi.uid, fi.uid)) {
++#if HAVE_SETRESGID 
++           setresgid(fi.gid, fi.gid, fi.gid)    
++#else 
++           setegid(fi.gid) 
++#endif 
++           || 
++#if HAVE_SETRESUID 
++           setresuid(fi.uid, fi.uid, fi.uid)) 
++#else 
++           seteuid(fi.uid)) 
++#endif
++      {
+               log_warn("warn: filter-api:%s cannot drop privileges", filter_name);
+               fatalx("filter-api: exiting");
+       }
Index: pkgsrc/mail/opensmtpd-extras/patches/patch-api_queue__api.c
diff -u /dev/null pkgsrc/mail/opensmtpd-extras/patches/patch-api_queue__api.c:1.1
--- /dev/null   Thu Feb 29 20:57:37 2024
+++ pkgsrc/mail/opensmtpd-extras/patches/patch-api_queue__api.c Thu Feb 29 20:57:37 2024
@@ -0,0 +1,27 @@
+$NetBSD: patch-api_queue__api.c,v 1.1 2024/02/29 20:57:37 vins Exp $
+
+Use seteuid(2) on systems where setresuid() is unsupported
+
+--- api/queue_api.c.orig       2020-04-06 18:36:29.000000000 +0000
++++ api/queue_api.c
+@@ -421,8 +421,18 @@ queue_api_dispatch(void)
+ 
+       if (pw &&
+          (setgroups(1, &pw->pw_gid) ||
+-          setresgid(pw->pw_gid, pw->pw_gid, pw->pw_gid) ||
+-          setresuid(pw->pw_uid, pw->pw_uid, pw->pw_uid))) {
++#if HAVE_SETRESGID
++          setresgid(pw->pw_gid, pw->pw_gid, pw->pw_gid)
++#else
++          setegid(pw->pw_gid)
++#endif
++          ||
++#if HAVE_SETRESUID
++          setresuid(pw->pw_uid, pw->pw_uid, pw->pw_uid)))
++#else
++          seteuid(pw->pw_gid)))
++#endif
++      {
+               log_warn("queue-api: cannot drop privileges");
+               fatalx("queue-api: exiting");
+       }
Index: pkgsrc/mail/opensmtpd-extras/patches/patch-api_scheduler__api.c
diff -u /dev/null pkgsrc/mail/opensmtpd-extras/patches/patch-api_scheduler__api.c:1.1
--- /dev/null   Thu Feb 29 20:57:37 2024
+++ pkgsrc/mail/opensmtpd-extras/patches/patch-api_scheduler__api.c     Thu Feb 29 20:57:37 2024
@@ -0,0 +1,27 @@
+$NetBSD: patch-api_scheduler__api.c,v 1.1 2024/02/29 20:57:37 vins Exp $
+
+Use seteuid(2) on systems where setresuid() is unsupported
+
+--- api/scheduler_api.c.orig   2020-04-06 18:36:29.000000000 +0000
++++ api/scheduler_api.c
+@@ -440,8 +440,18 @@ scheduler_api_dispatch(void)
+ 
+       if (pw &&
+          (setgroups(1, &pw->pw_gid) ||
+-          setresgid(pw->pw_gid, pw->pw_gid, pw->pw_gid) ||
+-          setresuid(pw->pw_uid, pw->pw_uid, pw->pw_uid))) {
++#if HAVE_SETRESGID 
++           setresgid(pw->pw_gid, pw->pw_gid, pw->pw_gid)    
++#else 
++           setegid(pw->pw_gid) 
++#endif 
++           || 
++#if HAVE_SETRESUID 
++           setresuid(pw->pw_uid, pw->pw_uid, pw->pw_uid))) 
++#else 
++           seteuid(pw->pw_gid))) 
++#endif
++      {
+               log_warn("queue-api: cannot drop privileges");
+               fatalx("queue-api: exiting");
+       }
Index: pkgsrc/mail/opensmtpd-extras/patches/patch-api_table__api.c
diff -u /dev/null pkgsrc/mail/opensmtpd-extras/patches/patch-api_table__api.c:1.1
--- /dev/null   Thu Feb 29 20:57:37 2024
+++ pkgsrc/mail/opensmtpd-extras/patches/patch-api_table__api.c Thu Feb 29 20:57:37 2024
@@ -0,0 +1,27 @@
+$NetBSD: patch-api_table__api.c,v 1.1 2024/02/29 20:57:37 vins Exp $
+
+Use seteuid(2) on systems where setresuid() is unsupported
+
+--- api/table_api.c.orig       2020-04-06 18:36:29.000000000 +0000
++++ api/table_api.c
+@@ -300,8 +300,18 @@ table_api_dispatch(void)
+       }
+ 
+       if (setgroups(1, &pw->pw_gid) ||
+-          setresgid(pw->pw_gid, pw->pw_gid, pw->pw_gid) ||
+-          setresuid(pw->pw_uid, pw->pw_uid, pw->pw_uid)) {
++#if HAVE_SETRESGID
++           setresgid(pw->pw_gid, pw->pw_gid, pw->pw_gid)
++#else
++           setegid(pw->pw_gid)
++#endif
++           ||
++#if HAVE_SETRESUID
++           setresuid(pw->pw_uid, pw->pw_uid, pw->pw_uid))
++#else
++           seteuid(pw->pw_gid)))
++#endif
++      {
+               log_warn("table-api: cannot drop privileges");
+               fatalx("table-api: exiting");
+       }
Index: pkgsrc/mail/opensmtpd-extras/patches/patch-configure.ac
diff -u /dev/null pkgsrc/mail/opensmtpd-extras/patches/patch-configure.ac:1.1
--- /dev/null   Thu Feb 29 20:57:37 2024
+++ pkgsrc/mail/opensmtpd-extras/patches/patch-configure.ac     Thu Feb 29 20:57:37 2024
@@ -0,0 +1,18 @@
+$NetBSD: patch-configure.ac,v 1.1 2024/02/29 20:57:37 vins Exp $
+
+Avoid conflicting types for snprintf()
+
+--- configure.ac.orig  2024-02-29 18:09:13.292053324 +0000
++++ configure.ac
+@@ -501,9 +501,9 @@ fi
+ AC_MSG_CHECKING([whether snprintf can declare const char *fmt])
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+ #include <stdio.h>
+-int snprintf(char *a, size_t b, const char *c, ...) { return 0; }
++int x_snprintf(char *a, size_t b, const char *c, ...) { return 0; }
+               ]], [[
+-      snprintf(0, 0, 0);
++      x_snprintf(0, 0, 0);
+               ]])],
+    [AC_MSG_RESULT([yes])
+     AC_DEFINE([SNPRINTF_CONST], [const],



Home | Main Index | Thread Index | Old Index