summaryrefslogtreecommitdiff
path: root/dist/net-snmp.spec
diff options
context:
space:
mode:
Diffstat (limited to 'dist/net-snmp.spec')
-rw-r--r--dist/net-snmp.spec287
1 files changed, 287 insertions, 0 deletions
diff --git a/dist/net-snmp.spec b/dist/net-snmp.spec
new file mode 100644
index 0000000..0c82e12
--- /dev/null
+++ b/dist/net-snmp.spec
@@ -0,0 +1,287 @@
+#
+# 5.4+ enables Perl by default
+#
+%define netsnmp_embedded_perl 1
+%define netsnmp_perl_modules 1
+%define netsnmp_cflags ""
+
+# ugly RHEL detector
+# SuSE build service defines rhel_version, RHEL itself defines nothing
+%if 0%{?rhel_version}
+%define rhel %{?rhel_version}
+%else
+%define is_rhel %(grep "Red Hat Enterprise Linux" /etc/redhat-release &>/dev/null && echo 1 || echo 0)
+%if %{is_rhel}
+%define rhel %(sed </etc/redhat-release -e 's/.*release \\(.\\).*/\\1/' )
+%endif
+%endif
+
+# because perl(Tk) is optional, automatic dependencies will never succeed:
+%define _use_internal_dependency_generator 0
+%define __find_requires %{_builddir}/net-snmp-%{version}/dist/find-requires
+%define __find_provides /usr/lib/rpm/find-provides
+
+#
+# Check for -without embedded_perl
+#
+%{?_without_embedded_perl:%define netsnmp_embedded_perl 0}
+#
+# check for -without perl_modules
+#
+%{?_without_perl_modules:%define netsnmp_perl_modules 0}
+#
+# if embedded_perl or perl_modules specified, include some Perl stuff
+#
+%if 0%{?netsnmp_embedded_perl} || 0%{?netsnmp_perl_modules}
+%define netsnmp_include_perl 1
+%endif
+Summary: Tools and servers for the SNMP protocol
+Name: net-snmp
+Version: 5.4.3
+# update release for vendor release. (eg 1.fc6, 1.rh72, 1.ydl3, 1.ydl23)
+Release: 1
+URL: http://www.net-snmp.org/
+License: BSDish
+Group: System Environment/Daemons
+Vendor: Net-SNMP project
+Source: http://prdownloads.sourceforge.net/net-snmp/net-snmp-%{version}.tar.gz
+Prereq: openssl
+Obsoletes: cmu-snmp ucd-snmp ucd-snmp-utils
+BuildRoot: /tmp/%{name}-root
+Packager: The Net-SNMP Coders <http://sourceforge.net/projects/net-snmp/>
+Requires: openssl, popt, rpm, zlib, bzip2-libs, elfutils-libelf, glibc
+BuildRequires: perl, elfutils-libelf-devel, openssl-devel, bzip2-devel, rpm-devel
+%if %{netsnmp_embedded_perl}
+BuildRequires: perl(ExtUtils::Embed)
+Requires: perl
+%endif
+
+%if 0%{?fedora}%{?rhel}
+# Fedora & RHEL specific requires/provides
+Provides: net-snmp-libs, net-snmp-utils
+Obsoletes: net-snmp-libs, net-snmp-utils
+Epoch: 2
+
+%if 0%{?fedora} >= 9
+Provides: net-snmp-gui
+Obsoletes: net-snmp-gui
+# newer fedoras need following macro to compile with new rpm
+%define netsnmp_cflags "-D_RPM_4_4_COMPAT"
+%else
+BuildRequires: beecrypt-devel
+%endif
+%endif # RHEL or Fedora
+
+%description
+
+Net-SNMP provides tools and libraries relating to the Simple Network
+Management Protocol including: An extensible agent, An SNMP library,
+tools to request or set information from SNMP agents, tools to
+generate and handle SNMP traps, etc. Using SNMP you can check the
+status of a network of computers, routers, switches, servers, ... to
+evaluate the state of your network.
+
+%if %{netsnmp_embedded_perl}
+This package includes embedded Perl support within the agent.
+%endif
+
+%package devel
+Group: Development/Libraries
+Summary: The includes and static libraries from the Net-SNMP package.
+AutoReqProv: no
+Requires: net-snmp = %{epoch}:%{version}
+Obsoletes: cmu-snmp-devel ucd-snmp-devel
+
+%description devel
+The net-snmp-devel package contains headers and libraries which are
+useful for building SNMP applications, agents, and sub-agents.
+
+%if %{netsnmp_include_perl}
+%package perlmods
+Group: System Environment/Libraries
+Summary: The Perl modules provided with Net-SNMP
+AutoReqProv: no
+Requires: net-snmp = %{epoch}:%{version}, perl
+
+%if 0%{?fedora}%{?rhel}
+Provides: net-snmp-perl
+Obsoletes: net-snmp-perl
+%endif
+
+%description perlmods
+Net-SNMP provides a number of Perl modules useful when using the SNMP
+protocol. Both client and agent support modules are provided.
+%endif
+
+%prep
+%if %{netsnmp_embedded_perl} == 1 && %{netsnmp_perl_modules} == 0
+echo "'-with embedded_perl' requires '-with perl_modules'"
+exit 1
+%endif
+%setup -q
+
+%build
+%configure --with-defaults --with-sys-contact="Unknown" \
+ --with-mib-modules="smux" \
+ --with-sysconfdir="/etc/net-snmp" \
+ --enable-shared \
+ %{?netsnmp_perl_modules: --with-perl-modules="INSTALLDIRS=vendor"} \
+ %{!?netsnmp_perl_modules: --without-perl-modules} \
+ %{?netsnmp_embedded_perl: --enable-as-needed --enable-embedded-perl} \
+ %{!?netsnmp_embedded_perl: --disable-embedded-perl} \
+ --with-cflags="$RPM_OPT_FLAGS %{netsnmp_cflags}"
+
+make
+
+%install
+# ----------------------------------------------------------------------
+# 'install' sets the current directory to _topdir/BUILD/{name}-{version}
+# ----------------------------------------------------------------------
+rm -rf $RPM_BUILD_ROOT
+
+make DESTDIR=%{buildroot} install
+
+# Remove 'snmpinform' from the temporary directory because it is a
+# symbolic link, which cannot be handled by the rpm installation process.
+%__rm -f $RPM_BUILD_ROOT%{_prefix}/bin/snmpinform
+# install the init script
+mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d
+perl -i -p -e 's@/usr/local/share/snmp/@/etc/snmp/@g;s@usr/local@%{_prefix}@g' dist/snmpd-init.d
+install -m 755 dist/snmpd-init.d $RPM_BUILD_ROOT/etc/rc.d/init.d/snmpd
+
+%if %{netsnmp_include_perl}
+# unneeded Perl stuff
+find $RPM_BUILD_ROOT/%{_libdir}/perl5/ -name Bundle -type d | xargs rm -rf
+find $RPM_BUILD_ROOT/%{_libdir}/perl5/ -name perllocal.pod | xargs rm -f
+
+# store a copy of installed Perl stuff. It's too complex to predict
+(xxdir=`pwd` && cd $RPM_BUILD_ROOT && find usr/lib*/perl5 -type f | sed 's/^/\//' > $xxdir/net-snmp-perl-files)
+%endif
+
+%post
+# ----------------------------------------------------------------------
+# The 'post' script is executed just after the package is installed.
+# ----------------------------------------------------------------------
+# Create the symbolic link 'snmpinform' after all other files have
+# been installed.
+%__rm -f $RPM_INSTALL_PREFIX/bin/snmpinform
+%__ln_s $RPM_INSTALL_PREFIX/bin/snmptrap $RPM_INSTALL_PREFIX/bin/snmpinform
+
+# run ldconfig
+PATH="$PATH:/sbin" ldconfig -n $RPM_INSTALL_PREFIX/lib
+
+%preun
+# ----------------------------------------------------------------------
+# The 'preun' script is executed just before the package is erased.
+# ----------------------------------------------------------------------
+# Remove the symbolic link 'snmpinform' before anything else, in case
+# it is in a directory that rpm wants to remove (at present, it isn't).
+%__rm -f $RPM_INSTALL_PREFIX/bin/snmpinform
+
+%postun
+# ----------------------------------------------------------------------
+# The 'postun' script is executed just after the package is erased.
+# ----------------------------------------------------------------------
+PATH="$PATH:/sbin" ldconfig -n $RPM_INSTALL_PREFIX/lib
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files
+%defattr(-,root,root)
+
+# Install the following documentation in _defaultdocdir/{name}-{version}/
+%doc AGENT.txt ChangeLog CodingStyle COPYING
+%doc EXAMPLE.conf.def FAQ INSTALL NEWS PORTING TODO
+%doc README README.agentx README.hpux11 README.krb5
+%doc README.snmpv3 README.solaris README.thread README.win32
+%doc README.aix README.osX README.tru64 README.irix README.agent-mibs
+%doc README.Panasonic_AM3X.txt
+
+#%config(noreplace) /etc/net-snmp/snmpd.conf
+
+#%{_datadir}/snmp/snmpconf-data
+%{_datadir}/snmp
+
+%{_bindir}
+%{_sbindir}
+%{_mandir}/man1/*
+# don't include Perl man pages, which start with caps
+%{_mandir}/man3/[^A-Z]*
+%{_mandir}/man5/*
+%{_mandir}/man8/*
+%{_libdir}/*.so*
+/etc/rc.d/init.d/snmpd
+
+%files devel
+%defattr(-,root,root)
+
+%{_includedir}
+%{_libdir}/*.a
+%{_libdir}/*.la
+
+%if %{netsnmp_include_perl}
+%files -f net-snmp-perl-files perlmods
+%defattr(-,root,root)
+%{_mandir}/man3/*::*
+%{_mandir}/man3/SNMP*
+%endif
+
+%verifyscript
+echo "No additional verification is done for net-snmp"
+
+%changelog
+* Tue May 6 2008 Jan Safranek <jsafranek@users.sf.net>
+- remove %{libcurrent}
+- don't use Provides: unless necessary, let rpmbuild compute the provided
+ libraries
+
+* Tue Jun 30 2007 Thomas Anders <tanders@users.sf.net>
+- add "BuildRequires: perl-ExtUtils-Embed", e.g. for Fedora 7
+- add --enable-as-needed if building with embedded Perl support
+
+* Wed Nov 23 2006 Thomas Anders <tanders@users.sf.net>
+- fixes for 5.4 and 64-bit platforms
+- enable Perl by default, but allow for --without perl_modules|embedded_perl
+- add netsnmp_ prefix for local defines
+
+* Fri Sep 1 2006 Thomas Anders <tanders@users.sf.net>
+- Update to 5.4.dev
+- introduce %{libcurrent}
+- use new disman/event name
+- add: README.aix README.osX README.tru64 README.irix README.agent-mibs
+ README.Panasonic_AM3X.txt
+- add new NetSNMP::agent::Support
+
+* Fri Jan 13 2006 hardaker <hardaker@users.sf.net>
+- Update to 5.3.0.1
+
+* Wed Dec 28 2005 hardaker <hardaker@users.sf.net>
+- Update to 5.3
+
+* Tue Oct 28 2003 rs <rstory@users.sourceforge.net>
+- fix conditional perl build after reading rpm docs
+
+* Sat Oct 4 2003 rs <rstory@users.sourceforge.net> - 5.0.9-4
+- fix to build without requiring arguments
+- separate embedded perl and perl modules options
+- fix fix for init.d script for non-/usr/local installation
+
+* Fri Sep 26 2003 Wes Hardaker <hardaker@users.sourceforge.net>
+- fix perl's UseNumeric
+- fix init.d script for non-/usr/local installation
+
+* Fri Sep 12 2003 Wes Hardaker <hardaker@users.sourceforge.net>
+- fixes for 5.0.9's perl support
+
+* Mon Sep 01 2003 Wes Hardaker <hardaker@users.sourceforge.net>
+- added perl support
+
+* Wed Oct 09 2002 Wes Hardaker <hardaker@users.sourceforge.net>
+- Incorperated most of Mark Harig's better version of the rpm spec and Makefile
+
+* Wed Oct 09 2002 Wes Hardaker <hardaker@users.sourceforge.net>
+- Made it possibly almost usable.
+
+* Mon Apr 22 2002 Robert Story <rstory@users.sourceforge.net>
+- created