public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Alexys Jacob" <ultrabug@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] dev/ultrabug:master commit in: app-admin/rsyslog/files/5-stable/, app-admin/rsyslog/
Date: Tue, 16 Aug 2011 08:59:21 +0000 (UTC)	[thread overview]
Message-ID: <d4c4981f94f00636036edf31f43670b55a27c6fa.ultrabug@gentoo> (raw)

commit:     d4c4981f94f00636036edf31f43670b55a27c6fa
Author:     Ultrabug <ultrabug <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 16 08:59:14 2011 +0000
Commit:     Alexys Jacob <ultrabug <AT> gentoo <DOT> org>
CommitDate: Tue Aug 16 08:59:14 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=dev/ultrabug.git;a=commit;h=d4c4981f

add the zeromq plugin to rsyslog

---
 app-admin/rsyslog/Manifest                         |    7 +
 .../rsyslog/files/5-stable/rsyslog-gentoo.conf     |   90 ++++++++
 app-admin/rsyslog/files/5-stable/rsyslog.confd     |   17 ++
 app-admin/rsyslog/files/5-stable/rsyslog.initd     |   38 +++
 app-admin/rsyslog/files/5-stable/rsyslog.logrotate |    9 +
 app-admin/rsyslog/rsyslog-5.8.3-r1.ebuild          |  240 ++++++++++++++++++++
 6 files changed, 401 insertions(+), 0 deletions(-)

diff --git a/app-admin/rsyslog/Manifest b/app-admin/rsyslog/Manifest
new file mode 100644
index 0000000..db0f47f
--- /dev/null
+++ b/app-admin/rsyslog/Manifest
@@ -0,0 +1,7 @@
+AUX 5-stable/rsyslog-gentoo.conf 3998 RMD160 db8979c4cfe4aa43c6ae5583972a21037dddd161 SHA1 9d4702ac3b505293ad922cc85ef20f0a4a3ae848 SHA256 d31ba477fb94c82cd2362694b680d43bfc5eb83c6e930202feb7531c4396982b
+AUX 5-stable/rsyslog.confd 654 RMD160 ca340f748c84404df86bfdaf9ca9d47d0ff38121 SHA1 e56695ebc21a30f60f1b070f8f26236677ef5d81 SHA256 c476c2180fcceaf581d26d2da6201fbe7a2b9fc89c58456fdb3bdaf18a4cbb56
+AUX 5-stable/rsyslog.initd 798 RMD160 691fa40e5f7aadad2ff0d3795a7dd6f544b523eb SHA1 2013e291f02c6a687551a4653dc6dbe21166431e SHA256 79cbd52fd54fa36e9d8d658124b24e7f388fc7cb34240afdd9d0aaa35b3badfa
+AUX 5-stable/rsyslog.logrotate 440 RMD160 b2599c94c718af02a641e762960b9796952411bb SHA1 228dba04c683d778bccd86f6bcd80650b9c774b4 SHA256 f0effc19bd1f1bfa367d65d6516c73509cb34545157b9e91cf6e437685dd3fe5
+DIST rsyslog-5.8.3.tar.gz 2371617 RMD160 3dfa4c86cb18cdae271cb6fa3790931caea92cb4 SHA1 5f48e244050592a3e609c36e19a268c48552b632 SHA256 6d8853ea08f24b184c4d0f7faef1729612ed2217cfa4fd1b089103ae75f05606
+DIST rsyslog-zeromq.tar.gz 22023 RMD160 c7cf14625b6a7eec68583a4422210bf9cbfc1d4f SHA1 6bce7ebeb80611ac841ced7d6c6047098959a1fe SHA256 732cd214a8ab292a8285658410821405bf1ed936bedc2e7d5e9d2fef8028afe3
+EBUILD rsyslog-5.8.3-r1.ebuild 6833 RMD160 8353367b2d4ec5fae28d101780889e74652fc681 SHA1 2b1a60f96735c4f6c441e85a91c80324d285401c SHA256 b9f2ea537471d3580139a7c79ea215ef15f3c7de5119e35068b6004e696f0d8a

