Contents of /trunk/core/rsyslog/rsyslog-5.8.7-r1.smage2
Parent Directory | Revision Log
Revision 10244 -
(show annotations)
(download)
Fri Jan 20 12:03:59 2012 UTC (12 years, 8 months ago) by niro
File size: 4467 byte(s)
Fri Jan 20 12:03:59 2012 UTC (12 years, 8 months ago) by niro
File size: 4467 byte(s)
auto added: ver bump to 5.8.7-r1
1 | # $Id$ |
2 | |
3 | PNAME="rsyslog" |
4 | PVER="5.8.7" |
5 | PBUILD="r1" |
6 | |
7 | PCAT="app-admin" |
8 | |
9 | DESCRIPTION="An enhanced multi-threaded syslog daemon with a focus on security and reliability." |
10 | HOMEPAGE="http://www.rsyslog.com/" |
11 | |
12 | DEPEND=">= app-admin/logrotate-3.8 |
13 | >= app-crypt/gnutls-2.12 |
14 | >= sys-libs/zlib-1.2.5" |
15 | |
16 | PROVIDE="virtual/syslog" |
17 | |
18 | SRCFILE="${PNAME}-${PVER}.tar.gz" |
19 | SRCDIR="${BUILDDIR}/${PNAME}-${PVER}" |
20 | |
21 | sminclude mbuild mtools |
22 | |
23 | SRC_URI=( |
24 | http://www.rsyslog.com/files/download/${PNAME}/${SRCFILE} |
25 | mirror://${PNAME}/${SRCFILE} |
26 | mirror://${PNAME}/rsyslog.conf |
27 | mirror://${PNAME}/rsyslog.logrotate |
28 | mirror://${PNAME}/rsyslog.confd |
29 | mirror://${PNAME}/${PNAME}-5.8.1-systemd.patch |
30 | ) |
31 | |
32 | UP2DATE="updatecmd ${HOMEPAGE}/download/ | grep 'stable' | grep 'Download file' | sed 's:.*\:\ rsyslog\ \(.*\)\ (.*:\1:;q'" |
33 | |
34 | src_prepare() |
35 | { |
36 | munpack ${SRCFILE} || die |
37 | cd ${SRCDIR} |
38 | |
39 | # support /etc/conf.d/rsyslog in systemd units |
40 | mpatch ${PNAME}-5.8.1-systemd.patch || die |
41 | } |
42 | |
43 | src_compile() |
44 | { |
45 | cd ${SRCDIR} |
46 | |
47 | mconfigure \ |
48 | --with-systemdsystemunitdir=/lib/systemd/system \ |
49 | --enable-largefile \ |
50 | --enable-mail \ |
51 | --enable-imfile \ |
52 | --enable-imtemplate \ |
53 | --enable-zlib \ |
54 | --enable-gnutls \ |
55 | --enable-inet \ |
56 | --disable-gui \ |
57 | --disable-rfc3195 \ |
58 | --disable-mysql \ |
59 | --disable-pgsql \ |
60 | --disable-oracle \ |
61 | --disable-snmp \ |
62 | || die |
63 | |
64 | mmake || die |
65 | } |
66 | |
67 | src_install() |
68 | { |
69 | cd ${SRCDIR} |
70 | |
71 | mmake DESTDIR=${BINDIR} install || die |
72 | minstalldocs AUTHORS COPYING ChangeLog NEWS PORTS README* || die |
73 | |
74 | # rsyslog config |
75 | minstalletc rsyslog.conf || die |
76 | |
77 | # logrotate config |
78 | minstalletc rsyslog.logrotate rsyslog /etc/logrotate.d || die |
79 | |
80 | # conf.d |
81 | minstallconf rsyslog.confd rsyslog || die |
82 | |
83 | # needed directories |
84 | mkeepdir /var/spool/rsyslog || die |
85 | mkeepdir /etc/ssl/rsyslog || die |
86 | mkeepdir /etc/rsyslog.d || die |
87 | } |
88 | |
89 | postinstall() |
90 | { |
91 | local CERTDIR |
92 | local CN |
93 | local TMP=$(mktemp) |
94 | |
95 | # make sure the certificates directory exists |
96 | CERTDIR="${MROOT}/etc/ssl/rsyslog" |
97 | [ ! -d ${CERTDIR} ] && install -d ${CERTDIR} |
98 | echo "Your certificates will be stored in ${CERTDIR}" |
99 | |
100 | # create a default CA if needed |
101 | if [ ! -f ${CERTDIR}/rsyslog_ca.cert.pem ] |
102 | then |
103 | echo "No CA key and certificate found in ${CERTDIR}, creating them for you..." |
104 | certtool --generate-privkey --outfile ${CERTDIR}/rsyslog_ca.privkey.pem &>/dev/null |
105 | chmod 400 ${CERTDIR}/rsyslog_ca.privkey.pem |
106 | |
107 | cat > ${TMP} << EOF |
108 | cn = Portage automated CA |
109 | ca |
110 | cert_signing_key |
111 | expiration_days = 3650 |
112 | EOF |
113 | |
114 | certtool --generate-self-signed \ |
115 | --load-privkey ${CERTDIR}/rsyslog_ca.privkey.pem \ |
116 | --outfile ${CERTDIR}/rsyslog_ca.cert.pem \ |
117 | --template ${TMP} &>/dev/null |
118 | chmod 400 ${CERTDIR}/rsyslog_ca.privkey.pem |
119 | |
120 | # Create the server certificate |
121 | |
122 | # use server-hostname as CN! |
123 | CN="server-$(hostname)" |
124 | echo "Creating private key and certificate for server ${CN}..." |
125 | certtool --generate-privkey --outfile ${CERTDIR}/rsyslog_${CN}.key.pem &>/dev/null |
126 | chmod 400 ${CERTDIR}/rsyslog_${CN}.key.pem |
127 | |
128 | cat > ${TMP} << EOF |
129 | cn = ${CN} |
130 | tls_www_server |
131 | dns_name = ${CN} |
132 | expiration_days = 3650 |
133 | EOF |
134 | |
135 | certtool --generate-certificate \ |
136 | --outfile ${CERTDIR}/rsyslog_${CN}.cert.pem \ |
137 | --load-privkey ${CERTDIR}/rsyslog_${CN}.key.pem \ |
138 | --load-ca-certificate ${CERTDIR}/rsyslog_ca.cert.pem \ |
139 | --load-ca-privkey ${CERTDIR}/rsyslog_ca.privkey.pem \ |
140 | --template ${TMP} &>/dev/null |
141 | chmod 400 ${CERTDIR}/rsyslog_${CN}.cert.pem |
142 | else |
143 | echo "Found existing ${CERTDIR}/rsyslog_ca.cert.pem, skipping CA and SERVER creation." |
144 | fi |
145 | |
146 | # Create a client certificate |
147 | # use client-hostname as CN! |
148 | CN="client-$(hostname)" |
149 | echo "Creating private key and certificate for client ${CN}..." |
150 | certtool --generate-privkey --outfile ${CERTDIR}/rsyslog_${CN}.key.pem &>/dev/null |
151 | chmod 400 ${CERTDIR}/rsyslog_${CN}.key.pem |
152 | |
153 | cat > ${TMP} << EOF |
154 | cn = ${CN} |
155 | tls_www_client |
156 | dns_name = ${CN} |
157 | expiration_days = 3650 |
158 | EOF |
159 | |
160 | certtool --generate-certificate \ |
161 | --outfile ${CERTDIR}/rsyslog_${CN}.cert.pem \ |
162 | --load-privkey ${CERTDIR}/rsyslog_${CN}.key.pem \ |
163 | --load-ca-certificate ${CERTDIR}/rsyslog_ca.cert.pem \ |
164 | --load-ca-privkey ${CERTDIR}/rsyslog_ca.privkey.pem \ |
165 | --template ${TMP} &>/dev/null |
166 | chmod 400 ${CERTDIR}/rsyslog_${CN}.cert.pem |
167 | |
168 | if [ -f ${TMP} ] |
169 | then |
170 | rm -f ${TMP} |
171 | fi |
172 | |
173 | echo |
174 | echo "Here is the documentation on how to encrypt your log traffic:" |
175 | echo " http://www.rsyslog.com/doc/rsyslog_tls.html" |
176 | |
177 | # enable systemd units |
178 | mstartunit rsyslog.service rsyslogd |
179 | } |
180 | |
181 | postremove() |
182 | { |
183 | # disable systemd units |
184 | mstopunit rsyslog.service rsyslogd |
185 | } |