1 |
pacho 14/03/30 13:53:04 |
2 |
|
3 |
Modified: ChangeLog |
4 |
Added: sqlgrey-1.7.6-r1.ebuild |
5 |
Log: |
6 |
Add unit file (#504152 by Michael Hampicke) |
7 |
|
8 |
(Portage version: 2.2.8-r1/cvs/Linux x86_64, signed Manifest commit with key A188FBD4) |
9 |
|
10 |
Revision Changes Path |
11 |
1.16 mail-filter/sqlgrey/ChangeLog |
12 |
|
13 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/mail-filter/sqlgrey/ChangeLog?rev=1.16&view=markup |
14 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/mail-filter/sqlgrey/ChangeLog?rev=1.16&content-type=text/plain |
15 |
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/mail-filter/sqlgrey/ChangeLog?r1=1.15&r2=1.16 |
16 |
|
17 |
Index: ChangeLog |
18 |
=================================================================== |
19 |
RCS file: /var/cvsroot/gentoo-x86/mail-filter/sqlgrey/ChangeLog,v |
20 |
retrieving revision 1.15 |
21 |
retrieving revision 1.16 |
22 |
diff -u -r1.15 -r1.16 |
23 |
--- ChangeLog 5 Jun 2012 00:08:32 -0000 1.15 |
24 |
+++ ChangeLog 30 Mar 2014 13:53:04 -0000 1.16 |
25 |
@@ -1,6 +1,12 @@ |
26 |
# ChangeLog for mail-filter/sqlgrey |
27 |
-# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 |
28 |
-# $Header: /var/cvsroot/gentoo-x86/mail-filter/sqlgrey/ChangeLog,v 1.15 2012/06/05 00:08:32 zmedico Exp $ |
29 |
+# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 |
30 |
+# $Header: /var/cvsroot/gentoo-x86/mail-filter/sqlgrey/ChangeLog,v 1.16 2014/03/30 13:53:04 pacho Exp $ |
31 |
+ |
32 |
+*sqlgrey-1.7.6-r1 (30 Mar 2014) |
33 |
+ |
34 |
+ 30 Mar 2014; Pacho Ramos <pacho@g.o> +files/sqlgrey.service, |
35 |
+ +sqlgrey-1.7.6-r1.ebuild: |
36 |
+ Add unit file (#504152 by Michael Hampicke) |
37 |
|
38 |
05 Jun 2012; Zac Medico <zmedico@g.o> sqlgrey-1.7.6.ebuild: |
39 |
inherit user for enewgroup and enewuser |
40 |
@@ -60,4 +66,3 @@ |
41 |
The ebuild is good quality and already support "emerge --config" so it has |
42 |
only cosmetic changes to the submitted one. |
43 |
Thanks Lionel :-) |
44 |
- |
45 |
|
46 |
|
47 |
|
48 |
1.1 mail-filter/sqlgrey/sqlgrey-1.7.6-r1.ebuild |
49 |
|
50 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/mail-filter/sqlgrey/sqlgrey-1.7.6-r1.ebuild?rev=1.1&view=markup |
51 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/mail-filter/sqlgrey/sqlgrey-1.7.6-r1.ebuild?rev=1.1&content-type=text/plain |
52 |
|
53 |
Index: sqlgrey-1.7.6-r1.ebuild |
54 |
=================================================================== |
55 |
# Copyright 1999-2014 Gentoo Foundation |
56 |
# Distributed under the terms of the GNU General Public License v2 |
57 |
# $Header: /var/cvsroot/gentoo-x86/mail-filter/sqlgrey/sqlgrey-1.7.6-r1.ebuild,v 1.1 2014/03/30 13:53:04 pacho Exp $ |
58 |
|
59 |
inherit eutils systemd user |
60 |
|
61 |
DESCRIPTION="SQLgrey is a postfix policy service implementing a grey-listing policy" |
62 |
SRC_URI="mirror://sourceforge/sqlgrey/${P}.tar.bz2" |
63 |
HOMEPAGE="http://sqlgrey.sourceforge.net/" |
64 |
LICENSE="GPL-2" |
65 |
SLOT="0" |
66 |
IUSE="mysql postgres sqlite" |
67 |
RDEPEND="dev-lang/perl |
68 |
dev-perl/DBI |
69 |
dev-perl/net-server |
70 |
dev-perl/Date-Calc |
71 |
virtual/mailx |
72 |
postgres? ( dev-perl/DBD-Pg ) |
73 |
sqlite? ( dev-perl/DBD-SQLite ) |
74 |
mysql? ( dev-perl/DBD-mysql ) |
75 |
!postgres? ( !mysql? ( !sqlite? ( dev-perl/DBD-Pg ) ) )" |
76 |
DEPEND="$RDEPEND |
77 |
sys-apps/sed" |
78 |
KEYWORDS="~amd64 ~sparc ~x86" |
79 |
|
80 |
pkg_setup() { |
81 |
enewgroup sqlgrey |
82 |
enewuser sqlgrey -1 -1 /var/spool/sqlgrey sqlgrey |
83 |
} |
84 |
|
85 |
src_unpack() { |
86 |
unpack ${A} |
87 |
epatch "${FILESDIR}/${P}-init.patch" |
88 |
} |
89 |
|
90 |
src_install () { |
91 |
make gentoo-install ROOTDIR="${D}" |
92 |
dodoc HOWTO FAQ README README.OPTINOUT README.PERF TODO Changelog |
93 |
|
94 |
# keeps SQLgrey data in /var/spool/sqlgrey |
95 |
diropts -m0775 -o sqlgrey -g sqlgrey |
96 |
keepdir /var/spool/sqlgrey |
97 |
|
98 |
systemd_dounit "${FILESDIR}/${PN}.service" |
99 |
} |
100 |
|
101 |
pkg_postinst() { |
102 |
echo |
103 |
einfo "To make use of greylisting, please update your postfix config." |
104 |
einfo |
105 |
einfo "Put something like this in /etc/postfix/main.cf:" |
106 |
einfo " smtpd_recipient_restrictions =" |
107 |
einfo " ..." |
108 |
einfo " check_policy_service inet:127.0.0.1:2501" |
109 |
einfo |
110 |
einfo "Remember to restart Postfix after that change. Also remember" |
111 |
einfo "to make the daemon start durig boot:" |
112 |
einfo " rc-update add sqlgrey default" |
113 |
einfo |
114 |
echo |
115 |
einfo "To setup SQLgrey to run out-of-the-box on your system, run:" |
116 |
einfo "emerge --config ${PN}" |
117 |
echo |
118 |
ewarn "Read the documentation for more info (perldoc sqlgrey) or the" |
119 |
ewarn "included howto /usr/share/doc/${PF}/HOWTO.gz" |
120 |
echo |
121 |
ewarn "If you are using MySQL >= 4.1 use \"latin1\" as charset for" |
122 |
ewarn "the SQLgrey db" |
123 |
echo |
124 |
ebeep 2 |
125 |
epause 5 |
126 |
} |
127 |
|
128 |
pkg_config () { |
129 |
|
130 |
# SQLgrey configuration file |
131 |
local SQLgrey_CONFIG="/etc/sqlgrey/sqlgrey.conf" |
132 |
local SQLgrey_DB_USER_NAME="sqlgrey" |
133 |
local SQLgrey_DB_NAME="sqlgrey" |
134 |
|
135 |
# Check if a password is set in sqlgrey.conf |
136 |
local SQLgrey_CONF_PWD="" |
137 |
if [ -f "${SQLgrey_CONFIG}" ]; then |
138 |
if (grep -iq "^[\t ]*db_pass[\t ]*=[\t ]*.*$" ${SQLgrey_CONFIG}); then |
139 |
# User already has a db_pass entry |
140 |
SQLgrey_CONF_PWD="$(sed -n 's:^[\t ]*db_pass[\t ]*=[\t ]*\(.*\)[\t ]*:\1:gIp' ${SQLgrey_CONFIG})" |
141 |
else |
142 |
SQLgrey_CONF_PWD="" |
143 |
fi |
144 |
else |
145 |
ewarn "SQLgrey configuration missing. Exiting now." |
146 |
echo |
147 |
exit 0 |
148 |
fi |
149 |
|
150 |
# Check if we need SQLgrey to configure for this system or not |
151 |
local SQLgrey_DB_HOST="localhost" |
152 |
local SQLgrey_KEY_INPUT="l,r,x" |
153 |
einfo "SQLgrey database backend configuration" |
154 |
einfo " Please select where SQLgrey database will run:" |
155 |
einfo " [l] Database backend runs on localhost" |
156 |
einfo " [r] Database backend runs on remote host" |
157 |
einfo " [x] Exit" |
158 |
echo |
159 |
einfo " Press one of the keys [${SQLgrey_KEY_INPUT}]: " |
160 |
while true; do |
161 |
read -n 1 -s SQLgrey_ACCESS_TYPE |
162 |
case "${SQLgrey_ACCESS_TYPE}" in |
163 |
"r" | "R" ) |
164 |
SQLgrey_ACCESS_TYPE="r" |
165 |
einfo " remote setup" |
166 |
read -p " Please enter the remote hostname: " SQLgrey_DB_HOST |
167 |
echo |
168 |
break |
169 |
;; |
170 |
"l" | "L" ) |
171 |
SQLgrey_ACCESS_TYPE="l" |
172 |
einfo " local setup" |
173 |
echo |
174 |
break |
175 |
;; |
176 |
"x" | "X" ) |
177 |
exit 0 |
178 |
;; |
179 |
esac |
180 |
done |
181 |
|
182 |
# Generate random password |
183 |
if [[ "${SQLgrey_CONF_PWD}" == "" ]]; then |
184 |
einfo "Generating random database user password..." |
185 |
local SQLgrey_PWD_MATRIX="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" |
186 |
local SQLgrey_DB_USER_PWD="" |
187 |
while [ "${n:=1}" -le "16" ]; do |
188 |
SQLgrey_DB_USER_PWD="${SQLgrey_DB_USER_PWD}${SQLgrey_PWD_MATRIX:$(($RANDOM%${#SQLgrey_PWD_MATRIX})):1}" |
189 |
let n+=1 |
190 |
done |
191 |
else |
192 |
einfo "Reusing current database user password..." |
193 |
local SQLgrey_DB_USER_PWD="${SQLgrey_CONF_PWD}" |
194 |
fi |
195 |
echo |
196 |
|
197 |
# Configure the various database backends |
198 |
local SQLgrey_KEY_INPUT="" |
199 |
einfo "Creating SQLgrey database backend data and configuration" |
200 |
einfo " Please select what kind of database you like to use:" |
201 |
if use postgres || has_version dev-perl/DBD-Pg ; then |
202 |
einfo " [p] PostgreSQL" |
203 |
SQLgrey_KEY_INPUT="${SQLgrey_KEY_INPUT},p" |
204 |
fi |
205 |
if use mysql || has_version dev-perl/DBD-mysql ; then |
206 |
einfo " [m] MySQL" |
207 |
SQLgrey_KEY_INPUT="${SQLgrey_KEY_INPUT},m" |
208 |
fi |
209 |
if use sqlite || has_version dev-perl/DBD-SQLite ; then |
210 |
einfo " [s] SQLite" |
211 |
SQLgrey_KEY_INPUT="${SQLgrey_KEY_INPUT},s" |
212 |
fi |
213 |
einfo " [x] Exit" |
214 |
SQLgrey_KEY_INPUT="${SQLgrey_KEY_INPUT},x" |
215 |
echo |
216 |
einfo " Press one of the keys [${SQLgrey_KEY_INPUT:1}]: " |
217 |
while true; do |
218 |
read -n 1 -s SQLgrey_DB_TYPE |
219 |
case "${SQLgrey_DB_TYPE}" in |
220 |
"p" | "P" ) |
221 |
SQLgrey_DB_TYPE="p" |
222 |
einfo " PostgreSQL database backend" |
223 |
echo |
224 |
break |
225 |
;; |
226 |
"m" | "M" ) |
227 |
SQLgrey_DB_TYPE="m" |
228 |
einfo " MySQL database backend" |
229 |
echo |
230 |
break |
231 |
;; |
232 |
"s" | "S" ) |
233 |
SQLgrey_DB_TYPE="s" |
234 |
einfo " SQLite database backend" |
235 |
echo |
236 |
break |
237 |
;; |
238 |
"x" | "X" ) |
239 |
exit 0 |
240 |
;; |
241 |
esac |
242 |
done |
243 |
|
244 |
# If we don't use SQLite, the password must not be set |
245 |
if [[ ( "${SQLgrey_DB_TYPE}" != "s" ) && ( "${SQLgrey_CONF_PWD}" != "" ) ]]; then |
246 |
ewarn "This configuration is only for new installations. You seem to" |
247 |
ewarn "have already a modified sqlgrey.conf" |
248 |
ewarn "Do you want to continue?" |
249 |
SQLgrey_KEY_INPUT="y,n" |
250 |
einfo " Press one of the keys [$SQLgrey_KEY_INPUT]: " |
251 |
while true; do |
252 |
read -n 1 -s SQLgrey_Ignore |
253 |
case "$SQLgrey_Ignore" in |
254 |
"y"|"Y" ) |
255 |
break |
256 |
;; |
257 |
"n"|"N" ) |
258 |
exit 0 |
259 |
;; |
260 |
esac |
261 |
done |
262 |
fi |
263 |
|
264 |
## Per-RDBMS configuration ## |
265 |
# POSTGRESQL |
266 |
if [[ "${SQLgrey_DB_TYPE}" == "p" ]] ; then |
267 |
|
268 |
ewarn "If prompted for a password, please enter your PgSQL postgres password" |
269 |
ewarn "" |
270 |
|
271 |
einfo "Creating SQLgrey PostgreSQL database \"${SQLgrey_DB_NAME}\" and user \"${SQLgrey_DB_USER_NAME}\"" |
272 |
/usr/bin/psql -h ${SQLgrey_DB_HOST} -d template1 -U postgres -c "CREATE USER ${SQLgrey_DB_USER_NAME} WITH PASSWORD '${SQLgrey_DB_USER_PWD}' NOCREATEDB NOCREATEUSER; CREATE DATABASE ${SQLgrey_DB_NAME}; GRANT ALL PRIVILEGES ON DATABASE ${SQLgrey_DB_NAME} TO ${SQLgrey_DB_USER_NAME}; GRANT ALL PRIVILEGES ON SCHEMA public TO ${SQLgrey_DB_USER_NAME}; UPDATE pg_database SET datdba=(SELECT usesysid FROM pg_shadow WHERE usename='${SQLgrey_DB_USER_NAME}') WHERE datname='${SQLgrey_DB_NAME}';" |
273 |
|
274 |
einfo "Changing SQLgrey configuration in sqlgrey.conf" |
275 |
sed -i "s:^[# ]*\(db_type[ \t]*= \).*:\1Pg:gI" ${SQLgrey_CONFIG} |
276 |
sed -i "s:^[# ]*\(db_user[ \t]*= \).*:\1${SQLgrey_DB_USER_NAME}:gI" ${SQLgrey_CONFIG} |
277 |
sed -i "s:^[# ]*\(db_pass[ \t]*= \).*:\1${SQLgrey_DB_USER_PWD}:gI" ${SQLgrey_CONFIG} |
278 |
sed -i "s:^[# ]*\(db_host[ \t]*= \).*:\1${SQLgrey_DB_HOST}:gI" ${SQLgrey_CONFIG} |
279 |
sed -i "s:^[# ]*\(db_name[ \t]*= \).*:\1${SQLgrey_DB_NAME}:gI" ${SQLgrey_CONFIG} |
280 |
elif [[ "${SQLgrey_DB_TYPE}" == "m" ]] ; then |
281 |
# MYSQL |
282 |
ewarn "If prompted for a password, please enter your MySQL root password" |
283 |
ewarn "" |
284 |
|
285 |
einfo "Creating SQLgrey MySQL database \"${SQLgrey_DB_NAME}\" and user \"${SQLgrey_DB_USER_NAME}\"" |
286 |
echo -ne " " |
287 |
/usr/bin/mysql -u root -h ${SQLgrey_DB_HOST} -p -e "CREATE DATABASE IF NOT EXISTS ${SQLgrey_DB_NAME} CHARACTER SET latin1; GRANT ALL ON ${SQLgrey_DB_NAME}.* TO ${SQLgrey_DB_USER_NAME}@${SQLgrey_DB_HOST} IDENTIFIED BY '${SQLgrey_DB_USER_PWD}';FLUSH PRIVILEGES;" -D mysql |
288 |
echo |
289 |
|
290 |
einfo "Changing SQLgrey configuration in sqlgrey.conf" |
291 |
sed -i "s:^[# ]*\(db_type[ \t]*= \).*:\1mysql:gI" ${SQLgrey_CONFIG} |
292 |
sed -i "s:^[# ]*\(db_user[ \t]*= \).*:\1${SQLgrey_DB_USER_NAME}:gI" ${SQLgrey_CONFIG} |
293 |
sed -i "s:^[# ]*\(db_pass[ \t]*= \).*:\1${SQLgrey_DB_USER_PWD}:gI" ${SQLgrey_CONFIG} |
294 |
sed -i "s:^[# ]*\(db_host[ \t]*= \).*:\1${SQLgrey_DB_HOST}:gI" ${SQLgrey_CONFIG} |
295 |
sed -i "s:^[# ]*\(db_name[ \t]*= \).*:\1${SQLgrey_DB_NAME}:gI" ${SQLgrey_CONFIG} |
296 |
elif [[ "${SQLgrey_DB_TYPE}" == "s" ]] ; then |
297 |
einfo "Changing SQLgrey configuration in sqlgrey.conf" |
298 |
sed -i "s:^[# ]*\(db_type[ \t]*= \).*:\1SQLite:gI" ${SQLgrey_CONFIG} |
299 |
sed -i "s:^[# ]*\(db_name[ \t]*= \).*:\1${SQLgrey_DB_NAME}:gI" ${SQLgrey_CONFIG} |
300 |
sed -i "s:^[# ]*\(db_user[ \t]*=.*\)$:# \1:gI" ${SQLgrey_CONFIG} |
301 |
sed -i "s:^[# ]*\(db_pass[ \t]*= .*\)$:# \1:gI" ${SQLgrey_CONFIG} |
302 |
sed -i "s:^[# ]*\(db_host[ \t]*= .*\)$:# \1:gI" ${SQLgrey_CONFIG} |
303 |
sed -i "s:^[# ]*\(db_cleandelay[ \t]*= .*\)$:# \1:gI" ${SQLgrey_CONFIG} |
304 |
fi |
305 |
echo |
306 |
if [[ "${SQLgrey_DB_TYPE}" != "s" ]]; then |
307 |
einfo "Note: the database password is stored in $SQLgrey_CONFIG" |
308 |
fi |
309 |
} |