forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
/
postgrey-1.35-r2.ebuild
71 lines (58 loc) · 1.68 KB
/
postgrey-1.35-r2.ebuild
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
inherit eutils systemd user
DESCRIPTION="Postgrey is a Postfix policy server implementing greylisting"
HOMEPAGE="http://postgrey.schweikert.ch/"
SRC_URI="http://postgrey.schweikert.ch/pub/${P}.tar.gz
http://postgrey.schweikert.ch/pub/old/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~x86"
IUSE="targrey"
DEPEND=""
RDEPEND=">=dev-lang/perl-5.6.0
dev-perl/Net-Server
dev-perl/IO-Multiplex
dev-perl/BerkeleyDB
dev-perl/Net-DNS
dev-perl/Parse-Syslog
dev-perl/Net-RBLClient
virtual/perl-Digest-SHA
>=sys-libs/db-4.1"
pkg_setup() {
enewgroup ${PN}
enewuser ${PN} -1 -1 /dev/null ${PN}
}
src_prepare() {
if use targrey ; then
epatch "${FILESDIR}"/targrey-0.31-postgrey-1.34.patch
fi
# bug 479400
sed -i 's@#!/usr/bin/perl -T -w@#!/usr/bin/perl -w@' postgrey || die "sed failed"
}
src_install() {
# postgrey data/DB in /var
diropts -m0770 -o ${PN} -g ${PN}
dodir /var/spool/postfix/${PN}
keepdir /var/spool/postfix/${PN}
fowners postgrey:postgrey /var/spool/postfix/${PN}
fperms 0770 /var/spool/postfix/${PN}
# postgrey binary
dosbin ${PN}
dosbin contrib/postgreyreport
# policy-test script
dosbin policy-test
# postgrey data in /etc/postfix
insinto /etc/postfix
insopts -o root -g ${PN} -m 0640
doins postgrey_whitelist_clients postgrey_whitelist_recipients
# documentation
dodoc Changes README README.exim
# init.d + conf.d files
insopts -o root -g root -m 755
newinitd "${FILESDIR}"/${PN}-1.34-r3.rc.new ${PN}
insopts -o root -g root -m 640
newconfd "${FILESDIR}"/${PN}.conf.new ${PN}
systemd_dounit "${FILESDIR}"/postgrey.service
}