aboutsummaryrefslogtreecommitdiffstats
path: root/main/nagios-plugins/APKBUILD
blob: b9acd46b176527f6586e272cde88647425acc321 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
# Contributor: Łukasz Jendrysik <scadu@yandex.com>
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Maintainer: Jeff Bilyk <jbilyk@gmail.com>
pkgname=nagios-plugins
pkgver=2.1.3
pkgrel=0
pkgdesc="Plugins for Nagios to check services on hosts"
url="http://nagiosplugins.org"
arch="all"
license="GPL2"
depends=""
depends_by_ssh="openssh-client"
depends_dig="bind-tools"
depends_disk_smb="samba-client"
depends_dns="bind-tools"
depends_fping="fping"
depends_log="grep"
depends_rcp="rpcbind"
depends_sensors="grep lm_sensors"
depends_snmp="net-snmp-tools"
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"
install="$pkgname.post-upgrade"
pkgusers="nagios"
pkggroups="nagios"
options="suid"
source="https://www.nagios-plugins.org/download/$pkgname-$pkgver.tar.gz"
builddir="$srcdir/$pkgname-$pkgver"

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

# Note: Split function takes $name*, so ntp must be before nt etc.
_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; do
	subpackages="$subpackages $pkgname-$_sub:_plugin"
done
subpackages="$subpackages $pkgname-tcp $pkgname-all:_all"  # all must be the last


prepare() {
	cd "$builddir"
	update_config_sub
}

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" \
		--with-ps-format="%d %s %s %s" \
		--with-ps-varlist="&procpid,&procuid,&procpcpu,procprog" \
		--with-ps-cols=4 \
		--with-ping-command="/bin/ping -c %d %s" \
		--disable-nls \
		|| return 1
	make all
}

package() {
	cd "$builddir"

	make DESTDIR="$pkgdir" install || return 1

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

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

	return 0
}

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

	mkdir -p "$destdir"
	local name; for name in tcp $plugins; do
		mv "$pkgdir/$_plugins_dir"/check_$name "$destdir"/ || return 1
	done
}

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

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

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

_all() {
	pkgdesc="Metapackage that installs *all* Nagios plugins from the nagios-plugins package"
	depends="${subpackages% all}"
	arch="noarch"

	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_*; do
		[ -r "$path" ] || continue
		error "Please create a subpackage for ${path##*/} or remove it"
		retval=1
	done
	return $retval
}

md5sums="b7cabb283cb6d1f18439217461aa1f44  nagios-plugins-2.1.3.tar.gz"
sha256sums="46f57d4b2379f4255719be7605290ec90639b9f411be78091e8971cf54f15453  nagios-plugins-2.1.3.tar.gz"
sha512sums="3d607ebc747214126505d043b8005d2a0820fd2092ae49d4cc4ca5ab103d2fd1b0a8f3cb71745b51a0c05bf7f4def26da4332dd37eae314637c8d1e604a4a56f  nagios-plugins-2.1.3.tar.gz"