summaryrefslogtreecommitdiff
path: root/user/net-snmp/APKBUILD
blob: 428f0b525ae0c6f9b4e74e4d6bb39594283d2493 (plain) (blame)
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
139
140
141
142
143
144
# Contributor: Carlo Landmeter <clandmeter@gmail.com>
# Maintainer: 
pkgname=net-snmp
pkgver=5.9
pkgrel=0
pkgdesc="Simple Network Management Protocol"
url="http://www.net-snmp.org/"
arch="all"
options="!check"
license="MIT-CMU AND BSD-3-Clause"
depends=""
depends_dev="openssl-dev"
# we need perl-net-snmp in make depends for bootstrapping issues
# net-snmp-gui subpackage has perl-net-snmp as depends
makedepends="file linux-headers ncurses-dev openssl-dev perl-dev perl-net-snmp
	utmps-dev"
subpackages="$pkgname-doc $pkgname-dev $pkgname-libs $pkgname-agent-libs:alibs
	$pkgname-openrc $pkgname-perl:pl $pkgname-gui $pkgname-tools"
source="https://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz
	netsnmp-swinst-crash.patch
	fix-includes.patch
	snmpd.initd
	snmpd.confd
	snmptrapd.confd
	"

#secfixes:
#  5.9-r0:
#    - CVE-2015-8100
#    - CVE-2019-20892

prepare() {
	default_prepare
	update_config_sub
	sed -e 's#"tmpfs",#/*  "tmpfs",  */#g' -i agent/mibgroup/host/hr_filesys.c
}

build() {
	export lt_cv_sys_max_cmd_len=8192
	LIBS="-ltinfow" ./configure \
		--build=$CBUILD \
		--host=$CHOST \
		--prefix=/usr \
		--sysconfdir=/etc \
		--mandir=/usr/share/man \
		--infodir=/usr/share/info \
		--with-default-snmp-version="3" \
		--with-sys-contact="root@adelie" \
		--with-sys-location="unknown" \
		--with-logfile="/var/log/net-snmpd.log" \
		--enable-ucd-snmp-compatibility \
		--with-persistent-directory="/var/lib/net-snmp" \
		--with-openssl \
		--enable-pic \
		--enable-ipv6 \
		--enable-shared \
		--enable-as-needed \
		--with-perl-modules="INSTALLDIRS=vendor" \
		--disable-embedded-perl
	# embedded-perl seems to create TEXTREL's

	make -j1
}

package() {
	make -j1 DESTDIR="$pkgdir" install
	# remove things we dont want distribute
	rm "$pkgdir"/usr/lib/libsnmp* \
		"$pkgdir"/usr/bin/snmpcheck \
		"$pkgdir"/usr/bin/fixproc \
		"$pkgdir"/usr/share/man/man1/fixproc* \
		"$pkgdir"/usr/bin/ipf-mod.pl \
		"$pkgdir"/usr/bin/snmpinform
	ln -s snmptrap "$pkgdir"/usr/bin/snmpinform

	install -m755 -D "$srcdir"/snmpd.initd "$pkgdir"/etc/init.d/snmpd
	ln -s snmpd "$pkgdir"/etc/init.d/snmptrapd
	install -m644 -D "$srcdir"/snmpd.confd "$pkgdir"/etc/conf.d/snmpd
	install -m644 -D "$srcdir"/snmptrapd.confd \
		"$pkgdir"/etc/conf.d/snmptrapd
	install -m600 -D EXAMPLE.conf "$pkgdir"/etc/snmp/snmpd.conf
	echo "authCommunity log,execute,net public" > "$pkgdir"/etc/snmp/snmptrapd.conf
	mkdir -p "$pkgdir"/var/lib/net-snmp
	find "$pkgdir" -name perllocal.pod -delete
}

libs() {
	pkgdesc="The NET-SNMP runtime client libraries"
	replaces="net-snmp"
	mkdir -p "$subpkgdir"/usr/lib "$subpkgdir"/usr/share/snmp
	mv "$pkgdir"/usr/lib/libnetsnmp.so.* "$subpkgdir"/usr/lib/
	mv "$pkgdir"/usr/share/snmp/mibs "$subpkgdir"/usr/share/snmp/
}

alibs() {
	pkgdesc="The NET-SNMP runtime agent libraries"
	replaces="net-snmp"
	mkdir -p "$subpkgdir"/usr/lib
	mv "$pkgdir"/usr/lib/libnetsnmpagent*.so.* \
		"$pkgdir"/usr/lib/libnetsnmphelpers*.so.* \
		"$pkgdir"/usr/lib/libnetsnmpmibs*.so.* \
		"$pkgdir"/usr/lib/libnetsnmptrapd*.so.* \
		"$subpkgdir"/usr/lib/
}

pl() {
	pkgdesc="Perl NET-SNMP module and the mib2c tool"
	replaces="net-snmp"
	mkdir -p "$subpkgdir"/usr/lib \
		"$subpkgdir"/usr/bin \
		"$subpkgdir"/usr/share/snmp

	mv "$pkgdir"/usr/bin/mib2c-update \
		"$pkgdir"/usr/bin/mib2c \
		"$pkgdir"/usr/bin/snmp-bridge-mib \
		"$pkgdir"/usr/bin/net-snmp-cert \
		"$pkgdir"/usr/bin/traptoemail \
		"$subpkgdir"/usr/bin/
	mv "$pkgdir"/usr/lib/perl* "$subpkgdir"/usr/lib/
	mv "$pkgdir"/usr/share/snmp/mib2c* \
		"$pkgdir"/usr/share/snmp/*.pl \
		"$subpkgdir"/usr/share/snmp/
}

gui() {
	pkgdesc="An interactive graphical MIB browser for SNMP"
	depends="perl-net-snmp" # needs perl-tk too...
	replaces="net-snmp-tools"
	mkdir -p "$subpkgdir"/usr/bin
	mv "$pkgdir"/usr/bin/tkmib "$subpkgdir"/usr/bin/
}

tools() {
	pkgdesc="Network management utilities using SNMP"
	mkdir -p "$subpkgdir"/usr
	mv "$pkgdir"/usr/bin "$subpkgdir"/usr
}

sha512sums="df3273f03065ea5cb7d63398308ada06bcd186e0bc48929e81ba647f392b646ab81ddc241aebcd75408ec29231377375af62edf2835e9c3eb01d0a6856b79434  net-snmp-5.9.tar.gz
4ad92f50b14d5e27ba86256cc532a2dd055502f4d5fbb1700434f9f01f881fd09bb1eadb94e727554e1470f036707558314c64a66d0376b54e71ab31d5e4baa3  netsnmp-swinst-crash.patch
87a552bd2e41684bba6e87fbcf6454a85ee912d7a339411fda24cebddf7661f0856729e076a917920a542cf84b687ffd90a091daa15f2c48f0ff64f3a53c0ddb  fix-includes.patch
896ef65a6f420073746470cdbd0de8f356c5b936d35e131754905b3d4323c24dcd3a09e0cc8bd90b12e3402f01e478f927f0e4163cb85cb0cc03db3c2e0491f4  snmpd.initd
fb101aa758d741ed3ea88b11f1cd49cfd04bd03ce62435f3acb17724748131c57f00b71fd45cb7e7871d65a1aab576652cd6e158b6406aa6d0998582b8235ef5  snmpd.confd
073fd2b83eedd6eda1f7345350268ce7946ef6d67a8f26f7c232e46feb75babf68272ae12071a2f9ea76ede71393b3ae4672d3cd47cfd14ab77e3a6482f2e124  snmptrapd.confd"