SHA256
1
0
forked from pool/zabbix

osc copypac from project:server:monitoring:zabbix package:zabbix40 revision:14

OBS-URL: https://build.opensuse.org/package/show/server:monitoring:zabbix/zabbix?expand=0&rev=1
This commit is contained in:
Boris Manojlovic 2019-09-17 12:04:58 +00:00 committed by Git OBS Bridge
commit 8d4af5be58
22 changed files with 6528 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

3
README-SSL.SUSE Normal file
View File

@ -0,0 +1,3 @@
It is recommended to use SSL in the communication between agents and server, but it is not enabled by default.
To configure it, please follow https://www.zabbix.com/documentation/4.0/manual/encryption/using_certificates.
In other case you are putting yourself into huge risk of leaking sensitive data.

13
README.SUSE Normal file
View File

@ -0,0 +1,13 @@
zabbix-phpfrontend:
To enable zabbix frontend in apache
type in console:
# a2enflag ZABBIX
or if you want to remove it from apache configuration
type in console:
# a2enflag -d ZABBIX
# service apache2 restart
or reload if apache restart is too disrupting
Please, make sure SSL is enabled and up in Apache2 config.
You can get inspired by https://www.zabbix.com/documentation/4.0/manual/installation/requirements/best_practices.
If you have Apache 2.4.30 or newer, it is even more simple: https://httpd.apache.org/docs/trunk/mod/mod_md.html.

19
apache2-zabbix.conf Normal file
View File

@ -0,0 +1,19 @@
# please read how to enable zabbix frontend and SSL encryption in
# /usr/share/doc/packages/zabbix-phpfrontend/README.SUSE
<IfDefine ZABBIX>
Alias /zabbix "/usr/share/zabbix/"
<DirectoryMatch "/usr/share/zabbix/(conf/|include/)>
<IfModule mod_authz_core.c>
# Apache 2.4
Require all denied
</IfModule>
<IfModule !mod_authz_core.c>
Order deny,allow
Deny from all
</IfModule>
</DirectoryMatch>
</IfDefine>
<IfDefine !ZABBIX>
Redirect 403 /zabbix
</IfDefine>

