# TODO
-# - package or remove:
-# %{_datadir}/snmp/snmp_perl.pl
# - make noarch -n mibs-net-snmp package (need separate .spec then)
# - FHS: #define NETSNMP_AGENTX_SOCKET "/var/agentx/master"
# - php-snmp (and likely other bindings) use only %{_libdir}/libnetsnmp.so.*, move other libs back to main (daemon) package?
%bcond_without python # don't include Python modules
%bcond_without static_libs # don't build static library
-%ifnarch %{ix86} %{x8664}
+%ifnarch %{ix86} %{x8664} x32
%undefine with_lm_sensors
%endif
-%define so_version 20
-
+%define so_version 30
%include /usr/lib/rpm/macros.perl
Summary: A collection of SNMP protocol tools
Summary(es.UTF-8): Agente SNMP de la UCD
Summary(ru.UTF-8): Набор утилит для протокола SNMP от UC-Davis
Summary(uk.UTF-8): Набір утиліт для протоколу SNMP від UC-Davis
Name: net-snmp
-Version: 5.5
-Release: 3
+Version: 5.7.3
+Release: 6
License: BSD-like
Group: Networking/Daemons
-Source0: http://dl.sourceforge.net/net-snmp/%{name}-%{version}.tar.gz
-# Source0-md5: 5b2551e7bd024fbbee84dca22a5f13a1
+Source0: http://downloads.sourceforge.net/net-snmp/%{name}-%{version}.tar.gz
+# Source0-md5: d4a3459e1577d0efa8d96ca70a885e53
Source1: %{name}d.init
Source2: %{name}d.conf
Source3: %{name}d.sysconfig
Source6: %{name}trapd.sysconfig
Source7: ucd-ipchains.tar.gz
# Source7-md5: 29949f1008f1a04d6efefd5b3ea607da
+Source9: snmpd.logrotate
Patch0: %{name}-acfix.patch
Patch1: %{name}-rpm-implicit-libs.patch
Patch2: %{name}-config-noflags.patch
Patch5: %{name}-llinterfaces.patch
Patch6: %{name}-kernel_headers.patch
Patch7: %{name}-rpmpath.patch
-Patch8: %{name}-snmpksm.patch
+
Patch9: %{name}-python.patch
Patch10: %{name}-lvalue.patch
Patch11: %{name}-defaultconfig.patch
Patch12: %{name}-use-rpm-hrmib.patch
-Patch13: net-snmp-5.5-missing-bcast.patch
-Patch14: %{name}-lm_sensors_3.patch
-Patch15: net-snmp-5.5-tcp-pid.patch
-Patch17: %{name}-TCP_STATS_CACHE_TIMEOUT.patch
-Patch19: %{name}-loadave-writable.patch
+Patch13: %{name}-TCP_STATS_CACHE_TIMEOUT.patch
+
+Patch17: %{name}-logging.patch
URL: http://www.net-snmp.org/
-BuildRequires: autoconf >= 2.61-3
+BuildRequires: autoconf >= 2.63
BuildRequires: automake
BuildRequires: elfutils-devel
%{?with_kerberos5:BuildRequires: heimdal-devel}
-BuildRequires: libnl-devel >= 1:1.1
+BuildRequires: libnl-devel >= 1:3.2
+BuildRequires: libssh2-devel
BuildRequires: libtool >= 1.4
BuildRequires: libwrap-devel
%{?with_lm_sensors:BuildRequires: lm_sensors-devel >= 3.0.1}
BuildRequires: openssl-devel >= 0.9.7d
+BuildRequires: pciutils-devel
%{?with_autodeps:BuildRequires: perl-Term-ReadKey}
BuildRequires: perl-devel >= 1:5.8.0
%if %{with python}
BuildRequires: rpm
BuildRequires: rpm-perlprov >= 3.0.3-16
%endif
-BuildRequires: rpmbuild(macros) >= 1.268
+BuildRequires: rpmbuild(macros) >= 1.527
Requires(post,preun): /sbin/chkconfig
Requires: %{name}-libs = %{version}-%{release}
Requires: /usr/bin/setsid
Requires: mibs-%{name} = %{version}-%{release}
-Requires: rc-scripts >= 0.2.0
+Requires: rc-scripts >= 0.4.3.0
Provides: snmpd
Obsoletes: cmu-snmp
Obsoletes: snmpd
Obsoletes: ucd-snmp
+Conflicts: pciutils < 3.1.7-5
Conflicts: rpm < 4.4.9-43.11
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
Requires: %{name}-libs = %{version}-%{release}
Requires: elfutils-devel
%{?with_kerberos5:Requires: heimdal-devel}
-Requires: libnl-devel >= 1:1.1
+Requires: libnl-devel >= 1:3.2
Requires: libwrap-devel
%{?with_lm_sensors:Requires: lm_sensors-devel >= 3.0.1}
Requires: openssl-devel >= 0.9.7c
+Requires: pciutils-devel
Obsoletes: ucd-snmp-devel
%description devel
Summary(ru.UTF-8): Среда разработки для проекта UCD-SNMP
Summary(uk.UTF-8): Середовище розробки для проекту UCD-SNMP
Group: Development/Libraries
-Requires: %{name}-libs = %{version}-%{release}
+Requires: %{name}-devel = %{version}-%{release}
Requires: openssl-devel >= 0.9.7d
Obsoletes: cmu-snmp-devel
Obsoletes: ucd-snmp-devel
Requires: mibs-dirs
Obsoletes: net-snmp-mibs
Conflicts: ucd-snmp-libs
+%if "%{_rpmversion}" >= "5"
+BuildArch: noarch
+%endif
%description -n mibs-net-snmp
Net-SNMP provided MIBs (Management Information Base).
%patch5 -p1
%patch6 -p1
%patch7 -p1
-%patch8 -p1
+
%patch9 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
-%patch14 -p1
-%patch15 -p1
+
%patch17 -p1
-%patch19 -p1
%build
%{__libtoolize}
MIBS="$MIBS ucd-snmp/lmsensorsMib"
%endif
+# ksm must be first in --with-security-modules
+# usm is always enabled
%configure \
- --disable-debugging \
+ ac_cv_path_DPKG_QUERY_PATH= \
--enable-as-needed \
- %{!?with_static_libs:--disable-static} \
+ %{__disable static_libs static} \
--with-cflags="%{rpmcflags} %{rpmcppflags} -I/usr/include/et" \
--with-ldflags="%{rpmldflags}" \
--with-defaults \
--with-default-snmp-version=3 \
- %{?with_kerberos5:--with-krb5=%{_prefix}} \
- %{!?with_kerberos5:--without-krb5} \
- --with-openssl=%{_prefix} \
- --with-libwrap=%{_prefix} \
- --with-logfile="%{logfile}" \
- --with-zlib=%{_prefix} \
- --with-bzip2=%{_prefix} \
- --with%{!?with_perl:out}-perl-modules \
- --with%{!?with_python:out}-python-modules \
+ %{__with_without kerberos5 krb5} \
+ --with-openssl \
+ --with-libwrap \
+ --with-logfile=%{logfile} \
+ --with-zlib\
+ --with-bzip2 \
+ --with-nl \
+ %{__with_without perl perl-modules} \
+ %{__with_without python python-modules} \
--enable-local-smux \
- --with-mibdirs='$HOME/.snmp/mibs:/usr/share/mibs:%{_datadir}/snmp/mibs' \
+ --with-mibdirs='$HOME/.snmp/mibs:/usr/share/mibs' \
--with-mib-modules="$MIBS" \
- %{?with_kerberos5:--with-security-modules="ksm"} \
+ --with-security-modules="%{?with_kerberos5:ksm }tsm" \
--with-sys-contact="root@localhost" \
--with-sys-location="Unknown" \
- --with-transports="UDP UDPIPv6 TCP TCPIPv6 Unix Callback" \
+ --with-transports="UDP UDPIPv6 TCP TCPIPv6 Unix Callback Alias DTLSUDP TLSTCP SSH" \
--with-persistent-directory="/var/lib/net-snmp" \
--enable-ucd-snmp-compatibility \
--enable-ipv6 \
- --with%{!?with_rpm:out}-rpm
+ %{!?debug:--disable-debugging} \
+ %{__with_without rpm}
%{__make} -j1
cd perl
-
%{__perl} Makefile.PL \
-NET-SNMP-IN-SOURCE=true \
INSTALLDIRS=vendor \
# avoid rpaths generated by MakeMaker
perl -pi -e 's@LD_RUN_PATH="\$\(LD_RUN_PATH\)" @@' */Makefile */*/Makefile
+bd=$(cd ..; pwd)
%{__make} \
- LDFLAGS="%{rpmldflags}"
+ LDFLAGS="%{rpmldflags} -L$bd/snmplib/.libs/ -L$bd/agent/.libs/"
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{/etc/{rc.d/init.d,sysconfig,snmp},/var/log,/var/lib/net-snmp,%{_libdir}/snmp/dlmod}
+install -d $RPM_BUILD_ROOT{/etc/{rc.d/init.d,logrotate.d,sysconfig,snmp},/var/log,/var/lib/net-snmp,%{_libdir}/snmp/dlmod}
%{__make} -j1 install \
mibdir=%{_datadir}/mibs \
DESTDIR=$RPM_BUILD_ROOT
-install %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/snmp/snmpd.conf
+cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/snmp/snmpd.conf
:> $RPM_BUILD_ROOT%{_sysconfdir}/snmp/snmpd.local.conf
:> $RPM_BUILD_ROOT%{_sysconfdir}/snmp/snmp.conf
:> $RPM_BUILD_ROOT%{logfile}
-install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/snmpd
-install %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/snmp/snmpd.conf
-install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/snmpd
+install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/snmpd
+cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/snmp/snmpd.conf
+cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/snmpd
+
+install -p %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/snmptrapd
+cp -p %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/snmp/snmptrapd.conf
+cp -p %{SOURCE6} $RPM_BUILD_ROOT/etc/sysconfig/snmptrapd
-install %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/snmptrapd
-install %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/snmp/snmptrapd.conf
-install %{SOURCE6} $RPM_BUILD_ROOT/etc/sysconfig/snmptrapd
+cp -p %{SOURCE9} $RPM_BUILD_ROOT/etc/logrotate.d/snmpd
cd perl
%{__make} -j1 install \
DESTDIR=$RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT%{_examplesdir}/perl-SNMP-%{version}
-install SNMP/examples/*.pl $RPM_BUILD_ROOT%{_examplesdir}/perl-SNMP-%{version}
+install -p SNMP/examples/*.pl $RPM_BUILD_ROOT%{_examplesdir}/perl-SNMP-%{version}
cd ..
# IP-Filter (non-Linux)
-rm -f $RPM_BUILD_ROOT%{_bindir}/ipf-mod.pl
+%{__rm} $RPM_BUILD_ROOT%{_bindir}/ipf-mod.pl
+%{__rm} $RPM_BUILD_ROOT%{perl_vendorarch}/Bundle/Makefile.subs.pl
rm -f $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod
-rm -f $RPM_BUILD_ROOT%{perl_vendorarch}/Bundle/Makefile.subs.pl
rm -f $RPM_BUILD_ROOT%{perl_vendorarch}/auto/Bundle/NetSNMP/.packlist
%if %{with static_libs}
fi
done
%else
-rm -f $RPM_BUILD_ROOT%{_libdir}/libsnmp.a
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/libsnmp.a
%endif
%if %{with python}
%files
%defattr(644,root,root,755)
-%doc README local
-%doc ChangeLog EXAMPLE.conf.def EXAMPLE.conf
-%doc FAQ NEWS PORTING README.snmpv3 TODO AGENT.txt
+%doc AGENT.txt CHANGES COPYING ChangeLog EXAMPLE.conf{,.def} FAQ NEWS README{,.agent-mibs,.agentx,.snmpv3,.sql,.thread} TODO local
%attr(754,root,root) /etc/rc.d/init.d/snmpd
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/snmpd
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/snmpd
%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
%attr(755,root,root) %{_bindir}/net-snmp-create-v3-user
-
+%attr(755,root,root) %{_bindir}/sshtosnmp
%dir %{_libdir}/snmp
%dir %{_libdir}/snmp/dlmod
-
+%attr(755,root,root) %{_datadir}/snmp/snmp_perl.pl
%{_mandir}/man1/net-snmp-create-v3-user.1*
%{_mandir}/man5/snmpd.conf.5*
%{_mandir}/man5/snmpd.examples.5*
%files libs
%defattr(644,root,root,755)
-%dir %{_sysconfdir}/snmp
-%dir %{_datadir}/snmp
-%attr(755,root,root) %{_libdir}/libnetsnmp.so.*.*
-%attr(755,root,root) %{_libdir}/libnetsnmpagent.so.*.*
-%attr(755,root,root) %{_libdir}/libnetsnmphelpers.so.*.*
-%attr(755,root,root) %{_libdir}/libnetsnmpmibs.so.*.*
-%attr(755,root,root) %{_libdir}/libnetsnmptrapd.so.*.*
+%attr(755,root,root) %{_libdir}/libnetsnmp.so.*.*.*
+%attr(755,root,root) %{_libdir}/libnetsnmpagent.so.*.*.*
+%attr(755,root,root) %{_libdir}/libnetsnmphelpers.so.*.*.*
+%attr(755,root,root) %{_libdir}/libnetsnmpmibs.so.*.*.*
+%attr(755,root,root) %{_libdir}/libnetsnmptrapd.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libnetsnmp.so.%{so_version}
%attr(755,root,root) %ghost %{_libdir}/libnetsnmpagent.so.%{so_version}
%attr(755,root,root) %ghost %{_libdir}/libnetsnmphelpers.so.%{so_version}
%attr(755,root,root) %ghost %{_libdir}/libnetsnmpmibs.so.%{so_version}
%attr(755,root,root) %ghost %{_libdir}/libnetsnmptrapd.so.%{so_version}
+%dir %{_sysconfdir}/snmp
+%dir %{_datadir}/snmp
%files devel
%defattr(644,root,root,755)
%if %{with static_libs}
%files static
%defattr(644,root,root,755)
-%{_libdir}/libnet*.a
+%{_libdir}/libnetsnmp.a
+%{_libdir}/libnetsnmpagent.a
+%{_libdir}/libnetsnmphelpers.a
+%{_libdir}/libnetsnmpmibs.a
+%{_libdir}/libnetsnmptrapd.a
%endif
%files compat-devel
%files utils
%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/agentxtrap
%attr(755,root,root) %{_bindir}/encode_keychange
%attr(755,root,root) %{_bindir}/snmpbulkget
%attr(755,root,root) %{_bindir}/snmpbulkwalk
%attr(755,root,root) %{_bindir}/snmpstatus
%attr(755,root,root) %{_bindir}/snmptable
%attr(755,root,root) %{_bindir}/snmptest
+%attr(755,root,root) %{_bindir}/snmptls
%attr(755,root,root) %{_bindir}/snmptranslate
%attr(755,root,root) %{_bindir}/snmptrap
%attr(755,root,root) %{_bindir}/snmpusm
%attr(755,root,root) %{_bindir}/snmpvacm
%attr(755,root,root) %{_bindir}/snmpwalk
+%{_mandir}/man1/agentxtrap.1*
%{_mandir}/man1/encode_keychange.1*
%{_mandir}/man1/snmpbulkget.1*
%{_mandir}/man1/snmpbulkwalk.1*
%{perl_vendorarch}/NetSNMP
%dir %{perl_vendorarch}/auto/SNMP
%{perl_vendorarch}/auto/SNMP/autosplit.ix
-%{perl_vendorarch}/auto/SNMP/SNMP.bs
%attr(755,root,root) %{perl_vendorarch}/auto/SNMP/SNMP.so
%dir %{perl_vendorarch}/auto/NetSNMP
%dir %{perl_vendorarch}/auto/NetSNMP/*
%{perl_vendorarch}/auto/NetSNMP/*/autosplit.ix
-%{perl_vendorarch}/auto/NetSNMP/*/*.bs
%attr(755,root,root) %{perl_vendorarch}/auto/NetSNMP/*/*.so
%dir %{perl_vendorarch}/auto/NetSNMP/agent/default_store
%{perl_vendorarch}/auto/NetSNMP/agent/default_store/autosplit.ix
-%{perl_vendorarch}/auto/NetSNMP/agent/default_store/default_store.bs
%attr(755,root,root) %{perl_vendorarch}/auto/NetSNMP/agent/default_store/default_store.so
%{_mandir}/man3/NetSNMP::*.3*
%{_mandir}/man3/SNMP.3*
%files utils-perl
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/fixproc
+%attr(755,root,root) %{_bindir}/net-snmp-cert
+%attr(755,root,root) %{_bindir}/snmp-bridge-mib
%attr(755,root,root) %{_bindir}/snmpcheck
%attr(755,root,root) %{_bindir}/traptoemail
%{_mandir}/man1/fixproc.1*
+%{_mandir}/man1/snmp-bridge-mib.1*
%{_mandir}/man1/traptoemail.1*
%endif