X-Original-To: alpine-aports@lists.alpinelinux.org Received: from mail.infogroup.kiev.ua (tera.infogroup.kiev.ua [195.144.25.26]) by lists.alpinelinux.org (Postfix) with ESMTP id 703025C4593 for ; Mon, 12 Dec 2016 16:21:31 +0000 (GMT) Received: from ost.org.ua ([195.144.25.230] helo=alpine.ost.org.ua) by mail.infogroup.kiev.ua with esmtpsa (TLSv1:DHE-RSA-AES256-SHA:256) (Exim 4.80.1) (envelope-from ) id 1cGTM3-0003N3-5W for alpine-aports@lists.alpinelinux.org; Mon, 12 Dec 2016 18:21:31 +0200 From: Valery Kartel To: alpine-aports@lists.alpinelinux.org Subject: [alpine-aports] [PATCH] community/opendkim: fix running depends, close #6122 Date: Mon, 12 Dec 2016 18:21:30 +0200 Message-Id: <20161212162130.3130-1-valery.kartel@gmail.com> X-Mailer: git-send-email 2.11.0 Sender: droid@infogroup.kiev.ua X-Mailinglist: alpine-aports Precedence: list List-Id: Alpine Development List-Unsubscribe: List-Post: List-Help: List-Subscribe: -- 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 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 ---