~alpine/aports

This thread contains a patchset. You're looking at the original emails, but you may wish to use the patch review UI. Review patch

[alpine-aports] [PATCH] community/opendkim: fix running depends, close #6122

Details
Message ID
<20161212162130.3130-1-valery.kartel@gmail.com>
Sender timestamp
1481559690
DKIM signature
missing
Download raw message
Patch: +60 -28
--
non-daemon binaries with perl dependency moved to -utils
fixes in installation, config and daemon starting
made running out of box
---
 community/opendkim/APKBUILD                        | 51 ++++++++++++----------
 .../opendkim/{opendkim.conf => opendkim.confd}     |  0
 community/opendkim/opendkim.initd                  |  8 ++--
 community/opendkim/opendkim.post-install           | 26 +++++++++++
 community/opendkim/opendkim.pre-install            |  3 +-
 5 files changed, 60 insertions(+), 28 deletions(-)
 rename community/opendkim/{opendkim.conf => opendkim.confd} (100%)
 create mode 100644 community/opendkim/opendkim.post-install

diff --git a/community/opendkim/APKBUILD b/community/opendkim/APKBUILD
index 01d8f6e059..fdd6014259 100644
--- a/community/opendkim/APKBUILD
+++ b/community/opendkim/APKBUILD
@@ -3,20 +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="libressl"
makedepends="libressl-dev libmilter-dev"
pkgusers="opendkim"
pkggroups="opendkim"
subpackages="$pkgname-dev $pkgname-doc $pkgname-libs $pkgname-dbg"
install="$pkgname.pre-install"
subpackages="$pkgname-dev $pkgname-doc $pkgname-libs $pkgname-dbg $pkgname-utils"
install="$pkgname.pre-install $pkgname.post-install"
source="http://downloads.sourceforge.net/project/$pkgname/$pkgname-$pkgver.tar.gz
	opendkim.conf
	opendkim.initd"
builddir="$srcdir/$pkgname-$pkgver"
	$pkgname.initd"
builddir="$srcdir"/$pkgname-$pkgver

build() {
	cd "$builddir"
@@ -24,34 +24,39 @@ 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 -Dm644 "$pkgdir"/usr/share/doc/$pkgname/$pkgname.conf.simple \
		"$pkgdir"/etc/$pkgname/$pkgname.conf || return 1
	install -d "$pkgdir"/var/db/dkim
	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 "$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
utils() {
	pkgdesc="$pkgdesc (key and zone utilities)"
	depends="$depends perl"
	install -d "$subpkgdir"/usr/bin
	mv "$pkgdir"/usr/sbin/$pkgname-* "$subpkgdir"/usr/bin
	rm -fr "$pkgdir"/usr/lib
}

	install -m755 -D "$srcdir"/$pkgname.initd \
		"$pkgdir"/etc/init.d/$pkgname || return 1
	install -m644 -D "$srcdir"/$pkgname.conf \
		"$pkgdir"/etc/conf.d/$pkgname
libs() {
	depends=
	default_libs
}

md5sums="916e691cdd16cfabd1cd6efe745323f9  opendkim-2.10.3.tar.gz
a4fadd2a9de27bfbc83173db4db9a7f5  opendkim.conf
72e7beb15c2dcc0fef5f06edb0f285f1  opendkim.initd"
bc8b71925ea947d82cb0cde991aee0a1  opendkim.initd"
sha256sums="43a0ba57bf942095fe159d0748d8933c6b1dd1117caf0273fa9a0003215e681b  opendkim-2.10.3.tar.gz
b030ab34d324d75b353a1d3ee1483da497ad2be76dec0ddba6c25547d833dca0  opendkim.conf
bfed96e5a9e8e68ee2c66feed9a37270967eaf62a554367658c517f3bec87b5c  opendkim.initd"
cf366c6715b3aaa87587aefae599e51c74c77aabdcc58b2782e9922b582b8145  opendkim.initd"
sha512sums="97923e533d072c07ae4d16a46cbed95ee799aa50f19468d8bc6d1dc534025a8616c3b4b68b5842bc899b509349a2c9a67312d574a726b048c0ea46dd4fcc45d8  opendkim-2.10.3.tar.gz
8a9ae1d6879ee20493f1fdd69ca750ca6cca8cdecea37a4b87dd67cd843491ea9e1dc2f3a2636acd1d22e961f9f61763beb898e4c58b534e3a1c9c8b1d6a3b69  opendkim.conf
421888b3c41e97512139d30fdb55dcfa03c3c1596c67107c7e5d5a31edafff869b774d37d40f644ed967f507f15179202fc6351df4692904f25f5ad8a955652f  opendkim.initd"
156c32e55a131307dbeafdbe512b5157734b0785b0561a734cd1a0bd8368243cfcc66805a91905d7b46545384b1c5565207686865af792a36669bf74b9c21c71  opendkim.initd"
diff --git a/community/opendkim/opendkim.conf b/community/opendkim/opendkim.confd
similarity index 100%
rename from community/opendkim/opendkim.conf
rename to community/opendkim/opendkim.confd
diff --git a/community/opendkim/opendkim.initd b/community/opendkim/opendkim.initd
index 843798f5ad..4b7d6170ee 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="-f -u $owner"
command_background=yes
required_files="$cfgfile"

depend() {
	need net
@@ -12,5 +14,5 @@ depend() {
}

start_pre() {
	checkpath -d -o opendkim:opendkim -m755 /run/opendkim
	checkpath -dm755 -o $owner ${pidfile%/*}
}
diff --git a/community/opendkim/opendkim.post-install b/community/opendkim/opendkim.post-install
new file mode 100644
index 0000000000..050e612da4
--- /dev/null
+++ b/community/opendkim/opendkim.post-install
@@ -0,0 +1,26 @@
#!/bin/sh

selector=$(grep ^Selector /etc/opendkim/opendkim.conf | awk '{print $2}')
keyfile=$(grep ^KeyFile /etc/opendkim/opendkim.conf | awk '{print $2}')
domain=$(grep ^Domain /etc/opendkim/opendkim.conf | awk '{print $2}')

keydir=${keyfile%/*}
keyfile=${keyfile##*/}
keyname=${keyfile%.private}

if [  ! -f $keydir/$keyname.txt ]; then
	[ ! -d $keydir ] && mkdir -p $keydir
	openssl genrsa -out $keydir/$keyfile 1024 > /dev/null 2>&1
	openssl rsa -in $keydir/$keyfile -pubout \
		-out $keydir/$keyname.public -outform PEM > /dev/null 2>&1
	chmod 640 $keydir/$keyfile
	if [ "$domain" ]; then
		echo -en "$selector._domainkey IN TXT (\n\"v=DKIM1; k=rsa;\"\n\"p=" > $keydir/$keyname.txt
		grep -v ^- $keydir/$keyname.public | tr -d '\n' >> $keydir/$keyname.txt
		echo -e "\"\n) ; ----- DKIM key $selector for $domain" >> $keydir/$keyname.txt
		rm $keydir/$keyname.public
	fi
	chown -R root:opendkim $keydir
fi

exit 0
diff --git a/community/opendkim/opendkim.pre-install b/community/opendkim/opendkim.pre-install
index 25d3fd7538..4e30582fc2 100644
--- a/community/opendkim/opendkim.pre-install
+++ b/community/opendkim/opendkim.pre-install
@@ -1,7 +1,6 @@
#!/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

exit 0

-- 
2.11.0



---
Unsubscribe:  alpine-aports+unsubscribe@lists.alpinelinux.org
Help:         alpine-aports+help@lists.alpinelinux.org
---
Reply to thread Export thread (mbox)