* [Buildroot] [PATCHv2] syslog-ng: New package
@ 2015-10-14 7:41 Chris Packham
2015-10-14 7:50 ` Thomas Petazzoni
0 siblings, 1 reply; 6+ messages in thread
From: Chris Packham @ 2015-10-14 7:41 UTC (permalink / raw)
To: buildroot
syslog-ng is an enhanced log daemon, supporting a wide range of input
and output methods: syslog, unstructured text, queueing, SQL & NoSQL.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
---
Changes since v1:
- add hash file
- use simplified logging configuration for buildroot
- don't install man pages
package/Config.in | 3 +++
package/syslog-ng/Config.in | 18 +++++++++++++
package/syslog-ng/S01logging | 36 ++++++++++++++++++++++++++
package/syslog-ng/syslog-ng.conf | 16 ++++++++++++
package/syslog-ng/syslog-ng.hash | 2 ++
package/syslog-ng/syslog-ng.mk | 55 ++++++++++++++++++++++++++++++++++++++++
6 files changed, 130 insertions(+)
create mode 100644 package/syslog-ng/Config.in
create mode 100644 package/syslog-ng/S01logging
create mode 100644 package/syslog-ng/syslog-ng.conf
create mode 100644 package/syslog-ng/syslog-ng.hash
create mode 100644 package/syslog-ng/syslog-ng.mk
diff --git a/package/Config.in b/package/Config.in
index 8e3c64a..e191af7 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1518,6 +1518,9 @@ endif
if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
source "package/sysklogd/Config.in"
endif
+if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
+ source "package/syslog-ng/Config.in"
+endif
source "package/systemd/Config.in"
if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
source "package/sysvinit/Config.in"
diff --git a/package/syslog-ng/Config.in b/package/syslog-ng/Config.in
new file mode 100644
index 0000000..185a8e2
--- /dev/null
+++ b/package/syslog-ng/Config.in
@@ -0,0 +1,18 @@
+config BR2_PACKAGE_SYSLOG_NG
+ bool "syslog-ng"
+ select BR2_PACKAGE_EVENTLOG
+ select BR2_PACKAGE_LIBGLIB2
+ select BR2_PACKAGE_PCRE
+ select BR2_PACKAGE_OPENSSL
+ depends on BR2_USE_WCHAR # glib2
+ depends on BR2_TOOLCHAIN_HAS_THREADS
+ depends on BR2_USE_MMU # fork()
+ help
+ syslog-ng is an enhanced log daemon, supporting a wide range of input
+ and output methods: syslog, unstructured text, queueing, SQL & NoSQL
+
+ https://syslog-ng.org/
+
+comment "syslog-ng needs a toolchain w/ wchar, threads"
+ depends on BR2_USE_MMU
+ depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/syslog-ng/S01logging b/package/syslog-ng/S01logging
new file mode 100644
index 0000000..3fa7107
--- /dev/null
+++ b/package/syslog-ng/S01logging
@@ -0,0 +1,36 @@
+#!/bin/sh
+
+start() {
+ echo -n "Starting syslog-ng daemon: "
+ start-stop-daemon -S -q -p /var/run/syslog-ng.pid --exec /usr/sbin/syslog-ng
+ [ $? = 0 ] && echo "OK" || echo "FAIL"
+}
+
+stop() {
+ echo -n "Stopping syslog-ng daemon: "
+ start-stop-daemon -K -q -p /var/run/syslog-ng.pid
+ [ $? = 0 ] && echo "OK" || echo "FAIL"
+}
+
+restart() {
+ stop
+ sleep 1
+ start
+}
+
+case "$1" in
+ start)
+ start
+ ;;
+ stop)
+ stop
+ ;;
+ restart|reload)
+ restart
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart}"
+ exit 1
+esac
+
+exit $?
diff --git a/package/syslog-ng/syslog-ng.conf b/package/syslog-ng/syslog-ng.conf
new file mode 100644
index 0000000..0b4a860
--- /dev/null
+++ b/package/syslog-ng/syslog-ng.conf
@@ -0,0 +1,16 @@
+ at version: 3.7
+
+source s_sys {
+ file("/proc/kmsg" program_override("kernel"));
+ unix-stream ("/dev/log");
+ internal();
+};
+
+destination d_all {
+ file("/var/log/messages");
+};
+
+log {
+ source(s_sys);
+ destination(d_all);
+};
diff --git a/package/syslog-ng/syslog-ng.hash b/package/syslog-ng/syslog-ng.hash
new file mode 100644
index 0000000..761ac84
--- /dev/null
+++ b/package/syslog-ng/syslog-ng.hash
@@ -0,0 +1,2 @@
+# Locally computed
+sha1 494418ca185d912e2296dccac4ca1b38924159ff syslog-ng-3.7.1.tar.gz
diff --git a/package/syslog-ng/syslog-ng.mk b/package/syslog-ng/syslog-ng.mk
new file mode 100644
index 0000000..da58bba
--- /dev/null
+++ b/package/syslog-ng/syslog-ng.mk
@@ -0,0 +1,55 @@
+################################################################################
+#
+# syslog-ng
+#
+################################################################################
+
+SYSLOG_NG_VERSION = 3.7.1
+SYSLOG_NG_SOURCE = syslog-ng-$(SYSLOG_NG_VERSION).tar.gz
+SYSLOG_NG_SITE = https://github.com/balabit/syslog-ng/releases/download/syslog-ng-$(SYSLOG_NG_VERSION)
+SYSLOG_NG_LICENSE = LGPL (syslog-ng core), GPL (modules)
+SYSLOG_NG_LICENSE_FILES = COPYING
+SYSLOG_NG_DEPENDENCIES = host-bison host-flex host-pkgconf \
+ eventlog libglib2 openssl pcre \
+ $(if $(BR2_PACKAGE_PYTHON),python) \
+ $(if $(BR2_PACKAGE_PYTHON3),python3) \
+ $(if $(BR2_PACKAGE_LIBESMTP),libesmtp) \
+ $(if $(BR2_PACKAGE_JSON_C),json-c)
+SYSLOG_NG_CONF_OPTS = --disable-manpages
+
+ifeq ($(BR2_INIT_SYSTEMD),y)
+SYSLOG_NG_CONF_OPTS += \
+ --enable-systemd \
+ --with-systemdsystemunitdir=/usr/lib/systemd/system
+SYSLOG_NG_DEPENDENCIES += systemd
+else
+SYSLOG_NG_CONF_OPTS += --disable-systemd
+endif
+
+define SYSLOG_NG_INSTALL_INIT_SYSV
+ $(INSTALL) -m 0755 -D package/syslog-ng/S01logging \
+ $(TARGET_DIR)/etc/init.d/S01logging
+endef
+
+ifeq ($(BR2_PACKAGE_PYTHON)$(BR2_PACKAGE_PYTHON3),)
+SYSLOG_NG_CONF_OPTS += --disable-python --without-python
+endif
+
+ifeq ($(BR2_PACKAGE_LIBESMTP),)
+SYSLOG_NG_CONF_OPTS += --disable-smtp
+endif
+
+ifeq ($(BR2_PACKAGE_JSON_C),)
+SYSLOG_NG_CONF_OPTS += --disable-json
+endif
+
+define SYSLOG_NG_FIXUP_CONFIG
+ $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \
+ DESTDIR=$(TARGET_DIR) scl-uninstall-local
+ $(INSTALL) -D -m 0644 package/syslog-ng/syslog-ng.conf \
+ $(TARGET_DIR)/etc/syslog-ng.conf
+endef
+
+SYSLOG_NG_POST_INSTALL_TARGET_HOOKS = SYSLOG_NG_FIXUP_CONFIG
+
+$(eval $(autotools-package))
--
2.5.3
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Buildroot] [PATCHv2] syslog-ng: New package
2015-10-14 7:41 [Buildroot] [PATCHv2] syslog-ng: New package Chris Packham
@ 2015-10-14 7:50 ` Thomas Petazzoni
2015-10-14 7:58 ` Chris Packham
0 siblings, 1 reply; 6+ messages in thread
From: Thomas Petazzoni @ 2015-10-14 7:50 UTC (permalink / raw)
To: buildroot
Dear Chris Packham,
Thanks for this new version, a few comments below.
On Wed, 14 Oct 2015 20:41:28 +1300, Chris Packham wrote:
> diff --git a/package/Config.in b/package/Config.in
> index 8e3c64a..e191af7 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -1518,6 +1518,9 @@ endif
> if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
> source "package/sysklogd/Config.in"
> endif
> +if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
> + source "package/syslog-ng/Config.in"
> +endif
You can probably group is with the BR2_PACKAGE_BUSYBOX_SHOW_OTHERS used
for sysklogd.
> diff --git a/package/syslog-ng/S01logging b/package/syslog-ng/S01logging
> new file mode 100644
> index 0000000..3fa7107
> --- /dev/null
> +++ b/package/syslog-ng/S01logging
> @@ -0,0 +1,36 @@
> +#!/bin/sh
> +
> +start() {
> + echo -n "Starting syslog-ng daemon: "
Indentation should be done with one tab in the init script.
And use "printf" here rather than "echo -n". We changed this in all
init scripts about a week ago or so. The reasoning is that printf is
POSIX, while echo -n is specific to certain shells only.
> + start-stop-daemon -S -q -p /var/run/syslog-ng.pid --exec /usr/sbin/syslog-ng
> + [ $? = 0 ] && echo "OK" || echo "FAIL"
Using echo here is fine.
> +# Locally computed
> +sha1 494418ca185d912e2296dccac4ca1b38924159ff syslog-ng-3.7.1.tar.gz
If it's locally computed, use a sha256.
> +SYSLOG_NG_VERSION = 3.7.1
> +SYSLOG_NG_SOURCE = syslog-ng-$(SYSLOG_NG_VERSION).tar.gz
> +SYSLOG_NG_SITE = https://github.com/balabit/syslog-ng/releases/download/syslog-ng-$(SYSLOG_NG_VERSION)
> +SYSLOG_NG_LICENSE = LGPL (syslog-ng core), GPL (modules)
Please indicate the version of the license (GPLv2, GPLv2+, GPLv3,
GPLv3+, etc.).
> +SYSLOG_NG_LICENSE_FILES = COPYING
> +SYSLOG_NG_DEPENDENCIES = host-bison host-flex host-pkgconf \
> + eventlog libglib2 openssl pcre \
> + $(if $(BR2_PACKAGE_PYTHON),python) \
> + $(if $(BR2_PACKAGE_PYTHON3),python3) \
> + $(if $(BR2_PACKAGE_LIBESMTP),libesmtp) \
> + $(if $(BR2_PACKAGE_JSON_C),json-c)
When there are autoconf options associated to certain optional
dependencies, we generally prefer to have them handled in one block
like this:
ifeq ($(BR2_PACKAGE_LIBESTMP),y)
SYSLOG_NG_DEPENDENCIES += libesmtp
SYSLOG_NG_CONF_OPTS += --enable-<something>
else
SYSLOG_NG_CONF_OPTS += --disable-<something>
endif
> +SYSLOG_NG_CONF_OPTS = --disable-manpages
> +
> +ifeq ($(BR2_INIT_SYSTEMD),y)
> +SYSLOG_NG_CONF_OPTS += \
> + --enable-systemd \
> + --with-systemdsystemunitdir=/usr/lib/systemd/system
> +SYSLOG_NG_DEPENDENCIES += systemd
> +else
> +SYSLOG_NG_CONF_OPTS += --disable-systemd
> +endif
> +
> +define SYSLOG_NG_INSTALL_INIT_SYSV
> + $(INSTALL) -m 0755 -D package/syslog-ng/S01logging \
> + $(TARGET_DIR)/etc/init.d/S01logging
> +endef
> +
> +ifeq ($(BR2_PACKAGE_PYTHON)$(BR2_PACKAGE_PYTHON3),)
> +SYSLOG_NG_CONF_OPTS += --disable-python --without-python
> +endif
See above: don't only disable when not available, but also explicitly
enable when available.
> +ifeq ($(BR2_PACKAGE_LIBESMTP),)
> +SYSLOG_NG_CONF_OPTS += --disable-smtp
> +endif
Ditto.
> +
> +ifeq ($(BR2_PACKAGE_JSON_C),)
> +SYSLOG_NG_CONF_OPTS += --disable-json
> +endif
Ditto.
> +define SYSLOG_NG_FIXUP_CONFIG
> + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \
> + DESTDIR=$(TARGET_DIR) scl-uninstall-local
This seems a bit weird. What needs to be uninstalled ?
> + $(INSTALL) -D -m 0644 package/syslog-ng/syslog-ng.conf \
> + $(TARGET_DIR)/etc/syslog-ng.conf
> +endef
> +
> +SYSLOG_NG_POST_INSTALL_TARGET_HOOKS = SYSLOG_NG_FIXUP_CONFIG
> +
> +$(eval $(autotools-package))
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Buildroot] [PATCHv2] syslog-ng: New package
2015-10-14 7:50 ` Thomas Petazzoni
@ 2015-10-14 7:58 ` Chris Packham
2015-10-14 8:01 ` Thomas Petazzoni
0 siblings, 1 reply; 6+ messages in thread
From: Chris Packham @ 2015-10-14 7:58 UTC (permalink / raw)
To: buildroot
On Wed, Oct 14, 2015 at 8:50 PM, Thomas Petazzoni
<thomas.petazzoni@free-electrons.com> wrote:
> Dear Chris Packham,
>
> Thanks for this new version, a few comments below.
>
> On Wed, 14 Oct 2015 20:41:28 +1300, Chris Packham wrote:
>
>> diff --git a/package/Config.in b/package/Config.in
>> index 8e3c64a..e191af7 100644
>> --- a/package/Config.in
>> +++ b/package/Config.in
>> @@ -1518,6 +1518,9 @@ endif
>> if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
>> source "package/sysklogd/Config.in"
>> endif
>> +if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
>> + source "package/syslog-ng/Config.in"
>> +endif
>
> You can probably group is with the BR2_PACKAGE_BUSYBOX_SHOW_OTHERS used
> for sysklogd.
>
>> diff --git a/package/syslog-ng/S01logging b/package/syslog-ng/S01logging
>> new file mode 100644
>> index 0000000..3fa7107
>> --- /dev/null
>> +++ b/package/syslog-ng/S01logging
>> @@ -0,0 +1,36 @@
>> +#!/bin/sh
>> +
>> +start() {
>> + echo -n "Starting syslog-ng daemon: "
>
> Indentation should be done with one tab in the init script.
>
> And use "printf" here rather than "echo -n". We changed this in all
> init scripts about a week ago or so. The reasoning is that printf is
> POSIX, while echo -n is specific to certain shells only.
>
>> + start-stop-daemon -S -q -p /var/run/syslog-ng.pid --exec /usr/sbin/syslog-ng
>> + [ $? = 0 ] && echo "OK" || echo "FAIL"
>
> Using echo here is fine.
>
>
>> +# Locally computed
>> +sha1 494418ca185d912e2296dccac4ca1b38924159ff syslog-ng-3.7.1.tar.gz
>
> If it's locally computed, use a sha256.
>
>> +SYSLOG_NG_VERSION = 3.7.1
>> +SYSLOG_NG_SOURCE = syslog-ng-$(SYSLOG_NG_VERSION).tar.gz
>> +SYSLOG_NG_SITE = https://github.com/balabit/syslog-ng/releases/download/syslog-ng-$(SYSLOG_NG_VERSION)
>> +SYSLOG_NG_LICENSE = LGPL (syslog-ng core), GPL (modules)
>
> Please indicate the version of the license (GPLv2, GPLv2+, GPLv3,
> GPLv3+, etc.).
Will do.
>
>> +SYSLOG_NG_LICENSE_FILES = COPYING
>> +SYSLOG_NG_DEPENDENCIES = host-bison host-flex host-pkgconf \
>> + eventlog libglib2 openssl pcre \
>> + $(if $(BR2_PACKAGE_PYTHON),python) \
>> + $(if $(BR2_PACKAGE_PYTHON3),python3) \
>> + $(if $(BR2_PACKAGE_LIBESMTP),libesmtp) \
>> + $(if $(BR2_PACKAGE_JSON_C),json-c)
>
> When there are autoconf options associated to certain optional
> dependencies, we generally prefer to have them handled in one block
> like this:
>
> ifeq ($(BR2_PACKAGE_LIBESTMP),y)
> SYSLOG_NG_DEPENDENCIES += libesmtp
> SYSLOG_NG_CONF_OPTS += --enable-<something>
> else
> SYSLOG_NG_CONF_OPTS += --disable-<something>
> endif
>
Noted.
>> +SYSLOG_NG_CONF_OPTS = --disable-manpages
>> +
>> +ifeq ($(BR2_INIT_SYSTEMD),y)
>> +SYSLOG_NG_CONF_OPTS += \
>> + --enable-systemd \
>> + --with-systemdsystemunitdir=/usr/lib/systemd/system
>> +SYSLOG_NG_DEPENDENCIES += systemd
>> +else
>> +SYSLOG_NG_CONF_OPTS += --disable-systemd
>> +endif
>> +
>> +define SYSLOG_NG_INSTALL_INIT_SYSV
>> + $(INSTALL) -m 0755 -D package/syslog-ng/S01logging \
>> + $(TARGET_DIR)/etc/init.d/S01logging
>> +endef
>> +
>> +ifeq ($(BR2_PACKAGE_PYTHON)$(BR2_PACKAGE_PYTHON3),)
>> +SYSLOG_NG_CONF_OPTS += --disable-python --without-python
>> +endif
>
> See above: don't only disable when not available, but also explicitly
> enable when available.
>
>> +ifeq ($(BR2_PACKAGE_LIBESMTP),)
>> +SYSLOG_NG_CONF_OPTS += --disable-smtp
>> +endif
>
> Ditto.
>
>> +
>> +ifeq ($(BR2_PACKAGE_JSON_C),)
>> +SYSLOG_NG_CONF_OPTS += --disable-json
>> +endif
>
> Ditto.
>
>> +define SYSLOG_NG_FIXUP_CONFIG
>> + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \
>> + DESTDIR=$(TARGET_DIR) scl-uninstall-local
>
> This seems a bit weird. What needs to be uninstalled ?
There are a bunch of configuration files installed by default. Some of
which rely on "optional" features (json was the one that stopped
syslog-ng from starting). Technically since I'm installing a custom
config file they won't do any harm but then they're just sitting there
in the file system doing nothing.
>
>> + $(INSTALL) -D -m 0644 package/syslog-ng/syslog-ng.conf \
>> + $(TARGET_DIR)/etc/syslog-ng.conf
>> +endef
>> +
>> +SYSLOG_NG_POST_INSTALL_TARGET_HOOKS = SYSLOG_NG_FIXUP_CONFIG
>> +
>> +$(eval $(autotools-package))
>
> Thanks!
>
> Thomas
> --
> Thomas Petazzoni, CTO, Free Electrons
> Embedded Linux, Kernel and Android engineering
> http://free-electrons.com
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Buildroot] [PATCHv2] syslog-ng: New package
2015-10-14 7:58 ` Chris Packham
@ 2015-10-14 8:01 ` Thomas Petazzoni
2015-10-14 8:34 ` [Buildroot] [PATCHv3] " Chris Packham
0 siblings, 1 reply; 6+ messages in thread
From: Thomas Petazzoni @ 2015-10-14 8:01 UTC (permalink / raw)
To: buildroot
Dear Chris Packham,
On Wed, 14 Oct 2015 20:58:49 +1300, Chris Packham wrote:
> > This seems a bit weird. What needs to be uninstalled ?
>
> There are a bunch of configuration files installed by default. Some of
> which rely on "optional" features (json was the one that stopped
> syslog-ng from starting). Technically since I'm installing a custom
> config file they won't do any harm but then they're just sitting there
> in the file system doing nothing.
OK. Can you simply copy/paste this explanation in a comment above the
fixup commands?
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Buildroot] [PATCHv3] syslog-ng: New package
2015-10-14 8:01 ` Thomas Petazzoni
@ 2015-10-14 8:34 ` Chris Packham
2015-10-18 15:38 ` Thomas Petazzoni
0 siblings, 1 reply; 6+ messages in thread
From: Chris Packham @ 2015-10-14 8:34 UTC (permalink / raw)
To: buildroot
syslog-ng is an enhanced log daemon, supporting a wide range of input
and output methods: syslog, unstructured text, queueing, SQL & NoSQL.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
---
Changes since v1:
- add hash file
- use simplified logging configuration for buildroot
- don't install man pages
Changes since v2:
- incorporate review feedback from Thomas
package/Config.in | 1 +
package/syslog-ng/Config.in | 18 ++++++++++
package/syslog-ng/S01logging | 36 +++++++++++++++++++
package/syslog-ng/syslog-ng.conf | 16 +++++++++
package/syslog-ng/syslog-ng.hash | 2 ++
package/syslog-ng/syslog-ng.mk | 75 ++++++++++++++++++++++++++++++++++++++++
6 files changed, 148 insertions(+)
create mode 100644 package/syslog-ng/Config.in
create mode 100644 package/syslog-ng/S01logging
create mode 100644 package/syslog-ng/syslog-ng.conf
create mode 100644 package/syslog-ng/syslog-ng.hash
create mode 100644 package/syslog-ng/syslog-ng.mk
diff --git a/package/Config.in b/package/Config.in
index 8e3c64a..325a381 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1517,6 +1517,7 @@ endif
source "package/swupdate/Config.in"
if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
source "package/sysklogd/Config.in"
+ source "package/syslog-ng/Config.in"
endif
source "package/systemd/Config.in"
if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
diff --git a/package/syslog-ng/Config.in b/package/syslog-ng/Config.in
new file mode 100644
index 0000000..185a8e2
--- /dev/null
+++ b/package/syslog-ng/Config.in
@@ -0,0 +1,18 @@
+config BR2_PACKAGE_SYSLOG_NG
+ bool "syslog-ng"
+ select BR2_PACKAGE_EVENTLOG
+ select BR2_PACKAGE_LIBGLIB2
+ select BR2_PACKAGE_PCRE
+ select BR2_PACKAGE_OPENSSL
+ depends on BR2_USE_WCHAR # glib2
+ depends on BR2_TOOLCHAIN_HAS_THREADS
+ depends on BR2_USE_MMU # fork()
+ help
+ syslog-ng is an enhanced log daemon, supporting a wide range of input
+ and output methods: syslog, unstructured text, queueing, SQL & NoSQL
+
+ https://syslog-ng.org/
+
+comment "syslog-ng needs a toolchain w/ wchar, threads"
+ depends on BR2_USE_MMU
+ depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/syslog-ng/S01logging b/package/syslog-ng/S01logging
new file mode 100644
index 0000000..cb5127a
--- /dev/null
+++ b/package/syslog-ng/S01logging
@@ -0,0 +1,36 @@
+#!/bin/sh
+
+start() {
+ printf "Starting syslog-ng daemon: "
+ start-stop-daemon -S -q -p /var/run/syslog-ng.pid --exec /usr/sbin/syslog-ng
+ [ $? = 0 ] && echo "OK" || echo "FAIL"
+}
+
+stop() {
+ printf "Stopping syslog-ng daemon: "
+ start-stop-daemon -K -q -p /var/run/syslog-ng.pid
+ [ $? = 0 ] && echo "OK" || echo "FAIL"
+}
+
+restart() {
+ stop
+ sleep 1
+ start
+}
+
+case "$1" in
+ start)
+ start
+ ;;
+ stop)
+ stop
+ ;;
+ restart|reload)
+ restart
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart}"
+ exit 1
+esac
+
+exit $?
diff --git a/package/syslog-ng/syslog-ng.conf b/package/syslog-ng/syslog-ng.conf
new file mode 100644
index 0000000..0b4a860
--- /dev/null
+++ b/package/syslog-ng/syslog-ng.conf
@@ -0,0 +1,16 @@
+ at version: 3.7
+
+source s_sys {
+ file("/proc/kmsg" program_override("kernel"));
+ unix-stream ("/dev/log");
+ internal();
+};
+
+destination d_all {
+ file("/var/log/messages");
+};
+
+log {
+ source(s_sys);
+ destination(d_all);
+};
diff --git a/package/syslog-ng/syslog-ng.hash b/package/syslog-ng/syslog-ng.hash
new file mode 100644
index 0000000..56dc75f
--- /dev/null
+++ b/package/syslog-ng/syslog-ng.hash
@@ -0,0 +1,2 @@
+# Locally computed
+sha256 4c19841b9079b377cd814b1e6ebbf273af41d04d51c648f4c31f19bfadc20220 syslog-ng-3.7.1.tar.gz
diff --git a/package/syslog-ng/syslog-ng.mk b/package/syslog-ng/syslog-ng.mk
new file mode 100644
index 0000000..95f09b5
--- /dev/null
+++ b/package/syslog-ng/syslog-ng.mk
@@ -0,0 +1,75 @@
+################################################################################
+#
+# syslog-ng
+#
+################################################################################
+
+SYSLOG_NG_VERSION = 3.7.1
+SYSLOG_NG_SOURCE = syslog-ng-$(SYSLOG_NG_VERSION).tar.gz
+SYSLOG_NG_SITE = https://github.com/balabit/syslog-ng/releases/download/syslog-ng-$(SYSLOG_NG_VERSION)
+SYSLOG_NG_LICENSE = LGPLv2.1+ (syslog-ng core), GPLv2+ (modules)
+SYSLOG_NG_LICENSE_FILES = COPYING
+SYSLOG_NG_DEPENDENCIES = host-bison host-flex host-pkgconf \
+ eventlog libglib2 openssl pcre
+SYSLOG_NG_CONF_OPTS = --disable-manpages
+
+ifeq ($(BR2_PACKAGE_PYTHON),y)
+SYSLOG_NG_DEPENDENCIES += python
+SYSLOG_NG_CONF_OPTS += \
+ --enable-python \
+ --with-python=$(PYTHON_VERSION_MAJOR)
+endif
+ifeq ($(BR2_PACKAGE_PYTHON3),y)
+SYSLOG_NG_DEPENDENCIES += python3
+SYSLOG_NG_CONF_OPTS += \
+ --enable-python \
+ --with-python=$(PYTHON3_VERSION_MAJOR)
+endif
+ifeq ($(BR2_PACKAGE_PYTHON)$(BR2_PACKAGE_PYTHON3),)
+SYSLOG_NG_CONF_OPTS += \
+ --disable-python \
+ --without-python
+endif
+
+ifeq ($(BR2_PACKAGE_LIBESMTP),y)
+SYSLOG_NG_DEPENDENCIES += libesmtp
+SYSLOG_NG_CONF_OPTS += --enable-smtp
+else
+SYSLOG_NG_CONF_OPTS += --disable-smtp
+endif
+
+ifeq ($(BR2_PACKAGE_JSON_C),y)
+SYSLOG_NG_DEPENDENCIES += json-c
+SYSLOG_NG_CONF_OPTS += --enable-json
+else
+SYSLOG_NG_CONF_OPTS += --disable-json
+endif
+
+ifeq ($(BR2_INIT_SYSTEMD),y)
+SYSLOG_NG_DEPENDENCIES += systemd
+SYSLOG_NG_CONF_OPTS += \
+ --enable-systemd \
+ --with-systemdsystemunitdir=/usr/lib/systemd/system
+else
+SYSLOG_NG_CONF_OPTS += --disable-systemd
+endif
+
+define SYSLOG_NG_INSTALL_INIT_SYSV
+ $(INSTALL) -m 0755 -D package/syslog-ng/S01logging \
+ $(TARGET_DIR)/etc/init.d/S01logging
+endef
+
+# By default syslog-ng installs a number of sample configuration files.
+# Some of these rely on optional features being enabled. Because of this
+# buildroot uninstalls the shipped config files and provides a simplified
+# configuration.
+define SYSLOG_NG_FIXUP_CONFIG
+ $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \
+ DESTDIR=$(TARGET_DIR) scl-uninstall-local
+ $(INSTALL) -D -m 0644 package/syslog-ng/syslog-ng.conf \
+ $(TARGET_DIR)/etc/syslog-ng.conf
+endef
+
+SYSLOG_NG_POST_INSTALL_TARGET_HOOKS = SYSLOG_NG_FIXUP_CONFIG
+
+$(eval $(autotools-package))
--
2.5.3
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Buildroot] [PATCHv3] syslog-ng: New package
2015-10-14 8:34 ` [Buildroot] [PATCHv3] " Chris Packham
@ 2015-10-18 15:38 ` Thomas Petazzoni
0 siblings, 0 replies; 6+ messages in thread
From: Thomas Petazzoni @ 2015-10-18 15:38 UTC (permalink / raw)
To: buildroot
Dear Chris Packham,
On Wed, 14 Oct 2015 21:34:18 +1300, Chris Packham wrote:
> syslog-ng is an enhanced log daemon, supporting a wide range of input
> and output methods: syslog, unstructured text, queueing, SQL & NoSQL.
>
> Signed-off-by: Chris Packham <judge.packham@gmail.com>
> ---
> Changes since v1:
> - add hash file
> - use simplified logging configuration for buildroot
> - don't install man pages
Applied with a number of changes:
[Thomas:
- Rewrap Config.in.help text
- Pass --pidfile option when starting syslog-ng so that its PID file
is created in /var/run/syslog-ng.pid, which allows
start-stop-daemon to actually stop syslog-ng. Without this,
S01logging was not able to stop syslog-ng.
- Pass the executable path at stop time in S01logging, so that
start-stop-daemon can check we're not incorrectly stopping
something completely different.
- Add busybox as a dependency of syslog-ng if busybox is enabled,
since we want to override Busybox's S01logging init script.
- Simplify the python condition, since python and python3 are
mutually exclusive.
- Rewrap the comment above SYSLOG_NG_FIXUP_CONFIG.]
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2015-10-18 15:38 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-14 7:41 [Buildroot] [PATCHv2] syslog-ng: New package Chris Packham
2015-10-14 7:50 ` Thomas Petazzoni
2015-10-14 7:58 ` Chris Packham
2015-10-14 8:01 ` Thomas Petazzoni
2015-10-14 8:34 ` [Buildroot] [PATCHv3] " Chris Packham
2015-10-18 15:38 ` Thomas Petazzoni
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox