Add zabix agent configuration and init script (#3936)
[openwrt/svn-archive/archive.git] / admin / zabbix / Makefile
index 0b2b13c0922ed26a81449b6ff6b131a1f6820e17..d52507b3eb1cc4370b5767ad52229f6a929243cb 100644 (file)
@@ -15,10 +15,6 @@ PKG_MD5SUM:=698a07f4e53820e44ef4a72c7c191e92
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=@SF/zabbix
-PKG_CAT:=zcat
-
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
-PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
 
 PKG_BUILD_DEPENDS:=libsqlite3
 
@@ -81,14 +77,52 @@ endef
 
 define Package/zabbix-agent/install
        $(INSTALL_DIR) $(1)/usr/sbin
-       $(CP) $(PKG_INSTALL_DIR)/usr/sbin/zabbix_agentd $(1)/usr/sbin/
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/zabbix_agentd $(1)/usr/sbin/
        $(INSTALL_DIR) $(1)/etc/zabbix
-       $(INSTALL_CONF) $(PKG_BUILD_DIR)/misc/conf/zabbix_agentd.conf $(1)/etc/zabbix/
+       $(INSTALL_CONF) ./files/zabbix_agentd.conf $(1)/etc/zabbix/
+       $(INSTALL_DIR) $(1)/etc/init.d
+       $(INSTALL_BIN) ./files/zabbix_agentd.init $(1)/etc/init.d/zabbix_agentd
+endef
+
+define Package/zabbix-agent/postinst
+#!/bin/sh
+  
+name=zabbix
+id=53
+  
+# do not change below
+# check if we are on real system
+if [ -z "$${IPKG_INSTROOT}" ]; then
+       # create copies of passwd and group, if we use squashfs
+       rootfs=`mount |awk '/root/ { print $$5 }'`
+       if [ "$$rootfs" = "squashfs" ]; then
+               if [ -h /etc/group ]; then
+                       rm /etc/group
+                       cp /rom/etc/group /etc/group
+               fi
+               if [ -h /etc/passwd ]; then
+                       rm /etc/passwd
+                       cp /rom/etc/passwd /etc/passwd
+               fi
+       fi
+fi
+
+echo ""
+if [ -z "$$(grep ^\\$${name}: $${IPKG_INSTROOT}/etc/group)" ]; then 
+       echo "adding group $$name to /etc/group"
+       echo "$${name}:x:$${id}:" >> $${IPKG_INSTROOT}/etc/group  
+fi
+
+if [ -z "$$(grep ^\\$${name}: $${IPKG_INSTROOT}/etc/passwd)" ]; then 
+       echo "adding user $$name to /etc/passwd"
+       echo "$${name}:x:$${id}:$${id}:$${name}:/tmp/.$${name}:/bin/false" >> $${IPKG_INSTROOT}/etc/passwd
+fi
+
 endef
 
 define Package/zabbix-sender/install
        $(INSTALL_DIR) $(1)/usr/sbin
-       $(CP) $(PKG_INSTALL_DIR)/usr/sbin/zabbix_sender $(1)/usr/sbin/
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/zabbix_sender $(1)/usr/sbin/
        $(INSTALL_DIR) $(1)/etc/zabbix
 endef
 
@@ -98,7 +132,7 @@ endef
 
 define Package/zabbix-server/install
        $(INSTALL_DIR) $(1)/usr/sbin
-       $(CP) $(PKG_INSTALL_DIR)/usr/sbin/zabbix_server $(1)/usr/sbin/
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/zabbix_server $(1)/usr/sbin/
        $(INSTALL_DIR) $(1)/etc/zabbix
        $(INSTALL_CONF) $(PKG_BUILD_DIR)/misc/conf/zabbix_server.conf $(1)/etc/zabbix/
 endef