diff --git a/app-admin/rsyslog/files/5-stable/rsyslog-gentoo.conf b/app-admin/rsyslog/files/5-stable/rsyslog-gentoo.conf
new file mode 100644
index 0000000..40442c9
--- /dev/null
+++ b/app-admin/rsyslog/files/5-stable/rsyslog-gentoo.conf
@@ -0,0 +1,90 @@
+# rsyslog v5: load input modules
+# If you do not load inputs, nothing happens!
+# You may need to set the module load path if modules are not found.
+
+$ModLoad immark.so # provides --MARK-- message capability
+$ModLoad imuxsock.so # provides support for local system logging (e.g. via logger command)
+$ModLoad imklog.so # kernel logging (formerly provided by rklogd)
+
+# Include configuration files from directory
+$IncludeConfig /etc/rsyslog.d/*
+
+# Check config syntax on startup and abort if unclean (default off)
+#$AbortOnUncleanConfig on
+
+# Reduce repeating messages (default off)
+#$RepeatedMsgReduction on
+
+# Log all kernel messages to the console.
+# Logging much else clutters up the screen.
+#kern.*                                                 /dev/console
+
+# Log anything (except mail) of level info or higher.
+# Don't log private authentication messages!
+*.info;mail.none;authpriv.none;cron.none                -/var/log/messages
+
+# The authpriv file has restricted access.
+authpriv.*                                              /var/log/secure
+
+# Log all the mail messages in one place.
+mail.*                                                  -/var/log/maillog
+
+# Log cron stuff
+cron.*                                                  -/var/log/cron
+
+# Everybody gets emergency messages
+*.emerg                                                 *
+
+# Save news errors of level crit and higher in a special file.
+uucp,news.crit                                          -/var/log/spooler
+
+# Save boot messages also to boot.log
+local7.*                                                /var/log/boot.log
+
+# More configuration examples:
+#
+# Remote Logging (we use TCP for reliable delivery)
+# An on-disk queue is created for this action. If the remote host is
+# down, messages are spooled to disk and sent when it is up again.
+#$WorkDirectory /var/spool/rsyslog # where to place spool files
+#$ActionQueueFileName uniqName # unique name prefix for spool files
+#$ActionQueueMaxDiskSpace 1g   # 1gb space limit (use as much as possible)
+#$ActionQueueSaveOnShutdown on # save messages to disk on shutdown
+#$ActionQueueType LinkedList   # run asynchronously
+#$ActionResumeRetryCount -1    # infinety retries if host is down
+#$ActionResumeInterval 30      # retry interval
+# remote host is: name/ip:port, e.g. 192.168.0.1:514, port optional
+#*.* @@remote-host
+
+# Remote Logging with TCP + SSL/TLS
+#$DefaultNetstreamDriver gtls
+#$DefaultNetstreamDriverCAFile /etc/ssl/rsyslog/rsyslog_ca.cert.pem
+#$DefaultNetstreamDriverCertFile /etc/ssl/rsyslog/rsyslog_CLIENT.cert.pem
+#$DefaultNetstreamDriverKeyFile /etc/ssl/rsyslog/rsyslog_CLIENT.key.pem
+#$ActionSendStreamDriverAuthMode x509/name # enable peer authentication
+#$ActionSendStreamDriverPermittedPeer foo # authorize to send encrypted data to server foo
+#$ActionSendStreamDriverMode 1 # run driver in TLS-only mode
+
+# ######### Receiving Messages from Remote Hosts ##########
+# TCP Syslog Server:
+#$ModLoad imtcp  # provides TCP syslog reception
+#$TCPServerRun 10514 # start a TCP syslog server at port 10514
+
+# TCP + SSL/TLS Syslog Server:
+#$ModLoad imtcp  # provides TCP syslog reception
+#$DefaultNetstreamDriver gtls # use gnuTLS for data encryption
+#$DefaultNetstreamDriverCAFile /etc/ssl/rsyslog/rsyslog_ca.cert.pem
+#$DefaultNetstreamDriverCertFile /etc/ssl/rsyslog/rsyslog_SERVER.cert.pem
+#$DefaultNetstreamDriverKeyFile /etc/ssl/rsyslog/rsyslog_SERVER.key.pem
+#$InputTCPServerStreamDriverMode 1 # run driver in TLS-only mode
+#$InputTCPServerStreamDriverAuthMode x509/name # enable peer authentication
+#$InputTCPServerStreamDriverPermittedPeer bar # authorize client named bar (one line per client)
+#$TCPServerRun 10514 # start a TCP syslog server at port 10514
+
+# UDP Syslog Server:
+#$ModLoad imudp.so  # provides UDP syslog reception
+#$UDPServerRun 514 # start a UDP syslog server at standard port 514
+
+# RELP Syslog Server:
+#$ModLoad imrelp  # provides RELP syslog reception
+#$InputRELPServerRun 10515 # start a RELP syslog server at port 10515

diff --git a/app-admin/rsyslog/files/5-stable/rsyslog.confd b/app-admin/rsyslog/files/5-stable/rsyslog.confd
new file mode 100644
index 0000000..85e90ed
--- /dev/null
+++ b/app-admin/rsyslog/files/5-stable/rsyslog.confd
@@ -0,0 +1,17 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-admin/rsyslog/files/5-stable/rsyslog.confd,v 1.1 2010/10/21 07:38:29 dev-zero Exp $
+
+# Configuration file
+CONFIGFILE="/etc/rsyslog.conf"
+
+# PID file
+PIDFILE="/var/run/rsyslogd.pid"
+
+# Options to rsyslogd
+# See rsyslogd(8) for more details
+# Notes:
+# * Do not specify another PIDFILE but use the variable above to change the location
+# * Do not specify another CONFIGFILE but use the variable above to change the location
+# * "-c5" tells rsyslog to _not_ run in sysklogd compatibility mode
+RSYSLOG_OPTS="-c5"

diff --git a/app-admin/rsyslog/files/5-stable/rsyslog.initd b/app-admin/rsyslog/files/5-stable/rsyslog.initd
new file mode 100644
index 0000000..68ff86c
--- /dev/null
+++ b/app-admin/rsyslog/files/5-stable/rsyslog.initd
@@ -0,0 +1,38 @@
+#!/sbin/runscript
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-admin/rsyslog/files/5-stable/rsyslog.initd,v 1.1 2010/10/21 07:38:29 dev-zero Exp $
+
+opts="reload"
+
+depend() {
+	provide logger
+}
+
+start() {
+	ebegin "Starting rsyslogd"
+	start-stop-daemon \
+		--start --quiet --exec /usr/sbin/rsyslogd \
+		-- ${RSYSLOG_OPTS} -i "${PIDFILE}" -f "${CONFIGFILE}"
+	eend $?
+}
+
+stop() {
+	ebegin "Stopping rsyslogd"
+	start-stop-daemon \
+		--stop --quiet \
+		--pidfile "${PIDFILE}"
+	eend $?
+}
+
+reload() {
+	if [ ! -f "${PIDFILE}" ]; then
+		eerror "rsyslogd not running"
+		return 1
+	fi
+
+	ebegin "Re-opening rsyslogd log files"
+	start-stop-daemon --stop --oknodo --signal HUP \
+		--pidfile "${PIDFILE}"
+	eend $?
+}

diff --git a/app-admin/rsyslog/files/5-stable/rsyslog.logrotate b/app-admin/rsyslog/files/5-stable/rsyslog.logrotate
new file mode 100644
index 0000000..86095de
--- /dev/null
+++ b/app-admin/rsyslog/files/5-stable/rsyslog.logrotate
@@ -0,0 +1,9 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-admin/rsyslog/files/5-stable/rsyslog.logrotate,v 1.1 2010/10/21 07:38:29 dev-zero Exp $
+/var/log/messages /var/log/secure /var/log/maillog /var/log/cron /var/log/spooler /var/log/boot.log {
+    sharedscripts
+    postrotate
+        /etc/init.d/rsyslog reload &>/dev/null || true
+    endscript
+}

diff --git a/app-admin/rsyslog/rsyslog-5.8.3-r1.ebuild b/app-admin/rsyslog/rsyslog-5.8.3-r1.ebuild
new file mode 100644
index 0000000..805cd51
--- /dev/null
+++ b/app-admin/rsyslog/rsyslog-5.8.3-r1.ebuild
@@ -0,0 +1,240 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-admin/rsyslog/rsyslog-5.8.3.ebuild,v 1.1 2011/08/03 07:45:11 ultrabug Exp $
+
+EAPI=4
+
+inherit autotools-utils systemd
+
+DESCRIPTION="An enhanced multi-threaded syslogd with database support and more."
+HOMEPAGE="http://www.rsyslog.com/"
+SRC_URI="http://www.rsyslog.com/files/download/${PN}/${P}.tar.gz
+	https://github.com/aggregateknowledge/rsyslog-zeromq/tarball/master -> ${PN}-zeromq.tar.gz
+	"
+
+LICENSE="GPL-3 LGPL-3"
+KEYWORDS="~amd64 ~arm ~hppa ~sparc ~x86"
+SLOT="0"
+IUSE="dbi debug doc extras gnutls kerberos mysql oracle postgres relp snmp static-libs +zeromq zlib"
+
+DEPEND="dbi? ( dev-db/libdbi )
+	extras? ( net-libs/libnet )
+	gnutls? ( net-libs/gnutls )
+	kerberos? ( virtual/krb5 )
+	mysql? ( virtual/mysql )
+	postgres? ( dev-db/postgresql-base )
+	oracle? ( dev-db/oracle-instantclient-basic )
+	relp? ( >=dev-libs/librelp-0.1.3 )
+	snmp? ( net-analyzer/net-snmp )
+	zlib? ( sys-libs/zlib )"
+RDEPEND="${DEPEND}"
+
+BRANCH="5-stable"
+
+# need access to certain device nodes
+RESTRICT="test"
+
+# Maitainer note : open a bug to upstream
+# showing that building in a separate dir fails
+AUTOTOOLS_IN_SOURCE_BUILD=1
+
+DOCS=(AUTHORS ChangeLog doc/rsyslog-example.conf)
+
+src_prepare() {
+	if use zeromq; then
+		local ZEROPATH=${WORKDIR}/aggregateknowledge-rsyslog-zeromq-a81ff2f
+		epatch ${ZEROPATH}/rsyslog-zeromq.patch
+		cp -r ${ZEROPATH}/{i,o}mzeromq ${S}/plugins
+		eautoreconf
+	fi
+}
+
+src_configure() {
+	# Maintainer notes:
+	# * rfc3195 needs a library and development of that library
+	#   is suspended, so we disable it
+	# * About the java GUI:
+	#   The maintainer says there is no real installation support
+	#   for the java GUI, so we disable it for now.
+	local myeconfargs=(
+		--disable-gui
+		--disable-rfc3195
+		--enable-largefile
+		--enable-unlimited-select
+		--enable-imdiag
+		--enable-imfile
+		--enable-impstats
+		--enable-imtemplate
+		--enable-imptcp
+		--enable-mail
+		--enable-omprog
+		--enable-omstdout
+		--enable-omtemplate
+		--enable-omdbalerting
+		--enable-omuxsock
+		--enable-pmlastmsg
+		--enable-pmrfc3164sd
+		--enable-pmcisconames
+		--enable-pmaixforwardedfrom
+		--enable-pmsnare
+		$(use_enable extras omudpspoof)
+		$(use_enable zlib)
+		$(use_enable mysql)
+		$(use_enable dbi libdbi)
+		$(use_enable postgres pgsql)
+		$(use_enable oracle oracle)
+		$(use_enable gnutls)
+		$(use_enable kerberos gssapi-krb5)
+		$(use_enable relp)
+		$(use_enable snmp)
+		$(use_enable snmp mmsnmptrapd)
+		$(use_enable debug)
+		$(use_enable debug rtinst)
+		$(use_enable debug diagtools)
+		$(use_enable debug memcheck)
+		$(use_enable debug valgrind)
+		$(use_enable zeromq imzeromq)
+		$(use_enable zeromq omzeromq)
+	)
+
+	systemd_to_myeconfargs
+	autotools-utils_src_configure
+}
+
+src_install() {
+	use doc && HTML_DOCS=(doc/)
+	autotools-utils_src_install
+
+	insinto /etc
+	newins "${FILESDIR}/${BRANCH}/${PN}-gentoo.conf" ${PN}.conf
+	newconfd "${FILESDIR}/${BRANCH}/${PN}.confd" ${PN}
+	newinitd "${FILESDIR}/${BRANCH}/${PN}.initd" ${PN}
+	keepdir /var/spool/${PN}
+	keepdir /etc/ssl/${PN}
+	keepdir /etc/${PN}.d
+
+	if use mysql; then
+		insinto /usr/share/doc/${PF}/scripts/mysql
+		doins plugins/ommysql/{createDB.sql,contrib/delete_mysql}
+	fi
+
+	if use postgres; then
+		insinto /usr/share/doc/${PF}/scripts/pgsql
+		doins plugins/ompgsql/createDB.sql
+	fi
+
+	insinto /etc/logrotate.d/
+	newins "${FILESDIR}/${BRANCH}/${PN}.logrotate" ${PN}
+}
+
+pkg_postinst() {
+	if use mysql || use postgres; then
+		echo
+		elog "Sample SQL scripts for MySQL & PostgreSQL have been installed to:"
+		elog "  /usr/share/doc/${PF}/scripts"
+	fi
+
+	if use gnutls; then
+		echo
+		elog "To create a default CA and certificates for your server and clients, run:"
+		elog "  emerge --config =${PF}"
+		elog "on your logging server. You can run it several times,"
+		elog "once for each logging client. The client certificates will be signed"
+		elog "using the CA certificate generated during the first run."
+	fi
+}
+
+pkg_config() {
+	if ! use gnutls ; then
+		einfo "There is nothing to configure for rsyslog unless you"
+		einfo "used USE=gnutls to build it."
+		return 0
+	fi
+
+	# Make sure the certificates directory exists
+	CERTDIR="${ROOT}/etc/ssl/${PN}"
+	if [ ! -d "${CERTDIR}" ]; then
+		mkdir "${CERTDIR}" || die
+	fi
+	einfo "Your certificates will be stored in ${CERTDIR}"
+
+	# Create a default CA if needed
+	if [ ! -f "${CERTDIR}/${PN}_ca.cert.pem" ]; then
+		einfo "No CA key and certificate found in ${CERTDIR}, creating them for you..."
+		certtool --generate-privkey \
+			--outfile "${CERTDIR}/${PN}_ca.privkey.pem" &>/dev/null
+		chmod 400 "${CERTDIR}/${PN}_ca.privkey.pem"
+
+		cat > "${T}/${PF}.$$" <<_EOF
+		cn = Portage automated CA
+		ca
+		cert_signing_key
+		expiration_days = 3650
+_EOF
+
+		certtool --generate-self-signed \
+			--load-privkey "${CERTDIR}/${PN}_ca.privkey.pem" \
+			--outfile "${CERTDIR}/${PN}_ca.cert.pem" \
+			--template "${T}/${PF}.$$" &>/dev/null
+		chmod 400 "${CERTDIR}/${PN}_ca.privkey.pem"
+
+		# Create the server certificate
+		echo
+		einfon "Please type the Common Name of the SERVER you wish to create a certificate for: "
+		read -r CN
+
+		einfo "Creating private key and certificate for server ${CN}..."
+		certtool --generate-privkey \
+			--outfile "${CERTDIR}/${PN}_${CN}.key.pem" &>/dev/null
+		chmod 400 "${CERTDIR}/${PN}_${CN}.key.pem"
+
+		cat > "${T}/${PF}.$$" <<_EOF
+		cn = ${CN}
+		tls_www_server
+		dns_name = ${CN}
+		expiration_days = 3650
+_EOF
+
+		certtool --generate-certificate \
+			--outfile "${CERTDIR}/${PN}_${CN}.cert.pem" \
+			--load-privkey "${CERTDIR}/${PN}_${CN}.key.pem" \
+			--load-ca-certificate "${CERTDIR}/${PN}_ca.cert.pem" \
+			--load-ca-privkey "${CERTDIR}/${PN}_ca.privkey.pem" \
+			--template "${T}/${PF}.$$" &>/dev/null
+		chmod 400 "${CERTDIR}/${PN}_${CN}.cert.pem"
+
+	else
+		einfo "Found existing ${CERTDIR}/${PN}_ca.cert.pem, skipping CA and SERVER creation."
+	fi
+
+	# Create a client certificate
+	echo
+	einfon "Please type the Common Name of the CLIENT you wish to create a certificate for: "
+	read -r CN
+
+	einfo "Creating private key and certificate for client ${CN}..."
+	certtool --generate-privkey \
+		--outfile "${CERTDIR}/${PN}_${CN}.key.pem" &>/dev/null
+	chmod 400 "${CERTDIR}/${PN}_${CN}.key.pem"
+
+	cat > "${T}/${PF}.$$" <<_EOF
+	cn = ${CN}
+	tls_www_client
+	dns_name = ${CN}
+	expiration_days = 3650
+_EOF
+
+	certtool --generate-certificate \
+		--outfile "${CERTDIR}/${PN}_${CN}.cert.pem" \
+		--load-privkey "${CERTDIR}/${PN}_${CN}.key.pem" \
+		--load-ca-certificate "${CERTDIR}/${PN}_ca.cert.pem" \
+		--load-ca-privkey "${CERTDIR}/${PN}_ca.privkey.pem" \
+		--template "${T}/${PF}.$$" &>/dev/null
+	chmod 400 "${CERTDIR}/${PN}_${CN}.cert.pem"
+
+	rm -f "${T}/${PF}.$$"
+
+	echo
+	einfo "Here is the documentation on how to encrypt your log traffic:"
+	einfo " http://www.rsyslog.com/doc/rsyslog_tls.html"
+}



             reply	other threads:[~2011-08-16  8:59 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-16  8:59 Alexys Jacob [this message]
  -- strict thread matches above, loose matches on Subject: below --
2011-09-14 10:04 [gentoo-commits] dev/ultrabug:master commit in: app-admin/rsyslog/files/5-stable/, app-admin/rsyslog/ Alexys Jacob
2011-05-16 10:57 Alexys Jacob
2011-05-11 14:41 Alexys Jacob

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d4c4981f94f00636036edf31f43670b55a27c6fa.ultrabug@gentoo \
    --to=ultrabug@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox