A call for syslog-ng testing

After the last syslog-ng release, we started a campaign to close open issues on GitHub. We'd like to continue this effort and call for collaboration from our users and contributors to make OSE even more stable. While unit tests are great (and we do many tests in-house), nothing can replace using syslog-ng in real-world situations. This blog collects some resources about how you can start testing the latest syslog-ng release from GitHub.

Note that you are also welcome to take part in testing without any previous syslog-ng experience. In that case, my tutorial series can help you get started with syslog-ng: https://peter.czanik.hu/posts/syslog-ng-tutorial-toc/

Before you begin

We provide ready-to-use packages built from the latest git master snapshot for some of the major Linux distributions. Nightly containers are also available. However, most of these instructions assume that you want to test on x86_64 Linux, except for openSUSE packages, which are also available for ARM and Power64LE. Generating the source tarball is also only documented for x86_64 Linux or FreeBSD. If snapshot packages are not available for your operating system, the goal is to be able to build packages for your OS, as working without packages is a pain.

Ready-to-use packages

Each night, we check if there are any changes on syslog-ng git master, and new packages are built for Debian and Ubuntu: https://www.syslog-ng.com/community/b/blog/posts/nightly-syslog-ng-builds-for-debian-and-ubuntu

It is not yet automatic, but I build RPM packages from syslog-ng git master on a weekly basis for openSUSE / SLES and Fedora / RHEL: https://www.syslog-ng.com/community/b/blog/posts/rpm-packages-from-syslog-ng-git-head/

Ready-to-use containers

If you do not use any of the above Linux distributions, and do not mind using containers, then you can still try the latest nightly builds without compiling syslog-ng yourself. These containers are based on the nightly Debian packages, mentioned above: https://www.syslog-ng.com/community/b/blog/posts/nightly-syslog-ng-container-images

Compiling syslog-ng in a container

Syslog-ng has a development/release environment powered by Docker (or Podman). It allows you to generate a source release, and from that, packages for several popular Linux distributions: https://www.syslog-ng.com/community/b/blog/posts/dbld-a-syslog-ng-developer-tool-not-just-for-developers

Creating a source tarball

If none of the above solutions work for you, you should build syslog-ng from the source. Of course you can build syslog-ng from git sources, just check it out from https://github.com/syslog-ng/syslog-ng/ However, most operating systems build syslog-ng from the source tarball generated from Git sources. You just have to slightly modify the files used to build syslog-ng for the given OS (ports for FreeBSD, spec files for RPM distros, etc.).

Building source tarballs by hand is not well-documented, but we have described two possible approaches. The “official” way of building a source tarball is described in a blog I already referred to: https://www.syslog-ng.com/community/b/blog/posts/dbld-a-syslog-ng-developer-tool-not-just-for-developers This is also the method used by syslog-ng developers and all automated processes on GitHub.

If you are on FreeBSD, the process is described at https://www.syslog-ng.com/community/b/blog/posts/compiling-syslog-ng-git-snapshots-on-freebsd This post also describes how to modify the Makefile in ports to compile using the freshly-created release tarball.

Testing

Once you have a package, you are ready for testing. We made many fixes in the past few months, for example in the wildcard-file() source. But even if your problem was not directly addressed after the 4.8.0 release, you should join testing. If you experienced a problem in an earlier version, it might already be fixed as a “side effect” of another fix.

Note that both constructive criticism and positive feedback are very welcome! They help us to close issues at https://github.com/syslog-ng/syslog-ng/issues This is also the place what you can use to report new problems.

Testing the latest Git version helps us to make the next syslog-ng the best syslog-ng release ever. So thank you for your time and contributions in advance!

-

If you have questions or comments related to syslog-ng, do not hesitate to contact us. You can reach us by email or even chat with us. For a list of possibilities, check our GitHub page under the “Community” section at https://github.com/syslog-ng/syslog-ng. On Twitter, I am available as @PCzanik, on Mastodon as @Pczanik@fosstodon.org.

Related Content