4237
rn4.0.0.html Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,614 @@
Index: configure.ac
===================================================================
--- configure.ac.orig 2019-01-28 11:45:10.000000000 +0100
+++ configure.ac 2019-03-22 13:55:27.258760837 +0100
@@ -1229,25 +1229,15 @@ if test "x$server" = "xyes" || test "x$p
fi
dnl Checking for PostgreSQL support
- AX_LIB_POSTGRESQL("8.1")
+ AX_LIB_POSTGRESQL([8.2])
if test "x$want_postgresql" = "xyes"; then
if test "x$have_db" != "xno"; then
AC_MSG_ERROR([You can configure for only one database.])
fi
if test "x$found_postgresql" = "xyes"; then
- if test "$postgresql_version_check" != "1"; then
- AC_MSG_ERROR([PostgreSQL version mismatch])
- fi
-
- have_db="PostgreSQL"
-
- if test "$postgresql_version_number" -ge 8002000; then
- have_multirow_insert="yes"
- fi
-
- else
- AC_MSG_ERROR([PostgreSQL library not found])
+ have_db="PostgreSQL"
+ have_multirow_insert="yes" # set by default as we are forcing to use min 8.2 postgresql
fi
fi
@@ -1299,7 +1289,7 @@ if test "x$server" = "xyes" || test "x$p
AC_MSG_RESULT(no)
fi
- DB_CFLAGS="$IBM_DB2_CPPFLAGS $MYSQL_CFLAGS $ORACLE_CPPFLAGS $POSTGRESQL_CFLAGS $SQLITE3_CPPFLAGS"
+ DB_CFLAGS="$IBM_DB2_CPPFLAGS $MYSQL_CFLAGS $ORACLE_CPPFLAGS $POSTGRESQL_CPPFLAGS $SQLITE3_CPPFLAGS"
DB_LDFLAGS="$IBM_DB2_LDFLAGS $MYSQL_LDFLAGS $ORACLE_LDFLAGS $POSTGRESQL_LDFLAGS $SQLITE3_LDFLAGS"
DB_LIBS="$IBM_DB2_LIBS $MYSQL_LIBS $ORACLE_LIBS $POSTGRESQL_LIBS $SQLITE3_LIBS"
Index: m4/ax_compare_version.m4
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ m4/ax_compare_version.m4 2019-03-22 13:42:09.744259011 +0100
@@ -0,0 +1,177 @@
+# ===========================================================================
+# https://www.gnu.org/software/autoconf-archive/ax_compare_version.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+# AX_COMPARE_VERSION(VERSION_A, OP, VERSION_B, [ACTION-IF-TRUE], [ACTION-IF-FALSE])
+#
+# DESCRIPTION
+#
+# This macro compares two version strings. Due to the various number of
+# minor-version numbers that can exist, and the fact that string
+# comparisons are not compatible with numeric comparisons, this is not
+# necessarily trivial to do in a autoconf script. This macro makes doing
+# these comparisons easy.
+#
+# The six basic comparisons are available, as well as checking equality
+# limited to a certain number of minor-version levels.
+#
+# The operator OP determines what type of comparison to do, and can be one
+# of:
+#
+# eq - equal (test A == B)
+# ne - not equal (test A != B)
+# le - less than or equal (test A <= B)
+# ge - greater than or equal (test A >= B)
+# lt - less than (test A < B)
+# gt - greater than (test A > B)
+#
+# Additionally, the eq and ne operator can have a number after it to limit
+# the test to that number of minor versions.
+#
+# eq0 - equal up to the length of the shorter version
+# ne0 - not equal up to the length of the shorter version
+# eqN - equal up to N sub-version levels
+# neN - not equal up to N sub-version levels
+#
+# When the condition is true, shell commands ACTION-IF-TRUE are run,
+# otherwise shell commands ACTION-IF-FALSE are run. The environment
+# variable 'ax_compare_version' is always set to either 'true' or 'false'
+# as well.
+#
+# Examples:
+#
+# AX_COMPARE_VERSION([3.15.7],[lt],[3.15.8])
+# AX_COMPARE_VERSION([3.15],[lt],[3.15.8])
+#
+# would both be true.
+#
+# AX_COMPARE_VERSION([3.15.7],[eq],[3.15.8])
+# AX_COMPARE_VERSION([3.15],[gt],[3.15.8])
+#
+# would both be false.
+#
+# AX_COMPARE_VERSION([3.15.7],[eq2],[3.15.8])
+#
+# would be true because it is only comparing two minor versions.
+#
+# AX_COMPARE_VERSION([3.15.7],[eq0],[3.15])
+#
+# would be true because it is only comparing the lesser number of minor
+# versions of the two values.
+#
+# Note: The characters that separate the version numbers do not matter. An
+# empty string is the same as version 0. OP is evaluated by autoconf, not
+# configure, so must be a string, not a variable.
+#
+# The author would like to acknowledge Guido Draheim whose advice about
+# the m4_case and m4_ifvaln functions make this macro only include the
+# portions necessary to perform the specific comparison specified by the
+# OP argument in the final configure script.
+#
+# LICENSE
+#
+# Copyright (c) 2008 Tim Toolan <toolan@ele.uri.edu>
+#
+# Copying and distribution of this file, with or without modification, are
+# permitted in any medium without royalty provided the copyright notice
+# and this notice are preserved. This file is offered as-is, without any
+# warranty.
+
+#serial 13
+
+dnl #########################################################################
+AC_DEFUN([AX_COMPARE_VERSION], [
+ AC_REQUIRE([AC_PROG_AWK])
+
+ # Used to indicate true or false condition
+ ax_compare_version=false
+
+ # Convert the two version strings to be compared into a format that
+ # allows a simple string comparison. The end result is that a version
+ # string of the form 1.12.5-r617 will be converted to the form
+ # 0001001200050617. In other words, each number is zero padded to four
+ # digits, and non digits are removed.
+ AS_VAR_PUSHDEF([A],[ax_compare_version_A])
+ A=`echo "$1" | sed -e 's/\([[0-9]]*\)/Z\1Z/g' \
+ -e 's/Z\([[0-9]]\)Z/Z0\1Z/g' \
+ -e 's/Z\([[0-9]][[0-9]]\)Z/Z0\1Z/g' \
+ -e 's/Z\([[0-9]][[0-9]][[0-9]]\)Z/Z0\1Z/g' \
+ -e 's/[[^0-9]]//g'`
+
+ AS_VAR_PUSHDEF([B],[ax_compare_version_B])
+ B=`echo "$3" | sed -e 's/\([[0-9]]*\)/Z\1Z/g' \
+ -e 's/Z\([[0-9]]\)Z/Z0\1Z/g' \
+ -e 's/Z\([[0-9]][[0-9]]\)Z/Z0\1Z/g' \
+ -e 's/Z\([[0-9]][[0-9]][[0-9]]\)Z/Z0\1Z/g' \
+ -e 's/[[^0-9]]//g'`
+
+ dnl # In the case of le, ge, lt, and gt, the strings are sorted as necessary
+ dnl # then the first line is used to determine if the condition is true.
+ dnl # The sed right after the echo is to remove any indented white space.
+ m4_case(m4_tolower($2),
+ [lt],[
+ ax_compare_version=`echo "x$A
+x$B" | sed 's/^ *//' | sort -r | sed "s/x${A}/false/;s/x${B}/true/;1q"`
+ ],
+ [gt],[
+ ax_compare_version=`echo "x$A
+x$B" | sed 's/^ *//' | sort | sed "s/x${A}/false/;s/x${B}/true/;1q"`
+ ],
+ [le],[
+ ax_compare_version=`echo "x$A
+x$B" | sed 's/^ *//' | sort | sed "s/x${A}/true/;s/x${B}/false/;1q"`
+ ],
+ [ge],[
+ ax_compare_version=`echo "x$A
+x$B" | sed 's/^ *//' | sort -r | sed "s/x${A}/true/;s/x${B}/false/;1q"`
+ ],[
+ dnl Split the operator from the subversion count if present.
+ m4_bmatch(m4_substr($2,2),
+ [0],[
+ # A count of zero means use the length of the shorter version.
+ # Determine the number of characters in A and B.
+ ax_compare_version_len_A=`echo "$A" | $AWK '{print(length)}'`
+ ax_compare_version_len_B=`echo "$B" | $AWK '{print(length)}'`
+
+ # Set A to no more than B's length and B to no more than A's length.
+ A=`echo "$A" | sed "s/\(.\{$ax_compare_version_len_B\}\).*/\1/"`
+ B=`echo "$B" | sed "s/\(.\{$ax_compare_version_len_A\}\).*/\1/"`
+ ],
+ [[0-9]+],[
+ # A count greater than zero means use only that many subversions
+ A=`echo "$A" | sed "s/\(\([[0-9]]\{4\}\)\{m4_substr($2,2)\}\).*/\1/"`
+ B=`echo "$B" | sed "s/\(\([[0-9]]\{4\}\)\{m4_substr($2,2)\}\).*/\1/"`
+ ],
+ [.+],[
+ AC_WARNING(
+ [invalid OP numeric parameter: $2])
+ ],[])
+
+ # Pad zeros at end of numbers to make same length.
+ ax_compare_version_tmp_A="$A`echo $B | sed 's/./0/g'`"
+ B="$B`echo $A | sed 's/./0/g'`"
+ A="$ax_compare_version_tmp_A"
+
+ # Check for equality or inequality as necessary.
+ m4_case(m4_tolower(m4_substr($2,0,2)),
+ [eq],[
+ test "x$A" = "x$B" && ax_compare_version=true
+ ],
+ [ne],[
+ test "x$A" != "x$B" && ax_compare_version=true
+ ],[
+ AC_WARNING([invalid OP parameter: $2])
+ ])
+ ])
+
+ AS_VAR_POPDEF([A])dnl
+ AS_VAR_POPDEF([B])dnl
+
+ dnl # Execute ACTION-IF-TRUE / ACTION-IF-FALSE.
+ if test "$ax_compare_version" = "true" ; then
+ m4_ifvaln([$4],[$4],[:])dnl
+ m4_ifvaln([$5],[else $5])dnl
+ fi
+]) dnl AX_COMPARE_VERSION
Index: m4/ax_lib_postgresql.m4
===================================================================
--- m4/ax_lib_postgresql.m4.orig 2019-01-28 11:45:08.000000000 +0100
+++ m4/ax_lib_postgresql.m4 2019-03-22 13:44:10.008033108 +0100
@@ -1,31 +1,33 @@
-##### http://autoconf-archive.cryp.to/ax_lib_postgresql.html
+# ===========================================================================
+# https://www.gnu.org/software/autoconf-archive/ax_lib_postgresql.html
+# ===========================================================================
#
# SYNOPSIS
#
-# AX_LIB_POSTGRESQL([MINIMUM-VERSION])
+# AX_LIB_POSTGRESQL([MINIMUM-VERSION],[ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND])
#
# DESCRIPTION
#
-# This macro provides tests of availability of PostgreSQL 'libpq'
-# library of particular version or newer.
+# This macro provides tests of availability of PostgreSQL 'libpq' library
+# of particular version or newer.
#
-# AX_LIB_POSTGRESQL macro takes only one argument which is optional.
-# If there is no required version passed, then macro does not run
-# version test.
+# AX_LIB_POSTGRESQL macro takes only one argument which is optional. If
+# there is no required version passed, then macro does not run version
+# test.
#
# The --with-postgresql option takes one of three possible values:
#
# no - do not check for PostgreSQL client library
#
-# yes - do check for PostgreSQL library in standard locations
-# (pg_config should be in the PATH)
+# yes - do check for PostgreSQL library in standard locations (pg_config
+# should be in the PATH)
#
-# path - complete path to pg_config utility, use this option if
-# pg_config can't be found in the PATH
+# path - complete path to pg_config utility, use this option if pg_config
+# can't be found in the PATH (You could set also PG_CONFIG variable)
#
# This macro calls:
#
-# AC_SUBST(POSTGRESQL_CFLAGS)
+# AC_SUBST(POSTGRESQL_CPPFLAGS)
# AC_SUBST(POSTGRESQL_LDFLAGS)
# AC_SUBST(POSTGRESQL_LIBS)
# AC_SUBST(POSTGRESQL_VERSION)
@@ -34,151 +36,212 @@
#
# HAVE_POSTGRESQL
#
-# LAST MODIFICATION
+# It execute if found ACTION-IF-FOUND (empty by default) and
+# ACTION-IF-NOT-FOUND (AC_MSG_FAILURE by default) if not found.
#
-# 2017-09-26 modified version detection to detect PostgreSQL 10 (Zabbix)
-# 2006-07-16
+# LICENSE
#
-# COPYLEFT
-#
-# Copyright (c) 2006 Mateusz Loskot <mateusz@loskot.net>
-#
-# Copying and distribution of this file, with or without
-# modification, are permitted in any medium without royalty provided
-# the copyright notice and this notice are preserved.
+# Copyright (c) 2008 Mateusz Loskot <mateusz@loskot.net>
+# Copyright (c) 2014 Sree Harsha Totakura <sreeharsha@totakura.in>
+# Copyright (c) 2018 Bastien Roucaries <rouca@debian.org>
+#
+# Copying and distribution of this file, with or without modification, are
+# permitted in any medium without royalty provided the copyright notice
+# and this notice are preserved. This file is offered as-is, without any
+# warranty.
+
+#serial 22
+
+AC_DEFUN([_AX_LIB_POSTGRESQL_OLD],[
+ found_postgresql="no"
+ _AX_LIB_POSTGRESQL_OLD_fail="no"
+ while true; do
+ AC_CACHE_CHECK([for the pg_config program], [ac_cv_path_PG_CONFIG],
+ [AC_PATH_PROGS_FEATURE_CHECK([PG_CONFIG], [pg_config],
+ [[ac_cv_path_PG_CONFIG="";$ac_path_PG_CONFIG --includedir > /dev/null \
+ && ac_cv_path_PG_CONFIG=$ac_path_PG_CONFIG ac_path_PG_CONFIG_found=:]],
+ [ac_cv_path_PG_CONFIG=""])])
+ PG_CONFIG=$ac_cv_path_PG_CONFIG
+ AS_IF([test "X$PG_CONFIG" = "X"],[break])
+
+ AC_CACHE_CHECK([for the PostgreSQL libraries CPPFLAGS],[ac_cv_POSTGRESQL_CPPFLAGS],
+ [ac_cv_POSTGRESQL_CPPFLAGS="-I`$PG_CONFIG --includedir`" || _AX_LIB_POSTGRESQL_OLD_fail=yes])
+ AS_IF([test "X$_AX_LIB_POSTGRESQL_OLD_fail" = "Xyes"],[break])
+ POSTGRESQL_CPPFLAGS="$ac_cv_POSTGRESQL_CPPFLAGS"
+
+ AC_CACHE_CHECK([for the PostgreSQL libraries LDFLAGS],[ac_cv_POSTGRESQL_LDFLAGS],
+ [ac_cv_POSTGRESQL_LDFLAGS="-L`$PG_CONFIG --libdir`" || _AX_LIB_POSTGRESQL_OLD_fail=yes])
+ AS_IF([test "X$_AX_LIB_POSTGRESQL_OLD_fail" = "Xyes"],[break])
+ POSTGRESQL_LDFLAGS="$ac_cv_POSTGRESQL_LDFLAGS"
+
+ AC_CACHE_CHECK([for the PostgreSQL libraries LIBS],[ac_cv_POSTGRESQL_LIBS],
+ [ac_cv_POSTGRESQL_LIBS="-lpq"])
+ POSTGRESQL_LIBS="$ac_cv_POSTGRESQL_LIBS"
+
+ AC_CACHE_CHECK([for the PostgreSQL version],[ac_cv_POSTGRESQL_VERSION],
+ [
+ ac_cv_POSTGRESQL_VERSION=`$PG_CONFIG --version | sed "s/^PostgreSQL[[[:space:]]][[[:space:]]]*\([[0-9.]][[0-9.]]*\).*/\1/"` \
+ || _AX_LIB_POSTGRESQL_OLD_fail=yes
+ ])
+ AS_IF([test "X$_AX_LIB_POSTGRESQL_OLD_fail" = "Xyes"],[break])
+ POSTGRESQL_VERSION="$ac_cv_POSTGRESQL_VERSION"
+
+
+ dnl
+ dnl Check if required version of PostgreSQL is available
+ dnl
+ AS_IF([test X"$postgresql_version_req" != "X"],[
+ AC_MSG_CHECKING([if PostgreSQL version $POSTGRESQL_VERSION is >= $postgresql_version_req])
+ AX_COMPARE_VERSION([$POSTGRESQL_VERSION],[ge],[$postgresql_version_req],
+ [found_postgresql_req_version=yes],[found_postgresql_req_version=no])
+ AC_MSG_RESULT([$found_postgresql_req_version])
+ ])
+ AS_IF([test "Xfound_postgresql_req_version" = "Xno"],[break])
+
+ found_postgresql="yes"
+ break
+ done
+])
-AC_DEFUN([AX_LIB_POSTGRESQL],
+AC_DEFUN([_AX_LIB_POSTGRESQL_PKG_CONFIG],
[
- PG_CONFIG="no"
-
- AC_ARG_WITH([postgresql],
- AC_HELP_STRING([--with-postgresql@<:@=ARG@:>@],
- [use PostgreSQL library @<:@default=no@:>@, optionally specify path to pg_config]
- ),
- [
- if test "x$withval" = "xno"; then
- want_postgresql="no"
- elif test "x$withval" = "xyes"; then
- want_postgresql="yes"
- else
- want_postgresql="yes"
- PG_CONFIG="$withval"
- fi
- ],
- [want_postgresql="no"]
- )
+ AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+ found_postgresql=no
- POSTGRESQL_CFLAGS=""
- POSTGRESQL_LDFLAGS=""
- POSTGRESQL_LIBS=""
- POSTGRESQL_VERSION=""
+ while true; do
+ PKG_PROG_PKG_CONFIG
+ AS_IF([test X$PKG_CONFIG = X],[break])
+
+ _AX_LIB_POSTGRESQL_PKG_CONFIG_fail=no;
+ AS_IF([test "X$postgresql_version_req" = "X"],
+ [PKG_CHECK_EXISTS([libpq],[found_postgresql_pkg_config=yes],[found_postgresql=no])],
+ [PKG_CHECK_EXISTS([libpq >= "$postgresql_version_req"],
+ [found_postgresql=yes],[found_postgresql=no])])
+ AS_IF([test "X$found_postgresql" = "no"],[break])
+
+ AC_CACHE_CHECK([for the PostgreSQL libraries CPPFLAGS],[ac_cv_POSTGRESQL_CPPFLAGS],
+ [ac_cv_POSTGRESQL_CPPFLAGS="`$PKG_CONFIG libpq --cflags-only-I`" || _AX_LIB_POSTGRESQL_PKG_CONFIG_fail=yes])
+ AS_IF([test "X$_AX_LIB_POSTGRESQL_PKG_CONFIG_fail" = "Xyes"],[break])
+ POSTGRESQL_CPPFLAGS="$ac_cv_POSTGRESQL_CPPFLAGS"
+
+
+ AC_CACHE_CHECK([for the PostgreSQL libraries LDFLAGS],[ac_cv_POSTGRESQL_LDFLAGS],
+ [ac_cv_POSTGRESQL_LDFLAGS="`$PKG_CONFIG libpq --libs-only-L --libs-only-other`" || _AX_LIB_POSTGRESQL_PKG_CONFIG_fail=yes])
+ AS_IF([test "X$_AX_LIB_POSTGRESQL_PKG_CONFIG_fail" = "Xyes"],[break])
+ POSTGRESQL_LDFLAGS="$ac_cv_POSTGRESQL_LDFLAGS"
+
+
+ AC_CACHE_CHECK([for the PostgreSQL libraries LIBS],[ac_cv_POSTGRESQL_LIBS],
+ [ac_cv_POSTGRESQL_LIBS="`$PKG_CONFIG libpq --libs-only-l`" || _AX_LIB_POSTGRESQL_PKG_CONFIG_fail=ye])
+ AS_IF([test "X$_AX_LIB_POSTGRESQL_PKG_CONFIG_fail" = "Xyes"],[break])
+ POSTGRESQL_LIBS="$ac_cv_POSTGRESQL_LIBS"
+
+ dnl already checked by exist but need to be recovered
+ AC_CACHE_CHECK([for the PostgreSQL version],[ac_cv_POSTGRESQL_VERSION],
+ [ac_cv_POSTGRESQL_VERSION="`$PKG_CONFIG libpq --modversion`" || _AX_LIB_POSTGRESQL_PKG_CONFIG_fail=yes])
+ AS_IF([test "X$_AX_LIB_POSTGRESQL_PKG_CONFIG_fail" = "Xyes"],[break])
+ POSTGRESQL_VERSION="$ac_cv_POSTGRESQL_VERSION"
+
+ found_postgresql=yes
+ break;
+ done
- dnl
- dnl Check PostgreSQL libraries (libpq)
- dnl
+])
- if test "x$want_postgresql" = "xyes"; then
- AC_PATH_PROG([PG_CONFIG], [pg_config], [])
- if test -x "$PG_CONFIG"; then
- POSTGRESQL_CFLAGS="`$PG_CONFIG --includedir`"
- if test -n "$POSTGRESQL_CFLAGS"; then
- POSTGRESQL_CFLAGS="-I$POSTGRESQL_CFLAGS";
- fi
- POSTGRESQL_LDFLAGS="`$PG_CONFIG --libdir`"
- if test -n "$POSTGRESQL_LDFLAGS"; then
- POSTGRESQL_LDFLAGS="-L$POSTGRESQL_LDFLAGS";
- fi
- POSTGRESQL_LIBS="-lpq"
-
- _save_postgresql_cflags="${CFLAGS}"
- _save_postgresql_ldflags="${LDFLAGS}"
- _save_postgresql_libs="${LIBS}"
- CFLAGS="${CFLAGS} ${POSTGRESQL_CFLAGS}"
- LDFLAGS="${LDFLAGS} ${POSTGRESQL_LDFLAGS}"
- LIBS="${LIBS} ${POSTGRESQL_LIBS}"
- AC_MSG_CHECKING([for PostgreSQL libraries])
- AC_TRY_LINK(
-[
-#include <libpq-fe.h>
-],
+AC_DEFUN([AX_LIB_POSTGRESQL],
[
-PGconn *conn;
-conn = PQsetdbLogin(NULL, NULL, NULL, NULL, NULL, NULL, NULL);
-],
- AC_DEFINE([HAVE_POSTGRESQL], [1], [Define to 1 if PostgreSQL libraries are available])
- found_postgresql="yes"
- AC_MSG_RESULT(yes),
- AC_MSG_RESULT(no))
-
- CFLAGS="${_save_postgresql_cflags}"
- LDFLAGS="${_save_postgresql_ldflags}"
- LIBS="${_save_postgresql_libs}"
- unset _save_postgresql_cflags
- unset _save_postgresql_ldflags
- unset _save_postgresql_libs
-
- if test "x$found_postgresql" = "xyes"; then
- POSTGRESQL_VERSION=`$PG_CONFIG --version | cut -d' ' -f2`
- fi
- fi
- fi
+ AC_ARG_WITH([postgresql],
+ AS_HELP_STRING([--with-postgresql=@<:@ARG@:>@],
+ [use PostgreSQL library @<:@default=yes@:>@, optionally specify path to pg_config]
+ ),
+ [
+ AS_CASE([$withval],
+ [[[nN]][[oO]]],[want_postgresql="no"],
+ [[[yY]][[eE]][[sS]]],[want_postgresql="yes"],
+ [
+ want_postgresql="yes"
+ PG_CONFIG="$withval"
+ ])
+ ],
+ [want_postgresql="yes"]
+ )
- dnl
- dnl Check if required version of PostgreSQL is available
- dnl
+ AC_ARG_VAR([POSTGRESQL_CPPFLAGS],[cpp flags for PostgreSQL overriding detected flags])
+ AC_ARG_VAR([POSTGRESQL_LIBFLAGS],[libs for PostgreSQL overriding detected flags])
+ AC_ARG_VAR([POSTGRESQL_LDFLAGS],[linker flags for PostgreSQL overriding detected flags])
+
+ # populate cache
+ AS_IF([test "X$POSTGRESQL_CPPFLAGS" != X],[ac_cv_POSTGRESQL_CPPFLAGS="$POSTGRESQL_CPPFLAGS"])
+ AS_IF([test "X$POSTGRESQL_LDFLAGS" != X],[ac_cv_POSTGRESQL_LDFLAGS="$POSTGRESQL_LDFLAGS"])
+ AS_IF([test "X$POSTGRESQL_LIBS" != X],[ac_cv_POSTGRESQL_LIBS="$POSTGRESQL_LIBS"])
postgresql_version_req=ifelse([$1], [], [], [$1])
+ found_postgresql="no"
- if test "x$found_postgresql" = "xyes" -a -n "$postgresql_version_req"; then
+ POSTGRESQL_VERSION=""
+
+ dnl
+ dnl Check PostgreSQL libraries (libpq)
+ dnl
+ AS_IF([test X"$want_postgresql" = "Xyes"],[
+ _AX_LIB_POSTGRESQL_PKG_CONFIG
- dnl Decompose version string of installed PostgreSQL
- dnl and calculate its number representation
- postgresql_version_major=`expr $POSTGRESQL_VERSION : '\([[0-9]]*\)'`
- postgresql_version_minor=`expr $POSTGRESQL_VERSION : '[[0-9]]*\.\([[0-9]]*\)'`
- postgresql_version_micro=`expr $POSTGRESQL_VERSION : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'`
- if test "x$postgresql_version_minor" = "x"; then
- postgresql_version_minor="0"
- fi
- if test "x$postgresql_version_micro" = "x"; then
- postgresql_version_micro="0"
- fi
-
- postgresql_version_number=`expr $postgresql_version_major \* 1000000 \
- \+ $postgresql_version_minor \* 1000 \
- \+ $postgresql_version_micro`
-
- if test -n "$postgresql_version_req"; then
-
- AC_MSG_CHECKING([if PostgreSQL version is >= $postgresql_version_req])
-
- dnl Decompose required version string of PostgreSQL
- dnl and calculate its number representation
- postgresql_version_req_major=`expr $postgresql_version_req : '\([[0-9]]*\)'`
- postgresql_version_req_minor=`expr $postgresql_version_req : '[[0-9]]*\.\([[0-9]]*\)'`
- postgresql_version_req_micro=`expr $postgresql_version_req : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'`
- if test "x$postgresql_version_req_micro" = "x"; then
- postgresql_version_req_micro="0"
- fi
-
- postgresql_version_req_number=`expr $postgresql_version_req_major \* 1000000 \
- \+ $postgresql_version_req_minor \* 1000 \
- \+ $postgresql_version_req_micro`
-
- postgresql_version_check=`expr $postgresql_version_number \>\= $postgresql_version_req_number`
- if test "$postgresql_version_check" = "1"; then
- AC_MSG_RESULT([yes])
- else
- AC_MSG_RESULT([no])
- fi
- fi
+ AS_IF([test X"$found_postgresql" = "Xno"],
+ [_AX_LIB_POSTGRESQL_OLD])
- fi
+ AS_IF([test X"$found_postgresql" = Xyes],[
+ _AX_LIB_POSTGRESQL_OLD_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $POSTGRESQL_CPPFLAGS"
+ _AX_LIB_POSTGRESQL_OLD_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $POSTGRESQL_LDFLAGS"
+ _AX_LIB_POSTGRESQL_OLD_LIBS="$LIBS"
+ LIBS="$LIBS $POSTGRESQL_LIBS"
+ while true; do
+ dnl try to compile
+ AC_CHECK_HEADER([libpq-fe.h],[],[found_postgresql=no])
+ AS_IF([test "X$found_postgresql" = "Xno"],[break])
+ dnl try now to link
+ AC_CACHE_CHECK([for the PostgreSQL library linking is working],[ac_cv_postgresql_found],
+ [
+ AC_LINK_IFELSE([
+ AC_LANG_PROGRAM(
+ [
+ #include <libpq-fe.h>
+ ],
+ [[
+ char conninfo[]="dbname = postgres";
+ PGconn *conn;
+ conn = PQconnectdb(conninfo);
+ ]]
+ )
+ ],[ac_cv_postgresql_found=yes],
+ [ac_cv_postgresql_found=no])
+ ])
+ found_postgresql="$ac_cv_postgresql_found"
+ AS_IF([test "X$found_postgresql" = "Xno"],[break])
+ break
+ done
+ CPPFLAGS="$_AX_LIB_POSTGRESQL_OLD_CPPFLAGS"
+ LDFLAGS="$_AX_LIB_POSTGRESQL_OLD_LDFLAGS"
+ LIBS="$_AX_LIB_POSTGRESQL_OLD_LIBS"
+ ])
+
+
+ AS_IF([test "x$found_postgresql" = "xyes"],[
+ AC_DEFINE([HAVE_POSTGRESQL], [1],
+ [Define to 1 if PostgreSQL libraries are available])])
+ ])
- AC_SUBST([POSTGRESQL_CFLAGS])
+ AC_SUBST([POSTGRESQL_VERSION])
+ AC_SUBST([POSTGRESQL_CPPFLAGS])
AC_SUBST([POSTGRESQL_LDFLAGS])
AC_SUBST([POSTGRESQL_LIBS])
- AC_SUBST([POSTGRESQL_VERSION])
+
+ AS_IF([test "x$found_postgresql" = "xyes"],
+ [ifelse([$2], , :, [$2])],
+ [ifelse([$3], , AS_IF([test X"$want_postgresql" = "Xyes"],[AC_MSG_ERROR([Library requirements (PostgreSQL) not met.])],[:]), [$3])])
+
])

