Gentoo Archives: gentoo-commits

From: "Alexys Jacob (ultrabug)" <ultrabug@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in app-admin/rsyslog: ChangeLog rsyslog-7.2.2-r1.ebuild rsyslog-7.2.2.ebuild
Date: Tue, 27 Nov 2012 12:07:07
Message-Id: 20121127114533.0375E20C65@flycatcher.gentoo.org
1 ultrabug 12/11/27 11:45:32
2
3 Modified: ChangeLog
4 Added: rsyslog-7.2.2-r1.ebuild
5 Removed: rsyslog-7.2.2.ebuild
6 Log:
7 fix #444754 #444774 revbump
8
9 (Portage version: 2.1.11.31/cvs/Linux x86_64, signed Manifest commit with key B658FA13)
10
11 Revision Changes Path
12 1.87 app-admin/rsyslog/ChangeLog
13
14 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-admin/rsyslog/ChangeLog?rev=1.87&view=markup
15 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-admin/rsyslog/ChangeLog?rev=1.87&content-type=text/plain
16 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-admin/rsyslog/ChangeLog?r1=1.86&r2=1.87
17
18 Index: ChangeLog
19 ===================================================================
20 RCS file: /var/cvsroot/gentoo-x86/app-admin/rsyslog/ChangeLog,v
21 retrieving revision 1.86
22 retrieving revision 1.87
23 diff -u -r1.86 -r1.87
24 --- ChangeLog 23 Nov 2012 10:53:47 -0000 1.86
25 +++ ChangeLog 27 Nov 2012 11:45:32 -0000 1.87
26 @@ -1,6 +1,13 @@
27 # ChangeLog for app-admin/rsyslog
28 # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
29 -# $Header: /var/cvsroot/gentoo-x86/app-admin/rsyslog/ChangeLog,v 1.86 2012/11/23 10:53:47 ultrabug Exp $
30 +# $Header: /var/cvsroot/gentoo-x86/app-admin/rsyslog/ChangeLog,v 1.87 2012/11/27 11:45:32 ultrabug Exp $
31 +
32 +*rsyslog-7.2.2-r1 (27 Nov 2012)
33 +
34 + 27 Nov 2012; Ultrabug <ultrabug@g.o> files/7-stable/rsyslog.logrotate,
35 + -rsyslog-7.2.2.ebuild, +rsyslog-7.2.2-r1.ebuild:
36 + Fix #444774 logrotate script thx to Robin Hill, fix #444754 curl dep thx to
37 + Didier Cardoso
38
39 23 Nov 2012; Ultrabug <ultrabug@g.o> rsyslog-6.6.0.ebuild,
40 rsyslog-7.2.2.ebuild:
41
42
43
44 1.1 app-admin/rsyslog/rsyslog-7.2.2-r1.ebuild
45
46 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-admin/rsyslog/rsyslog-7.2.2-r1.ebuild?rev=1.1&view=markup
47 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-admin/rsyslog/rsyslog-7.2.2-r1.ebuild?rev=1.1&content-type=text/plain
48
49 Index: rsyslog-7.2.2-r1.ebuild
50 ===================================================================
51 # Copyright 1999-2012 Gentoo Foundation
52 # Distributed under the terms of the GNU General Public License v2
53 # $Header: /var/cvsroot/gentoo-x86/app-admin/rsyslog/rsyslog-7.2.2-r1.ebuild,v 1.1 2012/11/27 11:45:32 ultrabug Exp $
54
55 EAPI=4
56 AUTOTOOLS_AUTORECONF=yes
57
58 inherit autotools-utils eutils systemd
59
60 DESCRIPTION="An enhanced multi-threaded syslogd with database support and more"
61 HOMEPAGE="http://www.rsyslog.com/"
62 SRC_URI="http://www.rsyslog.com/files/download/${PN}/${P}.tar.gz"
63
64 LICENSE="GPL-3 LGPL-3 Apache-2.0"
65 KEYWORDS="~amd64 ~arm ~hppa ~x86"
66 SLOT="0"
67 IUSE="dbi debug doc extras kerberos mysql oracle postgres relp snmp ssl static-libs zeromq zlib"
68
69 RDEPEND="
70 dev-libs/json-c
71 dev-libs/libee
72 dev-libs/libestr
73 dev-libs/liblognorm
74 net-misc/curl
75 dbi? ( dev-db/libdbi )
76 extras? ( net-libs/libnet )
77 kerberos? ( virtual/krb5 )
78 mysql? ( virtual/mysql )
79 postgres? ( dev-db/postgresql-base )
80 oracle? ( dev-db/oracle-instantclient-basic )
81 relp? ( >=dev-libs/librelp-1.0.1 )
82 snmp? ( net-analyzer/net-snmp )
83 ssl? ( net-libs/gnutls dev-libs/libgcrypt )
84 zeromq? ( net-libs/czmq )
85 zlib? ( sys-libs/zlib )"
86 DEPEND="${RDEPEND}
87 virtual/pkgconfig"
88
89 BRANCH="7-stable"
90
91 # need access to certain device nodes
92 RESTRICT="test"
93
94 # Maitainer note : open a bug to upstream
95 # showing that building in a separate dir fails
96 AUTOTOOLS_IN_SOURCE_BUILD=1
97
98 DOCS=(AUTHORS ChangeLog doc/rsyslog-example.conf)
99
100 src_prepare() {
101 # Don't force '-g' CFLAG
102 sed -e 's/CFLAGS="\(.*\) -g"/CFLAGS="\1"/g' -i configure.ac || die
103
104 # Fix runtime UUID/JSON libs linking
105 epatch "${FILESDIR}/6-stable/${PN}-6.6.0-fix-runtime.patch"
106
107 autotools-utils_src_prepare
108 }
109
110 src_configure() {
111 # Maintainer notes:
112 # * rfc3195 needs a library and development of that library
113 # is suspended, so we disable it
114 # * About the java GUI:
115 # The maintainer says there is no real installation support
116 # for the java GUI, so we disable it for now.
117 # * mongodb : doesnt work with mongo-c-driver ?
118 local myeconfargs=(
119 --disable-gui
120 --disable-rfc3195
121 --enable-imdiag
122 --enable-imfile
123 --enable-impstats
124 --enable-imptcp
125 --enable-largefile
126 --enable-mail
127 --enable-mmnormalize
128 --enable-mmjsonparse
129 --enable-mmaudit
130 --enable-omprog
131 --enable-omstdout
132 --enable-omuxsock
133 --enable-pmlastmsg
134 --enable-pmrfc3164sd
135 --enable-pmcisconames
136 --enable-pmaixforwardedfrom
137 --enable-pmsnare
138 --enable-sm_cust_bindcdr
139 --enable-unlimited-select
140 --enable-uuid
141 $(use_enable dbi libdbi)
142 $(use_enable debug)
143 $(use_enable debug rtinst)
144 $(use_enable debug diagtools)
145 $(use_enable debug memcheck)
146 $(use_enable debug valgrind)
147 $(use_enable extras omudpspoof)
148 $(use_enable kerberos gssapi-krb5)
149 $(use_enable mysql)
150 $(use_enable oracle)
151 $(use_enable postgres pgsql)
152 $(use_enable relp)
153 $(use_enable snmp)
154 $(use_enable snmp mmsnmptrapd)
155 $(use_enable ssl gnutls)
156 $(use_enable zlib)
157 $(use_enable zeromq imzmq3)
158 $(use_enable zeromq omzmq3)
159 )
160 systemd_to_myeconfargs
161 autotools-utils_src_configure
162 }
163
164 src_install() {
165 use doc && HTML_DOCS=(doc/)
166 autotools-utils_src_install
167
168 insinto /etc
169 newins "${FILESDIR}/${BRANCH}/${PN}-gentoo.conf" ${PN}.conf
170 newconfd "${FILESDIR}/${BRANCH}/${PN}.confd" ${PN}
171 newinitd "${FILESDIR}/${BRANCH}/${PN}.initd" ${PN}
172 keepdir /var/spool/${PN}
173 keepdir /etc/ssl/${PN}
174 keepdir /etc/${PN}.d
175 touch "${D}"/etc/${PN}.d/00_gentoo.conf
176
177 use static-libs || find "${D}" -name '*.la' -delete || die
178
179 if use mysql; then
180 insinto /usr/share/doc/${PF}/scripts/mysql
181 doins plugins/ommysql/{createDB.sql,contrib/delete_mysql}
182 fi
183
184 if use postgres; then
185 insinto /usr/share/doc/${PF}/scripts/pgsql
186 doins plugins/ompgsql/createDB.sql
187 fi
188
189 insinto /etc/logrotate.d/
190 newins "${FILESDIR}/${BRANCH}/${PN}.logrotate" ${PN}
191 }
192
193 pkg_postinst() {
194 if use mysql || use postgres; then
195 echo
196 elog "Sample SQL scripts for MySQL & PostgreSQL have been installed to:"
197 elog " /usr/share/doc/${PF}/scripts"
198 fi
199
200 if use ssl; then
201 echo
202 elog "To create a default CA and certificates for your server and clients, run:"
203 elog " emerge --config =${PF}"
204 elog "on your logging server. You can run it several times,"
205 elog "once for each logging client. The client certificates will be signed"
206 elog "using the CA certificate generated during the first run."
207 fi
208 }
209
210 pkg_config() {
211 if ! use ssl ; then
212 einfo "There is nothing to configure for rsyslog unless you"
213 einfo "used USE=ssl to build it."
214 return 0
215 fi
216
217 # Make sure the certificates directory exists
218 CERTDIR="${ROOT}/etc/ssl/${PN}"
219 if [ ! -d "${CERTDIR}" ]; then
220 mkdir "${CERTDIR}" || die
221 fi
222 einfo "Your certificates will be stored in ${CERTDIR}"
223
224 # Create a default CA if needed
225 if [ ! -f "${CERTDIR}/${PN}_ca.cert.pem" ]; then
226 einfo "No CA key and certificate found in ${CERTDIR}, creating them for you..."
227 certtool --generate-privkey \
228 --outfile "${CERTDIR}/${PN}_ca.privkey.pem" &>/dev/null
229 chmod 400 "${CERTDIR}/${PN}_ca.privkey.pem"
230
231 cat > "${T}/${PF}.$$" <<- _EOF
232 cn = Portage automated CA
233 ca
234 cert_signing_key
235 expiration_days = 3650
236 _EOF
237
238 certtool --generate-self-signed \
239 --load-privkey "${CERTDIR}/${PN}_ca.privkey.pem" \
240 --outfile "${CERTDIR}/${PN}_ca.cert.pem" \
241 --template "${T}/${PF}.$$" &>/dev/null
242 chmod 400 "${CERTDIR}/${PN}_ca.privkey.pem"
243
244 # Create the server certificate
245 echo
246 einfon "Please type the Common Name of the SERVER you wish to create a certificate for: "
247 read -r CN
248
249 einfo "Creating private key and certificate for server ${CN}..."
250 certtool --generate-privkey \
251 --outfile "${CERTDIR}/${PN}_${CN}.key.pem" &>/dev/null
252 chmod 400 "${CERTDIR}/${PN}_${CN}.key.pem"
253
254 cat > "${T}/${PF}.$$" <<- _EOF
255 cn = ${CN}
256 tls_www_server
257 dns_name = ${CN}
258 expiration_days = 3650
259 _EOF
260
261 certtool --generate-certificate \
262 --outfile "${CERTDIR}/${PN}_${CN}.cert.pem" \
263 --load-privkey "${CERTDIR}/${PN}_${CN}.key.pem" \
264 --load-ca-certificate "${CERTDIR}/${PN}_ca.cert.pem" \
265 --load-ca-privkey "${CERTDIR}/${PN}_ca.privkey.pem" \
266 --template "${T}/${PF}.$$" &>/dev/null
267 chmod 400 "${CERTDIR}/${PN}_${CN}.cert.pem"
268
269 else
270 einfo "Found existing ${CERTDIR}/${PN}_ca.cert.pem, skipping CA and SERVER creation."
271 fi
272
273 # Create a client certificate
274 echo
275 einfon "Please type the Common Name of the CLIENT you wish to create a certificate for: "
276 read -r CN
277
278 einfo "Creating private key and certificate for client ${CN}..."
279 certtool --generate-privkey \
280 --outfile "${CERTDIR}/${PN}_${CN}.key.pem" &>/dev/null
281 chmod 400 "${CERTDIR}/${PN}_${CN}.key.pem"
282
283 cat > "${T}/${PF}.$$" <<- _EOF
284 cn = ${CN}
285 tls_www_client
286 dns_name = ${CN}
287 expiration_days = 3650
288 _EOF
289
290 certtool --generate-certificate \
291 --outfile "${CERTDIR}/${PN}_${CN}.cert.pem" \
292 --load-privkey "${CERTDIR}/${PN}_${CN}.key.pem" \
293 --load-ca-certificate "${CERTDIR}/${PN}_ca.cert.pem" \
294 --load-ca-privkey "${CERTDIR}/${PN}_ca.privkey.pem" \
295 --template "${T}/${PF}.$$" &>/dev/null
296 chmod 400 "${CERTDIR}/${PN}_${CN}.cert.pem"
297
298 rm -f "${T}/${PF}.$$"
299
300 echo
301 einfo "Here is the documentation on how to encrypt your log traffic:"
302 einfo " http://www.rsyslog.com/doc/rsyslog_tls.html"
303 }