Gentoo Archives: gentoo-commits

From: "Alin Nastac (mrness)" <mrness@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in mail-filter/dk-milter: dk-milter-1.0.2-r1.ebuild ChangeLog dk-milter-1.0.2.ebuild
Date: Sat, 22 Aug 2009 22:47:23
Message-Id: E1MezMf-0001HV-OA@stork.gentoo.org
1 mrness 09/08/22 22:47:13
2
3 Modified: ChangeLog
4 Added: dk-milter-1.0.2-r1.ebuild
5 Removed: dk-milter-1.0.2.ebuild
6 Log:
7 Use shared libmilter library (#245950).
8 (Portage version: 2.1.6.13/cvs/Linux x86_64)
9
10 Revision Changes Path
11 1.19 mail-filter/dk-milter/ChangeLog
12
13 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/mail-filter/dk-milter/ChangeLog?rev=1.19&view=markup
14 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/mail-filter/dk-milter/ChangeLog?rev=1.19&content-type=text/plain
15 diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/mail-filter/dk-milter/ChangeLog?r1=1.18&r2=1.19
16
17 Index: ChangeLog
18 ===================================================================
19 RCS file: /var/cvsroot/gentoo-x86/mail-filter/dk-milter/ChangeLog,v
20 retrieving revision 1.18
21 retrieving revision 1.19
22 diff -u -r1.18 -r1.19
23 --- ChangeLog 15 Aug 2009 12:39:29 -0000 1.18
24 +++ ChangeLog 22 Aug 2009 22:47:13 -0000 1.19
25 @@ -1,6 +1,12 @@
26 # ChangeLog for mail-filter/dk-milter
27 # Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
28 -# $Header: /var/cvsroot/gentoo-x86/mail-filter/dk-milter/ChangeLog,v 1.18 2009/08/15 12:39:29 mrness Exp $
29 +# $Header: /var/cvsroot/gentoo-x86/mail-filter/dk-milter/ChangeLog,v 1.19 2009/08/22 22:47:13 mrness Exp $
30 +
31 +*dk-milter-1.0.2-r1 (22 Aug 2009)
32 +
33 + 22 Aug 2009; Alin Năstac <mrness@g.o> -dk-milter-1.0.2.ebuild,
34 + +dk-milter-1.0.2-r1.ebuild:
35 + Use shared libmilter library (#245950).
36
37 15 Aug 2009; Alin Năstac <mrness@g.o> dk-milter-1.0.2.ebuild:
38 Set /var/lib/milter as home directory for milter user (#280571).
39
40
41
42 1.1 mail-filter/dk-milter/dk-milter-1.0.2-r1.ebuild
43
44 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/mail-filter/dk-milter/dk-milter-1.0.2-r1.ebuild?rev=1.1&view=markup
45 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/mail-filter/dk-milter/dk-milter-1.0.2-r1.ebuild?rev=1.1&content-type=text/plain
46
47 Index: dk-milter-1.0.2-r1.ebuild
48 ===================================================================
49 # Copyright 1999-2009 Gentoo Foundation
50 # Distributed under the terms of the GNU General Public License v2
51 # $Header: /var/cvsroot/gentoo-x86/mail-filter/dk-milter/dk-milter-1.0.2-r1.ebuild,v 1.1 2009/08/22 22:47:13 mrness Exp $
52
53 EAPI="2"
54
55 inherit eutils toolchain-funcs
56
57 DESCRIPTION="A milter-based application provide DomainKeys service"
58 HOMEPAGE="http://sourceforge.net/projects/dk-milter/"
59 SRC_URI="mirror://sourceforge/dk-milter/${P}.tar.gz"
60
61 LICENSE="Sendmail-Open-Source"
62 SLOT="0"
63 KEYWORDS="~amd64 ~x86"
64 IUSE="ipv6"
65
66 DEPEND="dev-libs/openssl
67 >=sys-libs/db-3.2
68 || ( mail-filter/libmilter mail-mta/sendmail )"
69 RDEPEND="${DEPEND}"
70
71 pkg_setup() {
72 enewgroup milter
73 # mail-milter/spamass-milter creates milter user with this home directory
74 # For consistency reasons, milter user must be created here with this home directory
75 # even though this package doesn't need a home directory for this user (#280571)
76 enewuser milter -1 -1 /var/lib/milter milter
77 }
78
79 src_prepare() {
80 epatch "${FILESDIR}"/${P}-as-needed.patch
81
82 local ENVDEF=""
83 use ipv6 && ENVDEF="${ENVDEF} -DNETINET6"
84 sed -e "s:@@CFLAGS@@:${CFLAGS}:" \
85 -e "s:@@LDFLAGS@@:${LDFLAGS}:" \
86 -e "s/@@ENVDEF@@/${ENVDEF}/" \
87 "${FILESDIR}/gentoo.config.m4" > "${S}/devtools/Site/site.config.m4" \
88 || die "failed to generate site.config.m4"
89 }
90
91 src_compile() {
92 emake -j1 CC="$(tc-getCC)" || die "emake failed"
93 }
94
95 src_install() {
96 # no other program need to read from here
97 dodir /etc/mail/dk-filter
98 fowners milter:milter /etc/mail/dk-filter
99 fperms 700 /etc/mail/dk-filter
100
101 newinitd "${FILESDIR}/dk-filter.init" dk-filter \
102 || die "newinitd failed"
103 newconfd "${FILESDIR}/dk-filter.conf" dk-filter \
104 || die "newconfd failed"
105
106 # prepare directory for .pid and .sock files
107 dodir /var/run/dk-filter
108 fowners milter:milter /var/run/dk-filter
109
110 dodir /usr/bin
111 emake -j1 DESTDIR="${D}" \
112 SBINOWN=root SBINGRP=root UBINOWN=root UBINGRP=root \
113 install || die "make install failed"
114
115 # man build is broken; do man page installation by hand
116 doman */*.8
117
118 # some people like docs
119 dodoc README RELEASE_NOTES KNOWNBUGS *.txt
120 }
121
122 pkg_postinst() {
123 ewarn "DomainKeys RFC is obsoleted by DKIM and therefore you should only use"
124 ewarn "dk-milter for verifying mail signed with DomainKeys-Signature."
125 echo
126 elog "However, if you still want to use this in sign mode, you should run"
127 elog " emerge --config ${CATEGORY}/${PN}"
128 elog "It will help you create your key and give you hints on how"
129 elog "to configure your DNS and MTA."
130 }
131
132 pkg_config() {
133 local selector pubkey
134
135 read -p "Enter the selector name (default ${HOSTNAME}): " selector
136 [[ -n "${selector}" ]] || selector=${HOSTNAME}
137 if [[ -z "${selector}" ]]; then
138 eerror "Oddly enough, you don't have a HOSTNAME."
139 return 1
140 fi
141 if [[ -f "${ROOT}"etc/mail/dk-filter/${selector}.private ]]; then
142 ewarn "The private key for this selector already exists."
143 else
144 einfo "Select the size of private key:"
145 einfo " [1] 512 bits"
146 einfo " [2] 1024 bits"
147 while read -n 1 -s -p " Press 1 or 2 on the keyboard to select the key size " keysize ; do
148 [[ "${keysize}" == "1" || "${keysize}" == "2" ]] && echo && break
149 done
150 case ${keysize} in
151 1) keysize=512 ;;
152 *) keysize=1024 ;;
153 esac
154
155 # generate the private and public keys
156 openssl genrsa -out "${ROOT}"etc/mail/dk-filter/${selector}.private ${keysize} && \
157 chown milter:milter "${ROOT}"etc/mail/dk-filter/${selector}.private && chmod u=r,g-rwx,o-rwx "${ROOT}"etc/mail/dk-filter/${selector}.private &&
158 openssl rsa -in "${ROOT}"etc/mail/dk-filter/${selector}.private -out "${ROOT}"etc/mail/dk-filter/${selector}.public -pubout -outform PEM || \
159 { eerror "Failed to create private and public keys." ; return 1; }
160 fi
161
162 # dk-filter selector configuration
163 echo
164 einfo "Make sure you add these parameters to your dk-filter command line:"
165 einfo " -b sv -d your-domain.com -H -s /etc/mail/dk-filter/${selector}.private -S ${selector}"
166
167 # MTA configuration
168 echo
169 einfo "If you are using Postfix, add following lines to your main.cf:"
170 einfo " smtpd_milters = unix:/var/run/dk-filter/dk-filter.sock"
171 einfo " non_smtpd_milters = unix:/var/run/dk-filter/dk-filter.sock"
172
173 # DNS configuration
174 {
175 local line
176 pubkey=
177 while read line; do
178 [[ "${line}" == "--"* ]] || pubkey="${pubkey}${line}"
179 done
180 } < "${ROOT}"etc/mail/dk-filter/${selector}.public
181 echo
182 einfo "After you configured your MTA, publish your key by adding this TXT record to your domain:"
183 einfo " ${selector}._domainkey IN TXT \"g=\\; k=rsa\\; t=y\\; o=~\\; p=${pubkey}\""
184 echo
185 einfo "t=y signifies you only test the DK on your domain."
186 einfo "See the DomainKeys specification for more info."
187 }