From patchwork Sat Apr 13 19:01:02 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexey Lukyanchuk X-Patchwork-Id: 1085205 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=busybox.net (client-ip=140.211.166.136; helo=silver.osuosl.org; envelope-from=buildroot-bounces@busybox.net; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=skif-web.ru Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=skif-web.ru header.i=@skif-web.ru header.b="PKzpfBKE"; dkim-atps=neutral Received: from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 44hPHw0PfWz9s70 for ; Sun, 14 Apr 2019 05:01:31 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by silver.osuosl.org (Postfix) with ESMTP id F12B822713; Sat, 13 Apr 2019 19:01:28 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from silver.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ElS5CdgvinzP; Sat, 13 Apr 2019 19:01:26 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by silver.osuosl.org (Postfix) with ESMTP id 5A04B228A7; Sat, 13 Apr 2019 19:01:26 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136]) by ash.osuosl.org (Postfix) with ESMTP id 94B661BF3BE for ; Sat, 13 Apr 2019 19:01:24 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by silver.osuosl.org (Postfix) with ESMTP id 9233A228A7 for ; Sat, 13 Apr 2019 19:01:24 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from silver.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 2pX0cPPDz7rk for ; Sat, 13 Apr 2019 19:01:22 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from forward101j.mail.yandex.net (forward101j.mail.yandex.net [5.45.198.241]) by silver.osuosl.org (Postfix) with ESMTPS id 1FF3322713 for ; Sat, 13 Apr 2019 19:01:22 +0000 (UTC) Received: from mxback11g.mail.yandex.net (mxback11g.mail.yandex.net [IPv6:2a02:6b8:0:1472:2741:0:8b7:90]) by forward101j.mail.yandex.net (Yandex) with ESMTP id 72F2E1BE12DB for ; Sat, 13 Apr 2019 22:01:05 +0300 (MSK) Received: from smtp4j.mail.yandex.net (smtp4j.mail.yandex.net [2a02:6b8:0:1619::15:6]) by mxback11g.mail.yandex.net (nwsmtp/Yandex) with ESMTP id dSdRXfsnZ3-150WZrnv; Sat, 13 Apr 2019 22:01:05 +0300 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=skif-web.ru; s=mail; t=1555182065; bh=380IWLG8fi5ibhKU+YGMtLrkHnYffeVSLziaPH224/Q=; h=Subject:To:From:Message-Id:Cc:Date; b=PKzpfBKEOaOvk0NOJM/zduWJiUlrFqfzg5qu3G5o+9zzZnbtw+xv8PUW51AotWonB esZj7P325C1blp5HtImH7auG5ka4mCzjLS4TgtQU44+UvmwYEhMfmvR6A2MJR/g2zY oaA+PNy6a3ufGyVp31zhYkufvxQBf0IgGTx3f7K8= Authentication-Results: mxback11g.mail.yandex.net; dkim=pass header.i=@skif-web.ru Received: by smtp4j.mail.yandex.net (nwsmtp/Yandex) with ESMTPSA id KmG4byKskF-14ZGBZYr; Sat, 13 Apr 2019 22:01:04 +0300 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client certificate not present) From: Alexey Lukyanchuk To: buildroot@buildroot.org Date: Sat, 13 Apr 2019 22:01:02 +0300 Message-Id: <20190413190102.27538-1-skif@skif-web.ru> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Subject: [Buildroot] [PATCH 1/1] package/zabbix: new package X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Alexey Lukyanchuk Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" Signed-off-by: Alexey Lukyanchuk --- package/Config.in | 4 +- package/zabbix/Config.in | 54 +++++++++++++++++++++ package/zabbix/zabbix-agent.service | 14 ++++++ package/zabbix/zabbix-server.service | 15 ++++++ package/zabbix/zabbix.mk | 70 ++++++++++++++++++++++++++++ 5 files changed, 155 insertions(+), 2 deletions(-) create mode 100644 package/zabbix/Config.in create mode 100644 package/zabbix/zabbix-agent.service create mode 100644 package/zabbix/zabbix-server.service create mode 100644 package/zabbix/zabbix.mk diff --git a/package/Config.in b/package/Config.in index eed842c67a..19a89d5e0c 100644 --- a/package/Config.in +++ b/package/Config.in @@ -2070,8 +2070,8 @@ endif source "package/xinetd/Config.in" source "package/xl2tp/Config.in" source "package/xtables-addons/Config.in" - source "package/znc/Config.in" - + source "package/zabbix/Config.in" + source "package/znc/Config.in" endmenu menu "Package managers" diff --git a/package/zabbix/Config.in b/package/zabbix/Config.in new file mode 100644 index 0000000000..1105c8d2e0 --- /dev/null +++ b/package/zabbix/Config.in @@ -0,0 +1,54 @@ +config BR2_PACKAGE_ZABBIX + bool "zabbix" + default n + select BR2_PACKAGE_LIBCURL + select BR2_PACKAGE_LIBEVENT + select BR2_PACKAGE_PCRE + help + zabbix monitoring system + +if BR2_PACKAGE_ZABBIX + +if (!BR2_PACKAGE_APACHE && !BR2_PACKAGE_NGINX && !BR2_PACKAGE_LIGHTTPD) || !BR2_PACKAGE_ORACLE_MYSQL_SERVER +comment "zabbix server need http server with php and sql server" +endif + +if (BR2_PACKAGE_APACHE || BR2_PACKAGE_NGINX || BR2_PACKAGE_LIGHTTPD) && BR2_PACKAGE_ORACLE_MYSQL_SERVER +config BR2_PACKAGE_ZABBIX_SERVER + bool "zabbix server" + default n + select BR2_PACKAGE_PHP + select BR2_PACKAGE_PHP_EXT_CTYPE + select BR2_PACKAGE_PHP_EXT_GETTEXT + select BR2_PACKAGE_PHP_EXT_BCMATH + select BR2_PACKAGE_PHP_EXT_MBSTRING + select BR2_PACKAGE_PHP_EXT_SOCKETS + select BR2_PACKAGE_PHP_EXT_MYSQLI + select BR2_PACKAGE_PHP_EXT_PDO_MYSQL + select BR2_PACKAGE_PHP_EXT_GD + select BR2_PACKAGE_PHP_EXT_LIBXML2 + select BR2_PACKAGE_PHP_EXT_XMLREADER + select BR2_PACKAGE_PHP_EXT_XMLWRITER + select BR2_PACKAGE_PHP_EXT_SESSION + help + Zabbix monitoring server +endif +if BR2_PACKAGE_ZABBIX_SERVER +choice + prompt "zabbix server database backend" + default BR2_PACKAGE_ZABBIX_SERVER_MYSQL +config BR2_PACKAGE_ZABBIX_SERVER_MYSQL + bool "mysql" +config BR2_PACKAGE_ZABBIX_SERVER_POSTGRESQL + bool "posgresql" +endchoice + +config BR2_PACKAGE_ZABBIX_SERVER_HTML_ROOT + string "Location of frontend files" + default "/usr/htdocs" +endif + +config BR2_PACKAGE_ZABBIX_CLIENT + bool "zabbix client" + default n +endif diff --git a/package/zabbix/zabbix-agent.service b/package/zabbix/zabbix-agent.service new file mode 100644 index 0000000000..b46c91e30b --- /dev/null +++ b/package/zabbix/zabbix-agent.service @@ -0,0 +1,14 @@ +Description=Zabbix Agent Daemon +After=syslog.target network.target mysql.service + +[Service] +Type=forking +ExecStart=/usr/sbin/zabbix_agentd +ExecReload=/usr/sbin/zabbix_agentd -R config_cache_reload +PIDFile=/tmp/zabbix_agentd.pid + +User=zabbix +Group=zabbix + +[Install] +WantedBy=multi-user.target diff --git a/package/zabbix/zabbix-server.service b/package/zabbix/zabbix-server.service new file mode 100644 index 0000000000..f4a8d599ad --- /dev/null +++ b/package/zabbix/zabbix-server.service @@ -0,0 +1,15 @@ +Description=Zabbix Server Daemon +Requires=mysql.service +After=syslog.target network.target mysql.service + +[Service] +Type=forking +ExecStart=/usr/sbin/zabbix_server +ExecReload=/usr/sbin/zabbix_server -R config_cache_reload +PIDFile=/tmp/zabbix_server.pid + +User=zabbix +Group=zabbix + +[Install] +WantedBy=multi-user.target diff --git a/package/zabbix/zabbix.mk b/package/zabbix/zabbix.mk new file mode 100644 index 0000000000..f4024751a9 --- /dev/null +++ b/package/zabbix/zabbix.mk @@ -0,0 +1,70 @@ +################################################################################ +# +#zabbix +# +################################################################################ + +ZABBIX_VERSION = 4.2.0 +ZABBIX_SITE = https://sourceforge.net/projects/zabbix/files + +ZABBIX_INSTALL_STAGING = YES +ZABBIX_DEPENDENCIES += pcre libcurl libevent +ZABBIX_CONF_OPTS = --with-libcurl --with-libevent +ifeq ($(BR2_PACKAGE_ZABBIX_SERVER),y) +ZABBIX_CONF_OPTS += --enable-server +ZABBIX_DEPENDENCIES += php mysql +ZABBIX_POST_INSTALL_TARGET_HOOKS += ZABBIX_COPY_FRONTEND +ZABBIX_POST_INSTALL_TARGET_HOOKS += ZABBIX_COPY_SQL_SCHEMA_FILES +endif + +ifeq ($(BR2_PACKAGE_ZABBIX_CLIENT),y) +ZABBIX_CONF_OPTS += --enable-agent +endif + +ifeq ($(BR2_PACKAGE_ZABBIX_SERVER_MYSQL),y) +ZABBIX_CONF_OPTS += --with-mysql=$(STAGING_DIR)/usr/bin/mysql_config +ZABBIX_POST_INSTALL_TARGET_HOOKS += ZABBIX_COPY_MYSQL_SQL_SCHEMA_FILES +endif + +ifeq ($(BR2_PACKAGE_ZABBIX_SERVER_POSTGRESQL),y) +ZABBIX_CONF_OPTS += --with-postgresql +ZABBIX_POST_INSTALL_TARGET_HOOKS += ZABBIX_COPY_POSTGRESQL_SQL_SCHEMA_FILES +endif + +define ZABBIX_COPY_FRONTEND + mkdir -p $(TARGET_DIR)/$(BR2_PACKAGE_ZABBIX_SERVER_HTML_ROOT) + cp -r $(@D)/frontends/php/* $(TARGET_DIR)/$(BR2_PACKAGE_ZABBIX_SERVER_HTML_ROOT) +endef + +define ZABBIX_COPY_POSTGRESQL_SQL_SCHEMA_FILES + mkdir -p $(TARGET_DIR)/usr/zabbix/ + cp -r $(@D)/database/postgresql $(TARGET_DIR)/usr/zabbix/ +endef + +define ZABBIX_COPY_MYSQL_SQL_SCHEMA_FILES + mkdir -p $(TARGET_DIR)/usr/zabbix/ + cp -r $(@D)/database/mysql $(TARGET_DIR)/usr/zabbix/ +endef + +define ZABBIX_SERVER_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/zabbix/zabbix-server.service $(TARGET_DIR)/usr/lib/systemd/system/zabbix-server.service +endef + +define ZABBIX_AGENT_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/zabbix/zabbix-agent.service $(TARGET_DIR)/usr/lib/systemd/system/zabbix-agent.service +endef + +ifeq ($(BR2_INIT_SYSTEMD),y) +ifeq ($(BR2_PACKAGE_ZABBIX_CLIENT),y) +ZABBIX_POST_INSTALL_TARGET_HOOKS += ZABBIX_AGENT_INSTALL_INIT_SYSTEMD +endif +ifeq ($(BR2_PACKAGE_ZABBIX_SERVER),y) +ZABBIX_POST_INSTALL_TARGET_HOOKS += ZABBIX_SERVER_INSTALL_INIT_SYSTEMD +endif +endif + +define ZABBIX_USERS + zabbix -1 zabbix -1 !- /var/lib/zabbix - zabbix zabbix user +endef + +$(eval $(autotools-package))