Gentoo Archives: gentoo-commits

From: Thomas Deutschmann <whissi@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: app-admin/rsyslog/files/8-stable/, app-admin/rsyslog/
Date: Tue, 17 Oct 2017 16:23:28
Message-Id: 1508257394.6541356e4d17cf8c329218c45a8163a73ab02a18.whissi@gentoo
1 commit: 6541356e4d17cf8c329218c45a8163a73ab02a18
2 Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
3 AuthorDate: Tue Oct 17 15:47:57 2017 +0000
4 Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
5 CommitDate: Tue Oct 17 16:23:14 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6541356e
7
8 app-admin/rsyslog: Bump to v8.30.0
9
10 Package-Manager: Portage-2.3.10, Repoman-2.3.3
11
12 app-admin/rsyslog/Manifest | 2 +
13 .../8-stable/rsyslog-8.30.0-fix-kerberos.patch | 22 +
14 app-admin/rsyslog/rsyslog-8.30.0.ebuild | 451 +++++++++++++++++++++
15 3 files changed, 475 insertions(+)
16
17 diff --git a/app-admin/rsyslog/Manifest b/app-admin/rsyslog/Manifest
18 index 85d4b4fd005..094d5874001 100644
19 --- a/app-admin/rsyslog/Manifest
20 +++ b/app-admin/rsyslog/Manifest
21 @@ -5,6 +5,7 @@ DIST rsyslog-8.26.0.tar.gz 2393148 SHA256 637d43c4384f8b96dda873a0b8384045f72cb4
22 DIST rsyslog-8.27.0.tar.gz 2435123 SHA256 02aefbba59324a6d8b70036a67686bed5f0c7be4ced62c039af6ee694cb5b1fd SHA512 dad957c21d9f7ed3a97a1ed87658fe9381dad00365bd2f5af2396dde3dc4a9f96db17c4df9eb9bd02562cc538f99bf8e2ca00229680d6b7892179161265db753 WHIRLPOOL 1ece4fa5bd453e1bcd4da9501fa93be7f3ea0eb87f7e60bb788d7c90c740566cc07351eb2d7730ac081b2564bde9a79dff7ac1b5012326cc8b0331539b2b5b01
23 DIST rsyslog-8.28.0.tar.gz 2471122 SHA256 4ca5405908d612d45da700e36856430510875518eb8028d296d1ee4d2c44678e SHA512 e27ba0ff22e945393536abc5bc6e234d8849db291a5056429b59b47abe15fb060fc5c26efedcfe347b386d438b3f8a029ae4577a1d803666701431677f628cb1 WHIRLPOOL b3c07391b9730498aff9ca30a407bd18d5faea07ec37d389dc59daef595318aa11e66fa153a452f48a55df4a2c15789569b845a831266d702b4801b39856a208
24 DIST rsyslog-8.29.0.tar.gz 2447907 SHA256 220ba30b5afb0f3ddb328613fea7aa3966b01e4d0c52d6de9ab27b0858f19738 SHA512 6e0a69f2ac36fcfd0714b2b7053bd263ca8875d2aba7ad6452223eb8677edfa1cf4978989661614dd65dd1822f0123599d565679c8faa3960f136c8d9472e952 WHIRLPOOL e82a07b18481b49a2b41ba2fc40b3d0715ebdfec7508592b09f154c10ce36cf079714683e1deb94f13ebbe20fbe242cd695d547e6dbb23ec6939ccdb67540173
25 +DIST rsyslog-8.30.0.tar.gz 2468224 SHA256 dfb9c3efe52ad03ad9f4479699139fb447177049553b6993315f53b668a2251f SHA512 90e172d08ba7548252fc9744f71259dadf5a40afef405516e7b1601620913ca4b2ffc4859b16f369b9c1974ea10f4e41bc2d987e3d6bf9aabeb979f7de6aefe0 WHIRLPOOL b965024cd94dbc2e81dedb2ac3fe3c12d82913b83f7d4f3b123ad8e101c14a5ca7eb17d087081a68545584e6d18e0069f779c63ddaad274c9f2e05d860887d0d
26 DIST rsyslog-docs-8.19.0.tar.gz 4271094 SHA256 f76958d2fbcbb3a2db531ec3878d6d9a8c4a622e457b9c97b7c7dcca0ddd6512 SHA512 120f229a641119649fc897948fb0934039a95d0ef63e68b10ab635620d84988d794fd5dc33617353028e786513a86b3a1cd0c4fef9c755dab5bedd8e0246532e WHIRLPOOL fc0642eef4e686fc653db6a654f96fd9037e083a02e06d64b7b2a2e0292d745ca6e24821df3b9825e0eba2c4808b2755dfaeb90b62a49662ab22a171ffe2e63b
27 DIST rsyslog-docs-8.24.0.tar.gz 4344877 SHA256 f5e3c27c5b65abdd600b8ad8d99d1f2fe9f0ffca02d6af3c12db5fc10dd889b2 SHA512 b55cde1485a7baec6d4c4928107c22a078cf412a2994c0dfcbb12c47b49c3b263af8a64011b1329567cf86e04927b9e383581dc868eaea81d554adada6b3786b WHIRLPOOL e8b2d10b0de3c33189f859f08db58e319730e709e5a5008909f2166a061952290b0bf96163cdf6e0b3829896916f712ba5d8a2a98f02d796e9174d8919190f8d
28 DIST rsyslog-docs-8.25.0.tar.gz 4359583 SHA256 3fa96f85ca31b09b16dcc4b184f9beeb5fb06ba463b0ced7046ec2a471b7d3ad SHA512 e0068ec00bbda2d1cf7f14105ad83e82bea9291ed5d5fda3ffcff2db32747b65e7b6d65743a3221aeca03be9c6efcee1db7f03c2da115a3aed60848556befa71 WHIRLPOOL 8c2ae0afe5fb1f81b33ecb83df420a7bbc8c147eac5854a57ba1c5341bb42d9dd4a3976a472445d19a45eb09258bc3be1b9065d79fd679095cbf24cbfddb1756
29 @@ -12,3 +13,4 @@ DIST rsyslog-docs-8.26.0.tar.gz 4381345 SHA256 4d3b46e6c06fecbd4100fad118c22569e
30 DIST rsyslog-docs-8.27.0.tar.gz 4411093 SHA256 f799eba43ff73c14865cbc3f7105d54afec021430827e6d6da7b51f45cfbedb0 SHA512 08d935ecad070d65e7169a56c6a4d35d49e895b4f7cfe4d747939d8a92bdadd0fc3be7cc47d23d233a33b964f2a4d809a34b37419d2e42c3f8c183120412ab2c WHIRLPOOL 1a7eeadc0667580ab14ae5857fc61f7eb5553bad00d7b59ed3e70aa3a2f75550872a110c6149b4bd69778c990ec3c57e625cc08a716792731d456d875e8a9e8b
31 DIST rsyslog-docs-8.28.0.tar.gz 4424901 SHA256 f6c41f7c3fca369dd28a72133b03693ad5c37252375ecadc6184ff1a954764db SHA512 c085e09149cfc27ce0cd22edf9ad3f81b111f491fbea79afbc3172882065bd8324e366e3b5d09c885c1a3aa63fe8fbbe154d66488319d4ffc0867f938e1ab07d WHIRLPOOL f6636ba7196c689e42651ac9c847b05f3eafdbe87186fad478c47d55f2856e5b200d2871612ca046c6d9c06ad2d80838ad226510ba59a3f2cfe234626ca8c75f
32 DIST rsyslog-docs-8.29.0.tar.gz 4473644 SHA256 ca3f6a11a165221b4e5e189d9b86ea146245d7ad892758ef9c543db73a914663 SHA512 791633b93693c1eacde965e07ced863b96d1bfa488fc5c4770424825ab702cae7babd5286e552da5e17d1d7779f228c61a1527b9726dffea31bbb3b4e80525dc WHIRLPOOL 74f4fccfa14e44a574590110bf3d0591555b6bb0685fd65a575b002e503d61996a593d51dbedbc9ff390d9bef1942d1b3fa55e7eb334a6bf5cabb3c2c9a2e5a1
33 +DIST rsyslog-docs-8.30.0.tar.gz 4487378 SHA256 59c702e587e8f4566104b3266909deedba3c189849bed6965bbc56a1fbc08ca8 SHA512 8068bb9bb8408447bff49730e9aac105eab1bd610592dd524e7639b668b2d05a4836d3a9862622445a0bb8d8b140db67c861dad6ec207d11049ac368e363684d WHIRLPOOL a324fdf1c0796e88bc29c20c5afedc02924c712d4bff1c3601ea4dc85d1910c9c7272ae926f7c423b7568ebce832e9ec626b616ff669586fc2afe73bfe0a7cfd
34
35 diff --git a/app-admin/rsyslog/files/8-stable/rsyslog-8.30.0-fix-kerberos.patch b/app-admin/rsyslog/files/8-stable/rsyslog-8.30.0-fix-kerberos.patch
36 new file mode 100644
37 index 00000000000..a202e633c89
38 --- /dev/null
39 +++ b/app-admin/rsyslog/files/8-stable/rsyslog-8.30.0-fix-kerberos.patch
40 @@ -0,0 +1,22 @@
41 +https://github.com/rsyslog/rsyslog/issues/1838
42 +
43 +--- a/plugins/imgssapi/imgssapi.c
44 ++++ b/plugins/imgssapi/imgssapi.c
45 +@@ -291,7 +291,7 @@ finalize_it:
46 +
47 +
48 + static rsRetVal
49 +-doRcvData(tcps_sess_t *pSess, char *buf, size_t lenBuf, ssize_t *piLenRcvd)
50 ++doRcvData(tcps_sess_t *pSess, char *buf, size_t lenBuf, ssize_t *piLenRcvd, int *const oserr)
51 + {
52 + DEFiRet;
53 + int allowedMethods;
54 +@@ -307,7 +307,7 @@ doRcvData(tcps_sess_t *pSess, char *buf, size_t lenBuf, ssize_t *piLenRcvd)
55 + CHKiRet(TCPSessGSSRecv(pSess, buf, lenBuf, piLenRcvd));
56 + } else {
57 + *piLenRcvd = lenBuf;
58 +- CHKiRet(netstrm.Rcv(pSess->pStrm, (uchar*) buf, piLenRcvd) != RS_RET_OK);
59 ++ CHKiRet(netstrm.Rcv(pSess->pStrm, (uchar*) buf, piLenRcvd, oserr));
60 + }
61 +
62 + finalize_it:
63
64 diff --git a/app-admin/rsyslog/rsyslog-8.30.0.ebuild b/app-admin/rsyslog/rsyslog-8.30.0.ebuild
65 new file mode 100644
66 index 00000000000..db0da41604d
67 --- /dev/null
68 +++ b/app-admin/rsyslog/rsyslog-8.30.0.ebuild
69 @@ -0,0 +1,451 @@
70 +# Copyright 1999-2017 Gentoo Foundation
71 +# Distributed under the terms of the GNU General Public License v2
72 +
73 +EAPI="6"
74 +
75 +inherit autotools eutils linux-info systemd
76 +
77 +DESCRIPTION="An enhanced multi-threaded syslogd with database support and more"
78 +HOMEPAGE="http://www.rsyslog.com/"
79 +
80 +BRANCH="8-stable"
81 +
82 +if [[ ${PV} == "9999" ]]; then
83 + EGIT_REPO_URI="https://github.com/rsyslog/${PN}.git"
84 +
85 + DOC_REPO_URI="https://github.com/rsyslog/${PN}-doc.git"
86 +
87 + inherit git-r3
88 +else
89 + MY_PV=${PV%_rc*}
90 + MY_FILENAME="${PN}-${PV}.tar.gz"
91 + MY_FILENAME_DOCS="${PN}-docs-${PV}.tar.gz"
92 + S="${WORKDIR}/${PN}-${MY_PV}"
93 +
94 + # Upstream URL schema:
95 + # RC: http://www.rsyslog.com/files/download/rsyslog/rc/rsyslog-8.18.0.tar.gz
96 + # http://www.rsyslog.com/files/download/rsyslog/rc2/rsyslog-8.18.0.tar.gz
97 + # Release: http://www.rsyslog.com/files/download/rsyslog/rsyslog-8.18.0.tar.gz
98 +
99 + MY_URL_PREFIX=
100 + if [[ ${PV} = *_rc* ]]; then
101 + _tmp_last_index=$(($(get_last_version_component_index ${PV})+1))
102 + _tmp_suffix=$(get_version_component_range ${_tmp_last_index} ${PV})
103 + if [[ ${_tmp_suffix} = *rc* ]]; then
104 + MY_URL_PREFIX="${_tmp_suffix}/"
105 + fi
106 +
107 + # Cleaning up temporary variables
108 + unset _tmp_last_index
109 + unset _tmp_suffix
110 + else
111 + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~x86"
112 + fi
113 +
114 + SRC_URI="
115 + http://www.rsyslog.com/files/download/${PN}/${MY_URL_PREFIX}${PN}-${MY_PV}.tar.gz -> ${MY_FILENAME}
116 + doc? ( http://www.rsyslog.com/files/download/${PN}/${MY_URL_PREFIX}${PN}-doc-${MY_PV}.tar.gz -> ${MY_FILENAME_DOCS} )
117 + "
118 +
119 + PATCHES=( "${FILESDIR}"/8-stable/${PN}-8.30.0-fix-kerberos.patch )
120 +fi
121 +
122 +LICENSE="GPL-3 LGPL-3 Apache-2.0"
123 +SLOT="0"
124 +IUSE="dbi debug doc elasticsearch +gcrypt grok jemalloc kafka kerberos libressl mdblookup mongodb mysql normalize omhttpfs"
125 +IUSE+=" omudpspoof postgres rabbitmq redis relp rfc3195 rfc5424hmac snmp ssl systemd test usertools +uuid zeromq"
126 +
127 +RDEPEND="
128 + >=dev-libs/libfastjson-0.99.7:=
129 + >=dev-libs/libestr-0.1.9
130 + >=dev-libs/liblogging-1.0.1:=[stdlog]
131 + >=sys-libs/zlib-1.2.5
132 + dbi? ( >=dev-db/libdbi-0.8.3 )
133 + elasticsearch? ( >=net-misc/curl-7.35.0 )
134 + gcrypt? ( >=dev-libs/libgcrypt-1.5.3:= )
135 + grok? ( >=dev-libs/grok-0.9.2 )
136 + jemalloc? ( >=dev-libs/jemalloc-3.3.1:= )
137 + kafka? ( >=dev-libs/librdkafka-0.9.0.99:= )
138 + kerberos? ( virtual/krb5 )
139 + mdblookup? ( dev-libs/libmaxminddb:= )
140 + mongodb? ( >=dev-libs/libmongo-client-0.1.4 )
141 + mysql? ( virtual/mysql )
142 + normalize? (
143 + >=dev-libs/libee-0.4.0
144 + >=dev-libs/liblognorm-2.0.3:=
145 + )
146 + omhttpfs? ( >=net-misc/curl-7.35.0 )
147 + omudpspoof? ( >=net-libs/libnet-1.1.6 )
148 + postgres? ( >=dev-db/postgresql-8.4.20:= )
149 + rabbitmq? ( >=net-libs/rabbitmq-c-0.3.0:= )
150 + redis? ( >=dev-libs/hiredis-0.11.0:= )
151 + relp? ( >=dev-libs/librelp-1.2.14:= )
152 + rfc3195? ( >=dev-libs/liblogging-1.0.1:=[rfc3195] )
153 + rfc5424hmac? (
154 + !libressl? ( >=dev-libs/openssl-0.9.8y:0= )
155 + libressl? ( dev-libs/libressl:= )
156 + )
157 + snmp? ( >=net-analyzer/net-snmp-5.7.2 )
158 + ssl? ( >=net-libs/gnutls-2.12.23:0= )
159 + systemd? ( >=sys-apps/systemd-234 )
160 + uuid? ( sys-apps/util-linux:0= )
161 + zeromq? (
162 + >=net-libs/zeromq-4.1.1:=
163 + >=net-libs/czmq-3.0.0
164 + )"
165 +DEPEND="${RDEPEND}
166 + >=sys-devel/autoconf-archive-2015.02.24
167 + virtual/pkgconfig
168 + test? ( sys-libs/libfaketime )"
169 +
170 +if [[ ${PV} == "9999" ]]; then
171 + DEPEND+=" doc? ( >=dev-python/sphinx-1.1.3-r7 )"
172 + DEPEND+=" >=sys-devel/flex-2.5.39-r1"
173 + DEPEND+=" >=sys-devel/bison-2.4.3"
174 + DEPEND+=" >=dev-python/docutils-0.12"
175 +fi
176 +
177 +CONFIG_CHECK="~INOTIFY_USER"
178 +WARNING_INOTIFY_USER="CONFIG_INOTIFY_USER isn't set. Imfile module on this system will only support polling mode!"
179 +
180 +src_unpack() {
181 + if [[ ${PV} == "9999" ]]; then
182 + git-r3_fetch
183 + git-r3_checkout
184 + else
185 + unpack ${P}.tar.gz
186 + fi
187 +
188 + if use doc; then
189 + if [[ ${PV} == "9999" ]]; then
190 + local _EGIT_BRANCH=
191 + if [[ -n "${EGIT_BRANCH}" ]]; then
192 + # Cannot use rsyslog commits/branches for documentation repository
193 + _EGIT_BRANCH=${EGIT_BRANCH}
194 + unset EGIT_BRANCH
195 + fi
196 +
197 + git-r3_fetch "${DOC_REPO_URI}"
198 + git-r3_checkout "${DOC_REPO_URI}" "${S}"/docs
199 +
200 + if [[ -n "${_EGIT_BRANCH}" ]]; then
201 + # Restore previous EGIT_BRANCH information
202 + EGIT_BRANCH=${_EGIT_BRANCH}
203 + fi
204 + else
205 + cd "${S}" || die "Cannot change dir into '${S}'"
206 + mkdir docs || die "Failed to create docs directory"
207 + cd docs || die "Failed to change dir into '${S}/docs'"
208 + unpack ${MY_FILENAME_DOCS}
209 + fi
210 + fi
211 +}
212 +
213 +src_prepare() {
214 + default
215 +
216 + eautoreconf
217 +}
218 +
219 +src_configure() {
220 + # Maintainer notes:
221 + # * Guardtime support is missing because libgt isn't yet available
222 + # in portage.
223 + # * Hadoop's HDFS file system output module is currently not
224 + # supported in Gentoo because nobody is able to test it
225 + # (JAVA dependency).
226 + # * dev-libs/hiredis doesn't provide pkg-config (see #504614,
227 + # upstream PR 129 and 136) so we need to export HIREDIS_*
228 + # variables because rsyslog's build system depends on pkg-config.
229 +
230 + if use redis; then
231 + export HIREDIS_LIBS="-L${EPREFIX}/usr/$(get_libdir) -lhiredis"
232 + export HIREDIS_CFLAGS="-I${EPREFIX}/usr/include"
233 + fi
234 +
235 + local myeconfargs=(
236 + --disable-debug-symbols
237 + --disable-generate-man-pages
238 + --without-valgrind-testbench
239 + $(use_enable test testbench)
240 + # Input Plugins without depedencies
241 + --enable-imdiag
242 + --enable-imfile
243 + --enable-impstats
244 + --enable-imptcp
245 + # Message Modificiation Plugins without depedencies
246 + --enable-mmanon
247 + --enable-mmaudit
248 + --enable-mmcount
249 + --enable-mmfields
250 + --enable-mmjsonparse
251 + --enable-mmpstrucdata
252 + --enable-mmrm1stspace
253 + --enable-mmsequence
254 + --enable-mmutf8fix
255 + # Output Modification Plugins without dependencies
256 + --enable-mail
257 + --enable-omprog
258 + --enable-omruleset
259 + --enable-omstdout
260 + --enable-omuxsock
261 + # Misc
262 + --enable-pmaixforwardedfrom
263 + --enable-pmciscoios
264 + --enable-pmcisconames
265 + --enable-pmlastmsg
266 + --enable-pmsnare
267 + # DB
268 + $(use_enable dbi libdbi)
269 + $(use_enable mongodb ommongodb)
270 + $(use_enable mysql)
271 + $(use_enable postgres pgsql)
272 + $(use_enable redis omhiredis)
273 + # Debug
274 + $(use_enable debug)
275 + $(use_enable debug diagtools)
276 + $(use_enable debug memcheck)
277 + $(use_enable debug rtinst)
278 + $(use_enable debug valgrind)
279 + # Misc
280 + $(use_enable elasticsearch)
281 + $(use_enable gcrypt libgcrypt)
282 + $(use_enable jemalloc)
283 + $(use_enable kafka imkafka)
284 + $(use_enable kafka omkafka)
285 + $(use_enable kerberos gssapi-krb5)
286 + $(use_enable normalize mmnormalize)
287 + $(use_enable mdblookup mmdblookup)
288 + $(use_enable grok mmgrok)
289 + $(use_enable omhttpfs)
290 + $(use_enable omudpspoof)
291 + $(use_enable rabbitmq omrabbitmq)
292 + $(use_enable relp)
293 + $(use_enable rfc3195)
294 + $(use_enable rfc5424hmac mmrfc5424addhmac)
295 + $(use_enable snmp)
296 + $(use_enable snmp mmsnmptrapd)
297 + $(use_enable ssl gnutls)
298 + $(use_enable systemd imjournal)
299 + $(use_enable systemd omjournal)
300 + $(use_enable usertools)
301 + $(use_enable uuid)
302 + $(use_enable zeromq imczmq)
303 + $(use_enable zeromq imzmq3)
304 + $(use_enable zeromq omczmq)
305 + $(use_enable zeromq omzmq3)
306 + --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
307 + )
308 +
309 + econf "${myeconfargs[@]}"
310 +}
311 +
312 +src_compile() {
313 + default
314 +
315 + if use doc && [[ "${PV}" == "9999" ]]; then
316 + einfo "Building documentation ..."
317 + local doc_dir="${S}/docs"
318 + cd "${doc_dir}" || die "Cannot chdir into \"${doc_dir}\"!"
319 + sphinx-build -b html source build || die "Building documentation failed!"
320 + fi
321 +}
322 +
323 +src_test() {
324 + local _has_increased_ulimit=
325 +
326 + # Sometimes tests aren't executable (i.e. when added via patch)
327 + einfo "Adjusting permissions of test scripts ..."
328 + find "${S}"/tests -type f -name '*.sh' \! -perm -111 -exec chmod a+x '{}' \; || \
329 + die "Failed to adjust test scripts permission"
330 +
331 + if ulimit -n 3072; then
332 + _has_increased_ulimit="true"
333 + fi
334 +
335 + if ! emake --jobs 1 check; then
336 + eerror "Test suite failed! :("
337 +
338 + if [[ -z "${_has_increased_ulimit}" ]]; then
339 + eerror "Probably because open file limit couldn't be set to 3072."
340 + fi
341 +
342 + if has userpriv ${FEATURES}; then
343 + eerror "Please try to reproduce the test suite failure with FEATURES=-userpriv " \
344 + "before you submit a bug report."
345 + fi
346 +
347 + fi
348 +}
349 +
350 +src_install() {
351 + local DOCS=(
352 + AUTHORS
353 + ChangeLog
354 + "${FILESDIR}"/${BRANCH}/README.gentoo
355 + )
356 +
357 + use doc && local HTML_DOCS=( "${S}/docs/build/." )
358 +
359 + default
360 +
361 + newconfd "${FILESDIR}/${BRANCH}/${PN}.confd-r1" ${PN}
362 + newinitd "${FILESDIR}/${BRANCH}/${PN}.initd-r1" ${PN}
363 +
364 + keepdir /var/empty/dev
365 + keepdir /var/spool/${PN}
366 + keepdir /etc/ssl/${PN}
367 + keepdir /etc/${PN}.d
368 +
369 + insinto /etc
370 + newins "${FILESDIR}/${BRANCH}/${PN}.conf" ${PN}.conf
371 +
372 + insinto /etc/rsyslog.d/
373 + newins "${FILESDIR}/${BRANCH}/50-default-r1.conf" 50-default.conf
374 +
375 + insinto /etc/logrotate.d/
376 + newins "${FILESDIR}/${BRANCH}/${PN}.logrotate" ${PN}
377 +
378 + if use mysql; then
379 + insinto /usr/share/doc/${PF}/scripts/mysql
380 + doins plugins/ommysql/createDB.sql
381 + fi
382 +
383 + if use postgres; then
384 + insinto /usr/share/doc/${PF}/scripts/pgsql
385 + doins plugins/ompgsql/createDB.sql
386 + fi
387 +
388 + prune_libtool_files --modules
389 +}
390 +
391 +pkg_postinst() {
392 + local advertise_readme=0
393 +
394 + if [[ -z "${REPLACING_VERSIONS}" ]]; then
395 + # This is a new installation
396 +
397 + advertise_readme=1
398 +
399 + if use mysql || use postgres; then
400 + echo
401 + elog "Sample SQL scripts for MySQL & PostgreSQL have been installed to:"
402 + elog " /usr/share/doc/${PF}/scripts"
403 + fi
404 +
405 + if use ssl; then
406 + echo
407 + elog "To create a default CA and certificates for your server and clients, run:"
408 + elog " emerge --config =${PF}"
409 + elog "on your logging server. You can run it several times,"
410 + elog "once for each logging client. The client certificates will be signed"
411 + elog "using the CA certificate generated during the first run."
412 + fi
413 + fi
414 +
415 + if [[ ${advertise_readme} -gt 0 ]]; then
416 + # We need to show the README file location
417 +
418 + echo ""
419 + elog "Please read"
420 + elog ""
421 + elog " ${EPREFIX}/usr/share/doc/${PF}/README.gentoo*"
422 + elog ""
423 + elog "for more details."
424 + fi
425 +}
426 +
427 +pkg_config() {
428 + if ! use ssl ; then
429 + einfo "There is nothing to configure for rsyslog unless you"
430 + einfo "used USE=ssl to build it."
431 + return 0
432 + fi
433 +
434 + # Make sure the certificates directory exists
435 + local CERTDIR="${EROOT}/etc/ssl/${PN}"
436 + if [[ ! -d "${CERTDIR}" ]]; then
437 + mkdir "${CERTDIR}" || die
438 + fi
439 + einfo "Your certificates will be stored in ${CERTDIR}"
440 +
441 + # Create a default CA if needed
442 + if [[ ! -f "${CERTDIR}/${PN}_ca.cert.pem" ]]; then
443 + einfo "No CA key and certificate found in ${CERTDIR}, creating them for you..."
444 + certtool --generate-privkey \
445 + --outfile "${CERTDIR}/${PN}_ca.privkey.pem" &>/dev/null
446 + chmod 400 "${CERTDIR}/${PN}_ca.privkey.pem"
447 +
448 + cat > "${T}/${PF}.$$" <<- _EOF
449 + cn = Portage automated CA
450 + ca
451 + cert_signing_key
452 + expiration_days = 3650
453 + _EOF
454 +
455 + certtool --generate-self-signed \
456 + --load-privkey "${CERTDIR}/${PN}_ca.privkey.pem" \
457 + --outfile "${CERTDIR}/${PN}_ca.cert.pem" \
458 + --template "${T}/${PF}.$$" &>/dev/null
459 + chmod 400 "${CERTDIR}/${PN}_ca.privkey.pem"
460 +
461 + # Create the server certificate
462 + echo
463 + einfon "Please type the Common Name of the SERVER you wish to create a certificate for: "
464 + read -r CN
465 +
466 + einfo "Creating private key and certificate for server ${CN}..."
467 + certtool --generate-privkey \
468 + --outfile "${CERTDIR}/${PN}_${CN}.key.pem" &>/dev/null
469 + chmod 400 "${CERTDIR}/${PN}_${CN}.key.pem"
470 +
471 + cat > "${T}/${PF}.$$" <<- _EOF
472 + cn = ${CN}
473 + tls_www_server
474 + dns_name = ${CN}
475 + expiration_days = 3650
476 + _EOF
477 +
478 + certtool --generate-certificate \
479 + --outfile "${CERTDIR}/${PN}_${CN}.cert.pem" \
480 + --load-privkey "${CERTDIR}/${PN}_${CN}.key.pem" \
481 + --load-ca-certificate "${CERTDIR}/${PN}_ca.cert.pem" \
482 + --load-ca-privkey "${CERTDIR}/${PN}_ca.privkey.pem" \
483 + --template "${T}/${PF}.$$" &>/dev/null
484 + chmod 400 "${CERTDIR}/${PN}_${CN}.cert.pem"
485 +
486 + else
487 + einfo "Found existing ${CERTDIR}/${PN}_ca.cert.pem, skipping CA and SERVER creation."
488 + fi
489 +
490 + # Create a client certificate
491 + echo
492 + einfon "Please type the Common Name of the CLIENT you wish to create a certificate for: "
493 + read -r CN
494 +
495 + einfo "Creating private key and certificate for client ${CN}..."
496 + certtool --generate-privkey \
497 + --outfile "${CERTDIR}/${PN}_${CN}.key.pem" &>/dev/null
498 + chmod 400 "${CERTDIR}/${PN}_${CN}.key.pem"
499 +
500 + cat > "${T}/${PF}.$$" <<- _EOF
501 + cn = ${CN}
502 + tls_www_client
503 + dns_name = ${CN}
504 + expiration_days = 3650
505 + _EOF
506 +
507 + certtool --generate-certificate \
508 + --outfile "${CERTDIR}/${PN}_${CN}.cert.pem" \
509 + --load-privkey "${CERTDIR}/${PN}_${CN}.key.pem" \
510 + --load-ca-certificate "${CERTDIR}/${PN}_ca.cert.pem" \
511 + --load-ca-privkey "${CERTDIR}/${PN}_ca.privkey.pem" \
512 + --template "${T}/${PF}.$$" &>/dev/null
513 + chmod 400 "${CERTDIR}/${PN}_${CN}.cert.pem"
514 +
515 + rm -f "${T}/${PF}.$$"
516 +
517 + echo
518 + einfo "Here is the documentation on how to encrypt your log traffic:"
519 + einfo " http://www.rsyslog.com/doc/rsyslog_tls.html"
520 +}