Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 592920 - app-admin/syslog-ng-3.12.1 version bump
Summary: app-admin/syslog-ng-3.12.1 version bump
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal with 1 vote (vote)
Assignee: No maintainer - Look at https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers if you want to take care of it
URL: https://github.com/balabit/syslog-ng/...
Whiteboard:
Keywords:
: 620856 (view as bug list)
Depends on:
Blocks: 604882
  Show dependency tree
 
Reported: 2016-09-05 12:37 UTC by Marco DR
Modified: 2017-12-03 22:11 UTC (History)
10 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
syslog-ng-3.12.1.ebuild (file_592920.txt,4.02 KB, text/plain)
2017-10-29 02:33 UTC, strites
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Marco DR 2016-09-05 12:37:46 UTC
A new major release of syslog-ng is available. This one solves several stability bugs (e.g. crashes, memory leaks) and includes a better communication between the systemd journal and syslog-ng (in particular, this issue solves the parsing issues with logwatch, see pull request https://github.com/balabit/syslog-ng/pull/325).

Reproducible: Always
Comment 1 Bill Kenworthy 2017-03-25 00:37:28 UTC
They have also added "disk-based buffering" to the 3.8 series which would be a really nice to have for me.

BillK
Comment 2 Perfect Gentleman 2017-05-05 14:29:26 UTC
3.9.1 is out
https://github.com/balabit/syslog-ng/releases/tag/syslog-ng-3.9.1
Comment 3 Cheba 2017-07-03 09:18:30 UTC
3.10.1 has been released 2 weeks ago.
https://github.com/balabit/syslog-ng/releases/tag/syslog-ng-3.10.1

But can we get at least 3.9.1 which supports OpenSSL 1.1?
Comment 4 Hanno Böck gentoo-dev 2017-07-13 09:13:19 UTC
*** Bug 620856 has been marked as a duplicate of this bug. ***
Comment 5 Ben Kohler gentoo-dev 2017-08-18 20:33:09 UTC
I've been testing syslog-3.11.1 in a local overlay.  Ebuild needs a few changes but nothing huge.  Here's the changes I've made (you'll also need to copy & update the configs from files/3.7/ to files/3.11/):



--- syslog-ng-3.7.3.ebuild 2017-05-27 13:22:37.157212076 -0500                                                                                    
+++ syslog-ng-3.11.1.ebuild 2017-08-17 13:52:00.603750636 -0500                                                                     
@@ -13,14 +13,14 @@                                                                        
                                                                                           
 LICENSE="GPL-2+ LGPL-2.1+"                                                                
 SLOT="0"                                                                                  
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd"   
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"                                                                                       
 IUSE="amqp caps dbi geoip ipv6 json libressl mongodb pacct python redis smtp spoof-source systemd tcpd"                                                                                    
 REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"                                            
 RESTRICT="test"                                                                              
                                                                                              
 RDEPEND="                                                                                    
        caps? ( sys-libs/libcap )                                                             
-       dbi? ( >=dev-db/libdbi-0.8.3 )                                                        
+       dbi? ( >=dev-db/libdbi-0.9.0 )                                                        
        geoip? ( >=dev-libs/geoip-1.5.0 )                                                     
        json? ( >=dev-libs/json-c-0.9 )                                                       
        python? ( ${PYTHON_DEPS} )                                                            
@@ -32,10 +32,11 @@                                                                           
        dev-libs/libpcre                                                                      
        !libressl? ( dev-libs/openssl:0= )                                                    
        libressl? ( dev-libs/libressl:0= )
-       >=dev-libs/eventlog-0.2.12
+       !dev-libs/eventlog
        >=dev-libs/glib-2.10.1:2"
 DEPEND="${RDEPEND}
        virtual/pkgconfig
+       sys-devel/autoconf-archive
        sys-devel/flex"
 
 S=${WORKDIR}/${PN}-${MY_PV}
@@ -50,8 +51,7 @@
        use python && python_fix_shebang .
 
        if use !json ; then