3
zabbix-4.0.12.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5c5e728a6f2903e20aea5fdd67a14099630725eba7b1c6628f92fd0c3efd8bca
size 17138671

17
zabbix-agentd.firewall Normal file
View File

@ -0,0 +1,17 @@
## Name: zabbix-agentd
## Description: Opens ports for zabbix-agentd
# space separated list of allowed TCP ports
TCP="10050"
# space separated list of allowed UDP ports
UDP=""
# space separated list of allowed RPC services
RPC=""
# space separated list of allowed IP protocols
IP=""
# space separated list of allowed UDP broadcast ports
BROADCAST=""

13
zabbix-agentd.service Normal file
View File

@ -0,0 +1,13 @@
[Unit]
Description=Zabbix Monitor Agent
After=syslog.target network.target
[Service]
Type=simple
ExecStart=/usr/sbin/zabbix_agentd -f
User=zabbix
Group=zabbix
PrivateTmp=yes
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8004dd4aa6f8812d7af3b4100d4b935843e6fd663221442b1aff8275770b75d4
size 12066

View File

@ -0,0 +1,17 @@
## Name: zabbix-java-gateway
## Description: Opens ports for zabbix-java-gateway
# space separated list of allowed TCP ports
TCP="10052"
# space separated list of allowed UDP ports
UDP=""
# space separated list of allowed RPC services
RPC=""
# space separated list of allowed IP protocols
IP=""
# space separated list of allowed UDP broadcast ports
BROADCAST=""

View File

@ -0,0 +1,12 @@
[Unit]
Description=Zabbix Server
After=syslog.target network.target
[Service]
Type=simple
ExecStart=/usr/bin/zabbix-java-gateway run
User=zabbixs
PrivateTmp=yes
[Install]
WantedBy=multi-user.target

121
zabbix-java-gateway.sh Normal file
View File

@ -0,0 +1,121 @@
#!/bin/bash
CMD=$1
NOHUP=${NOHUP:=$(which nohup)}
# resolve links - $0 may be a softlink
ZBXJAVAGWCTL="$0"
while [ -h "$ZBXJAVAGWCTL" ]; do
ls=$(ls -ld "$ZBXJAVAGWCTL")
link=$(expr "$ls" : '.*-> \(.*\)$')
if expr "$link" : '/.*' > /dev/null; then
ZBXJAVAGWCTL="$link"
else
ZBXJAVAGWCTL=$(dirname "$ZBXJAVAGWCTL")/"$link"
fi
done
SERVICE_NAME="zabbix-java-gateway"
JAVA=${JAVA:-java}
JAVA_OPTIONS="-server"
JAVA_OPTIONS="$JAVA_OPTIONS -Dlogback.configurationFile=/etc/zabbix/zabbix-java-gateway-log.xml"
ZABBIX_OPTIONS=${ZABBIX_OPTIONS:=}
ZABBIX_JAVA_DIR=${ZABBIX_JAVA_DIR:=$(dirname "$ZBXJAVAGWCTL")}
ZABBIX_JAVA_CONF=${ZABBIX_JAVA_CONF:=/etc/zabbix/zabbix-java-gateway.conf}
ZABBIX_JAVA_GW_PID=${ZABBIX_JAVA_GW_PID:=/run/zabbixs/zabbix-java-gateway.pid}
ZABBIX_JAVA_GW_LOGFILE=${ZABBIX_JAVA_GW_LOGFILE:=/var/log/zabbixs/zabbix-java-gateway.log}
# source configuration...
. ${ZABBIX_JAVA_CONF}
# Build classpath
CLASSPATH=$(echo $(find /usr/lib/zabbix-java-gateway/ -name "*jar" -type f -print)|sed -e 's/ /:/g')
if [ -n "$PID_FILE" ]; then
ZABBIX_OPTIONS="$ZABBIX_OPTIONS -Dzabbix.pidFile=$PID_FILE"
fi
if [ -n "$LISTEN_IP" ]; then
ZABBIX_OPTIONS="$ZABBIX_OPTIONS -Dzabbix.listenIP=$LISTEN_IP"
fi
if [ -n "$LISTEN_PORT" ]; then
ZABBIX_OPTIONS="$ZABBIX_OPTIONS -Dzabbix.listenPort=$LISTEN_PORT"
fi
if [ -n "$START_POLLERS" ]; then
ZABBIX_OPTIONS="$ZABBIX_OPTIONS -Dzabbix.startPollers=$START_POLLERS"
fi
COMMAND_LINE="$JAVA $JAVA_OPTIONS -classpath $CLASSPATH $ZABBIX_OPTIONS com.zabbix.gateway.JavaGateway"
start() {
status
if [ $? -ne 0 ]; then
echo "Starting ${SERVICE_NAME} ..."
cd "$ZBXJAVAGWCTL_DIR"
(/bin/bash -c "$COMMAND_LINE > /dev/null 2>&1 & echo \$!") > ${ZABBIX_JAVA_GW_PID}
fi
}
run() {
echo "Running ${SERVICE_NAME} ..."
cd "$ZBXJAVAGWCTL_DIR"
exec $COMMAND_LINE
}
stop() {
pid=$(cat ${ZABBIX_JAVA_GW_PID})
echo "Stopping ${SERVICE_NAME} ($pid) ..."
if kill $pid; then
rm ${ZABBIX_JAVA_GW_PID}
fi
}
restart() {
echo "Restarting ${SERVICE_NAME} ..."
stop
start
}
status() {
pid=$(get_pid)
if [ ! -z $pid ]; then
if pid_running $pid; then
echo "${SERVICE_NAME} running as pid $pid"
return 0
else
echo "Stale pid file with $pid - removing..."
rm ${ZABBIX_JAVA_GW_PID}
return 1
fi
fi
echo "${SERVICE_NAME} not running"
return 3
}
get_pid() {
cat ${ZABBIX_JAVA_GW_PID} 2> /dev/null
}
pid_running() {
kill -0 $1 2> /dev/null
}
case "$CMD" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
status)
status
;;
run)
run
;;
*)
echo "Usage $0 {start|stop|restart|status}"
RETVAL=1
esac

8
zabbix-logrotate.in Normal file
View File

@ -0,0 +1,8 @@
/var/log/USER/zabbix_COMPONENT.log {
missingok
monthly
notifempty
compress
copytruncate
su USER USER
}

17
zabbix-proxy.firewall Normal file
View File

@ -0,0 +1,17 @@
## Name: zabbix-proxy
## Description: Opens ports for zabbix-proxy
# space separated list of allowed TCP ports
TCP="10051"
# space separated list of allowed UDP ports
UDP=""
# space separated list of allowed RPC services
RPC=""
# space separated list of allowed IP protocols
IP=""
# space separated list of allowed UDP broadcast ports
BROADCAST=""

12
zabbix-proxy.service Normal file
View File

@ -0,0 +1,12 @@
[Unit]
Description=Zabbix Proxy
After=syslog.target network.target mysql.service postgresql.service
[Service]
Type=simple
ExecStart=/usr/sbin/zabbix_proxy -f
User=zabbixs
PrivateTmp=yes
[Install]
WantedBy=multi-user.target

17
zabbix-server.firewall Normal file
View File

@ -0,0 +1,17 @@
## Name: zabbix-server
## Description: Opens ports for zabbix-server
# space separated list of allowed TCP ports
TCP="10051"
# space separated list of allowed UDP ports
UDP=""
# space separated list of allowed RPC services
RPC=""
# space separated list of allowed IP protocols
IP=""
# space separated list of allowed UDP broadcast ports
BROADCAST=""

13
zabbix-server.service Normal file
View File

@ -0,0 +1,13 @@
[Unit]
Description=Zabbix Server
After=syslog.target network.target mysql.service postgresql.service
[Service]
Type=simple
ExecReload=/usr/sbin/zabbix_server -R config_cache_reload
ExecStart=/usr/sbin/zabbix_server -f
User=zabbixs
PrivateTmp=yes
[Install]
WantedBy=multi-user.target

1
zabbix-tmpfiles.conf Normal file
View File

@ -0,0 +1 @@
D /run/zabbix 0770 root zabbix -

720
zabbix40.changes Normal file
View File

