aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorValery Kartel <valery.kartel@gmail.com>2016-12-23 19:37:34 +0200
committerTimo Teräs <timo.teras@iki.fi>2017-02-07 14:04:33 +0200
commitf471c42b59a4aed5eab049515028dc8d21f7b1c2 (patch)
tree75bc0f3b5d66f9c9daa3e03ae8fa6762fcac836e
parent5938bc9c571af2e1dee1c919b99db90dbccfa1d0 (diff)
downloadaports-f471c42b59a4aed5eab049515028dc8d21f7b1c2.tar.gz
aports-f471c42b59a4aed5eab049515028dc8d21f7b1c2.tar.bz2
aports-f471c42b59a4aed5eab049515028dc8d21f7b1c2.tar.xz
community/opendkim: fixes in build
fix user creation and db directory permissions fix init.d script - explictly set process-owner and pid-file. add post-install to generate initial keypair move non-server binaries and perl-depended script to -utils subpackage
-rw-r--r--community/opendkim/APKBUILD52
-rw-r--r--community/opendkim/opendkim.conf1
-rw-r--r--community/opendkim/opendkim.confd2
-rw-r--r--community/opendkim/opendkim.initd12
-rw-r--r--community/opendkim/opendkim.pre-install4
5 files changed, 43 insertions, 28 deletions
diff --git a/community/opendkim/APKBUILD b/community/opendkim/APKBUILD
index 01d8f6e059..bf16e144f6 100644
--- a/community/opendkim/APKBUILD
+++ b/community/opendkim/APKBUILD
@@ -3,19 +3,20 @@
# Maintainer: Valery Kartel <valery.kartel@gmail.com>
pkgname=opendkim
pkgver=2.10.3
-pkgrel=4
+pkgrel=5
pkgdesc="DKIM signing and verifying filter for MTAs"
url="http://www.opendkim.org"
arch="all"
license="custom"
+depends=""
makedepends="libressl-dev libmilter-dev"
pkgusers="opendkim"
pkggroups="opendkim"
-subpackages="$pkgname-dev $pkgname-doc $pkgname-libs $pkgname-dbg"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-libs $pkgname-dbg $pkgname-utils"
install="$pkgname.pre-install"
source="http://downloads.sourceforge.net/project/$pkgname/$pkgname-$pkgver.tar.gz
- opendkim.conf
- opendkim.initd"
+ $pkgname.confd
+ $pkgname.initd"
builddir="$srcdir/$pkgname-$pkgver"
build() {
@@ -24,34 +25,41 @@ build() {
--build=$CBUILD \
--host=$CHOST \
--prefix=/usr \
+ --sysconfdir=/etc/$pkgname \
|| return 1
make || return 1
}
package() {
cd "$builddir"
-
make DESTDIR="$pkgdir" install || return 1
+ install -d "$pkgdir"/etc/$pkgname
+ install -dm750 -g mail "$pkgdir"/var/db/dkim
+ cat "$pkgdir"/usr/share/doc/$pkgname/$pkgname.conf.simple | sed \
+ -e '/^Socket.*$/a#Socket\t\t\tlocal:opendkim.sock' \
+ -e '1s~.*~BaseDirectory\t\t/run/opendkim~' \
+ > "$pkgdir"/etc/$pkgname/$pkgname.conf
+ install -d "$pkgdir"/usr/share/licenses/$pkgname;
+ mv "$pkgdir"/usr/share/doc/$pkgname/LICENSE* \
+ "$pkgdir"/usr/share/licenses/$pkgname
+ install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
+ install -Dm644 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
+}
- install -Dm644 "$pkgdir"/usr/share/doc/opendkim/opendkim.conf.sample \
- "$pkgdir"/etc/opendkim/opendkim.conf.sample || return 1
- install -Dm644 LICENSE \
- "$pkgdir"/usr/share/licenses/$pkgname/LICENSE || return 1
- install -Dm644 LICENSE.Sendmail \
- "$pkgdir"/usr/share/licenses/$pkgname/LICENSE.Sendmail || return 1
-
- install -m755 -D "$srcdir"/$pkgname.initd \
- "$pkgdir"/etc/init.d/$pkgname || return 1
- install -m644 -D "$srcdir"/$pkgname.conf \
- "$pkgdir"/etc/conf.d/$pkgname
+utils() {
+ pkgdesc="$pkgdesc (key and zone utilities)"
+ depends="$pkgname libressl perl"
+ install -d "$subpkgdir"/usr/bin
+ mv "$pkgdir"/usr/sbin/$pkgname-* "$subpkgdir"/usr/bin
+ rm -fr "$pkgdir"/usr/lib
}
md5sums="916e691cdd16cfabd1cd6efe745323f9 opendkim-2.10.3.tar.gz
-a4fadd2a9de27bfbc83173db4db9a7f5 opendkim.conf
-72e7beb15c2dcc0fef5f06edb0f285f1 opendkim.initd"
+57210e7c36bd81680c09e3857f3cae19 opendkim.confd
+fc898b12a28671ea617538bcb09209f2 opendkim.initd"
sha256sums="43a0ba57bf942095fe159d0748d8933c6b1dd1117caf0273fa9a0003215e681b opendkim-2.10.3.tar.gz
-b030ab34d324d75b353a1d3ee1483da497ad2be76dec0ddba6c25547d833dca0 opendkim.conf
-bfed96e5a9e8e68ee2c66feed9a37270967eaf62a554367658c517f3bec87b5c opendkim.initd"
+e3f737b54130e2ba91a7d232902b1f34778a73e1cb289fd30ad0066249c7909e opendkim.confd
+b53087eebb7121fd67510b521ee126bafcc01ff5b50a393af22c730804a6c30a opendkim.initd"
sha512sums="97923e533d072c07ae4d16a46cbed95ee799aa50f19468d8bc6d1dc534025a8616c3b4b68b5842bc899b509349a2c9a67312d574a726b048c0ea46dd4fcc45d8 opendkim-2.10.3.tar.gz
-8a9ae1d6879ee20493f1fdd69ca750ca6cca8cdecea37a4b87dd67cd843491ea9e1dc2f3a2636acd1d22e961f9f61763beb898e4c58b534e3a1c9c8b1d6a3b69 opendkim.conf
-421888b3c41e97512139d30fdb55dcfa03c3c1596c67107c7e5d5a31edafff869b774d37d40f644ed967f507f15179202fc6351df4692904f25f5ad8a955652f opendkim.initd"
+1dd6ed6e4efd93463f8eeb4603e72cf3a77f0a70117164a34b45bf0d2f45d4520b62c86696f7d180cff61a73201253c1ff875efdcd5317d631118776db665ea1 opendkim.confd
+a3c3b4d4af875903aec1ae9f565113dc6b10fb0c5c45df96f043735de9be772e6d2fca812ce2bd51f9759f4a7c18ac5ced62a7b5530924edd0981250cb88f91f opendkim.initd"
diff --git a/community/opendkim/opendkim.conf b/community/opendkim/opendkim.conf
deleted file mode 100644
index 9e1631c4e0..0000000000
--- a/community/opendkim/opendkim.conf
+++ /dev/null
@@ -1 +0,0 @@
-EXTRA_OPTS="-x /etc/opendkim/opendkim.conf"
diff --git a/community/opendkim/opendkim.confd b/community/opendkim/opendkim.confd
new file mode 100644
index 0000000000..75e931b637
--- /dev/null
+++ b/community/opendkim/opendkim.confd
@@ -0,0 +1,2 @@
+# Extra arguments to pass to command line
+#command_args=""
diff --git a/community/opendkim/opendkim.initd b/community/opendkim/opendkim.initd
index 843798f5ad..2a6a4101bf 100644
--- a/community/opendkim/opendkim.initd
+++ b/community/opendkim/opendkim.initd
@@ -1,10 +1,12 @@
#!/sbin/openrc-run
+owner=opendkim
pidfile=/run/opendkim/opendkim.pid
-
+cfgfile=/etc/opendkim/opendkim.conf
command=/usr/sbin/opendkim
-command_args="-f ${EXTRA_OPTS}"
+command_args="$command_args -u $owner -f"
command_background=yes
+required_files="$cfgfile"
depend() {
need net
@@ -12,5 +14,9 @@ depend() {
}
start_pre() {
- checkpath -d -o opendkim:opendkim -m755 /run/opendkim
+ local socket=$(grep ^Socket.*local: $cfgfile | cut -d: -f2)
+ local basedir=$(grep ^BaseDirectory $cfgfile | awk '{print $2}')
+ [ "${socket:0:1}" = "/" ] && checkpath -d -o $owner ${socket%/*}
+ [ "$basedir" ] && checkpath -d -o $owner $basedir
+ checkpath -d -o $owner ${pidfile%/*}
}
diff --git a/community/opendkim/opendkim.pre-install b/community/opendkim/opendkim.pre-install
index 25d3fd7538..e40280b288 100644
--- a/community/opendkim/opendkim.pre-install
+++ b/community/opendkim/opendkim.pre-install
@@ -1,7 +1,7 @@
#!/bin/sh
addgroup -S opendkim 2>/dev/null
-adduser -S -D -H -s /bin/false -G opendkim -g opendkim opendkim 2>/dev/null
+adduser -SDH -h /run/opendkim -s /sbin/nologin -G opendkim -g opendkim opendkim 2>/dev/null
+adduser opendkim mail
exit 0
-