[102400] trunk/dports/net/zabbix2
eborisch at macports.org
eborisch at macports.org
Fri Feb 1 12:36:09 PST 2013
Revision: 102400
https://trac.macports.org/changeset/102400
Author: eborisch at macports.org
Date: 2013-02-01 12:36:09 -0800 (Fri, 01 Feb 2013)
Log Message:
-----------
zabbix2[-agent]: Split agent into subport. Portfile cleanup.
Modified Paths:
--------------
trunk/dports/net/zabbix2/Portfile
trunk/dports/net/zabbix2/files/zabbix_server.init
Removed Paths:
-------------
trunk/dports/net/zabbix2/files/zabbix_agentd.init
Modified: trunk/dports/net/zabbix2/Portfile
===================================================================
--- trunk/dports/net/zabbix2/Portfile 2013-02-01 20:32:48 UTC (rev 102399)
+++ trunk/dports/net/zabbix2/Portfile 2013-02-01 20:36:09 UTC (rev 102400)
@@ -5,7 +5,7 @@
name zabbix2
version 2.0.4
-revision 0
+revision 1
categories net
maintainers openmaintainer
platforms darwin
@@ -30,16 +30,17 @@
rmd160 f36277f1f10b569a9bea49d05d76e3caa9601f05 \
sha256 7554223a927229b6317d211d413826fb0b2a974f460a9db9075b376a241a0051
-depends_lib port:fping \
- port:curl \
- port:OpenIPMI
+universal_variant no
+depends_lib port:OpenIPMI
+
conflicts zabbix
-configure.args --enable-server \
- --enable-agent \
- --with-net-snmp \
- --bindir=${prefix}/bin/zabbix \
+dist_subdir zabbix2
+
+subport zabbix2-agent {}
+
+configure.args --bindir=${prefix}/bin/zabbix \
--sbindir=${prefix}/sbin/zabbix \
--libexecdir=${prefix}/libexec/zabbix \
--datadir=${prefix}/share/zabbix \
@@ -50,70 +51,79 @@
configure.ldflags-append -lresolv
-if { [variant_isset agent_only] } {
- startupitem.create yes
- startupitem.start "${prefix}/share/zabbix/zabbix_agentd.init start"
- startupitem.stop "${prefix}/share/zabbix/zabbix_agentd.init stop"
-} else {
- startupitem.create yes
- startupitem.start "${prefix}/share/zabbix/zabbix_server.init start"
- startupitem.stop "${prefix}/share/zabbix/zabbix_server.init stop"
-}
+startupitem.create yes
-variant mysql5 conflicts pgsql81 pgsql82 pgsql83 pgsql84 sqlite3 \
- description {Use MySQL 5.x for server database} {
- depends_lib-append path:bin/mysql_config5:mysql5
- configure.args-append --with-mysql=${prefix}/lib/mysql5/bin/mysql_config
-}
+if { ${subport} != ${name} } {
+ startupitem.name zabbix2-agentd
+ startupitem.executable \
+ ${prefix}/sbin/zabbix/zabbix_agentd \
+ -c ${prefix}/etc/zabbix/zabbix_agentd.conf
+ startupitem.pidfile clean /tmp/zabbix_agentd.pid
-variant pgsql81 conflicts mysql5 pgsql82 pgsql83 pgsql84 sqlite3 \
- description {Use PostgreSQL 8.1.x for server database} {
- depends_lib-append port:postgresql81
- configure.args-append --with-pgsql=${prefix}/lib/postgresql81/bin/pg_config
-}
+ configure.args-append --enable-agent
+} else {
+ depends_lib-append port:fping \
+ port:curl
-variant pgsql82 conflicts mysql5 pgsql81 pgsql83 pgsql84 sqlite3 \
- description {Use PostgreSQL 8.2.x for server database} {
- depends_lib-append port:postgresql82
- configure.args-append --with-pgsql=${prefix}/lib/postgresql82/bin/pg_config
-}
+ configure.args-append --enable-server \
+ --with-net-snmp
-variant pgsql83 conflicts mysql5 pgsql81 pgsql82 pgsql84 sqlite3 \
- description {Use PostgreSQL 8.3.x for server database} {
- depends_lib-append port:postgresql83
- configure.args-append --with-pgsql=${prefix}/lib/postgresql83/bin/pg_config
-}
+ startupitem.name zabbix2-server
+ startupitem.start "${prefix}/share/zabbix/zabbix_server.init start"
+ startupitem.stop "${prefix}/share/zabbix/zabbix_server.init stop"
-variant pgsql84 conflicts mysql5 pgsql81 pgsql82 pgsql83 sqlite3 \
- description {Use PostgreSQL 8.4.x for server database} {
- depends_lib-append port:postgresql84
- configure.args-append --with-pgsql=${prefix}/lib/postgresql84/bin/pg_config
-}
+ array set DBLIST {
+ mysql5 {"MySQL 5.x" path:bin/mysql_config5:mysql5 \
+ mysql=${prefix}/lib/mysql5/bin/mysql_config}
+ pgsql81 {"PostgreSQL 8.1.x" port:postgresql81 \
+ pgsql=${prefix}/lib/postgresql81/bin/pg_config}
+ pgsql82 {"PostgreSQL 8.2.x" port:postgresql82 \
+ pgsql=${prefix}/lib/postgresql82/bin/pg_config}
+ pgsql83 {"PostgreSQL 8.3.x" port:postgresql83 \
+ pgsql=${prefix}/lib/postgresql83/bin/pg_config}
+ pgsql84 {"PostgreSQL 8.4.x" port:postgresql84 \
+ pgsql=${prefix}/lib/postgresql84/bin/pg_config}
+ sqlite3 {"SQLite 3.x" port:sqlite3 \
+ sqlite3=${prefix}}
+ }
+ set DBLIST_KEYS [lsort [array names DBLIST]]
-variant sqlite3 conflicts mysql5 pgsql81 pgsql82 pgsql83 pgsql84 \
- description {Use SQLite 3.x for server database} {
- depends_lib-append port:sqlite3
- configure.args-append --with-sqlite3=${prefix}
-}
+ foreach dbitem $DBLIST_KEYS {
+ set this_key [lsearch $DBLIST_KEYS $dbitem]
+ set conf_list [lreplace $DBLIST_KEYS $this_key $this_key]
+ set prms $DBLIST($dbitem)
-variant agent_only conflicts mysql5 pgsql81 pgsql82 pgsql83 pgsql84 sqlite3 \
- description {Do not install the Zabbix server} {
- depends_lib-delete port:fping \
- port:curl
+ variant $dbitem \
+ description "Use [lindex $prms 0] for server database" \
+ conflicts $conf_list "
+ depends_lib-append [lindex $prms 1]
+ configure.args-append --with-[lindex $prms 2]
+ "
+ }
- configure.args-delete --enable-server \
- --with-net-snmp
-}
+ if {![variant_isset pgsql81] &&
+ ![variant_isset pgsql82] &&
+ ![variant_isset pgsql83] &&
+ ![variant_isset pgsql84] &&
+ ![variant_isset sqlite3]} {
+ default_variants +mysql5
+ }
-if {![variant_isset pgsql81] && ![variant_isset pgsql82] && ![variant_isset pgsql83] && ![variant_isset pgsql84] && ![variant_isset sqlite3] && ![variant_isset agent_only]} {
- default_variants +mysql5
+# Notify anyone with +agent_only installed of new zabbix2-agent port
+ variant agent_only description {Old variant -- install zabbix2-agent} {
+ pre-fetch {
+ ui_error \
+ "Variant 'zabbix2 +agent_only' replaced by port zabbix2-agent"
+ return -code error "+agent_only variant replaced by zabbix2-agent"
+ }
+ }
}
post-extract {
- reinplace "s|#DBSocket=/tmp/mysql.sock|DBSocket=${prefix}/var/run/mysql5/mysqld.sock|g" \
+ reinplace "s|# DBSocket=/tmp/mysql.sock|DBSocket=${prefix}/var/run/mysql5/mysqld.sock|" \
${worksrcpath}/conf/zabbix_server.conf
- reinplace "s|#FpingLocation=/usr/sbin/fping|FpingLocation=${prefix}/sbin/fping|g" \
+ reinplace "s|#FpingLocation=/usr/sbin/fping|FpingLocation=${prefix}/sbin/fping|" \
${worksrcpath}/conf/zabbix_server.conf
}
@@ -122,84 +132,68 @@
}
post-destroot {
-
-if { [variant_isset agent_only] } {
-# Don't install MySQL data and frontend stuff for agent_only
-
+ if { ${name} != ${subport} } {
+ ####### AGENT #######
# Copy sample agent .conf files
- xinstall -d -m 755 -d ${destroot}${prefix}/etc/zabbix
- xinstall -m 755 ${worksrcpath}/conf/zabbix_agent.conf \
- ${destroot}${prefix}/etc/zabbix/zabbix_agent.conf.sample
- xinstall -m 755 ${worksrcpath}/conf/zabbix_agentd.conf \
- ${destroot}${prefix}/etc/zabbix/zabbix_agentd.conf.sample
+ xinstall -d -m 755 -d ${destroot}${prefix}/etc/zabbix
+ xinstall -m 755 ${worksrcpath}/conf/zabbix_agent.conf \
+ ${destroot}${prefix}/etc/zabbix/zabbix_agent.conf.sample
+ xinstall -m 755 ${worksrcpath}/conf/zabbix_agentd.conf \
+ ${destroot}${prefix}/etc/zabbix/zabbix_agentd.conf.sample
-# Copy a startup script for the agent
- xinstall -d -m 755 -d ${destroot}${prefix}/share/zabbix
- xinstall -m 755 ${portpath}/${filesdir}/zabbix_agentd.init \
- ${destroot}${prefix}/share/zabbix
- reinplace "s|__PREFIX__|${prefix}|g" \
- ${destroot}${prefix}/share/zabbix/zabbix_agentd.init
-} else {
-
+# Don't overwrite user settings on each install
+ delete ${destroot}${prefix}/etc/zabbix/zabbix_agentd.conf
+ delete ${destroot}${prefix}/etc/zabbix/zabbix_agent.conf
+ } else {
+ ####### SERVER #######
# Copy sample server and agent .conf files
- xinstall -d -m 755 -d ${destroot}${prefix}/etc/zabbix
- xinstall -m 755 ${worksrcpath}/conf/zabbix_agent.conf \
- ${destroot}${prefix}/etc/zabbix/zabbix_agent.conf.sample
- xinstall -m 755 ${worksrcpath}/conf/zabbix_agentd.conf \
- ${destroot}${prefix}/etc/zabbix/zabbix_agentd.conf.sample
- xinstall -m 755 ${worksrcpath}/conf/zabbix_server.conf \
- ${destroot}${prefix}/etc/zabbix/zabbix_server.conf.sample
- delete ${destroot}${prefix}/etc/zabbix/zabbix_server.conf
- delete ${destroot}${prefix}/etc/zabbix/zabbix_agentd.conf
- delete ${destroot}${prefix}/etc/zabbix/zabbix_agent.conf
+ xinstall -d -m 755 -d ${destroot}${prefix}/etc/zabbix
+ xinstall -m 755 ${worksrcpath}/conf/zabbix_server.conf \
+ ${destroot}${prefix}/etc/zabbix/zabbix_server.conf.sample
+# Don't overwrite user settings on each install
+ delete ${destroot}${prefix}/etc/zabbix/zabbix_server.conf
+
# Copy database data and schemas
- xinstall -d -m 755 -d ${destroot}${prefix}/share/zabbix/data
- xinstall -d -m 755 -d ${destroot}${prefix}/share/zabbix/schema
+ xinstall -d -m 755 -d ${destroot}${prefix}/share/zabbix/data
+ xinstall -d -m 755 -d ${destroot}${prefix}/share/zabbix/schema
- eval xinstall -m 755 ${worksrcpath}/database/mysql/data.sql \
- ${destroot}${prefix}/share/zabbix/data
- eval xinstall -m 755 ${worksrcpath}/database/mysql/images.sql \
- ${destroot}${prefix}/share/zabbix/data
- eval xinstall -m 755 ${worksrcpath}/database/mysql/schema.sql \
- ${destroot}${prefix}/share/zabbix/schema
+ eval xinstall -m 755 ${worksrcpath}/database/mysql/data.sql \
+ ${destroot}${prefix}/share/zabbix/data
+ eval xinstall -m 755 ${worksrcpath}/database/mysql/images.sql \
+ ${destroot}${prefix}/share/zabbix/data
+ eval xinstall -m 755 ${worksrcpath}/database/mysql/schema.sql \
+ ${destroot}${prefix}/share/zabbix/schema
- file copy ${worksrcpath}/upgrades \
- ${destroot}${prefix}/share/zabbix/
+ file copy ${worksrcpath}/upgrades \
+ ${destroot}${prefix}/share/zabbix/
# Copy the front end files
+ file mkdir ${destroot}${prefix}/share/zabbix/frontends/
+ file copy ${worksrcpath}/frontends/php/ \
+ ${destroot}${prefix}/share/zabbix/frontends/
- file mkdir ${destroot}${prefix}/share/zabbix/frontends/
- file copy ${worksrcpath}/frontends/php/ \
- ${destroot}${prefix}/share/zabbix/frontends/
-
# Create a startup script for the server
- xinstall -m 755 ${portpath}/${filesdir}/zabbix_server.init \
- ${destroot}${prefix}/share/zabbix
- reinplace "s|__PREFIX__|${prefix}|g" \
- ${destroot}${prefix}/share/zabbix/zabbix_server.init
+# This script has a delay built into it (waiting for DB to start) so we
+# don't use a simple startupitem.executable approach
+ xinstall -m 755 ${portpath}/${filesdir}/zabbix_server.init \
+ ${destroot}${prefix}/share/zabbix
+ reinplace "s|__PREFIX__|${prefix}|g" \
+ ${destroot}${prefix}/share/zabbix/zabbix_server.init
-# Create a startup script for the agent
- xinstall -m 755 ${portpath}/${filesdir}/zabbix_agentd.init \
- ${destroot}${prefix}/share/zabbix
- reinplace "s|__PREFIX__|${prefix}|g" \
- ${destroot}${prefix}/share/zabbix/zabbix_agentd.init
-
# Set permissions for etc (protect passwords) and the frontend
- system "chmod 660 ${destroot}${prefix}/etc/zabbix/*"
- system "chown zabbix:zabbix ${destroot}${prefix}/etc/zabbix/*"
- system "chown -R www:www ${destroot}${prefix}/share/zabbix/frontends/*"
+ system "chmod 660 ${destroot}${prefix}/etc/zabbix/*"
+ system "chown zabbix:zabbix ${destroot}${prefix}/etc/zabbix/*"
+ system "chown -R www:www ${destroot}${prefix}/share/zabbix/frontends/*"
-# End else clause - Done with server stuff
+ xinstall -d -m 755 -d \
+ ${destroot}${prefix}/share/zabbix/zabbix_agent_win32
+ xinstall -m 755 ${worksrcpath}/bin/win32/zabbix_agentd.exe \
+ ${destroot}${prefix}/share/zabbix/zabbix_agent_win32
+ }
}
-# Copy Win32 agent for normal and agent_only installs
- xinstall -d -m 755 -d ${destroot}${prefix}/share/zabbix/zabbix_agent_win32
- xinstall -m 755 ${worksrcpath}/bin/win32/zabbix_agentd.exe \
- ${destroot}${prefix}/share/zabbix/zabbix_agent_win32
-}
-
-if {[variant_isset agent_only]} {
+if { ${name} != ${subport} } {
notes "
#### ####
#### ZABBIX2 agent installation section ####
@@ -215,12 +209,8 @@
2) Set zabbix_agentd to run at system boot
- sudo port load zabbix2
+ sudo port load zabbix2-agent
- To start Zabbix manually, use:
- ${prefix}/share/zabbix/zabbix_agentd.init start (stop|status)
-
-
3) A Win32 agent is in ${prefix}/share/zabbix/zabbix_agent_win32 for\
installation on Windows NT 4.0, Windows 2000, and Windows XP.
@@ -286,8 +276,8 @@
To start Zabbix manually, use:
${prefix}/share/zabbix/zabbix_server.init start (stop|status)
- Note: Your shared memory will likely need to be increased
- (see http://support.apple.com/kb/HT4022)
+ !! Note: Your shared memory will likely need to be increased !!
+ !! (see http://support.apple.com/kb/HT4022) !!
7) A Win32 agent is in ${prefix}/share/zabbix/zabbix_agent_win32 for\
installation on Windows NT 4.0, Windows 2000, and Windows XP. See\
Deleted: trunk/dports/net/zabbix2/files/zabbix_agentd.init
===================================================================
--- trunk/dports/net/zabbix2/files/zabbix_agentd.init 2013-02-01 20:32:48 UTC (rev 102399)
+++ trunk/dports/net/zabbix2/files/zabbix_agentd.init 2013-02-01 20:36:09 UTC (rev 102400)
@@ -1,26 +0,0 @@
-#!/bin/sh
-
-case "$1" in
- start)
- echo -n "Starting zabbix_agentd "
- sudo -u zabbix __PREFIX__/sbin/zabbix/zabbix_agentd -c __PREFIX__/etc/zabbix/zabbix_agentd.conf
- ;;
-
- stop)
- echo -n "Shutting down zabbix_agentd"
- pid=`ps axc|awk "{if (\\$5==\"zabbix_agent\") print \\$1}"`
- /bin/kill $pid
- rm /var/tmp/zabbix_agentd.pid
- ;;
- restart)
- $0 stop
- $0 start
- ;;
- status)
- /bin/ps -ax |/usr/bin/grep zabbix_agentd
- ;;
- *)
- echo "Usage: $0 {start|stop|restart|status}"
- exit 1
-esac
-
Modified: trunk/dports/net/zabbix2/files/zabbix_server.init
===================================================================
--- trunk/dports/net/zabbix2/files/zabbix_server.init 2013-02-01 20:32:48 UTC (rev 102399)
+++ trunk/dports/net/zabbix2/files/zabbix_server.init 2013-02-01 20:36:09 UTC (rev 102400)
@@ -11,7 +11,7 @@
echo -n "Shutting down zabbix_server"
pid=`ps axc|awk "{if (\\$5==\"zabbix_server\") print \\$1}"`
/bin/kill $pid
- rm /var/tmp/zabbix_server.pid
+ rm /tmp/zabbix_server.pid
;;
restart)
$0 stop
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20130201/13cf401d/attachment-0001.html>
More information about the macports-changes
mailing list