1 ###############################################################################
2 # IPFire.org - An Open Source Firewall Solution #
3 # Copyright (C) - IPFire Development Team <info@ipfire.org> #
4 ###############################################################################
10 groups = Networking/Daemons
11 url = http://net-snmp.sourceforge.net
13 summary = Simple Network Management Protocol Daemon.
16 Simple Network Management Protocol (SNMP) is a widely used protocol
17 for monitoring the health and welfare of network equipment (eg. routers),
18 computer equipment and even devices like UPSs.
21 source_dl = https://sourceforge.net/projects/net-snmp/files/net-snmp/%{version}/
42 MIBS = host agentx smux \
43 ucd-snmp/diskio tcp-mib udp-mib mibII/mta_sendmail \
44 ip-mib/ipv4InterfaceTable ip-mib/ipv6InterfaceTable \
45 ip-mib/ipAddressPrefixTable/ipAddressPrefixTable \
46 ip-mib/ipDefaultRouterTable/ipDefaultRouterTable \
47 ip-mib/ipv6ScopeZoneIndexTable ip-mib/ipIfStatsTable \
48 sctp-mib rmon-mib etherlike-mib ucd-snmp/lmsensorsMib
50 configure_options += \
51 --with-cflags="%{CFLAGS} -Wformat" \
52 --with-ldflags="%{LDFLAGS}" \
53 --with-sys-contact="root@localhost" \
54 --with-sys-location="Unknown" \
55 --with-logfile=/var/log/snmpd.log \
56 --with-persistent-directory=/var/lib/net-snmp \
57 --with-mib-modules="%{MIBS}" \
58 --sysconfdir=%{sysconfdir} \
60 --enable-ucd-snmp-compatibility \
64 --enable-mfd-rewrites \
66 --with-temp-file-pattern=/var/run/net-snmp/snmp-tmp-XXXXXX \
67 --with-transports="DTLSUDP TLSTCP" \
68 --with-security-modules=tsm \
70 --with-default-snmp-version="3" \
71 --without-perl-modules \
72 --disable-embedded-perl \
76 # Remove stuff we don't want to distribute.
77 rm -vf %{BUILDROOT}%{bindir}/snmpinform
78 ln -svf snmptrap %{BUILDROOT}%{bindir}/snmpinform
79 rm -vf %{BUILDROOT}%{bindir}/snmpcheck
80 rm -vf %{BUILDROOT}{%{bindir}/fixproc,%{mandir}/man1/fixproc*}
81 rm -vf %{BUILDROOT}%{bindir}/ipf-mod.pl
83 # Copy missing mib2c.conf files.
84 install -v -m 644 local/mib2c.*.conf %{BUILDROOT}%{datadir}/snmp
86 # Make libs executable.
87 find %{BUILDROOT} -name "*.so" | xargs chmod -v 755
89 # Install configuration files.
90 mkdir -pv %{BUILDROOT}%{sysconfdir}/snmp
91 install -v -m644 %{DIR_SOURCE}/snmpd.conf \
92 %{BUILDROOT}%{sysconfdir}/snmp/snmpd.conf
93 install -v -m644 %{DIR_SOURCE}/snmptrapd.conf \
94 %{BUILDROOT}%{sysconfdir}/snmp/snmptrapd.conf
96 # Prepare runtime directory
97 mkdir -pv %{BUILDROOT}%{sharedstatedir}/net-snmp
99 # Remove scripts in /bin which requires the SNMP
101 rm -rvf %{BUILDROOT}%{bindir}/net-snmp-cert
102 rm -rvf %{BUILDROOT}%{bindir}/tkmib
103 rm -rvf %{BUILDROOT}%{bindir}/mib2c
104 rm -rvf %{BUILDROOT}%{bindir}/snmp-bridge-mib
106 # Remove checkbandwidth script
107 # This uses a deprecated perl module (Mail::Sender)
108 rm -rvf %{BUILDROOT}%{bindir}/checkbandwidth
110 # Remove more RPATHs.
111 find %{BUILDROOT}%{bindir} -type f -print \
112 -exec patchelf --remove-rpath {} \;
123 %{localstatedir}/lib/net-snmp
127 systemctl daemon-reload >/dev/null 2>&1 || :
131 systemctl --no-reload disable snmpd.service > /dev/null 2>&1 || :
132 systemctl stop snmpd.service > /dev/null 2>&1 || :
134 systemctl --no-reload disable snmptrapd.service > /dev/null 2>&1 || :
135 systemctl stop snmptrapd.service > /dev/null 2>&1 || :
139 systemctl daemon-reload >/dev/null 2>&1 || :
143 systemctl daemon-reload 2>&1 || :
144 systemctl reload-or-try-restart snmpd.service >/dev/null 2>&1 || :
145 systemctl reload-or-try-restart snmptrapd.service >/dev/null 2>&1 || :
153 package python3-%{name}
157 package %{name}-devel
165 package %{name}-debuginfo