@ -0,0 +1,720 @@
-------------------------------------------------------------------
Thu Aug 29 08:46:12 UTC 2019 - Boris Manojlovic <boris@steki.net>
- updated to latest release 4.0.11
- New Features and Improvements
+ ZBX-9522 Improved frontend messaging usage across multiple browser tabs
- Bug Fixes
+ ZBX-16501 Fixed log out form being resubmitted when user is already logged
back in another tab
+ ZBX-16072 Added more strict validation of host, template and proxy names
to prohibit leading and trailing spaces
+ ZBX-16128 Fixed incorrect action id in audit log
+ ZBX-16354 Fixed incorrect sorting by name with capital letters
+ ZBX-16346 Fixed compilation for oracle instant client v18.5 and higher
+ ZBX-16424 Fixed unable to create/update web scenario from internet explorer/edge
+ ZBX-16471 For consistency reason changed translation string 'resolved by user.'
to 'resolved by inaccessible user.'
+ ZBX-16469 Fixed problem that caused impossibility to edit trigger
description in problems screen
+ ZBX-16362 Fixed keyboard event handling in graph widget hintbox
+ ZBX-16474 Fixed 'request-uri too long' error in problems mass update page
+ ZBX-16184 Updated zabbix sender man page
+ ZBX-16462 Fixed syntax error in sql query used to calculate sla in monitoring->services
+ ZBX-16031 Reworked event update controller, making partly closed set of events closable
+ ZBX-16283 Fixed read-only shared dashboard without widgets missing placeholder label
+ ZBX-16316 Fixed dashboard widget and slideshow menu popup not
updating current refresh rate and fixed a js error in slideshows
+ ZBX-16346 Fixed compilation for oracle instant client v18.5 and higher
+ ZBX-16424 Fixed unable to create/update web scenario from internet explorer/edge
-------------------------------------------------------------------
Mon Aug 26 12:02:52 UTC 2019 - Marketa Calabkova <mcalabkova@suse.com>
- restructured for easier maintenance because of bsc#1144018 and FATE#324346
* many thanks to Boris Manojlovic, Kristyna Streitova, Matthias Gerstner
and Tomas Chvatal for their help
* skipped renaming of binaries
* updated Apache config file
* added logrotate to rotate logs
* and other changes
- added README-SSL.SUSE to tell users how to configure SSL
-------------------------------------------------------------------
Wed Aug 14 08:22:49 UTC 2019 - Boris Manojlovic <boris@steki.net>
- updated to latest release 4.0.11
- New Features and Improvements
- ZBXNEXT-4502,ZBXNEXT-5176 Added support of full jsonpath functionality
- ZBXNEXT-5205 Blocked zero item history/trends
period being overridden by global configuration
- Bug Fixes
+ ZBX-16376 Fixed preprocessing steps having incorrect order
and duplicate step numbers
+ ZBX-16344 Fixed possibility to add graph widget overrides
+ ZBX-16388 Fixed lld to update preprocessing step number
in case it is incorrectly generated
+ ZBX-16337 Fixed debug log message for suppressed escalations;
thanks to kotaro miyashita for the patch
+ ZBX-16287 Fixed compiler warnings in host.c; thanks to
glebs ivanovskis for the patch
+ ZBX-16103 Reduced pcre recursion limit
+ ZBX-16289 Fixed async dashboard widget update
+ ZBX-13266 Improved performance of the sql queries
with lot of ids in the condition
+ ZBX-16277 Fixed compilation zabbix agent for windows with
options available for windows vista and newer
+ ZBX-16239 Fixed compilation warining related to prototypes
of module api functions
+ ZBX-16256 Eliminated possible infinite fetch loop with oracledb
+ ZBX-15343 Fixed js memory leak in hintboxes in graph widget
+ ZBX-16329 Fixed duplicate value checking in trigger action conditions
+ ZBX-15562 Reworked history.get api method; fixed output
as well as other known issues in history api
+ ZBX-16135 Fixed error messages in xml export files
+ ZBX-16213 Fixed postgresql bad performance on history tables
+ ZBX-16176 Preserve trailing spaces in history values
+ ZBX-16169 Improved performance of map navigation tree widget
+ ZBX-16288 Fixed when unknown resource logged in
audit log when working with dashboards
+ ZBX-16134 Fixed duplicate triggers can be created
using api and xml import
+ ZBX-15969 Fixed displaying of very small values that
are more than 2 decimal points in latest data
+ ZBX-16280 Fixed when plain text widgets do not display
as html when option is selected
+ ZBX-16012 Fixed confusing error message "cannot read json." in http agent item
+ ZBX-16270 Fixed memory leak in ipc service when queueing multiple messages to client
+ ZBX-16204 Fixed undefined offset in ccontrollerwidgetproblemhostsview
+ ZBX-15962 Added mounted filesystems to vfs.fs.discovery of windows agent
+ ZBX-16315 Fixed zabbix server not to cause foreign key constraint failure
on zabbix proxy when changing and sending configuration at the same time
+ ZBX-16153 Fixed 500 internal server error when trying to preview pie/exploded graph without items
+ ZBX-9867 Improved zabbix daemon termination by not using signal
unsafe functions in signal handler; improved zabbix server and zabbix proxy
process termination by stopping data collection and waiting for history syncers to finish
-------------------------------------------------------------------
Mon Jul 1 18:33:44 UTC 2019 - Boris Manojlovic <boris@steki.net>
- updated to latest release 4.0.10
- New Features and Improvements
+ ZBXNEXT-2880 Added access to vmware datastore at vmware vcenter level
+ ZBXNEXT-5163 Added display of maintenance information in configuration
section for hosts in maitenance
+ ZBXNEXT-5036 Added preloader for popup menus
+ ZBXNEXT-287 Added ssl support for agent http checks
+ ZBXNEXT-5179 Added option to specify absolute path in loadmodule;
thanks to glebs ivanovskis for the patch
- Bug Fixes
+ ZBX-16315 Fixed zabbix server not to cause foreign key constraint failure
on zabbix proxy when changing and sending configuration at the same time
+ ZBX-9867 Improved zabbix daemon termination by not using signal unsafe
functions in signal handler; improved zabbix server and zabbix proxy process
termination by stopping data collection and waiting for history syncers to finish
+ ZBX-16152 Fixed not data loss on saving host prototypes by user with insufficient permissions
+ ZBX-15952 Fixed errors when trying to create a graph widget for key
system.cpu.util[,iowait] with y axis placed on the left side of the graph
+ ZBX-15899 Added output sanitization to prevent invalid utf-8 sequences
in regexp-based text replacement
+ ZBX-16073 Fixed horizontal scrolling in map
+ ZBX-15943 Fixed discovered hosts are not removed from table "dhosts" after
removing and adding the corresponding discovery check
+ ZBX-15875 Fixed colors for the multiselect disabled elements
+ ZBX-10948 'it services --> service time --> note' infinite stretching
+ ZBX-16142 Fixed missing sys/ioctl.h from src/libs/zbxsysinfo/openbsd/net.c;
thanks to andrea biscuola for the patch
+ ZBX-16166 Fixed zabbix fping feature detection does not work with fping builds since 10 feb 2017
+ ZBX-16178 Fixed distributive can contain untracked backup file include/config.h.in~
+ ZBX-16170 Fixed crash in global event correlation
+ ZBX-16096 Fixed "system.cpu.util" reporting incorrect cpu utilisation due to guest time
sometimes not being fully included in user time by "/proc/stat"
+ ZBX-15882 Fixed widgets flickering on refresh
+ ZBX-15974 Improved trigger expression list in trigger modal form
+ ZBX-14441 Fixed windows agent "eventlog" key for reading big event log files of windows 2003
+ ZBX-16109 Fixed hidden error in graphs for php 7.3.5
+ ZBX-16093 Fixed regular expression file systems for discovery does not contain apfs
+ ZBX-16080 Fixed setup page to not to use bclib
+ ZBX-15797 Fixed dashboard map widget sub-map link behaviour
+ ZBX-15049 Fixed to host group limited global scripts to be usable in sub group
+ ZBX-16138 Fixed return value type and added preprocessing steps for items in remote
internal checks tamplates; fixed unsigned write cache value for remote internal checks
+ ZBX-15963 Fixed http agent support of non-http scheme in url field
+ ZBX-16151 Fixed theoretical possibility of large numbers in json data being truncated,
added boolean value support to json parser
+ ZBX-15778 Fixed wrong filtering by "age less than" and "show suppressed problems" in trigger overview
+ ZBX-15585 Fixed web scenarios pair manager issue when fields are duplicating on post type toggle
+ ZBX-16150 Fixed inactive, unmounted, unaccessible vmware datastore causes
unknown column nan insertion in field list
+ ZBX-16122 Fixed api validation of trigger dependency
-------------------------------------------------------------------
Tue Jun 11 12:17:33 UTC 2019 - Boris Manojlovic <boris@steki.net>
- updated to latest release 4.0.9
- Bug Fixes
+ ZBX-15905 Reverted changes that introduced error with
write permissions in assets directory
-------------------------------------------------------------------
Fri May 31 14:01:10 UTC 2019 - Boris Manojlovic <boris@steki.net>
- updated to latest release 4.0.8
- New Features and Improvements
+ ZBX-16069 Upgraded jquery version v1.10.2 -> v3.3.1
and jqueryui v1.10.3 -> v1.12.1
- Bug Fixes
+ ZBX-16032 Changed application filtering to partial name search
+ ZBX-15915 Fixed linking error if round() is undefined
+ ZBX-16074 Added file revision number generation for
compilation on ms windows
+ ZBX-15833 Fixed scrollbar in overlay popups
+ ZBX-16058 Fixed error in ipmi poller causing growing queue
+ ZBX-16047 Fixed division by zero error in svg graph widget if selected
time period is so small that calculated step between 2 milestones is 0s
+ ZBX-15936 Removed "change password" button when cloning media types
+ ZBX-11272 Changed sorting by type, fixed information disclosure and
formatting of recipient name in action log screen item and dashboard widget;
added new sortfields to alert api
+ ZBX-15416 Fixed locale validation in user create and update api methods
+ ZBX-15877 Fixed tab key navigation for safari and edge browsers
+ ZBX-15891 Fixed trigger dependencies are ignored when changing only trigger state
+ ZBX-13029 Fixed api validation messages for linktrigger
+ ZBX-15967 Fixed buffer offset for reading hardware info from long dmi files
+ ZBX-16018 Fixed detection of logical functions (or / and) inside
the context of user macros
+ ZBX-14782 Deliver human friendly uptime in dashbord
+ ZBX-11325 Fixed transparency of draggable interfaces; changed cursor
type for all draggable and sortable elements
+ ZBX-16048 Fixed global search box loosing the search phrase after searching
+ ZBX-10729 Fixed map element link coloring when linked problem is acknowledged
+ ZBX-15101 Fixed several object ids allowing them to be 64 bit integers,
added asterisk for map navigation tree name field and changed
the error message to more generic one
+ ZBX-16050 Fixed http poller crashes
+ ZBX-15871 Fixed problem events to be filtered by "suppressed"
instead of "related to maintenance"
+ ZBX-10550 Added warnings when zabbix components have different versions
+ ZBX-11284 Removed sid url argument for form cancel buttons
+ ZBX-11429 Fixed macro not being retained in trigger expression editing wizard
+ ZBX-15816 Increased header value input field max length
+ ZBX-15677 Fixed the process of compiling the dummy.c module
+ ZBX-15981 Fixed invalid xpath for vmware "eventlog" key with "skip" option
+ ZBX-15704 Fixed sending log meta information without obvious needs
+ ZBX-15905 Added versioning of browser cached files
+ ZBX-15956 Reduced configuration cache fragmentation
when reloading time based triggers
+ ZBX-15998 Improved performance of "remove host", "remove from host group",
"unlink from template" operations when processing network
discovery events and using mysql database
+ ZBX-15935 Fixed infinite loop and 100% cpu usage
when using openipmi 2.0.26 or newer
+ ZBX-16005 Fixed "{{item.value}.regsub(<pattern>,<output>}" and
"{{item.lastvalue}.regsub(<pattern>,<output>}" being resolved to *unknown* during upgrade
-------------------------------------------------------------------
Wed Apr 24 14:07:54 UTC 2019 - Boris Manojlovic <boris@steki.net>
- updated to latest release 4.0.7
- Bug Fixes;
+ ZBX-16019 Fixed host.conn, host.ip, ipaddress and host.dns
macros expansion in global scripts
+ ZBX-16020 Fixed uncontrolled memory allocation in regex preprocessing steps
+ ZBX-15911 Fixed guest sign in visibility for disabled guest
user group in login page
+ ZBX-15977 Fixed validation of host interface when multiple
interfaces set as main interface
+ ZBX-15955 Fixed security vulnerability - accepting connections
from not allowed addresses
+ ZBX-11393 Fixed when long snmp oid expands screen dimensions
+ ZBX-15464 Fixed error message for image uploads
+ ZBX-10243 Fixed not encoded ampersand for in url parameter
+ ZBX-15972 Fixed possible crash of the windows agent when
used "net.dns" item key
+ ZBX-15674 Fixed map status to be displayed ok if there
are no problem in submaps
+ ZBX-15970 Fixed invalid update intervals being reported
on zabbix server when monitored through zabbix proxy
+ ZBX-15643 Fixed invalid to valid numbers conversion by del_zeros
+ ZBX-15444 Fixed trimming allowed characters from numeric values
+ ZBX-15409 Improved zabbix java gateway error logging
usability by adding item key to error message
+ ZBX-15844 Fixed inability to start zabbix server if alert manager
process is late after alerters; thanks to mikhail makurov for the patch
+ ZBX-11043 Implemented a better network discovery filter
+ ZBX-10937 Fixed top right global search field autocomplete not showing
results when host name is being typed not first character and technical
name when it differs from visible name
+ ZBX-10861 Changed user name and password fields from being mandatory to
optional in web scenarios and http agent type items
+ ZBX-10889 Improved logging performance when high debuglevel is used
+ ZBX-15762 Fixed api returns "countoutput", "select*": "count" results and
"suppressed" property as integer
+ ZBX-15642 Fixed bigint limit in the user group updating forms
+ ZBX-2494 Fixed sorting of items, item prototypes, lld rules and screens
to avoid deadlocks in database between server and frontend
+ ZBX-15768 Fixed line length above widgets on global search page
+ ZBX-10404 Fixed password being passed in plain text in media type edit form
+ ZBX-15734 Fixed dashboard widgets incorrect placement while dragged
+ ZBX-15563 Fixed svg graph metric generation in situation when metric have big values
+ ZBX-15139 Fixed element removing from list in different tabs or browsers
+ ZBX-15779 Fixed loss of host name in tooltip on trigger overview page
+ ZBX-15898 Fixed compilation warning regarding too large integer constant
+ ZBX-15338 Fixed last problem name being displayed on map instead of most critical
+ ZBX-15929 Fixed escalation operation not being send multiple times
+ ZBX-15721 Fixed escaping of control characters in json encoder
+ ZBX-15507 Fixed item/trigger/graph copy form provides read-only host groups
in target list; replaced form elements with multiselect
+ ZBX-15746 Fixed link to pie graph after selecting a time interval on classic graph
+ ZBX-15784 Fixed multiselect does not support case sensitive auto-complete
+ ZBX-10799 Changed placeholder for http proxy input fields
+ ZBX-13014 Fixed map on screen is not centered
+ ZBX-9229 Fixed sending first value of the log as separate message
+ ZBX-15479 Fixed cookie presentation in http header
+ ZBX-15516 Fixed trapper process title to not update time in case of interruption
+ ZBX-15588 Fixed function names that are written to the log file when
using log_level_debug
+ ZBX-9150 Fixed update intervals of items in vmware templates
+ ZBX-15481 Fixed showing wrench icon for hosts that are in maintenance,
but maintenance is inaccessible due to insufficient permissions
+ ZBX-15629 Fixed trigger wizard form re-submit
+ ZBX-15850 Fixed problems by severity filter ignoring host group filter
+ ZBX-15853 Fixed empty parent group not listed in the latest data filter
+ ZBX-11025 Added "unknown command error" to mysql recoverable error list
+ ZBX-15870 Fixed redundant jsloader loading in login page
+ ZBX-15858 Fixed item filtering by application name; added 'select' button
for dashboard widget and screen item application fields
+ ZBX-15851 Fixed lld item displaying in queue details view
+ ZBX-15639 Fixed labels overlapping on classic graph x axis
+ ZBX-15592 Fixed database monitoring 'dns' item key expressing it as mandatory
+ ZBX-15859 Fixed map.create could attach elements only for first map
in request when multiple maps are created with one request
+ ZBX-15769 Fixed new widget placeholder being shown outside maximum
allowed dashboard height area
+ ZBX-15708 Fixed browser build in autofill for passwords field on media
type form on authentication ldap form and on user edit form
+ ZBX-10392 Fixed application filter persistence when navigating from
maps page to triggers views page or latest data page
+ ZBX-15754 Removed unnecessary request for non-existing map background
+ ZBX-15715 Added missing keys "zabbix.stats[<ip>,<port>]", "zabbix.stats[<ip>,<port>,queue,<from>,<to>]"
and "zabbix[stats,<ip>,<port>,queue,<from>,<to>]" in item key helper
+ ZBX-15672 Fixed positioning of the overlay dialogue window in map constructor
+ ZBX-15609 Added missing optional parameter "<regex_excl_dir>" for "vfs.dir.count"
and "vfs.dir.size" item keys in item helper
+ ZBX-15404 Fixed action condition type and operator integrity
+ ZBX-15913 Fixed possible crash when sending custom alerts
+ ZBX-15872 Fixed possible deadlock on host table when processing auto
registration contents from zabbix proxy
+ ZBX-11203 Added blocking of sigint and sigterm signals on each step of
automatic upgrade to avoid interruption of statements that cannot be rolled back
+ ZBX-8451 Fixed global regular expression testing not matching actual
behavior of zabbix components due to missing multiline flag
+ ZBX-13347 Fixed possible crash in history syncer process when processing discovered item value
+ ZBX-15831 Fixed slow request of vmware configuration update
+ ZBX-15920 Fixed nodata() function triggering after maintenances with
no data collection without waiting for the nodata period
+ ZBX-13478 Fixed item prototype update intervals to eliminate trigger status flapping
+ ZBX-10611 Fixed changing process user owner on startup
in foreground when allowroot disabled
+ ZBX-15826 Optimized unsupported macros parsing
+ ZBX-15742 Fixed network discovery is not reacting to the changes
in agent configuration if uniqueness criteria is value
+ ZBX-15634 Fixed database monitor item does not use stored credentials;
thanks to jose deniz for the patch
-------------------------------------------------------------------
Mon Apr 1 08:45:14 UTC 2019 - Boris Manojlovic <boris@steki.net>
- updated to latest release 4.0.6
- New Features and Improvements
+ ZBXNEXT-5105 added context menu for trigger name in event details page
+ ZBX-15286 dropped support use of discovered items as master
+ ZBXNEXT-4898 added support IPv6 for "net.dns" and "net.dns.record"
+ ZBXNEXT-5037 added "skip" parameter for vmware.eventlog key
+ ZBXNEXT-4819 implemented date and time showing in SVG graph widget
- Bug Fixes
+ ZBX-15839 fixed broken layout of the breadcrumbs in Safari browser
+ ZBX-15867 fixed invalid DNS being accepted when receiving discovery
contents from Zabbix proxy
+ ZBX-15821 fixed SQL statement performance used in template.unlink() method
+ ZBX-15578 fixed IPMI errors in case of infrequent reading of values
+ ZBX-15098 fixed undefined index in application selection popup window
+ ZBX-15351 fixed PHP error in "Problems by severity" if no problems
+ ZBX-15552 fixed compilation with LibreSSL as OpenSSL replacement
and OpenSSL without PSK support
+ ZBX-10317 made info column on item list page always visible
+ ZBX-15322 fixed graph area near grid line with 0 value
+ ZBX-15798 fixed proxy configuration update failure on Oracle;
fixed failure on empty SQL buffer on Oracle
+ ZBX-15219 fixed unwanted removing scenario post fields on scenario update
+ ZBX-11278 reworked property state indicator in mass update screens
+ ZBX-15716 fixed escalation cancel message is called if escalation
interrupts with unfinished step or recovery
+ ZBX-15468 fixed LDAP configuration form not being able to save changes
when user password field is empty string
+ ZBX-15669 fixed page scroll after widget being added to dashboard
+ ZBX-15548 fixed resolving of {ITEM.VALUE} macro in the trigger description
+ ZBX-15774 fixed memory leak in housekeeper when elasticsearch is used
+ ZBX-15788 fixed crash when substituting LLD macros in calculated
item formula expression
+ ZBX-15608 fixed when Widget Graph show disabled trigger/problem
+ ZBX-10397 fixed when global messaging severities unchecked if profile
saved earlier
+ ZBX-15596 fixed when widget in frontend can be created larger
than API validation supports
+ ZBX-15308 fixed timeselector in screens when page is opened
with link containing sid argument
+ ZBX-15694 fixed trimming of empty spaces for custom multiplier
in item and item prototype preprocessing forms
+ ZBX-15196 fixed "Follow redirects" checkbox not being enabled by
default for HTTP agent in item, item prototype and LLD rule create forms
+ ZBX-15670 fixed inefficient vmware eventlog downloading
+ ZBX-15483 fixed undefined index in Item Prototype update
+ ZBX-15270 fixed graph widget configuration form cross browser issues
+ ZBX-15300 fixed widgets extra space at the bottom
+ ZBX-8091 added alphabetic ordering of net.dns.record respond
+ ZBX-15707 fixed check box design when drag and drop an interface into SNMP
+ ZBX-15535 fixed validation of min/max value range in graph widget;
fixed translation string in graph widget
+ ZBX-15648 removed unused WIDGET_HAT_EVENTACTIONMCMDS
and WIDGET_HAT_EVENTACTIONMSGS constants
+ ZBX-15386 fixed Trigger overview not showing OK triggers
+ ZBX-14538 fixed error message when value of lifetime
or history/trends storage period is out of range
+ ZBX-15614 fixed validation of y axis item on classic graph create and update
+ ZBX-15226 fixed missing visual gap under page title
+ ZBX-15560 fixed incorrect URL argument formatting when parameters
are non-indexed arrays
+ ZBX-15719 fixed undefined index in trigger expression popup
+ ZBX-15332 fixed dashboard svg graph update on timeselector interval change
+ ZBX-15728 fixed agent startup problem in Win 2008 R2 w/o SP1,
removed dependency on version helper API
+ ZBX-15622 fixed trigger expression test dialog not being usable
with long trigger expressions
+ ZBX-13332 fixed Request-URI Too Long errors in PopUps;
fixed lost focus, when closing error popup
+ ZBX-15607 fixed possibility of zombie processes occurring
when signaling agent during metric execution
+ ZBX-10496 fixed links to installation instructions in README file
+ ZBX-15625 removed links leading to media type edit form for
non-superadmins in Reports->Notifications page
+ ZBX-15703 fixed use of uninitialized variable when receiving 0 bytes on listening socket
+ ZBX-15537 fixed visual bug when filter tab was overlapped by sub navigation
+ ZBX-15539 fixed validation of master item in item update form
+ ZBX-15532 fixed undefined index error on problems page when trigger expression contains web items
+ ZBX-15488 fixed permission check for inherited triggers
+ ZBX-15646 fixed web-server 'Request-URI Too Long' error in trigger description dialog
-------------------------------------------------------------------
Mon Feb 25 20:07:06 UTC 2019 - Boris Manojlovic <boris@steki.net>
- updated to latest release 4.0.5
- New Features and Improvements
+ ZBXNEXT-5046 added non-destructive resizing and reordering of dashboard widgets
+ ZBXNEXT-401, ZBXNEXT-4907, ZBXNEXT-4955 added monitoring of internal
metrics from an external Zabbix instance
- Bug Fixes
+ ZBXNEXT-4941 changed overflow statements to execute one
by one for Oracle for better performance
+ ZBX-15664 fixed "Undefined index" errors on maps with enabled automatic icon mapping
+ ZBX-15667 fixed wrong default Zabbix server status for new installation
+ ZBX-15512 fixed performance issues and significant memory consumption on
several pages which contains host popup menus
+ ZBX-15512 fixed performance issues in "Problems by severity" widget
+ ZBX-15593 fixed database upgrade patch to stop upgrade on commit failure
+ ZBX-15611 fixed crash in configuration syncer when there are groups with
same name and when removing preprocessing steps from item
+ ZBX-15242 fixed value trimming and duplicate catching in SVG graph pattern fields
+ ZBX-15250 fixed selection box height calculation in classic graph
+ ZBX-15316 fixed problem with socket inheritance preventing Windows
agent from restarting under certain circumstances
+ ZBX-15379 fixed -Wimplicit-fallthrough warnings when compiling with GCC 7 and -Wextra
+ ZBX-15179 fixed when message about blocking user login is displayed only on next login attempt
+ ZBX-15494 fixed handling numbers that written in scientific notation
+ ZBX-15533 fixed cutting and trimming event tags and values
+ ZBX-15442 fixed reporting idle time in datasender's process state information
+ ZBX-15424 fixed when multiselect doesn't trim values and recognizes
untrimmed values as new ones
+ ZBX-14644 fixed maintenance time periods "start_date" field being
reset to "1920" instead of DB default value when updating via edit form
+ ZBX-15271 added link to documentation in all man pages
+ ZBX-15422 fixed SQL errors when linked template have item prototype with equal key as host item
+ ZBX-15456 fixed incorrect style property in Monitoring->Problems; removed unused id from filter form
-------------------------------------------------------------------
Wed Feb 6 10:24:34 UTC 2019 - boris@steki.net
- updated to latest release 4.0.4
- New Features and Improvements
+ ZBXNEXT-4872 reworked SVG graph x-axis timeline
+ ZBXNEXT-4873 implemented single dot datasets to be drawn as points
in line vector graphs
+ ZBX-14876 added a new optional parameter <regex_excl_dir> to
items vfs.dir.size[] and vfs.dir.count[]
+ ZBXNEXT-4792 added column "Latest values" in Monitoring->Problems and Dashboard
+ ZBX-15202 implemented widget pausing methods in dashboard; made graph widget
paused when using selection box or opening a tooltip
- Bug Fixes
+ ZBX-15412 fixed Name column overlaps the Application column in the Template view
+ ZBXNEXT-4872 reverted SVG graph timeline changes to previous state
+ ZBX-15577 fixed restricted user access to the host name when calling host_screen
+ ZBX-13335 fixed low performance with linkage of items and item prototypes to a lot of hosts
+ ZBX-15435 fixed "Undefined index" errors in the "Problems" widget with multiple active
maintenances which part of these are inaccessible
+ ZBX-15417 changed vmware collector to perform datastore configuration refresh only when
directly monitoring ESXi version lower than v6.0
+ ZBX-14896 fixed low performance of the SQL statement when link template to many hosts
+ ZBX-15220 fixed displaying of last value for values received in the same second
+ ZBX-15451 fixed event correlation when "Event tag pair" condition is used and
tag contains special characters
+ ZBX-15460 reset agent availability when host status changes, e.g., when host gets disabled
+ ZBX-15331 updated LLD item creation/updating error messages
+ ZBX-15465 removed html non-breaking space from visiblity checkbox labels
+ ZBX-15307 fixed upper level maps positioning in Monitoring Map screen
+ ZBX-15428 improved regular expression performance by studying compiled pattern
+ ZBX-11761 added warnings in case of TLS identity mismatch
+ ZBX-15373 fixed removal of trigger when deleting discovered item; fixed removal of
dependent child items when removing master item
+ ZBX-14613 fixed hostgroup.delete and host.delete API methods to validate maintenance constraint
+ ZBX-14863 fixed authentication settings form of LDAP anonymous binding
+ ZBX-15374 fixed SQL and PHP errors on chart3.php page
+ ZBX-15301 fixed monotonous lag behind in Windows "system.localtime"
+ ZBX-15377 fixed error messages for arrays in GET parameters
+ ZBX-15369 fixed "Undefined index: label" in map.update() method
+ ZBX-15376 fixed "Undefined index: refresh" on several pages with disabled guest user
+ ZBX-15375 fixed web scenario step name can consist only of whitespaces
+ ZBX-15375 fixed undefined index on Web scenario configuration page
+ ZBX-15372 fixed SQL and PHP errors on "Slide shows" page when enter slides.php witout GET parameters
+ ZBX-15359 fixed undefined index in maintenance.create and maintenance.update API calls
+ ZBX-15358 fixed undefined index in configuration.import API call without one or several rules
+ ZBX-15355 fixed undefined index in configuration.import API call
+ ZBX-14926 fixed empty "inventory" property being returned by API if inventory mode is disabled
+ ZBX-15354 fixed undefined index in API calls without "auth" parameter
+ ZBX-15399 fixed IPv4 connections not being accepted when IPv6 mask is used
+ ZBX-14331 fixed error allowing users to change type of a host interface that already has items attached
+ ZBX-15254 fixed incorrect matching string highlight in multiselect autocomplete box
+ ZBX-15136 fixed displaying 'Plain text' on the dashboard as html
+ ZBX-15313 fixed unit suffix support in calculated item expressions
+ ZBX-15224 fixed failed query errors when receiving non UTF-8 history values
+ ZBX-14592 fixed calculation of SLA and availability report when problem has negative duration
+ ZBX-13804 fixed generic popup form submission
+ ZBX-15156 fixed undefined offset error in host screen with web item
+ ZBX-14980 fixed problem with filter by itemids and hostids in history.get
+ ZBX-14624 fixed agent collector not releasing connection to missing/removed disk devices
+ ZBX-15279 fixed handling of LLD processing errors that should have resulted in not supported LLD rule state
+ ZBX-15241 fixed escaping regexp symbols in preprocessing output parameter when creating item by LLD
+ ZBX-14604 fixed displaying of the graph name on screens
+ ZBXNEXT-4588 renamed 'display options' tab to 'displaying options'; fixed multiple layout issues, footnote in hint-box,
field value handling, calculation of mouse position, multiple issues related with Y axis and problem styling
+ ZBX-15159 fixed existing context menu closing when new one is opened
+ ZBX-15233 renamed fuzzytime() function description in dropdown list
+ ZBX-12801 excluded zabbix_sender.dll from MS Windows builds with TLS
+ ZBXNEXT-4883 fixed when trigger in problem state hides all dependent triggers in history view
+ ZBX-15260 improved misleading warning message when agent fails to find log file during processing logrt[] item
+ ZBX-15258 fixed update interval of "Zabbix queue" item in server's template to be consistent with proxy template,
added missing units in proxy template
+ ZBX-15225 improved handling of timeouts in "vfs.dir.size" and "vfs.dir.count" items on Windows agent
+ ZBX-15333 fixed zoomout on doubleclick in graph widget
+ ZBX-15236 fixed display parent host groups without hosts in multiselect
+ ZBX-15206 fixed deprecated net-snmp attribute
+ ZBX-15067 fixed configuration sync of interfaces without hosts
+ ZBX-15238 fixed updating nextcheck time in discovery rules to
avoid overlaps between discovery executions
+ ZBX-13673 fixed regexp validation when pattern contain slash character
+ ZBX-14528 fixed incorrect keycode handling in multiselect input fields
+ ZBX-15124 fixed trigger overview behavior when show "any"
+ ZBX-14648 ixed performance with deletion of item in template linked to many hosts
+ ZBX-9011 added new LLD macros for vmware HV low-level discovery
+ ZBX-15105 fixed colorpicker tooltip update
+ ZBX-14928 fixed "check now" being executed for active items and templates
+ ZBX-15153 fixed custom interval validation; fixed parsing of custom
intervals when user macros context contains forward slash
+ ZBX-15069 fixed community default value in edit scenario
+ ZBX-9038 fixed memory of performance counters consumed during vmware update
+ ZBX-8383 updated Tomcat template for compatibility with recent Tomcat versions
+ ZBX-15078 fixed API authentication for ldap users having gui access disabled
+ ZBX-14880 fixed misleading ldap authentication error messages
+ ZBX-14877 fixed style of disabled action on high contrast theme
+ ZBX-14606 removed strict-transport-security header from frontend
+ ZBX-15020 fixed negative time selector offset when selecting time range in graph
+ ZBX-14977 fixed creation of unneeded database record if host prototype inventory
mode is disabled; fixed validation for host and host prototype inventory mode
+ ZBX-15146 fixed SQL error occurred when too long IP address is attempted to be written in database
+ ZBX-15148 fixed web scenario item selection in SVG graph widget
+ ZBX-15107 fixed error handling in logrt[] items if regular expression for file name is not valid
+ ZBX-14800 fixed resolving of functional macros in graph widget name
+ ZBX-15200 fixed host, trigger and item count calculation; fixed required performance calculation
+ ZBX-15158 fixed graph name for cache usage in proxy and server templates
+ ZBX-15178 fixed wrong behaviour when referencing unexisting capture groups
in item regexp preprocessing, general pcre code improvements
-------------------------------------------------------------------
Thu Nov 29 08:59:53 UTC 2018 - boris@steki.net
- updated to latest release 4.0.2
- New Features and Improvements
+ ZBXNEXT-3848 added validation of update interval, custom interval,
history storage period and trend storage period in low-level discovery
+ ZBXNEXT-4841 removed hardcoded locations for iconv.h and pthread.h;
thanks to Helmut Grohne for the patch
+ ZBXNEXT-3047 fixed compilation errors on Windows platform with
static OpenSSL libraries
+ ZBXNEXT-4836 added license information and OpenSSL linking exception
to README file, show crypto library version when started with '-V'
+ ZBXNEXT-4725 added filter fields to select templates and hosts by directly linked templates;
made proxy filter field visible in configuration hosts field
+ ZBXNEXT-4796 added 'fullscreen' and 'kiosk' URL arguments to allow to set layout mode via link
+ ZBXNEXT-4782 improve out of memory error message by adding statistics and backtrace;
improve something impossible has just happened error message by adding backtrace
+ ZBXNEXT-4271 improved escalator performance by using nextcheck index instead of reading whole table
- Bug Fixes
+ ZBX-15171 fixed crash in ODBC when creating JSON from null
db values, fixed memory leak
+ ZBX-15045 fixed a case where a disable multiselect looks like
a similar to enabled text field
+ ZBX-14927 fixed filter by host group without real hosts
in triggers top 100, dashboard widgets, screens
+ ZBX-13662 fixed duplication of file system type in global regular
expression for file systems discovery
+ ZBX-15036 added system.cpu.util[,guest], system.cpu.util[,guest_nice] to OS Linux template
+ ZBX-15106 improved error messages for item preprocessing, general pcre code improvements
+ ZBX-15095 fixed curl error handling for elasticsearch history backend
+ ZBX-15129 added optional upgrade patches to rename TRIGGER.NAME
macros to EVENT.NAME in action operation messages and custom scripts
+ ZBX-14858 fixed processing of unlimited vmware maxQueryMetrics value
+ ZBX-14635 fixed rare LLD failures when moving host between groups
+ ZBX-13719 fixed loss of calc_fnc index in graph edit form
+ ZBX-14964 improved escalator performance during maintenance
by checking paused escalations less frequently
+ ZBX-13793 fixed focus styles on read-only textarea fields
+ ZBX-13009 fixed percentage calculation on availability reports list page
+ ZBX-15138 fixed error message when receiving compressed data over maximum size
+ ZBX-15154 fixed time period parameters in data overview context menu links
+ ZBX-15044 fixed javascript error when zooming classic graph in edit mode
+ ZBX-15044 fixed dashboard initialization in edit mode
+ ZBX-15053 fixed timetamp position in map
+ ZBX-15033 fixed zoom-out and select box for graphs in kiosk mode
+ ZBX-8396 improved source code comments
+ ZBX-14970 fixed wrong media type status upon creation, if chosen status disabled
+ ZBX-14899 fixed wrong net.tcp.listen values on obsolete Linux systems
+ ZBX-14941 fixed issue with autoreconf/automake for source tarball
+ ZBX-15142 fixed time format for vmware performance counters query
+ ZBX-15010 fixed regexp compilation error for patterns with referenced subpatterns
+ ZBX-14724 fixed breadcrumb jumping in IE browser
+ ZBX-15083 fixed API so that macros {TRIGGER.ID} works in map element URLs
+ ZBX-15127 fixed possible crash when communication problem occurred
in the middle of vmware update
+ ZBX-14396 fixed excessive memory usage during template full clone
+ ZBX-14848 clarified process type names for log level increase/decrease
in help messages and man pages
+ ZBX-14833 fixed selectHosts option in dservice.get API method
to return the list of hosts by IP and proxy
+ ZBX-15062 fixed binary heap trying to reallocate slots on every insert
+ ZBX-14805 fixed unauthorized request error when resetting
filter after enabling/disabling elements
+ ZBX-14789 fixed translations from en_US to en_GB
+ ZBX-14758 fixed encoding for cookie names and values
+ ZBX-15122 fixed possible crash in web monitoring due
to posts not being reset between steps
+ ZBX-14691 fixed faulty behaviour of mandatory fields in Trigger expression form
+ ZBX-13695 added support of host macros to trapper, HTTP agent item allowed hosts field
+ ZBX-15022 fixed shared memory leak during configuration cache synchronization
+ ZBX-15025 fixed email alerts being sent twice to one recipient
+ ZBX-15006 fixed possibility to link map widget to itself as filter widget
+ ZBX-14886 fixed undefined offset error in Problems by severity widget
+ ZBX-15090 fixed memory leak when validating regular expression
preprocessing step parameters during LLD
+ ZBX-14625 changed SNMP OID default value to be displayed
as placeholder instead of text
+ ZBX-14505 fixed compiler warning about incompatible pointer type on 32-bit platform
+ ZBX-1667 fixed error suppression during php ldap module initialization
+ ZBX-13505 fixed link coloring in map when related trigger is not monitored
+ ZBX-15032 fixed sBox position in screen's graph item when dynamic
item is enabled
+ ZBX-14953 fixed not closed connection with vmware at the end
of update session via a call to Logout()
+ ZBX-15007 fixed current map refresh in map widget
right after update widget configuration
+ ZBX-14990 added missing http agent statistic row in queue screen
+ ZBX-14984 fixed missing focus from problem name when opening
description editing popup in monitoring problems section
+ ZBX-14947 fixed configuration update in administration authentication section
+ ZBX-14974 fixed memory leak in case duplication name
of the vmware performance counters
+ ZBX-14934 made widget specific javascript files to be loaded with jsLoader
+ ZBX-15094 fixed the potential crash during vmware update
+ ZBX-14966 removed the notes about sqlite from zabbix_server.conf
+ ZBX-14875 fixed discovery and auto registration escalations being kept
for one hour instead of deleted immediately
+ ZBX-14422 fixed SQL queries being logged when accessing API,
even if debug mode is disabled
+ ZBX-14905 fixed error reporting for XML import of hosts and templates
+ ZBX-14945 fixed action popup being unclosable after widget refresh,
fixed debug element being hidden on widget refresh
+ ZBX-14806 changed focus style for radio buttons
+ ZBX-15027 fixed startup failures due to orphaned or zombie processes
remaining when zabbix daemon is terminated during startup
+ ZBX-14904 fixed possible PHP errors in "Problem hosts" widget
+ ZBX-15057 fixed possible crash when syncing host groups
+ ZBX-14807 fixed selection box for graphs on monitoring screens
+ ZBX-14779 extended support of system.stat[ent], system.stat[cpu,pc],
system.stat[cpu,ec] on IBM AIX to LPAR type 'dedicated'
+ ZBX-14851 fixed the host visible name in the event details/messages
from server when using long utf8 text
+ ZBX-14887 fixed max count of records in the single json that proxy can send to the server
+ ZBX-14972 fixed the case where data from non-monitored VMware services are not removed from vmware cache
+ ZBX-14856 added support for OpenSSL 1.1.1
+ ZBX-14971 added note on runtime control with PID numbers larger than 65535 to server,
proxy and agentd help messages and man pages
+ ZBX-14734 fixed the verification of the assignment of two web checks with the same
name from different templates to one host
+ ZBX-14749 fixed cloning inherited host prototype on host
+ ZBX-14663 fixed calculation of Y zero position in graph
+ ZBX-14865 fixed "Field "parent_itemid" cannot be set to NULL" error message
while importing multiple templates
+ ZBX-14925 added support of user language specific url link in support icon,
supported languages: english as default, japanese, russian
+ ZBX-14854 improved preprocessor worker performance
+ ZBX-14798 fixed incorrect zero rounding in date and time fields
+ ZBX-14954 fixed sql error in escalator when working with Oracle,
PostgreSQL (less than v9.4) databases
+ ZBX-14952 fixed incorrect translation string in en_US locale
+ ZBX-14757 fixed fields becoming writable upon form refresh in host prototype form
+ ZBX-14915 fixed 'follow redirects' checkbox in web scenario step's dialog
+ ZBX-14811 fixed color of the host name in the title of the Screens
+ ZBX-14776 fixed sorting when changing status of media type
+ ZBX-14711 fixed triggers in trigger overview being filtered by trigger severity and trigger
status change time instead of problem severity and problem creation time
+ ZBX-14689 fixed updating of the Graph list of host when selecting a group of hosts
+ ZBX-12217 removed links to templates with no permissions for templated triggers,
trigger prototypes, graphs, graph prototypes, host prototypes and web scenarios
+ ZBX-14861 fixed trigger evaluation result not visible in test dialogue when expression is too long
+ ZBX-14723 fixed zoom button for time selector in IE browser
+ ZBX-14888 fixed table markup on overview and system info pages
+ ZBX-14652 fixed plain text Latest data when selecting more than 1 item
+ ZBX-14618 fixed host prototype status checkbox resets after adding template
+ ZBX-14632 fixed minor typos in comments and tests
+ ZBX-14834 fixed icon misplacement in problem view
+ ZBX-14803 fixed incorrect profile update causing page filter to sometimes show duplicate values
+ ZBX-10784 fixed validation of double/Numeric(float) values
+ ZBX-14727 fixed selection of data for trigger overview and graphs if first drop down entry is "none"
+ ZBX-14615 fixed Java gateway not to mark host unreachable in case of invalid username and password
+ ZBX-14585 fixed JMX endpoint not being included in error message in case of connection errors
+ ZBX-14650 fixed web.page.regexp item parameters description
+ ZBX-14764 fixed crash that could occur when OpenIPMI pollers are configured
+ ZBX-14882 fixed crash in vmware collector when receiving invalid xml
+ ZBX-14908 fixed crash when processing internal trigger events and deleting triggers at the same time
-------------------------------------------------------------------
Tue Oct 16 22:49:22 UTC 2018 - Boris Manojlovic <boris@steki.net>
- removed support for jabber protocol as iksemel was removed from
openSUSE:Factory
- fixed configuration paths
-------------------------------------------------------------------
Mon Oct 2 12:36:00 UTC 2018 - pieter@hollants.com
- initial packaging of zabbix 4.0.0

