-# TODO:
-# - init scripts (which, what?)
-# - default configs
-# - review ucd-snmp-ia64.patch patch
#
# Conditional build:
%bcond_without autodeps # don't BR packages only for deps resolving
Summary(ru): îÁÂÏÒ ÕÔÉÌÉÔ ÄÌÑ ÐÒÏÔÏËÏÌÁ SNMP ÏÔ UC-Davis
Summary(uk): îÁÂ¦Ò ÕÔÉÌ¦Ô ÄÌÑ ÐÒÏÔÏËÏÌÕ SNMP ×¦Ä UC-Davis
Name: net-snmp
-Version: 5.2.1
-Release: 0.1
+Version: 5.2.1.2
+Release: 1.1
License: BSD-like
Group: Networking/Daemons
Source0: http://dl.sourceforge.net/net-snmp/%{name}-%{version}.tar.gz
-# Source0-md5: 4c38451b1f5914789da370b79dc06124
+# Source0-md5: 34159770a7fe418d99fdd416a75358b1
Source1: %{name}d.init
Source2: %{name}d.conf
Source3: %{name}d.sysconfig
Source6: %{name}trapd.sysconfig
Source7: ftp://ucd-snmp.ucdavis.edu/contrib/ucd-ipchains.tar.gz
# Source7-md5: 29949f1008f1a04d6efefd5b3ea607da
+Source8: http://juniper.net/techpubs/software/junos/junos73/juniper-mibs-7.3R1.6.tgz
+# Source8-md5: 380f8475a7f71e093b1dc98e4976c106
Patch0: %{name}-acinclude.patch
Patch1: %{name}-acfix.patch
Patch2: %{name}-rpm-implicit-libs.patch
Patch8: %{name}-usr_local_bin_perl.patch
Patch9: %{name}-kernel_headers.patch
Patch10: %{name}-syntax.patch
+Patch11: %{name}-fix-insecure-fixproc.patch
URL: http://www.net-snmp.org/
BuildRequires: autoconf >= 2.57-3
BuildRequires: automake
Przegl±darka MIB-ów w Tk.
%prep
-%setup -q -a7
+%setup -q -a7 -a8
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
+%patch11 -p0
%build
%{__libtoolize}
--disable-debugging \
--with-persistent-directory="/var/lib/net-snmp" \
--enable-ipv6 \
- --enable-reentrant \
--with-sys-contact="root@localhost" \
--enable-ucd-snmp-compatibility \
--with-defaults \
--with-default-snmp-version=3 \
--enable-shared
+
+# --enable-reentrant is broken - snmpd deadlocks on send (tries to lock the same mutex twice):
+# #4 0xb760f54e in siglongjmp () from /lib/tls/libpthread.so.0
+# #5 0xb7e5e0cf in snmp_res_lock (groupID=0, resourceID=1) at mt_support.c:103
+# #6 0xb7e45698 in snmp_sess_pointer (session=0x80ff868) at snmp_api.c:6975
+# #7 0xb7e41aca in snmp_async_send (session=0x80ff868, pdu=0x8141848, callback=0, cb_data=0x0)
+# at snmp_api.c:4564
+# #8 0xb7e41a6d in snmp_send (session=0x80ff868, pdu=0x8141848) at snmp_api.c:4551
+# #9 0xb7ebf6fd in netsnmp_wrap_up_request (asp=0x812d828, status=0) at snmp_agent.c:1627
+# #10 0xb7ec12e3 in netsnmp_handle_request (asp=0x812d828, status=0) at snmp_agent.c:2996
+# #11 0xb7ebfa65 in handle_snmp_packet (op=1, session=0x80ff868, reqid=628270607, pdu=0x81419b8,
+# magic=0x0) at snmp_agent.c:1792
+# #12 0xb7e42b1c in _sess_process_packet (sessp=0x812c970, sp=0x80ff868, isp=0x812c698,
+# transport=0x8142028, opaque=0x812c1a0, olength=16,
+# packetptr=0x8145cb8 "0f\002\001\0030\021\002\004c [Ç\002\003", length=104) at snmp_api.c:5208
+# #13 0xb7e434e6 in _sess_read (sessp=0x812c970, fdset=0xbfffe0e0) at snmp_api.c:5606
+# #14 0xb7e43535 in snmp_sess_read (sessp=0x812c970, fdset=0xbfffe0e0) at snmp_api.c:5625
+# #15 0xb7e42c44 in snmp_read (fdset=0xbfffe0e0) at snmp_api.c:5260
+# #16 0x0804bbe5 in receive () at snmpd.c:1149
+# #17 0x0804b53d in main (argc=5, argv=0xbffff344) at snmpd.c:993
+# [res mutex with groupID=0, resourceID=1 already locked in snmp_read() at snmp_api.c:5258]
+
%{__make}
TDIR="`pwd`"
install -d $RPM_BUILD_ROOT%{_examplesdir}/perl-SNMP-%{version}
install SNMP/examples/*.pl $RPM_BUILD_ROOT%{_examplesdir}/perl-SNMP-%{version}
+cd ..
# IP-Filter (non-Linux)
rm -f $RPM_BUILD_ROOT%{_bindir}/ipf-mod.pl
+# Juniper MIBs:
+install JuniperMibs/*.txt $RPM_BUILD_ROOT%{_datadir}/snmp/mibs
+
+# Standard MIBs (Required by Juniper MIBs)
+install StandardMibs/*.txt $RPM_BUILD_ROOT%{_datadir}/snmp/mibs
+
%clean
rm -rf $RPM_BUILD_ROOT
if [ -f /var/lock/subsys/snmpd ]; then
/etc/rc.d/init.d/snmpd restart >&2
else
- %banner %{name} -e << EOF
+ %banner %{name} -e <<EOF
Run \"/etc/rc.d/init.d/snmpd start\" to start snmpd daemon.
EOF
+#" vim
fi
touch %{logfile}
chmod 640 %{logfile}
if [ -f /var/lock/subsys/snmptrapd ]; then
/etc/rc.d/init.d/snmptrapd restart >&2
else
- %banner %{name}-snmptrapd -e << EOF
+ %banner %{name}-snmptrapd -e <<EOF
Run \"/etc/rc.d/init.d/snmptrapd start\" to start snmp trap daemon.
EOF
+#" vim
fi
touch %{logfile}
chmod 640 %{logfile}
%doc FAQ NEWS PORTING README.snmpv3 TODO AGENT.txt
%attr(754,root,root) /etc/rc.d/init.d/snmpd
-%attr(640,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/sysconfig/snmpd
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/snmpd
%dir %{_sysconfdir}/snmp
-%attr(640,root,root) %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/snmp/snmpd.conf
-%attr(640,root,root) %config(missingok,noreplace) %verify(not md5 size mtime) %{_sysconfdir}/snmp/snmpd.local.conf
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/snmp/snmpd.conf
+%attr(640,root,root) %config(missingok,noreplace) %verify(not md5 mtime size) %{_sysconfdir}/snmp/snmpd.local.conf
%attr(755,root,root) %{_sbindir}/snmpd
%defattr(644,root,root,755)
%attr(755,root,root) %{_sbindir}/snmptrapd
%attr(754,root,root) /etc/rc.d/init.d/snmptrapd
-%attr(640,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/sysconfig/snmptrapd
-%attr(640,root,root) %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/snmp/snmptrapd.conf
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/snmptrapd
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/snmp/snmptrapd.conf
%attr(755,root,root) %{_datadir}/snmp/snmp_perl_trapd.pl
%{_mandir}/man5/snmptrapd.conf.5*
%{_mandir}/man8/snmptrapd.8*