-               sed -i -e '1 s/cim //' scl/Makefile.am || die
-               eautoreconf
+               rm -r scl/cim || die "failed to rm -r scl/cim"
        fi
 
        for f in "${FILESDIR}"/*logrotate*.in ; do
Comment 6 Ben Kohler gentoo-dev 2017-08-18 20:34:27 UTC
I also have this staged in my overlay if anyone would like to test & provide feedback:  https://github.com/benkohler/iamben-overlay/tree/master/app-admin/syslog-ng

I'm not the maintainer of this package but if we test this now then maybe we can get someone to bump it for us.
Comment 7 strites 2017-10-29 02:33:25 UTC
Created attachment 500612 [details]
syslog-ng-3.12.1.ebuild

I confirm this ebuild (flagrantly stolen from the overlay above my comment) does work.
Comment 8 Tomáš Mózes 2017-11-24 07:20:42 UTC
Can anyone please test https://github.com/gentoo/gentoo/pull/6275? Thank you
Comment 9 Larry the Git Cow gentoo-dev 2017-12-03 15:15:19 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6224a15aebc6f09a22681a47e03d93114b9d910a

commit 6224a15aebc6f09a22681a47e03d93114b9d910a
Author:     Tomas Mozes <hydrapolic@gmail.com>
AuthorDate: 2017-11-24 07:17:15 +0000
Commit:     Patrice Clement <monsieurp@gentoo.org>
CommitDate: 2017-12-03 15:15:16 +0000

    app-admin/syslog-ng: version bump to 3.12.1.
    
    Closes: https://bugs.gentoo.org/592920
    Closes: https://github.com/gentoo/gentoo/pull/6275
    Package-Manager: Portage-2.3.16, Repoman-2.3.6

 app-admin/syslog-ng/Manifest                       |   3 +-
 .../syslog-ng/files/3.12/syslog-ng.conf.gentoo     |  36 +++++
 .../files/3.12/syslog-ng.conf.gentoo.fbsd          |  24 ++++
 .../files/3.12/syslog-ng.conf.gentoo.hardened      | 114 ++++++++++++++++
 app-admin/syslog-ng/files/3.12/syslog-ng.confd     |  42 ++++++
 app-admin/syslog-ng/files/3.12/syslog-ng.rc        |  58 ++++++++
 app-admin/syslog-ng/metadata.xml                   |   5 +-
 app-admin/syslog-ng/syslog-ng-3.12.1.ebuild        | 149 +++++++++++++++++++++
 8 files changed, 428 insertions(+), 3 deletions(-)
Comment 10 Xavier Miller (RETIRED) gentoo-dev 2017-12-03 19:40:47 UTC
Hi,

I cannot start that version of syslog-ng:

# /etc/init.d/syslog-ng start
syslog-ng         | * Checking your configfile () ...
syslog-ng         |[2017-12-03T20:39:55.064830] Error opening configuration file; filename='', error='No such file or directory (2)'
syslog-ng         | * Configuration error. Please fix your configfile ()  [ !! ]
syslog-ng         | * ERROR: syslog-ng failed to start


Seems the default configuration is not working...
Comment 11 kfm 2017-12-03 22:09:30 UTC
(In reply to Xavier Miller from comment #10)
> Seems the default configuration is not working...

The problem is not with the default configuration. Rather, the person that wrote the runscript doesn't really know how the shell works. At the beginning of the runscript, there are a various declarations similar to this one:

: SYSLOG_NG_CONFIGFILE=${SYSLOG_NG_CONFIGFILE:-/etc/syslog-ng/${RC_SVCNAME}.conf}

Alas, this is wholly incorrect ...

$ unset var
$ : var=${var:-foo} # <-- wrong
$ echo "($var)"
()
$ : ${var:=foo} # <-- better
$ echo "($var)"
foo
$ unset var
$ var=${var:-123} # <-- not trying to be overly clever also works
$ echo "($var)"
foo

The `:` command is typically a sh built-in that does the same thing as `true`. The expansion of the word that follows the command is merely a (superfluous) argument to said command. Ergo, it is *not* an assignment.

$ unset var
$ set -x
$ 
+ : var=foo

All that's happening there is that a command that happens to do nothing is being called with var=foo as a literal argument.

So, why does `: ${var:=foo}` work? Well, let's look at the Shell Command Language [1] documentation:

"${parameter:=[word]}
    Assign Default Values. If parameter is unset or null, the expansion of word
    (or an empty string if word is omitted) shall be assigned to parameter."

The key word there is "assign". It is a special case, in that it is both a form of parameter expansion _and_ a means of (potential) assignment. In this case, passing the expansion as a useless argument to `:` is legitimate. One does so only to prevent the shell trying to resolve the expansion as if it were the name of a command.

In short, the default assignments should be written in either of the following two ways.

1) SYSLOG_NG_CONFIGFILE=${SYSLOG_NG_CONFIGFILE:-/etc/syslog-ng/${RC_SVCNAME}.conf}
2) : ${SYSLOG_NG_CONFIGFILE:=/etc/syslog-ng/${RC_SVCNAME}.conf}

The runscript for syslog-ng-3.7.3 uses method #1.
Comment 12 kfm 2017-12-03 22:11:30 UTC
Forgot to add the reference link.

[1] http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html