public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
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
+}


             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