ports/130014: New port: sysutils/rsyslog4 - Syslogd supporting SQL, TCP and TLS

Cristiano Rolim Pereira cristianorolim at hotmail.com
Mon Dec 29 08:50:01 UTC 2008


>Number:         130014
>Category:       ports
>Synopsis:       New port: sysutils/rsyslog4 - Syslogd supporting SQL, TCP and TLS
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Mon Dec 29 08:50:01 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator:     Cristiano Rolim Pereira
>Release:        7.0-RELEASE
>Organization:
>Environment:
FreeBSD freebsd7.casa 7.0-RELEASE-p5 FreeBSD 7.0-RELEASE-p5 #1: Wed Nov 19 11:43:40 BRST 2008     root at freebsd7.casa:/usr/src/sys/i386/compile/BSD  i386
>Description:
Rsyslog is an enhanced multi-threaded syslogd with a focus on security and
reliability.Among others, it offers support for on-demand disk buffering, reliable syslog over TCP, SSL, TLS and RELP, writing to databases, email alerting, fully configurable output formats ,the ability to filter on any part of the syslog message, on-the-wire message compression, and the ability to convert text files to syslog.

More info can be found here: http://www.rsyslog.com/

Attached, there is a shell archive of a port of rsyslog.
>How-To-Repeat:

>Fix:


Patch attached with submission follows:

# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	rsyslog4
#	rsyslog4/Makefile
#	rsyslog4/bsd.rsyslog.mk
#	rsyslog4/distinfo
#	rsyslog4/pkg-descr
#	rsyslog4/pkg-plist
#	rsyslog4/files
#	rsyslog4/files/pkg-message.in
#	rsyslog4/files/rsyslogd.in
#
echo c - rsyslog4
mkdir -p rsyslog4 > /dev/null 2>&1
echo x - rsyslog4/Makefile
sed 's/^X//' >rsyslog4/Makefile << 'END-of-rsyslog4/Makefile'
XPORTNAME=	rsyslog
XPORTVERSION=	4.1.3
XPORTREVISION=	0
X
XCATEGORIES=	sysutils
XMASTER_SITES=	http://download.rsyslog.com/rsyslog/
XMAINTAINER=	cristianorolim at hotmail.com
X
XCOMMENT=	Syslogd supporting SQL, TCP and TLS
X
XMAN8=	rsyslogd.8
XMAN5=	rsyslog.conf.5
X
XCONFLICTS=	rsyslog-[2-3].[0-9]*
XUSE_RC_SUBR=	${PORTNAME}d
XSUB_FILES=	pkg-message
X
XCPPFLAGS+=	-I${LOCALBASE}/include
XLDFLAGS+=	-L${LOCALBASE}/lib
XGNU_CONFIGURE=	yes
XCONFIGURE_ENV+=	CPPFLAGS="${CPPFLAGS}" LDFLAGS="${LDFLAGS}"
X
XCONFIGURE_ARGS+=--enable-imfile --enable-mail --enable-imtemplate
X
Xpost-patch:
X	@${REINPLACE_CMD} -e 's|-lpthread|${PTHREAD_LIBS}|g' ${WRKSRC}/configure
X	@${REINPLACE_CMD} -e 's|/lib/rsyslog/|${PREFIX}/lib/rsyslog/|'\
X		${WRKSRC}/tools/syslogd.c
X	@${GREP} -rl '/etc/rsyslog.conf' ${WRKSRC}|${XARGS} ${REINPLACE_CMD} -e\
X		's|/etc/rsyslog.conf|${PREFIX}/etc/rsyslog.conf|'
X	@${FIND} ${WRKSRC} -name '*.bak' -delete
X
Xpost-install:
X.ifndef NOPORTDOCS
X	@${INSTALL} -d ${DOCSDIR}/
X	@${INSTALL_DATA} ${WRKSRC}/doc/*html ${DOCSDIR}/
X	@${INSTALL_DATA} ${WRKSRC}/doc/*jpg ${DOCSDIR}/
X.endif
X.ifndef NOPORTEXAMPLES
X	@${INSTALL} -d ${EXAMPLESDIR}
X	@${INSTALL_DATA} ${WRKSRC}/doc/rsyslog-example.conf ${EXAMPLESDIR}
X.endif
X	@${CAT} ${PKGMESSAGE}
X
X.include <bsd.port.mk>
END-of-rsyslog4/Makefile
echo x - rsyslog4/bsd.rsyslog.mk
sed 's/^X//' >rsyslog4/bsd.rsyslog.mk << 'END-of-rsyslog4/bsd.rsyslog.mk'
XPORTNAME?=	rsyslog
XPORTVERSION?=	4.1.3
XCATEGORIES?=	sysutils
XMASTER_SITES?=	http://download.rsyslog.com/rsyslog/
XMAINTAINER?=	cristianorolim at FreeBSD.org
X
XCONFLICTS=	rsyslog-[2-3].[0-9]*
XCPPFLAGS+=	-I${LOCALBASE}/include
XLDFLAGS+=	-L${LOCALBASE}/lib
XGNU_CONFIGURE=	yes
XCONFIGURE_ENV+=	CPPFLAGS="${CPPFLAGS}" LDFLAGS="${LDFLAGS}"
X
X.ifdef MNAME
XPKGNAMESUFFIX?=	-${MNAME}
XCONFIGURE_ARGS+=	--disable-rsyslogd --disable-klog
XRUN_DEPENDS=	rsyslog>=4:${PORTSDIR}/sysutils/rsyslog4
X
XDESCR?=		${.CURDIR}/../rsyslog4/pkg-descr
XMD5_FILE?=	${.CURDIR}/../rsyslog4/distinfo
X.endif
END-of-rsyslog4/bsd.rsyslog.mk
echo x - rsyslog4/distinfo
sed 's/^X//' >rsyslog4/distinfo << 'END-of-rsyslog4/distinfo'
XMD5 (rsyslog-4.1.3.tar.gz) = d598cbed2066321bd4b156300a39b9ed
XSHA256 (rsyslog-4.1.3.tar.gz) = 5a2e139f47b41ed59828e7dc04df79837f23179eed6e83a948570fff40ace66d
XSIZE (rsyslog-4.1.3.tar.gz) = 1349408
END-of-rsyslog4/distinfo
echo x - rsyslog4/pkg-descr
sed 's/^X//' >rsyslog4/pkg-descr << 'END-of-rsyslog4/pkg-descr'
XRsyslog is an enhanced multi-threaded syslogd with a focus on security and
Xreliability.
X
XAmong others, it offers support for on-demand disk buffering, reliable syslog
Xover TCP, SSL, TLS and RELP, writing to databases (MySQL, PostgreSQL, Oracle,
Xand many more), email alerting, fully configurable output formats (including
Xhigh-precision timestamps),the ability to filter on any part of the syslog
Xmessage, on-the-wire message compression, and the ability to convert text
Xfiles to syslog.
X
XIt is a drop-in replacement for stock syslogd and able to work with the same
Xconfiguration file syntax. Its advanced features make it suitable for
Xenterprise-class, encryption protected syslog relay chains while at the same
Xtime being very easy to setup for the novice user.
X
XVersion 4.x.x is still in devel stage and can show stability issues.
X
XWWW: http://www.rsyslog.com/
END-of-rsyslog4/pkg-descr
echo x - rsyslog4/pkg-plist
sed 's/^X//' >rsyslog4/pkg-plist << 'END-of-rsyslog4/pkg-plist'
Xlib/rsyslog/imfile.la
Xlib/rsyslog/imfile.so
Xlib/rsyslog/imklog.la
Xlib/rsyslog/imklog.so
Xlib/rsyslog/immark.la
Xlib/rsyslog/immark.so
Xlib/rsyslog/imtcp.la
Xlib/rsyslog/imtcp.so
Xlib/rsyslog/imtemplate.la
Xlib/rsyslog/imtemplate.so
Xlib/rsyslog/imudp.la
Xlib/rsyslog/imudp.so
Xlib/rsyslog/imuxsock.la
Xlib/rsyslog/imuxsock.so
Xlib/rsyslog/lmnet.la
Xlib/rsyslog/lmnet.so
Xlib/rsyslog/lmnetstrms.la
Xlib/rsyslog/lmnetstrms.so
Xlib/rsyslog/lmnsd_ptcp.la
Xlib/rsyslog/lmnsd_ptcp.so
Xlib/rsyslog/lmregexp.la
Xlib/rsyslog/lmregexp.so
Xlib/rsyslog/lmtcpclt.la
Xlib/rsyslog/lmtcpclt.so
Xlib/rsyslog/lmtcpsrv.la
Xlib/rsyslog/lmtcpsrv.so
Xlib/rsyslog/ommail.la
Xlib/rsyslog/ommail.so
Xlib/rsyslog/omtesting.la
Xlib/rsyslog/omtesting.so
Xsbin/rsyslogd
X%%PORTDOCS%%%%DOCSDIR%%/bugs.html
X%%PORTDOCS%%%%DOCSDIR%%/build_from_repo.html
X%%PORTDOCS%%%%DOCSDIR%%/contributors.html
X%%PORTDOCS%%%%DOCSDIR%%/debug.html
X%%PORTDOCS%%%%DOCSDIR%%/dev_queue.html
X%%PORTDOCS%%%%DOCSDIR%%/droppriv.html
X%%PORTDOCS%%%%DOCSDIR%%/expression.html
X%%PORTDOCS%%%%DOCSDIR%%/features.html
X%%PORTDOCS%%%%DOCSDIR%%/generic_design.html
X%%PORTDOCS%%%%DOCSDIR%%/gssapi.html
X%%PORTDOCS%%%%DOCSDIR%%/history.html
X%%PORTDOCS%%%%DOCSDIR%%/how2help.html
X%%PORTDOCS%%%%DOCSDIR%%/im3195.html
X%%PORTDOCS%%%%DOCSDIR%%/imfile.html
X%%PORTDOCS%%%%DOCSDIR%%/imgssapi.html
X%%PORTDOCS%%%%DOCSDIR%%/imklog.html
X%%PORTDOCS%%%%DOCSDIR%%/imrelp.html
X%%PORTDOCS%%%%DOCSDIR%%/imtcp.html
X%%PORTDOCS%%%%DOCSDIR%%/imuxsock.html
X%%PORTDOCS%%%%DOCSDIR%%/index.html
X%%PORTDOCS%%%%DOCSDIR%%/install.html
X%%PORTDOCS%%%%DOCSDIR%%/ipv6.html
X%%PORTDOCS%%%%DOCSDIR%%/licensing.html
X%%PORTDOCS%%%%DOCSDIR%%/log_rotation_fix_size.html
X%%PORTDOCS%%%%DOCSDIR%%/man_rsyslogd.html
X%%PORTDOCS%%%%DOCSDIR%%/manual.html
X%%PORTDOCS%%%%DOCSDIR%%/modules.html
X%%PORTDOCS%%%%DOCSDIR%%/netstream.html
X%%PORTDOCS%%%%DOCSDIR%%/ns_gtls.html
X%%PORTDOCS%%%%DOCSDIR%%/ns_ptcp.html
X%%PORTDOCS%%%%DOCSDIR%%/omlibdbi.html
X%%PORTDOCS%%%%DOCSDIR%%/ommail.html
X%%PORTDOCS%%%%DOCSDIR%%/omrelp.html
X%%PORTDOCS%%%%DOCSDIR%%/omsnmp.html
X%%PORTDOCS%%%%DOCSDIR%%/professional_support.html
X%%PORTDOCS%%%%DOCSDIR%%/property_replacer.html
X%%PORTDOCS%%%%DOCSDIR%%/queueWorkerLogic.jpg
X%%PORTDOCS%%%%DOCSDIR%%/queueWorkerLogic_small.jpg
X%%PORTDOCS%%%%DOCSDIR%%/queues.html
X%%PORTDOCS%%%%DOCSDIR%%/rainerscript.html
X%%PORTDOCS%%%%DOCSDIR%%/rsconf1_actionexeconlywhenpreviousissuspended.html
X%%PORTDOCS%%%%DOCSDIR%%/rsconf1_actionresumeinterval.html
X%%PORTDOCS%%%%DOCSDIR%%/rsconf1_allowedsender.html
X%%PORTDOCS%%%%DOCSDIR%%/rsconf1_controlcharacterescapeprefix.html
X%%PORTDOCS%%%%DOCSDIR%%/rsconf1_debugprintcfsyslinehandlerlist.html
X%%PORTDOCS%%%%DOCSDIR%%/rsconf1_debugprintmodulelist.html
X%%PORTDOCS%%%%DOCSDIR%%/rsconf1_debugprinttemplatelist.html
X%%PORTDOCS%%%%DOCSDIR%%/rsconf1_dircreatemode.html
X%%PORTDOCS%%%%DOCSDIR%%/rsconf1_dirgroup.html
X%%PORTDOCS%%%%DOCSDIR%%/rsconf1_dirowner.html
X%%PORTDOCS%%%%DOCSDIR%%/rsconf1_dropmsgswithmaliciousdnsptrrecords.html
X%%PORTDOCS%%%%DOCSDIR%%/rsconf1_droptrailinglfonreception.html
X%%PORTDOCS%%%%DOCSDIR%%/rsconf1_dynafilecachesize.html
X%%PORTDOCS%%%%DOCSDIR%%/rsconf1_escapecontrolcharactersonreceive.html
X%%PORTDOCS%%%%DOCSDIR%%/rsconf1_failonchownfailure.html
X%%PORTDOCS%%%%DOCSDIR%%/rsconf1_filecreatemode.html
X%%PORTDOCS%%%%DOCSDIR%%/rsconf1_filegroup.html
X%%PORTDOCS%%%%DOCSDIR%%/rsconf1_fileowner.html
X%%PORTDOCS%%%%DOCSDIR%%/rsconf1_gssforwardservicename.html
X%%PORTDOCS%%%%DOCSDIR%%/rsconf1_gsslistenservicename.html
X%%PORTDOCS%%%%DOCSDIR%%/rsconf1_gssmode.html
X%%PORTDOCS%%%%DOCSDIR%%/rsconf1_includeconfig.html
X%%PORTDOCS%%%%DOCSDIR%%/rsconf1_mainmsgqueuesize.html
X%%PORTDOCS%%%%DOCSDIR%%/rsconf1_markmessageperiod.html
X%%PORTDOCS%%%%DOCSDIR%%/rsconf1_moddir.html
X%%PORTDOCS%%%%DOCSDIR%%/rsconf1_modload.html
X%%PORTDOCS%%%%DOCSDIR%%/rsconf1_repeatedmsgreduction.html
X%%PORTDOCS%%%%DOCSDIR%%/rsconf1_resetconfigvariables.html
X%%PORTDOCS%%%%DOCSDIR%%/rsconf1_umask.html
X%%PORTDOCS%%%%DOCSDIR%%/rscript_abnf.html
X%%PORTDOCS%%%%DOCSDIR%%/rsyslog_conf.html
X%%PORTDOCS%%%%DOCSDIR%%/rsyslog_conf_actions.html
X%%PORTDOCS%%%%DOCSDIR%%/rsyslog_conf_examples.html
X%%PORTDOCS%%%%DOCSDIR%%/rsyslog_conf_filter.html
X%%PORTDOCS%%%%DOCSDIR%%/rsyslog_conf_global.html
X%%PORTDOCS%%%%DOCSDIR%%/rsyslog_conf_modules.html
X%%PORTDOCS%%%%DOCSDIR%%/rsyslog_conf_nomatch.html
X%%PORTDOCS%%%%DOCSDIR%%/rsyslog_conf_output.html
X%%PORTDOCS%%%%DOCSDIR%%/rsyslog_conf_templates.html
X%%PORTDOCS%%%%DOCSDIR%%/rsyslog_high_database_rate.html
X%%PORTDOCS%%%%DOCSDIR%%/rsyslog_mysql.html
X%%PORTDOCS%%%%DOCSDIR%%/rsyslog_ng_comparison.html
X%%PORTDOCS%%%%DOCSDIR%%/rsyslog_packages.html
X%%PORTDOCS%%%%DOCSDIR%%/rsyslog_php_syslog_ng.html
X%%PORTDOCS%%%%DOCSDIR%%/rsyslog_recording_pri.html
X%%PORTDOCS%%%%DOCSDIR%%/rsyslog_reliable_forwarding.html
X%%PORTDOCS%%%%DOCSDIR%%/rsyslog_secure_tls.html
X%%PORTDOCS%%%%DOCSDIR%%/rsyslog_stunnel.html
X%%PORTDOCS%%%%DOCSDIR%%/rsyslog_tls.html
X%%PORTDOCS%%%%DOCSDIR%%/status.html
X%%PORTDOCS%%%%DOCSDIR%%/syslog_protocol.html
X%%PORTDOCS%%%%DOCSDIR%%/tls_cert.jpg
X%%PORTDOCS%%%%DOCSDIR%%/tls_cert_100.jpg
X%%PORTDOCS%%%%DOCSDIR%%/tls_cert_ca.html
X%%PORTDOCS%%%%DOCSDIR%%/tls_cert_ca.jpg
X%%PORTDOCS%%%%DOCSDIR%%/tls_cert_client.html
X%%PORTDOCS%%%%DOCSDIR%%/tls_cert_errmsgs.html
X%%PORTDOCS%%%%DOCSDIR%%/tls_cert_machine.html
X%%PORTDOCS%%%%DOCSDIR%%/tls_cert_scenario.html
X%%PORTDOCS%%%%DOCSDIR%%/tls_cert_server.html
X%%PORTDOCS%%%%DOCSDIR%%/tls_cert_summary.html
X%%PORTDOCS%%%%DOCSDIR%%/tls_cert_udp_relay.html
X%%PORTDOCS%%%%DOCSDIR%%/troubleshoot.html
X%%PORTDOCS%%%%DOCSDIR%%/v3compatibility.html
X%%PORTDOCS%%%%DOCSDIR%%/version_naming.html
X%%PORTEXAMPLES%%%%EXAMPLESDIR%%/rsyslog-example.conf
X%%PORTEXAMPLES%%@dirrmtry %%EXAMPLESDIR%%
X%%PORTDOCS%%@dirrmtry %%DOCSDIR%%
X at dirrmtry lib/rsyslog
END-of-rsyslog4/pkg-plist
echo c - rsyslog4/files
mkdir -p rsyslog4/files > /dev/null 2>&1
echo x - rsyslog4/files/pkg-message.in
sed 's/^X//' >rsyslog4/files/pkg-message.in << 'END-of-rsyslog4/files/pkg-message.in'
X===================================================================
XTo start using rsyslogd(8), stop syslogd(8) if it's running and
Xadd the following lines to rc.conf(5):
X syslogd_enable="NO"
X rsyslogd_enable="YES"
XTo avoid warnings about rsyslogd running in compatibility mode, add
Xthis:
X rsyslogd_flags="-c3"
XIt's recommended to copy syslog.conf(5) to
X%%PREFIX%%/etc/rsyslog.conf and edit it there. Otherwise add
Xthis:
X rsyslogd_config="/etc/syslog.conf"
Xnewsyslog(8) has the path of syslogd's pid file hardcoded. To
Xmake it work seamlessly with rsyslog, add this:
X rsyslogd_pidfile="/var/run/syslog.pid"
X===================================================================
END-of-rsyslog4/files/pkg-message.in
echo x - rsyslog4/files/rsyslogd.in
sed 's/^X//' >rsyslog4/files/rsyslogd.in << 'END-of-rsyslog4/files/rsyslogd.in'
X#!/bin/sh
X#
X# $FreeBSD: ports/sysutils/rsyslog3/files/rsyslogd.in,v 1.5 2008/05/06 18:20:56 sat Exp $
X#
X
X# PROVIDE: rsyslogd
X# REQUIRE: mountcritremote cleanvar newsyslog ldconfig
X# BEFORE:  SERVERS
X
X. %%RC_SUBR%%
X
Xname=rsyslogd
Xrcvar=`set_rcvar`
Xcommand="%%PREFIX%%/sbin/${name}"
Xload_rc_config $name
X: ${rsyslogd_enable:="NO"}
X: ${rsyslogd_pidfile:="/var/run/rsyslogd.pid"}
X: ${rsyslogd_config:="%%PREFIX%%/etc/rsyslog.conf"}
Xpidfile="${rsyslogd_pidfile}"
Xcommand_args="-i ${pidfile} -f ${rsyslogd_config}"
Xrequired_files="${rsyslogd_config}"
Xstart_precmd="rsyslogd_precmd"
Xextra_commands="reload"
X
Xsockfile="/var/run/rsyslogd.sockets"
Xevalargs="rc_flags=\"\`set_socketlist\` \$rc_flags\""
Xaltlog_proglist="named"
X
Xrsyslogd_precmd()
X{
X	local _l _ldir
X
X	#	Transitional symlink for old binaries
X	#
X	if [ ! -L /dev/log ]; then
X		ln -sf /var/run/log /dev/log
X	fi
X	rm -f /var/run/log
X
X	#	Create default list of syslog sockets to watch
X	#
X	( umask 022 ; > $sockfile )
X
X	#	If running named(8) or ntpd(8) chrooted, added appropriate
X	#	syslog socket to list of sockets to watch.
X	#
X	for _l in $altlog_proglist; do
X		eval _ldir=\$${_l}_chrootdir
X		if checkyesno `set_rcvar $_l` && [ -n "$_ldir" ]; then
X			echo "${_ldir}/var/run/log" >> $sockfile
X		fi
X	done
X
X	#	If other sockets have been provided, change run_rc_command()'s
X	#	internal copy of $rsyslogd_flags to force use of specific
X	#	rsyslogd sockets.
X	#
X	if [ -s $sockfile ]; then
X		echo "/var/run/log" >> $sockfile
X		eval $evalargs
X	fi
X
X	return 0
X}
X
Xset_socketlist()
X{
X	local _s _socketargs
X
X	_socketargs=
X	for _s in `cat $sockfile | tr '\n' ' '` ; do
X		_socketargs="-a $_s $_socketargs"
X	done
X	echo $_socketargs
X}
X
Xrun_rc_command "$1"
END-of-rsyslog4/files/rsyslogd.in
exit



>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list