diff options
author | Aaditya Bagga <aaditya_gnulinux@zoho.com> | 2019-09-14 11:34:35 +0700 |
---|---|---|
committer | Willy Sudiarto Raharjo <willysr@slackbuilds.org> | 2019-09-14 11:34:35 +0700 |
commit | 7f48ddbfdc26e576b7307e54d7b1841fadda1ebd (patch) | |
tree | bc79c94d2ca21064e53b49032307b31d0c9a9f5f | |
parent | 5875cbbae460af3e169490ccd53ac45cb9908d78 (diff) |
system/socklog: Added (system and kernel logging services).
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
-rw-r--r-- | system/socklog/README | 12 | ||||
-rw-r--r-- | system/socklog/README.Slackware | 55 | ||||
-rw-r--r-- | system/socklog/headers.patch | 55 | ||||
-rw-r--r-- | system/socklog/slack-desc | 19 | ||||
-rw-r--r-- | system/socklog/socklog.SlackBuild | 112 | ||||
-rw-r--r-- | system/socklog/socklog.info | 10 |
6 files changed, 263 insertions, 0 deletions
diff --git a/system/socklog/README b/system/socklog/README new file mode 100644 index 0000000000000..808c505ff37dc --- /dev/null +++ b/system/socklog/README @@ -0,0 +1,12 @@ +socklog, in cooperation with the runit package, is a small and secure replacement for syslogd. + +It can receive syslog messages from a unix domain socket ("/dev/log") and +write them to various files on disk depending on facility and priority. + +It can receive messages from a udp socket ("0.0.0.0:514") and write them to +disk, or forward the messages to another udp socket ("a.b.c.d:514"). + +svlogd has a built in log file rotation based on file size, +so there is no need for any cron jobs or similar to rotate the logs. + +Check README.Slackware on how to use it after installation. diff --git a/system/socklog/README.Slackware b/system/socklog/README.Slackware new file mode 100644 index 0000000000000..4cc0c2b4d87ec --- /dev/null +++ b/system/socklog/README.Slackware @@ -0,0 +1,55 @@ +To use the socklog package for system logging, following steps can be followed: + +Create the service directory and log directories by running the socklog-conf program: + + # socklog-conf unix daemon adm + +If you are replacing another service providing system logging through the socket /dev/log, + such as syslogd, stop it now and ensure that it will not be restarted on runlevel change + or system reboot. + +Tell runsvdir about the new service: + + # ln -s /etc/sv/socklog-unix /var/service/ + +Wait five seconds for the service to start and then check the log directories, e.g.: + + # less /var/log/socklog/main/current + + Optionally configure the socklog-unix service by editing the corresponding run scripts and config files: + + /var/service/socklog-unix/run + /var/service/socklog-unix/log/run + /var/log/socklog/*/config + +------------------------------------- + +For capturing kernel log: + +Create the service directory and log directories by running the socklog-conf program: + + # socklog-conf klog daemon adm + +If you are replacing another service providing kernel logging, such as klogd on Linux or syslogd on BSD, + stop it now and ensure that it will not be restarted on runlevel change or system reboot. + +Tell runsvdir about the new service: + + # ln -s /etc/sv/socklog-klog /var/service/ + +Wait five seconds for the service to start and then check the log directory: + + # less /var/log/socklog-klog/main/current + +Optionally configure the socklog-klog service by editing the corresponding run scripts and config file: + + /var/service/socklog-klog/run + /var/service/socklog-klog/log/run + /var/log/socklog-klog/config + +---------------------------------------- + +For more details and setting up network logging, check the following link: + +http://smarden.org/socklog/configuration.html + diff --git a/system/socklog/headers.patch b/system/socklog/headers.patch new file mode 100644 index 0000000000000..6f7ec5ace73b2 --- /dev/null +++ b/system/socklog/headers.patch @@ -0,0 +1,55 @@ +add missing headers for misc funcs and types + +--- a/chkshsgr.c ++++ b/chkshsgr.c +@@ -1,10 +1,11 @@ + /* Public domain. */ + + #include <unistd.h> ++#include <grp.h> + + int main() + { +- short x[4]; ++ gid_t x[4]; + + x[0] = x[1] = 0; + if (getgroups(1,x) == 0) if (setgroups(1,x) == -1) _exit(1); +--- a/pathexec_run.c ++++ b/pathexec_run.c +@@ -1,5 +1,6 @@ + /* Public domain. */ + ++#include <unistd.h> + #include "error.h" + #include "stralloc.h" + #include "str.h" +--- a/prot.c ++++ b/prot.c +@@ -1,12 +1,15 @@ + /* Public domain. */ + ++#include <unistd.h> ++#include <grp.h> ++ + #include "hasshsgr.h" + #include "prot.h" + + int prot_gid(int gid) + { + #ifdef HASSHORTSETGROUPS +- short x[2]; ++ gid_t x[2]; + x[0] = gid; x[1] = 73; /* catch errors */ + if (setgroups(1,x) == -1) return -1; + #else +--- a/seek_set.c ++++ b/seek_set.c +@@ -1,5 +1,6 @@ + /* Public domain. */ + ++#include <unistd.h> + #include <sys/types.h> + #include "seek.h" + + diff --git a/system/socklog/slack-desc b/system/socklog/slack-desc new file mode 100644 index 0000000000000..cd8b5f1d3e366 --- /dev/null +++ b/system/socklog/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +socklog: socklog (system and kernel logging services) +socklog: +socklog: socklog, in cooperation with the runit package, is a small and secure +socklog: replacement for syslogd. +socklog: +socklog: It can receive syslog messages from a unix domain socket ("/dev/log") +socklog: and write them to various files on disk depending on facility +socklog: and priority. It can also read from and write to a udp socket. +socklog: +socklog: svlogd has a built in log file rotation based on file size, +socklog: so there is no need for any cron jobs or similar to rotate the logs. diff --git a/system/socklog/socklog.SlackBuild b/system/socklog/socklog.SlackBuild new file mode 100644 index 0000000000000..a58f15fac8e97 --- /dev/null +++ b/system/socklog/socklog.SlackBuild @@ -0,0 +1,112 @@ +#!/bin/sh + +# Slackware build script for socklog +# generated with mkslack, based on aur and gentoo pkg +# +# Copyright 2019 Aaditya Bagga <aaditya_gnulinux@zoho.com> +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +PRGNAM=socklog +VERSION=${VERSION:-2.1.0} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$VERSION +tar xvf $CWD/$PRGNAM-$VERSION.tar.gz --strip-components=1 +cd $PRGNAM-$VERSION +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +echo "${CC:-gcc} $SLKCFLAGS -Wall" > src/conf-cc +echo "${LD:-gcc -s}" > src/conf-ld + +cd src +patch -p1 < "$CWD/headers.patch" +cd - +sed -i -e 's:^#define _PATH_KLOG "\/dev\/klog"$:#define _PATH_KLOG "\/proc\/kmsg":' src/socklog-conf.c + +package/compile +package/check + +install -d $PKG/{bin,sbin} +install -m 755 command/{tryto,uncat,socklog-check} $PKG/bin/ +install -m 755 command/{socklog,socklog-conf} $PKG/sbin/ + +install -d $PKG/usr/man/man{1,8} +install -m 644 man/*.1 $PKG/usr/man/man1/ +install -m 644 man/*.8 $PKG/usr/man/man8/ + +find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +find $PKG/usr/man -type f -exec gzip -9 {} \; +for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a \ + package/CHANGES package/README package/COPYING \ + $PKG/usr/doc/$PRGNAM-$VERSION + +mkdir $PKG/usr/doc/$PRGNAM-$VERSION/html +cp doc/* $PKG/usr/doc/$PRGNAM-$VERSION/html/ + +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/system/socklog/socklog.info b/system/socklog/socklog.info new file mode 100644 index 0000000000000..40788fe0be375 --- /dev/null +++ b/system/socklog/socklog.info @@ -0,0 +1,10 @@ +PRGNAM="socklog" +VERSION="2.1.0" +HOMEPAGE="http://smarden.org/socklog/" +DOWNLOAD="http://smarden.org/socklog/socklog-2.1.0.tar.gz" +MD5SUM="5d0e8e28c9329ad3af982c5241df9ff1" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +REQUIRES="runit" +MAINTAINER="Aaditya Bagga" +EMAIL="aaditya_gnulinux@zoho.com" |