net-snmp.spec
上传用户:wxp200602
上传日期:2007-10-30
资源大小:4028k
文件大小:8k
源码类别:

SNMP编程

开发平台:

Unix_Linux

  1. #
  2. # Default to no perl
  3. #
  4. %define include_perl 0
  5. #
  6. # Check for -with embedded_perl
  7. #
  8. %{?_with_embedded_perl:%define embedded_perl 1}
  9. %{!?_with_embedded_perl:%define embedded_perl 0}
  10. #
  11. # check for -with perl_modules
  12. #
  13. %{?_with_perl_modules:%define perl_modules 1}
  14. %{!?_with_perl_modules:%define perl_modules 0}
  15. #
  16. # if embedded_perl or perl_modules specified, include some perl stuff
  17. #
  18. %{?_with_embedded_perl:%define include_perl 1}
  19. %{?_with_perl_modules:%define include_perl 1}
  20. #
  21. Summary: Tools and servers for the SNMP protocol
  22. Name: net-snmp
  23. Version: 5.2.2
  24. # update release for vendor release. (eg 1.rh9, 1.rh72, 1.ydl3, 1.ydl23)
  25. Release: 1
  26. URL: http://net-snmp.sourceforge.net/
  27. License: BSDish
  28. Group: System Environment/Daemons
  29. Source: http://prdownloads.sourceforge.net/net-snmp/net-snmp-%{version}.tar.gz
  30. Prereq: openssl
  31. Obsoletes: cmu-snmp ucd-snmp ucd-snmp-utils
  32. BuildRoot: /tmp/%{name}-root
  33. Packager: The Net-SNMP Coders <http://sourceforge.net/projects/net-snmp/>
  34. BuildRequires: perl
  35. # because perl(Tk) is optional, automatic dependencies will never succeed:
  36. AutoReqProv: no
  37. Requires: openssl, popt, rpm, zlib, bzip2-libs, beecrypt, elfutils-libelf, glibc
  38. Provides: net-snmp, net-snmp-utils, libnetsnmp.so.5, libnetsnmpagent.so.5, libnetsnmphelpers.so.5, libnetsnmpmibs.so.5, libnetsnmptrapd.so.5
  39. %if %{embedded_perl}
  40. Requires: perl
  41. %endif
  42. %description
  43. Net-SNMP provides tools and libraries relating to the Simple Network
  44. Management Protocol including: An extensible agent, An SNMP library,
  45. tools to request or set information from SNMP agents, tools to
  46. generate and handle SNMP traps, etc.  Using SNMP you can check the
  47. status of a network of computers, routers, switches, servers, ... to
  48. evaluate the state of your network.
  49. %if %{embedded_perl}
  50. This package includes embedded perl support within the agent
  51. %endif
  52. %package devel
  53. Group: Development/Libraries
  54. Summary: The includes and static libraries from the Net-SNMP package.
  55. AutoReqProv: no
  56. Requires: net-snmp = %{version}
  57. Obsoletes: cmu-snmp-devel ucd-snmp-devel
  58. %description devel
  59. The net-snmp-devel package contains headers and libraries which are
  60. useful for building SNMP applications, agents, and sub-agents.
  61. %if %{include_perl}
  62. %package perlmods
  63. Group: System Environment/Libraries
  64. Summary: The perl modules provided with Net-SNMP
  65. AutoReqProv: no
  66. Provides: ASN.so, OID.so, SNMP.so, TrapReceiver.so, agent.so, default_store.so, perl(NetSNMP::ASN), perl(NetSNMP::OID), perl(NetSNMP::TrapReceiver), perl(NetSNMP::agent), perl(NetSNMP::agent::default_store), perl(NetSNMP::agent::netsnmp_request_infoPtr), perl(NetSNMP::default_store), perl(SNMP), perl(SNMP::DEBUGGING), perl(SNMP::DEBUG_INTERNALS), perl(SNMP::DUMP_PACKET), perl(SNMP::MIB), perl(SNMP::MIB::MIB_OPTIONS), perl(SNMP::MIB::NODE), perl(SNMP::MIB::REPLACE_NEWER), perl(SNMP::MIB::SAVE_DESCR), perl(SNMP::Session), perl(SNMP::TrapSession), perl(SNMP::VarList), perl(SNMP::Varbind), net-snmp-perlmods
  67. Requires: net-snmp = %{version}, perl
  68. %description perlmods
  69. Net-SNMP provides a number of perl modules useful when using the SNMP
  70. protocol.  Both client and agent support modules are provided.
  71. %endif
  72. %prep
  73. %if %{embedded_perl} == 1 && %{perl_modules} == 0
  74. echo "'-with embedded_perl' requires '-with perl_modules'"
  75. exit 1
  76. %endif
  77. %setup -q
  78. %build
  79. %configure --with-defaults --with-sys-contact="Unknown" 
  80. --with-mib-modules="host disman/event-mib smux" 
  81. --with-sysconfdir="/etc/net-snmp"               
  82. --enable-shared 
  83. %{?_with_perl_modules: --with-perl-modules="PREFIX=$RPM_BUILD_ROOT%{_prefix} INSTALLDIRS=vendor"} 
  84. %{?_with_embedded_perl: --enable-embedded-perl} 
  85. --with-cflags="$RPM_OPT_FLAGS"
  86. make
  87. %install
  88. # ----------------------------------------------------------------------
  89. # 'install' sets the current directory to _topdir/BUILD/{name}-{version}
  90. # ----------------------------------------------------------------------
  91. rm -rf $RPM_BUILD_ROOT
  92. %makeinstall ucdincludedir=$RPM_BUILD_ROOT%{_prefix}/include/ucd-snmp 
  93.              includedir=$RPM_BUILD_ROOT%{_prefix}/include/net-snmp
  94. # Remove 'snmpinform' from the temporary directory because it is a
  95. # symbolic link, which cannot be handled by the rpm installation process.
  96. %__rm -f $RPM_BUILD_ROOT%{_prefix}/bin/snmpinform
  97. # install the init script
  98. mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d
  99. perl -i -p -e 's@/usr/local/share/snmp/@/etc/snmp/@g;s@usr/local@%{_prefix}@g' dist/snmpd-init.d
  100. install -m 755 dist/snmpd-init.d $RPM_BUILD_ROOT/etc/rc.d/init.d/snmpd
  101. %if %{include_perl}
  102. # unneeded perl stuff
  103. find $RPM_BUILD_ROOT/usr/lib/perl5/ -name Bundle -type d | xargs rm -rf
  104. find $RPM_BUILD_ROOT/usr/lib/perl5/ -name perllocal.pod | xargs rm -f
  105. # store a copy of installed perl stuff.  It's too complex to predict
  106. (xxdir=`pwd` && cd $RPM_BUILD_ROOT && find usr/lib/perl5 -type f | sed 's/^///' > $xxdir/net-snmp-perl-files)
  107. %endif
  108. %post
  109. # ----------------------------------------------------------------------
  110. # The 'post' script is executed just after the package is installed.
  111. # ----------------------------------------------------------------------
  112. # Create the symbolic link 'snmpinform' after all other files have
  113. # been installed.
  114. %__rm -f $RPM_INSTALL_PREFIX/bin/snmpinform
  115. %__ln_s $RPM_INSTALL_PREFIX/bin/snmptrap $RPM_INSTALL_PREFIX/bin/snmpinform
  116. # run ldconfig
  117. PATH="$PATH:/sbin" ldconfig -n $RPM_INSTALL_PREFIX/lib
  118. %preun
  119. # ----------------------------------------------------------------------
  120. # The 'preun' script is executed just before the package is erased.
  121. # ----------------------------------------------------------------------
  122. # Remove the symbolic link 'snmpinform' before anything else, in case
  123. # it is in a directory that rpm wants to remove (at present, it isn't).
  124. %__rm -f $RPM_INSTALL_PREFIX/bin/snmpinform
  125. %postun
  126. # ----------------------------------------------------------------------
  127. # The 'postun' script is executed just after the package is erased.
  128. # ----------------------------------------------------------------------
  129. PATH="$PATH:/sbin" ldconfig -n $RPM_INSTALL_PREFIX/lib
  130. %clean
  131. rm -rf $RPM_BUILD_ROOT
  132. %files
  133. %defattr(-,root,root)
  134. # Install the following documentation in _defaultdocdir/{name}-{version}/
  135. %doc AGENT.txt ChangeLog CodingStyle COPYING
  136. %doc EXAMPLE.conf.def FAQ INSTALL NEWS PORTING TODO
  137. %doc README README.agentx README.hpux11 README.krb5
  138. %doc README.snmpv3 README.solaris README.thread README.win32
  139.  
  140. #%config(noreplace) /etc/net-snmp/snmpd.conf
  141.  
  142. #%{_datadir}/snmp/snmpconf-data
  143. %{_datadir}/snmp
  144. %{_bindir}
  145. %{_sbindir}
  146. %{_mandir}/man1/*
  147. # don't include perl man pages, which start with caps
  148. %{_mandir}/man3/[^A-Z]*
  149. %{_mandir}/man5/*
  150. %{_mandir}/man8/*
  151. /usr/lib/*.so*
  152. /etc/rc.d/init.d/snmpd
  153. %files devel
  154. %defattr(-,root,root)
  155. %{_includedir}
  156. %{_libdir}/*.a
  157. %{_libdir}/*.la
  158. %if %{include_perl}
  159. %files -f net-snmp-perl-files perlmods
  160. %defattr(-,root,root)
  161. %{_mandir}/man3/*::*
  162. %{_mandir}/man3/SNMP*
  163. %endif
  164. %verifyscript
  165. echo "No additional verification is done for net-snmp"
  166. %changelog
  167. * Tue Oct 28 2003 rs <rstory@users.sourceforge.net>
  168. - fix conditional perl build after reading rpm docs
  169. * Sat Oct  4 2003 rs <rstory@users.sourceforge.net> - 5.0.9-4
  170. - fix to build without requiring arguments
  171. - separate embedded perl and perl modules options
  172. - fix fix for init.d script for non-/usr/local installation
  173. * Fri Sep 26 2003 Wes Hardaker <hardaker@users.sourceforge.net>
  174. - fix perl's UseNumeric
  175. - fix init.d script for non-/usr/local installation
  176. * Fri Sep 12 2003 Wes Hardaker <hardaker@users.sourceforge.net>
  177. - fixes for 5.0.9's perl support
  178. * Mon Sep 01 2003 Wes Hardaker <hardaker@users.sourceforge.net>
  179. - added perl support
  180. * Wed Oct 09 2002 Wes Hardaker <hardaker@users.sourceforge.net>
  181. - Incorperated most of Mark Harig's better version of the rpm spec and Makefile
  182. * Wed Oct 09 2002 Wes Hardaker <hardaker@users.sourceforge.net>
  183. - Made it possibly almost usable.
  184. * Mon Apr 22 2002 Robert Story <rstory@users.sourceforge.net>
  185. - created