# Contributor: Ɓukasz Jendrysik <scadu@yandex.com>
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Maintainer: Jeff Bilyk <jbilyk@gmail.com>
setvar pkgname = 'nagios-plugins'
setvar pkgver = '2.2.1'
setvar pkgrel = '2'
setvar pkgdesc = ""Plugins for Nagios to check services on hosts""
setvar url = ""https://nagios-plugins.org""
setvar arch = ""all""
setvar license = ""GPL2""
setvar depends = """"
setvar depends_by_ssh = ""openssh-client""
setvar depends_dig = ""bind-tools""
setvar depends_disk_smb = ""samba-client""
setvar depends_dns = ""bind-tools""
setvar depends_fping = ""fping""
setvar depends_log = ""grep""
setvar depends_rcp = ""rpcbind""
setvar depends_sensors = ""grep lm_sensors""
setvar depends_snmp = ""net-snmp-tools""
setvar makedepends = ""openssh-client bind-tools samba-client fping grep rpcbind
	lm_sensors net-snmp-tools
	file freeradius-client-dev libdbi-dev libpq linux-headers mariadb-dev
	net-snmp-dev openldap-dev opensmtpd libressl-dev postgresql-dev""
setvar install = ""$pkgname.post-upgrade""
setvar pkgusers = ""nagios""
setvar pkggroups = ""nagios""
setvar options = ""suid""
setvar source = ""https://www.nagios-plugins.org/download/$pkgname-$pkgver.tar.gz
	check_openrc
	nagios-openrc.sudoers""
setvar builddir = ""$srcdir/$pkgname-$pkgver""

setvar _plugins_dir = ""/usr/lib/nagios/plugins""

# Note: Split function takes $name*, so ntp must be before nt etc.
setvar _plugins = ""breeze by_ssh cluster dbi dhcp dig disk_smb disk dns dummy file_age
	fping hpjd http icmp ide_smart ifoperstatus ifstatus ircd ldap load log
	mailq mrtgtraf mrtg mysql nagios ntp nt nwstat overcr pgsql ping
	procs radius real rpc sensors smtp snmp ssh swap time ups uptime users
	wave""
for _sub in $_plugins {
	setvar subpackages = ""$subpackages $pkgname-$_sub:_plugin""
}
setvar subpackages = ""$subpackages
	$pkgname-openrc:_openrc:noarch
	$pkgname-tcp
	$pkgname-all:_all""  # all must be the last
setvar _plugins = ""$_plugins openrc tcp""


proc prepare {
	cd $builddir
	update_config_sub
}

proc build {
	cd $builddir

	./configure \
		--build=$CBUILD \
		--host=$CHOST \
		--prefix=/usr \
		--mandir=/usr/share/man \
		--infodir=/usr/share/info \
		--bindir=/usr/sbin \
		--libexecdir="/$_plugins_dir" \
		--localstatedir=/var/nagios \
		--with-ipv6 \
		--with-ps-command="/bin/ps -o stat,pid,ppid,vsz,rss,comm,args" \
		--with-ps-format="%s %d %d %d %d %s %n" \
		--with-ps-varlist="procstat,&procpid,&procppid,&procvsz,&procrss,procprog,&pos" \
		--with-ps-cols=7 \
		--with-ping-command="/bin/ping -c %d %s" \
		--disable-nls
	make all
}

proc package {
	cd $builddir

	make DESTDIR="$pkgdir" install

	# Remove plugins that are useless or doesn't work on Alpine.
	local name; for name in apt flexlm oracle {
		rm "$pkgdir/$_plugins_dir"/check_$name
	}

	rm -rf "$pkgdir"/usr/lib/charset.alias
	rmdir -p "$pkgdir"/usr/lib "$pkgdir"/usr/include 2>/dev/null || true
}

proc tcp {
	local plugins=" clamd ftp imap jabber nntp nntps pop simap spop ssmtp udp"
	local destdir="$subpkgdir/$_plugins_dir"
	setvar pkgdesc = ""Nagios plugins check_tcp${plugins// /, check_}""
	setvar provides = "${plugins// /$pkgname-}"

	mkdir -p $destdir
	local name; for name in tcp $plugins {
		mv "$pkgdir/$_plugins_dir"/check_$name "$destdir"/
	}
}

proc _openrc {
	setvar pkgdesc = ""Nagios plugin check_openrc""
	setvar depends = ""$pkgname openrc sudo""

	install -m 755 -D "$srcdir"/check_openrc \
		"$subpkgdir"/$_plugins_dir/check_openrc
	install -m 600 -D "$srcdir"/nagios-openrc.sudoers \
		"$subpkgdir"/etc/sudoers.d/nagios-openrc
}

proc _plugin {
	local name="${subpkgname#$pkgname-}"
	local destdir="$subpkgdir/$_plugins_dir"
	setvar pkgdesc = ""Nagios plugin check_$name""
	setvar depends = ""$pkgname $(eval "echo \$depends_$name")""

	mkdir -p $destdir
	mv "$pkgdir/$_plugins_dir"/check_$name* "$destdir"/

	if file -bi "$destdir"/* | grep -qw text/x-perl {
		setvar depends = ""$depends perl""
	}
#	if ! file -bi "$destdir"/* | grep -qw application/x-sharedlib; then
#		arch="noarch"
#	fi
}

proc _all {
	setvar pkgdesc = ""Metapackage that installs *all* Nagios plugins from the nagios-plugins package""

	setvar depends = ''''
	local plugin; for plugin in $_plugins {
		setvar depends = ""$depends $pkgname-$plugin""
	}

	mkdir -p $subpkgdir

	# We exploit the fact that the -all subpackage is created last
	# and check if all the plugins have been moved to subpackages.
	local path= retval=0
	for path in "$pkgdir/$_plugins_dir"/check_* {
		test -r $path || continue
		error "Please create a subpackage for ${path##*/} or remove it"
		setvar retval = '1'
	}
	return $retval
}

setvar sha512sums = ""6ffe313a56a305b382f62abc0f0958d7078f9050e1340f30721d6e6f71944b57b1650e90e6835c35dd7c9f3f4b4cee9f235b8382b0811db30b3729daaafc9bc3  nagios-plugins-2.2.1.tar.gz
12d87542631494df1c961e547c19107a025829509e174e8208111736141c12e20dbf490c55d487af39d47cefca5507cd98c973b7b20ae3f961dcbfd167195d8e  check_openrc
171c9ad14d1027541b78df76063e6d34483dd536219fb83e0346e191739529d59c8d6be468af7f1c4c93b20baf9a32879510f15ec3d06aa1eefaf5d785ea8546  nagios-openrc.sudoers""