644
zabbix40.spec Normal file
View File

@ -0,0 +1,644 @@
#
# spec file for package zabbix40
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define server_user zabbixs
%define server_group zabbixs
# keep zabbix user for backwards compatibility of agent
%define agent_user zabbix
%define agent_group zabbix
%define SUSEfirewall_services_dir %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services
Name: zabbix40
Version: 4.0.12
Release: 0
Summary: Distributed monitoring system
License: GPL-2.0-or-later
Group: System/Monitoring
URL: http://www.zabbix.com
Source0: https://sourceforge.net/projects/zabbix/files/ZABBIX%%20Latest%%20Stable/%{version}/zabbix-%{version}.tar.gz
Source1: rn4.0.0.html
Source2: zabbix-tmpfiles.conf
Source3: zabbix-java-gateway.sh
Source4: zabbix-logrotate.in
Source5: apache2-zabbix.conf
Source6: README.SUSE
Source7: zabbix-server.firewall
Source8: zabbix-agentd.firewall
Source9: zabbix-proxy.firewall
Source10: zabbix-java-gateway.firewall
Source11: zabbix-proxy.service
Source12: zabbix-agentd.service
Source13: zabbix-server.service
Source14: zabbix-java-gateway.service
Source15: README-SSL.SUSE
# PATCH-FIX-UPSTREAM zabbix-3.0.25-new-m4-pgsql.patch fix for opensuse issue caused/solved by bnc#1120035
Patch0: zabbix-3.0.25-new-m4-pgsql.patch
BuildRequires: apache-rpm-macros
BuildRequires: apache2-devel
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: fdupes
BuildRequires: gcc
BuildRequires: java-devel >= 1.6
BuildRequires: libmysqlclient-devel
BuildRequires: libtool
BuildRequires: logrotate
BuildRequires: net-snmp-devel
BuildRequires: openldap2-devel
BuildRequires: pkgconfig
BuildRequires: systemd-rpm-macros
BuildRequires: unixODBC-devel
BuildRequires: update-alternatives
BuildRequires: pkgconfig(OpenIPMI)
BuildRequires: pkgconfig(libcurl)
BuildRequires: pkgconfig(libevent)
BuildRequires: pkgconfig(libpcre)
BuildRequires: pkgconfig(libpq)
BuildRequires: pkgconfig(libssh2)
BuildRequires: pkgconfig(libxml-2.0)
BuildRequires: pkgconfig(openssl)
BuildRequires: pkgconfig(sqlite3)
BuildRequires: pkgconfig(zlib)
%{?systemd_requires}
%description
Zabbix is a distributed monitoring system.
Zabbix is software that monitors numerous parameters of a network and the
health and integrity of servers. Zabbix uses a flexible notification mechanism
that allows users to configure e-mail based alerts for virtually any event.
This allows a fast reaction to server problems. Zabbix offers excellent
reporting and data visualisation features based on the stored data. This makes
Zabbix ideal for capacity planning.
Zabbix supports both polling and trapping. All Zabbix reports and statistics,
as well as configuration parameters, are accessed through a web-based frontend.
A web-based frontend ensures that the status of your network and the health of
your servers can be assessed from any location. Properly configured, Zabbix can
play an important role in monitoring IT infrastructure. This is equally true
for small organisations with a few servers and for large companies with a
multitude of servers.
%package agent
Summary: Local resource monitor agent for Zabbix
Group: System/Monitoring
Requires: logrotate
Requires(pre): %fillup_prereq
Requires(pre): shadow
Conflicts: zabbix-agent
%description agent
The Zabbix agent monitors local resources and relays information to the server.
%package server
Summary: System files for the Zabbix server
Group: System/Monitoring
Requires: fping
Requires: logrotate
Requires: zabbix_server_binary = %{version}-%{release}
Requires(pre): %fillup_prereq
Requires(pre): shadow
Conflicts: zabbix-server
%description server
The Zabbix server component.
%package proxy
Summary: System files for the Zabbix proxy
Group: System/Monitoring
Requires: fping
Requires: logrotate
Requires: zabbix_proxy_binary = %{version}-%{release}
Requires(pre): %fillup_prereq
Requires(pre): shadow
Conflicts: zabbix-proxy
%description proxy
The Zabbix proxy component.
%package phpfrontend
Summary: Zabbix web frontend (php)
Group: Productivity/Networking/Web/Frontends
Requires: apache2
Requires: php7
Requires: php7-bcmath
Requires: php7-ctype
Requires: php7-gd
Requires: php7-gettext
Requires: php7-ldap
Requires: php7-mbstring
Requires: php7-sockets
Requires: php7-xmlreader
Requires: php7-xmlwriter
Suggests: php7-mysqli
Suggests: php7-pgsql
Conflicts: zabbix-phpfrontend
%description phpfrontend
The Zabbix PHP frontend allows access via standard web browsers.
NOTE: You still have to install the PHP package which contains your db driver!
%package server-mysql
Summary: Zabbix server with MySQL support
Group: System/Monitoring
Requires: %{name}-server = %{version}-%{release}
Requires: mariadb
Requires(post): update-alternatives
Requires(postun): update-alternatives
Conflicts: zabbix-server-mysql
Provides: %{name} = %{version}-%{release}
Provides: zabbix_server_binary = %{version}-%{release}
%description server-mysql
The Zabbix server compiled with MySQL support.
%package server-postgresql
Summary: Zabbix server with PostgreSQL support
Group: System/Monitoring
Requires: %{name}-server = %{version}-%{release}
Requires: postgresql
Requires(post): update-alternatives
Requires(postun): update-alternatives
Conflicts: zabbix-server-postgresql
Provides: %{name} = %{version}-%{release}
Provides: zabbix_server_binary = %{version}-%{release}
%description server-postgresql
The Zabbix server compiled with PostgreSQL support.
%package proxy-mysql
Summary: Zabbix proxy with MySQL support
Group: System/Monitoring
Requires: %{name}-proxy = %{version}-%{release}
Requires: mariadb
Requires(post): update-alternatives
Requires(postun): update-alternatives
Conflicts: zabbix-proxy-mysql
Provides: %{name} = %{version}-%{release}
Provides: zabbix_proxy_binary = %{version}-%{release}
%description proxy-mysql
The Zabbix proxy compiled with MySQL support.
%package proxy-postgresql
Summary: Zabbix proxy with PostgreSQL support
Group: System/Monitoring
Requires: %{name}-proxy = %{version}-%{release}
Requires: postgresql
Requires(post): update-alternatives
Requires(postun): update-alternatives
Conflicts: zabbix-proxy-postgresql
Provides: %{name} = %{version}-%{release}
Provides: zabbix_proxy_binary = %{version}-%{release}
%description proxy-postgresql
The Zabbix proxy compiled with PostgreSQL support.
%package proxy-sqlite
Summary: Zabbix proxy with SQLite support
Group: System/Monitoring
Requires: %{name}-proxy = %{version}-%{release}
Requires(post): update-alternatives
Requires(postun): update-alternatives
Conflicts: zabbix-proxy-sqlite
Provides: %{name} = %{version}-%{release}
Provides: zabbix_proxy_binary = %{version}-%{release}
%description proxy-sqlite
The Zabbix proxy compiled with SQLite support.
%package java-gateway
Summary: Zabbix Java gateway
Group: System/Monitoring
Requires: jre
Requires(pre): shadow
Conflicts: zabbix-java-gateway
Provides: %{name} = %{version}-%{release}
%description java-gateway
JMX monitoring can be used to monitor JMX counters of a Java
application. To retrieve the value of a particular JMX counter on a
host, the Zabbix server queries the Zabbix Java gateway, which in
turn uses the JMX management API to query the application of interest
remotely.
%prep
%setup -q -n zabbix-%{version}
%patch0
cp %{SOURCE6} .
# fix source & config files to respect adapted names
for file in src/zabbix_java/settings.sh src/zabbix_java/lib/logback.xml %{SOURCE3} conf/*.conf misc/init.d/suse/*/zabbix_* src/zabbix_server/server.c \
src/zabbix_server/alerter/alerter.c src/zabbix_agent/zbxconf.c src/zabbix_agent/zabbix_agentd.c src/zabbix_proxy/proxy.c ChangeLog; do
sed -i -e "s@/home/zabbix/bin@%{_bindir}@g" \
-e "s@^[# ]*PidFile=/tmp/zabbix_@PidFile=%{_rundir}/%{agent_user}/zabbix_@g" \
-e "s@^[# ]*LogFile=/tmp/zabbix_@LogFile=%{_localstatedir}/log/%{agent_user}/zabbix_@g" \
-e "s@^[# ]*DBSocket=/tmp/mysql.sock@DBSocket=%{_rundir}/mysql/mysql.sock@g" \
-e "s@^[# ]*SocketDir=/tmp@SocketDir=%{_rundir}/%{agent_user}@g" \
-e "s@DBUser=root@DBUser=zabbix@g" \
-e "s@^[# ]*DBPassword=.*@DBPassword=zabbix@g" \
-e "s@Hostname=Zabbix Server@Hostname=Zabbix_Server@" \
-e "s@GW_PID:=%{_localstatedir}/run/zabbix/zabbix-java-gateway.pid@GW_PID:=%{_rundir}/%{server_user}/zabbix-java-gateway.pid@g" \
-e "s@GW_LOGFILE:=%{_localstatedir}/log/zabbix/zabbix-java-gateway.log@GW_LOGFILE:=%{_localstatedir}/log/%{server_user}/zabbix-java-gateway.log@g" $file
done
# fix server, java and proxy (again) config for log and run location...
for file in src/zabbix_java/settings.sh conf/zabbix_proxy.conf conf/zabbix_server.conf ; do
sed -i -e "s#^[# ]*LogFile=%{_localstatedir}/log/.*/zabbix_#LogFile=%{_localstatedir}/log/%{server_user}/zabbix_#g" \
-e "s#^[# ]*PidFile=%{_rundir}/.*/zabbix_#PidFile=%{_rundir}/%{server_user}/zabbix_#g" \
-e "s#^[# ]*SocketDir=%{_rundir}/%{agent_user}#SocketDir=%{_rundir}/%{server_user}#g" \
-e 's#PID_FILE="%{_rundir}/.*/zabbix_#PID_FILE="%{_rundir}/%{server_user}/zabbix_#g' $file
done
# fix db content to respect adapted names and suse naming conventions
for file in database/*/data.sql; do
sed -i -e "s#syslogd#syslog-ng#g" \
-e "s#Syslogd#Syslog-ng#g" \
-e "s#httpd#httpd2-prefork#g" $file
done
##### Fix for date time macros
REF_DATE=$(LANG=C date -r configure +"%%b %%d %%Y")
REF_TIME=$(LANG=C date -r configure +"%%H:%%M:%%S")
sed -i -e "s/__DATE__/\"${REF_DATE}\"/g" -e "s/__TIME__/\"${REF_TIME}\"/g" src/libs/zbxcommon/str.c
#####
##### Fix location of zabbix java gateway location
sed -ri 's@^(ZABBIX_JAVA_CONF=.\{ZABBIX_JAVA_CONF:=).*@\1%{_sysconfdir}/zabbix/zabbix-java-gateway.conf}@g' %{SOURCE3}
# Remove prebuilt Windows binaries
rm -rf bin
#make separate directories for each config
cd ..
cp -r zabbix-%{version} zabbix-%{version}-postgresql
cp -r zabbix-%{version} zabbix-%{version}-sqlite
cd -
%build
ZABBIX_BASIC_CONFIG="--enable-proxy --enable-server --enable-agent --sysconfdir=%{_sysconfdir}/zabbix \
--with-openipmi --enable-java --enable-ipv6 --with-ssh2 --with-ldap --with-unixodbc \
--with-libcurl --with-net-snmp --with-libxml2 --with-openssl --with-libpcre --with-libevent"
# configure MySQL repo (here)
autoreconf -fvi
%configure $ZABBIX_BASIC_CONFIG --with-mysql --without-postgresql --without-sqlite3
make %{?_smp_mflags}
# configure PostgreSQL repo
cd ../zabbix-%{version}-postgresql
autoreconf -fvi
%configure $ZABBIX_BASIC_CONFIG --with-postgresql --without-mysql --without-sqlite3
make %{?_smp_mflags}
cd -
# configure SQLite repo
cd ../zabbix-%{version}-sqlite
autoreconf -fvi
%configure $ZABBIX_BASIC_CONFIG --disable-server --enable-proxy --with-sqlite3 --without-postgresql --without-mysql
make %{?_smp_mflags}
cd -
%install
# install the binaries
%make_install -C ../zabbix-%{version}-sqlite
mv %{buildroot}%{_sbindir}/zabbix_proxy %{buildroot}%{_sbindir}/zabbix_proxy-sqlite
%make_install -C ../zabbix-%{version}-postgresql
mv %{buildroot}%{_sbindir}/zabbix_server %{buildroot}%{_sbindir}/zabbix_server-postgresql
mv %{buildroot}%{_sbindir}/zabbix_proxy %{buildroot}%{_sbindir}/zabbix_proxy-postgresql
%make_install
mv %{buildroot}%{_sbindir}/zabbix_server %{buildroot}%{_sbindir}/zabbix_server-mysql
mv %{buildroot}%{_sbindir}/zabbix_proxy %{buildroot}%{_sbindir}/zabbix_proxy-mysql
mv %{buildroot}%{_bindir}/zabbix_sender %{buildroot}%{_sbindir}/zabbix_sender
# create directory structure
install -d %{buildroot}%{_localstatedir}/log/%{server_user}
install -d %{buildroot}%{_localstatedir}/log/%{agent_user}
# move java gateway files
mkdir -p %{buildroot}/%{_prefix}/lib/zabbix-java-gateway
mv %{buildroot}%{_sbindir}/zabbix_java/lib/*.jar %{buildroot}%{_prefix}/lib/zabbix-java-gateway
mv %{buildroot}%{_sbindir}/zabbix_java/bin/*.jar %{buildroot}%{_prefix}/lib/zabbix-java-gateway
mv %{buildroot}%{_sbindir}/zabbix_java/settings.sh %{buildroot}%{_sysconfdir}/zabbix/zabbix-java-gateway.conf
mv %{buildroot}%{_sbindir}/zabbix_java/lib/logback.xml %{buildroot}%{_sysconfdir}/zabbix/zabbix-java-gateway-log.xml
install -m 0755 %{SOURCE3} %{buildroot}%{_bindir}/zabbix-java-gateway
# we do not need the rest
rm -r %{buildroot}%{_sbindir}/zabbix_java
# install the php frontend
mkdir -p %{buildroot}%{_datadir}/zabbix
cp -r frontends/php/* %{buildroot}%{_datadir}/zabbix
install -Dm 0644 %{SOURCE5} %{buildroot}%{apache_sysconfdir}/conf.d/zabbix.conf
# remove .htaccess files as access rules are moved to zabbix.conf
find %{buildroot}%{_datadir}/zabbix -name .htaccess -exec rm -v {} \;
# Install log rotation
mkdir -p %{buildroot}%{_sysconfdir}/logrotate.d
sed -e 's|COMPONENT|agentd|g; s|USER|zabbix|g' %{SOURCE4} > \
%{buildroot}%{_sysconfdir}/logrotate.d/%{name}-agent
sed -e 's|COMPONENT|server|g; s|USER|zabbixs|g' %{SOURCE4} > \
%{buildroot}%{_sysconfdir}/logrotate.d/%{name}-server
sed -e 's|COMPONENT|proxy|g; s|USER|zabbixs|g' %{SOURCE4} > \
%{buildroot}%{_sysconfdir}/logrotate.d/%{name}-proxy
%fdupes %{buildroot}
# install firewall description files for SLE 12 / Leap 42
%if 0%{?suse_version} < 1500
install -Dm 0644 %{SOURCE7} %{buildroot}%{SUSEfirewall_services_dir}/zabbix_server
install -Dm 0644 %{SOURCE8} %{buildroot}%{SUSEfirewall_services_dir}/zabbix_agentd
install -Dm 0644 %{SOURCE9} %{buildroot}%{SUSEfirewall_services_dir}/zabbix_proxy
install -Dm 0644 %{SOURCE10} %{buildroot}%{SUSEfirewall_services_dir}/zabbix-java-gateway
%endif
# install systemd unit files
install -Dm 0644 %{SOURCE11} %{buildroot}%{_unitdir}/zabbix_proxy.service
install -Dm 0644 %{SOURCE12} %{buildroot}%{_unitdir}/zabbix_agentd.service
install -Dm 0644 %{SOURCE13} %{buildroot}%{_unitdir}/zabbix_server.service
install -Dm 0644 %{SOURCE14} %{buildroot}%{_unitdir}/zabbix-java-gateway.service
install -dm 0755 %{buildroot}/%{_unitdir}/zabbix_server.service.requires
install -dm 0755 %{buildroot}/%{_unitdir}/zabbix_proxy.service.requires
# set the rc sym links
ln -s service %{buildroot}%{_sbindir}/rczabbix_agentd
ln -s service %{buildroot}%{_sbindir}/rczabbix_server
ln -s service %{buildroot}%{_sbindir}/rczabbix_proxy
ln -s service %{buildroot}%{_sbindir}/rczabbix-java-gateway
# this stupidity is required because i do not wanna create separate zabbix-common
# in case i ever do it will put it under one scope...
install -Dm 0644 %{SOURCE2} %{buildroot}%{_tmpfilesdir}/zabbix_agentd.conf
# here I suppose server_user==server_group (and agent_user==agent_group, which is for compatibility reasons)
sed -i 's@%{agent_user}@%{server_user}@g' %{SOURCE2}
install -Dm 0644 %{SOURCE2} %{buildroot}%{_tmpfilesdir}/zabbix_server.conf
install -Dm 0644 %{SOURCE2} %{buildroot}%{_tmpfilesdir}/zabbix_proxy.conf
install -Dm 0644 %{SOURCE2} %{buildroot}%{_tmpfilesdir}/zabbix-java-gateway.conf
###################################################################################
# update-alternatives
install -d -m 0755 %{buildroot}%{_sysconfdir}/alternatives
touch -r /bin/true %{buildroot}%{_sysconfdir}/alternatives/zabbix_server
touch -r /bin/true %{buildroot}%{_sysconfdir}/alternatives/zabbix_proxy
ln -s %{_sysconfdir}/alternatives/zabbix_server %{buildroot}%{_sbindir}/zabbix_server
ln -s %{_sysconfdir}/alternatives/zabbix_proxy %{buildroot}%{_sbindir}/zabbix_proxy
# set links zabbix-* -> zabbix_* (to avoid confusion among users)
ln -s %{_sbindir}/zabbix_server %{buildroot}%{_sbindir}/zabbix-server
ln -s %{_sbindir}/zabbix_server %{buildroot}%{_sbindir}/zabbix-proxy
ln -s %{_sbindir}/zabbix_agentd %{buildroot}%{_sbindir}/zabbix-agentd
ln -s %{_sbindir}/zabbix_sender %{buildroot}%{_sbindir}/zabbix-sender
ln -s %{_bindir}/zabbix_get %{buildroot}%{_bindir}/zabbix-get
# Remove Makefiles from database directories so they don't get picked up by %%doc
rm database/*/Makefile*
# Release Notes - what has changed against Zabbix 3.x
cp %{SOURCE1} .
# SSL README
cp %{SOURCE15} .
%pre server
# Server daemon
%{_bindir}/getent group %{server_group} >/dev/null || %{_sbindir}/groupadd -r %{server_group}
%{_bindir}/getent passwd %{server_user} >/dev/null || %{_sbindir}/useradd -r -d %{_localstatedir}/lib/%{server_user} -s /bin/false -c "Zabbix Server Daemon" -g %{server_group} %{server_user}
%service_add_pre zabbix_server.service
exit 0
%pre proxy
# Proxy daemon
%{_bindir}/getent group %{server_group} >/dev/null || %{_sbindir}/groupadd -r %{server_group}
%{_bindir}/getent passwd %{server_user} >/dev/null || %{_sbindir}/useradd -r -d %{_localstatedir}/lib/%{server_user} -s /bin/false -c "Zabbix Proxy Daemon" -g %{server_group} %{server_user}
%service_add_pre zabbix_proxy.service
exit 0
%pre agent
# Agent daemon
%{_bindir}/getent group %{agent_group} >/dev/null || %{_sbindir}/groupadd -r %{agent_group}
%{_bindir}/getent passwd %{agent_user} >/dev/null || %{_sbindir}/useradd -r -d %{_localstatedir}/lib/%{agent_user} -s /bin/false -c "Zabbix Agent Daemon" -g %{agent_group} %{agent_user}
%service_add_pre zabbix_agentd.service
exit 0
%pre java-gateway
# Java daemon
%{_bindir}/getent group %{server_group} >/dev/null || %{_sbindir}/groupadd -r %{server_group}
%{_bindir}/getent passwd %{server_user} >/dev/null || %{_sbindir}/useradd -r -d %{_localstatedir}/lib/%{server_user} -s /bin/false -c "Zabbix Java Daemon" -g %{server_group} %{server_user}
%service_add_pre zabbix-java-gateway.service
exit 0
%post server
%service_add_post zabbix_server.service
%tmpfiles_create %{_tmpfilesdir}/zabbix_server.conf
echo "Please read %{_docdir}/%{name}-server/README-SSL.SUSE to set up SSL on Zabbix server."
%post proxy
%service_add_post zabbix_proxy.service
%tmpfiles_create %{_tmpfilesdir}/zabbix_proxy.conf
echo "Please read %{_docdir}/%{name}-proxy/README-SSL.SUSE to set up SSL on Zabbix proxy."
%post java-gateway
%service_add_post zabbix-java-gateway.service
%tmpfiles_create %{_tmpfilesdir}/zabbix-java-gateway.conf
%post agent
%service_add_post zabbix_agentd.service
%tmpfiles_create %{_tmpfilesdir}/zabbix_agentd.conf
echo "Please read %{_docdir}/%{name}-agent/README-SSL.SUSE to set up SSL on Zabbix agent."
%post server-mysql
%{_sbindir}/update-alternatives --install %{_sbindir}/zabbix_server zabbix_server %{_sbindir}/zabbix_server-mysql 12
%post server-postgresql
%{_sbindir}/update-alternatives --install %{_sbindir}/zabbix_server zabbix_server %{_sbindir}/zabbix_server-postgresql 11
%post proxy-mysql
%{_sbindir}/update-alternatives --install %{_sbindir}/zabbix_proxy zabbix_proxy %{_sbindir}/zabbix_proxy-mysql 12
%post proxy-postgresql
%{_sbindir}/update-alternatives --install %{_sbindir}/zabbix_proxy zabbix_proxy %{_sbindir}/zabbix_proxy-postgresql 11
%post proxy-sqlite
%{_sbindir}/update-alternatives --install %{_sbindir}/zabbix_proxy zabbix_proxy %{_sbindir}/zabbix_proxy-sqlite 10
%preun server
%service_del_preun zabbix_server.service
%preun proxy
%service_del_preun zabbix_proxy.service
%preun java-gateway
%service_del_preun zabbix-java-gateway.service
%preun agent
%service_del_preun zabbix_agentd.service
%postun server
%service_del_postun zabbix_server.service
%postun proxy
%service_del_postun zabbix_proxy.service
%postun java-gateway
%service_del_postun zabbix-java-gateway.service
%postun agent
%service_del_postun zabbix_agentd.service
%postun server-mysql
if [ "$1" = 0 ] ; then
%{_sbindir}/update-alternatives --remove zabbix_server %{_sbindir}/zabbix_server-mysql
fi
%postun server-postgresql
if [ "$1" = 0 ] ; then
%{_sbindir}/update-alternatives --remove zabbix_server %{_sbindir}/zabbix_server-postgresql
fi
%postun proxy-mysql
if [ "$1" = 0 ] ; then
%{_sbindir}/update-alternatives --remove zabbix_proxy %{_sbindir}/zabbix_proxy-mysql
fi
%postun proxy-postgresql
if [ "$1" = 0 ] ; then
%{_sbindir}/update-alternatives --remove zabbix_proxy %{_sbindir}/zabbix_proxy-postgresql
fi
%postun proxy-sqlite
if [ "$1" = 0 ] ; then
%{_sbindir}/update-alternatives --remove zabbix_proxy %{_sbindir}/zabbix_proxy-sqlite
fi
%files server
%doc AUTHORS ChangeLog database/ibm_db2 database/mysql database/oracle database/postgresql database/sqlite3 rn4.0.0.html README-SSL.SUSE
%if 0%{?suse_version} < 1500
%config %{SUSEfirewall_services_dir}/zabbix_server
%endif
%dir %{_sysconfdir}/zabbix
%config(noreplace) %attr(0640, root, %{server_group}) %{_sysconfdir}/zabbix/zabbix_server.conf
%{_bindir}/zabbix_get
%{_bindir}/zabbix-get
%{_sbindir}/zabbix_server
%{_sbindir}/zabbix-server
%{_sbindir}/rczabbix_server
%attr(0770,root,%{server_group}) %dir %{_localstatedir}/log/%{server_user}
%ghost %attr(0770,root,%{server_group}) %dir %{_rundir}/%{server_user}
%{_mandir}/man1/zabbix_get.1%{?ext_man}
%{_mandir}/man8/zabbix_server.8%{?ext_man}
%{_unitdir}/zabbix_server.service
%{_unitdir}/zabbix_server.service.requires
%{_tmpfilesdir}/zabbix_server.conf
%ghost %{_sysconfdir}/alternatives/zabbix_server
%ghost %{_sysconfdir}/alternatives/zabbix_server.service
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}-server
%files proxy
%doc README-SSL.SUSE
%if 0%{?suse_version} < 1500
%config %{SUSEfirewall_services_dir}/zabbix_proxy
%endif
%{_sbindir}/zabbix_proxy
%{_sbindir}/zabbix-proxy
%{_sbindir}/rczabbix_proxy
%dir %{_sysconfdir}/zabbix
%config(noreplace) %attr(0640, root, %{server_group}) %{_sysconfdir}/zabbix/zabbix_proxy.conf
%attr(0770,root,%{server_group}) %dir %{_localstatedir}/log/%{server_user}
%ghost %attr(0770,root,%{server_group}) %dir %{_rundir}/%{server_user}
%{_mandir}/man8/zabbix_proxy.8%{?ext_man}
%{_unitdir}/zabbix_proxy.service
%{_unitdir}/zabbix_proxy.service.requires
%{_tmpfilesdir}/zabbix_proxy.conf
%ghost %{_sysconfdir}/alternatives/zabbix_proxy
%ghost %{_sysconfdir}/alternatives/zabbix_proxy.service
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}-proxy
%files agent
%doc README-SSL.SUSE
%if 0%{?suse_version} < 1500
%config %{SUSEfirewall_services_dir}/zabbix_agentd
%endif
%dir %{_sysconfdir}/zabbix
%config(noreplace) %attr(0640, root, %{agent_group}) %{_sysconfdir}/zabbix/zabbix_agent*.conf
%{_sbindir}/rczabbix_agentd
%{_sbindir}/zabbix_agentd
%{_sbindir}/zabbix-agentd
%{_sbindir}/zabbix_sender
%{_sbindir}/zabbix-sender
%attr(0770,root,%{agent_group}) %dir %{_localstatedir}/log/%{agent_user}
%ghost %attr(0770,root,%{agent_group}) %dir %{_rundir}/%{agent_user}
%{_mandir}/man8/zabbix_agentd.8%{?ext_man}
%{_mandir}/man1/zabbix_sender.1%{?ext_man}
%{_unitdir}/zabbix_agentd.service
%{_tmpfilesdir}/zabbix_agentd.conf
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}-agent
%files phpfrontend
%doc README.SUSE
%dir %{apache_sysconfdir}
%dir %{apache_sysconfdir}/conf.d
%config(noreplace) %{apache_sysconfdir}/conf.d/zabbix.conf
%{_datadir}/zabbix
%files server-mysql
%{_sbindir}/zabbix_server-mysql
%{_sbindir}/zabbix_server
%ghost %{_sysconfdir}/alternatives/zabbix_server
%files server-postgresql
%{_sbindir}/zabbix_server-postgresql
%{_sbindir}/zabbix_server
%ghost %{_sysconfdir}/alternatives/zabbix_server
%files proxy-mysql
%{_sbindir}/zabbix_proxy-mysql
%{_sbindir}/zabbix_proxy
%ghost %{_sysconfdir}/alternatives/zabbix_proxy
%files proxy-postgresql
%{_sbindir}/zabbix_proxy-postgresql
%{_sbindir}/zabbix_proxy
%ghost %{_sysconfdir}/alternatives/zabbix_proxy
%files proxy-sqlite
%{_sbindir}/zabbix_proxy-sqlite
%{_sbindir}/zabbix_proxy
%ghost %{_sysconfdir}/alternatives/zabbix_proxy
%files java-gateway
%if 0%{?suse_version} < 1500
%config %{SUSEfirewall_services_dir}/zabbix-java-gateway
%endif
%dir %{_sysconfdir}/zabbix
%config(noreplace) %attr(0640, root, %{server_group}) %{_sysconfdir}/zabbix/zabbix-java-gateway.conf
%config(noreplace) %attr(0640, root, %{server_group}) %{_sysconfdir}/zabbix/zabbix-java-gateway-log.xml
%dir %{_prefix}/lib/zabbix-java-gateway
%{_bindir}/zabbix-java-gateway
%{_prefix}/lib/zabbix-java-gateway/zabbix-java-gateway-%{version}%{?rclevel}.jar
%{_prefix}/lib/zabbix-java-gateway/android-json-4.3_r3.1.jar
%{_prefix}/lib/zabbix-java-gateway/slf4j-api-1.6.1.jar
%{_prefix}/lib/zabbix-java-gateway/logback-core-0.9.27.jar
%{_prefix}/lib/zabbix-java-gateway/logback-classic-0.9.27.jar
%{_sbindir}/rczabbix-java-gateway
%attr(0770,root,%{server_group}) %dir %{_localstatedir}/log/%{server_user}
%ghost %attr(0770,root,%{server_group}) %dir %{_rundir}/%{server_user}
%{_unitdir}/zabbix-java-gateway.service
%{_tmpfilesdir}/zabbix-java-gateway.conf
%changelog