Skip to content

Commit

Permalink
mail-filter/opendkim: new revision to set sysconfdir consistently.
Browse files Browse the repository at this point in the history
In the previous revision -r11, we tried to unite the configuration for
OpenRC and systemd. But, I made a mistake: the upstream location for
e.g. the main configuration file is @sysconfdir@/opendkim.conf, but in
Gentoo we install it to @sysconfdir@/opendkim/opendkim.conf. That path
is overridden in the OpenRC service script, but not in the systemd
service, which now crashes upon starting.

The error, however, is in the OpenRC script (and in our ebuild). The
correct way to relocate the configuration files is to pass a different
value to --sysconfdir in src_configure(). This new revision does that,
and updates the OpenRC service script to use the built-in location,
rather than a custom Gentoo-defined one. That's how it should have
been all along.

This also fixes an unreported bug, wherein all of the installed
documentation like opendkim.conf(5) pointed to the wrong path.

Thanks to Ralph Seichter who built a systemd virtual machine in order
to test everything.

Signed-off-by: Michael Orlitzky <[email protected]>
Package-Manager: Portage-2.3.62, Repoman-2.3.11
  • Loading branch information
orlitzky committed Apr 24, 2019
1 parent 38ea178 commit 843899b
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 10 deletions.
12 changes: 2 additions & 10 deletions mail-filter/opendkim/files/opendkim-2.10.3-openrc.patch
Original file line number Diff line number Diff line change
Expand Up @@ -119,25 +119,17 @@ index 76df01cd..401130bb 100644
+SUBDIRS = convert docs init ldap lua patches repute spec stats

dist_doc_DATA = README
diff --git a/contrib/OpenRC/.gitignore b/contrib/OpenRC/.gitignore
new file mode 100644
index 00000000..af0aa700
--- /dev/null
+++ b/contrib/OpenRC/.gitignore
@@ -0,0 +1,2 @@
+opendkim.openrc
+opendkim.openrc.in
diff --git a/contrib/OpenRC/opendkim.openrc.in.in b/contrib/OpenRC/opendkim.openrc.in.in
new file mode 100644
index 00000000..d9631cdf
index 00000000..4b783615
--- /dev/null
+++ b/contrib/OpenRC/opendkim.openrc.in.in
@@ -0,0 +1,54 @@
+#!/sbin/openrc-run
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+CONFFILE="@SYSCONFDIR@/opendkim/${RC_SVCNAME}.conf"
+CONFFILE="@SYSCONFDIR@/${RC_SVCNAME}.conf"
+required_files="${CONFFILE}"
+
+command="@SBINDIR@/opendkim"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,12 @@ src_configure() {
if use ldap; then
myconf+=( $(use_with sasl) )
fi

# We install the our configuration filed under e.g. /etc/opendkim,
# so the next line is necessary to point the daemon and all of its
# documentation to the right location by default.
myconf+=( --sysconfdir="${EPREFIX}/etc/${PN}" )

econf \
$(use_with berkdb db) \
$(use_with opendbx odbx) \
Expand Down

0 comments on commit 843899b

Please sign in to comment.