From: "Ulrich Müller" <ulm@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: mail-filter/postsrsd/
Date: Sat, 30 Aug 2025 20:30:41 +0000 (UTC) [thread overview]
Message-ID: <1756585757.c4220ea02a750f4da1165be1eb4ccae93e3cfca2.ulm@gentoo> (raw)
commit: c4220ea02a750f4da1165be1eb4ccae93e3cfca2
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 30 20:29:17 2025 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Aug 30 20:29:17 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c4220ea0
mail-filter/postsrsd: Generate the signing secret in pkg_postinst
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
mail-filter/postsrsd/postsrsd-2.0.11-r2.ebuild | 99 ++++++++++++++++++++++++++
1 file changed, 99 insertions(+)
diff --git a/mail-filter/postsrsd/postsrsd-2.0.11-r2.ebuild b/mail-filter/postsrsd/postsrsd-2.0.11-r2.ebuild
new file mode 100644
index 000000000000..b2da5d9f4635
--- /dev/null
+++ b/mail-filter/postsrsd/postsrsd-2.0.11-r2.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake eapi9-pipestatus eapi9-ver readme.gentoo-r1 systemd
+
+DESCRIPTION="Postfix Sender Rewriting Scheme daemon"
+HOMEPAGE="https://github.com/roehling/postsrsd"
+SRC_URI="https://github.com/roehling/postsrsd/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+# See REUSE.toml; GPL-3 for the main software, BSD for src/sha*.
+LICENSE="GPL-3 BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="dev-libs/confuse:="
+DEPEND="
+ ${RDEPEND}
+ test? ( dev-libs/check )
+"
+
+CHROOT_DIR="${EPREFIX}/var/lib/postsrsd"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.0.11-sysconfdir.patch
+)
+DOCS=( README.rst CHANGELOG.rst )
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_TESTING=$(usex test)
+
+ -DPOSTSRSD_CHROOTDIR="${CHROOT_DIR}"
+ -DSYSTEMD_UNITDIR="$(systemd_get_systemunitdir)"
+ -DSYSTEMD_SYSUSERSDIR="${EPREFIX}/usr/lib/sysusers.d"
+
+ -DINSTALL_SYSTEMD_SERVICE=ON
+ # https://github.com/roehling/postsrsd/blob/main/doc/packaging.rst#third-party-dependencies
+ -DFETCHCONTENT_TRY_FIND_PACKAGE_MODE=ALWAYS
+ # We don't want to run tests with sanitizers. They're
+ # unreliable under sandbox and don't run on all platforms
+ -DTESTS_WITH_ASAN=OFF
+
+ # Do not generate the signing secret in src_install, as it would
+ # a) embed it in binary packages and b) overwrite existing secrets
+ # on every reinstall. Generate the secret in pkg_postinst instead.
+ -DGENERATE_SRS_SECRET=ON
+
+ -DWITH_MILTER=OFF
+ -DWITH_SQLITE=OFF
+ -DWITH_REDIS=OFF
+ )
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ newinitd "${FILESDIR}"/postsrsd-2.0.11.initd postsrsd
+ newconfd "${FILESDIR}"/postsrsd-2.0.11.confd postsrsd
+ keepdir "${CHROOT_DIR}"
+
+ local DOC_CONTENTS="When updating from version 1.x:
+ \n\nNote that most configuration options can no longer be set from the
+ command line, therefore we cannot define them in OpenRC's conf.d file
+ either. You will have to set them in ${EPREFIX}/etc/postsrsd.conf
+ instead.
+ \n\nIn the config file, you must *at least* set the \"domains\"
+ variable, i.e. the local domain name. In most cases, using the output
+ of \"postconf -h mydomain\" should be okay.
+ \n\nAlso note that PostSRSd 2.x by default uses Unix domain sockets
+ instead of TCP sockets, so you must update \"sender_canonical_maps\"
+ and \"recipient_canonical_maps\" in ${EPREFIX}/etc/postfix/main.cf.
+ (Alternatively, you can update \"socketmap\" in postsrsd.conf.)
+ \n\nSee README.rst and the comments in postsrsd.conf for more detailed
+ information."
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ local f="${EROOT}/etc/postsrsd.secret" ret=0
+
+ if [[ ! -e ${f} ]]; then
+ ebegin "Generate the SRS signing secret and install it in ${f}"
+ (
+ umask 077
+ dd if=/dev/urandom bs=18 count=1 status=none | base64 > "${f}"
+ pipestatus
+ )
+ eend $? "Installing ${f} failed"
+ fi
+
+ ver_replacing -lt 2.0.11-r1 && local FORCE_PRINT_ELOG=1
+ readme.gentoo_print_elog
+}
next reply other threads:[~2025-08-30 20:30 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-30 20:30 Ulrich Müller [this message]
-- strict thread matches above, loose matches on Subject: below --
2025-09-25 6:49 [gentoo-commits] repo/gentoo:master commit in: mail-filter/postsrsd/ Ulrich Müller
2025-09-23 17:01 Arthur Zamarin
2025-09-23 14:15 Sam James
2025-09-20 8:00 Ulrich Müller
2025-09-07 11:47 Ulrich Müller
2025-09-01 16:26 Ulrich Müller
2025-08-31 16:24 Ulrich Müller
2025-08-31 14:54 Sam James
2025-08-31 10:27 Ulrich Müller
2025-08-31 9:54 Ulrich Müller
2025-08-31 9:54 Ulrich Müller
2025-08-30 21:41 Ulrich Müller
2025-08-30 17:14 Arthur Zamarin
2025-04-26 2:56 Sam James
2022-12-18 12:11 Sam James
2022-08-15 23:10 Sam James
2022-04-29 4:49 Sam James
2021-06-09 7:39 Dirkjan Ochtman
2021-06-07 23:10 Sam James
2021-06-07 23:10 Sam James
2021-06-07 15:14 Dirkjan Ochtman
2020-12-22 20:26 Dirkjan Ochtman
2020-12-21 18:26 Sam James
2020-12-21 0:31 Thomas Deutschmann
2020-12-20 19:25 Dirkjan Ochtman
2020-09-24 1:06 Aaron Bauman
2020-03-29 11:37 Dirkjan Ochtman
2016-11-20 8:43 Dirkjan Ochtman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1756585757.c4220ea02a750f4da1165be1eb4ccae93e3cfca2.ulm@gentoo \
--to=ulm@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox