snmp/snmp.spec

Tue, 28 Aug 2012 18:29:30 +0200

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Tue, 28 Aug 2012 18:29:30 +0200
changeset 534
d2d0020cfafa
parent 353
198005e4aad2
child 588
300d43423c2e
permissions
-rw-r--r--

Update from Drupal 6.x to 7.x and introduce several new HTML5 themes. Because
many themes from Drupal 6.x have since been abandoned, left unmaintained, or
not ported to Drupal 7.x, this package has changed in size and utility.

michael@325 1 ##
michael@325 2 ## snmp.spec -- OpenPKG RPM Package Specification
michael@325 3 ## Copyright (c) 2000-2011 OpenPKG Foundation e.V. <http://openpkg.net/>
michael@325 4 ##
michael@325 5 ## Permission to use, copy, modify, and distribute this software for
michael@325 6 ## any purpose with or without fee is hereby granted, provided that
michael@325 7 ## the above copyright notice and this permission notice appear in all
michael@325 8 ## copies.
michael@325 9 ##
michael@325 10 ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
michael@325 11 ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
michael@325 12 ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
michael@325 13 ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
michael@325 14 ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
michael@325 15 ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
michael@325 16 ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
michael@325 17 ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
michael@325 18 ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
michael@325 19 ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
michael@325 20 ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
michael@325 21 ## SUCH DAMAGE.
michael@325 22 ##
michael@325 23
michael@325 24 # package information
michael@325 25 Name: snmp
michael@325 26 Summary: Simple Network Management Protocol (SNMP) Toolkit
michael@325 27 URL: http://www.net-snmp.org/
michael@325 28 Vendor: The NET-SNMP Project
michael@325 29 Packager: OpenPKG Foundation e.V.
michael@325 30 Distribution: OpenPKG Community
michael@325 31 Class: BASE
michael@325 32 Group: Network
michael@325 33 License: BSD
michael@353 34 Version: 5.7
michael@384 35 Release: 20110915
michael@325 36
michael@325 37 # package options
michael@325 38 %option with_fsl yes
michael@325 39 %option with_perl no
michael@325 40 %option with_shared no
michael@325 41 %option with_mib_host no
michael@325 42 %option with_mib_smux no
michael@325 43 %option with_mib_tables no
michael@325 44 %option with_mib_sendmail no
michael@325 45
michael@325 46 # list of sources
michael@353 47 Source0: http://switch.dl.sourceforge.net/net-snmp/%{version}/net-snmp-%{version}.tar.gz
michael@325 48 Source1: rc.snmp
michael@325 49 Source2: fsl.snmp
michael@325 50 Source3: snmpd.conf
michael@325 51 Source4: snmptrapd.conf
michael@325 52 Patch0: snmp.patch
michael@384 53 Patch1: snmp_agentx.patch
michael@325 54
michael@325 55 # build information
michael@326 56 Prefix: %{l_prefix}
michael@326 57 BuildRoot: %{l_buildroot}
michael@326 58 BuildPreReq: OpenPKG, openpkg >= 20060823, gcc
michael@326 59 PreReq: OpenPKG, openpkg >= 20060823
michael@325 60 BuildPreReq: openssl
michael@325 61 PreReq: openssl
michael@325 62 %if "%{with_fsl}" == "yes"
michael@325 63 BuildPreReq: fsl
michael@325 64 PreReq: fsl
michael@325 65 %endif
michael@325 66 %if "%{with_perl}" == "yes"
michael@325 67 BuildPreReq: perl
michael@325 68 PreReq: perl
michael@325 69 %endif
michael@326 70 AutoReq: no
michael@326 71 AutoReqProv: no
michael@325 72
michael@325 73 %description
michael@325 74 This is a toolkit relating to the Simple Network Management Protocol
michael@325 75 (SNMP), including an extensible agent, an SNMP library, tools to
michael@325 76 request or set information from SNMP agents, tools to generate and
michael@325 77 handle SNMP traps, a version of the unix 'netstat' command using
michael@325 78 SNMP, etc.
michael@325 79
michael@325 80 %track
michael@325 81 prog snmp = {
michael@325 82 version = %{version}
michael@325 83 url = http://sourceforge.net/projects/net-snmp/files/
michael@325 84 regex = net-snmp-(\d+\.\d+\.\d+[a-z]?)\.tar\.gz
michael@325 85 }
michael@325 86
michael@325 87 %prep
michael@325 88 # unpack and patch package
michael@325 89 %setup -q -n net-snmp-%{version}
michael@325 90 %patch -p0
michael@384 91 %patch -p0 -P 1
michael@325 92
michael@325 93 # provide a default PID file location
michael@325 94 %{l_shtool} subst %{l_value -s -a} \
michael@325 95 agent/snmpd.c \
michael@325 96 apps/snmptrapd.c
michael@325 97
michael@325 98 # adjust package for not requiring --enable-shared for --with-perl-modules
michael@325 99 # (because it technically working also with static libraries on most platforms)
michael@325 100 %{l_shtool} subst \
michael@325 101 -e 's/if test "x$enable_shared" != "xyes"; then/if false; then/g' \
michael@325 102 configure
michael@325 103
michael@353 104 # remove incorrectly escaped shell construct quoting
michael@353 105 %{l_shtool} subst \
michael@353 106 -e 's;x\$OSTYPE;x;' \
michael@353 107 -e 's;\(PERLPROG -e.*system\)([^)][^)]*;\1(echo;' \
michael@353 108 configure
michael@353 109
michael@325 110 # adjust package to install Perl packages into RPM_BUILD_ROOT
michael@325 111 %{l_shtool} subst \
michael@325 112 -e "s;perl Makefile.PL;perl Makefile.PL PERL=$perl FULLPERL=$perl PREFIX=${RPM_BUILD_ROOT}%{l_prefix} INSTALLDIRS=vendor;g" \
michael@325 113 -e 's/cd perl ; $(MAKE))/cd perl ; $(MAKE) pure_all)/g' \
michael@325 114 -e 's/cd perl ; $(MAKE) install/cd perl ; $(MAKE) pure_install/g' \
michael@325 115 Makefile.in
michael@325 116
michael@325 117 %build
michael@325 118 # disable search for db library
michael@325 119 ( echo "ac_cv_lib_db1_dbopen=no"
michael@325 120 echo "ac_cv_lib_db_dbopen=no"
michael@325 121 echo "ac_cv_lib_rpmdb_db_create=yes"
michael@325 122 echo "ac_cv_lib_db_3_0_db_create=no"
michael@325 123 ) >config.cache
michael@325 124
michael@325 125 # determine additional MIBs to include
michael@325 126 mibs=""
michael@325 127 %if "%{with_mib_host}" == "yes"
michael@325 128 mibs="$mibs host"
michael@325 129 %endif
michael@325 130 %if "%{with_mib_smux}" == "yes"
michael@325 131 mibs="$mibs smux"
michael@325 132 %endif
michael@325 133 %if "%{with_mib_sendmail}" == "yes"
michael@325 134 mibs="$mibs mibII/mta_sendmail"
michael@325 135 %endif
michael@325 136
michael@325 137 # use correct libraries for platform
michael@325 138 case "%{l_platform -t}" in
michael@325 139 *-hpux* ) loclibs="-lnm" ;;
michael@325 140 esac
michael@325 141
michael@325 142 # configure package
michael@327 143 CONFIG_SHELL=%{l_bash} \
michael@325 144 ./configure \
michael@325 145 --cache-file=./config.cache \
michael@325 146 --with-cc="%{l_cc}" \
michael@325 147 --with-cflags="%{l_cflags -O} %{l_cppflags}" \
michael@325 148 --with-ldflags="%{l_ldflags} %{l_fsl_ldflags}" \
michael@325 149 --with-libs="%{l_fsl_libs} $loclibs" \
michael@325 150 --prefix=%{l_prefix} \
michael@325 151 --with-logfile=/dev/null \
michael@325 152 --with-persistent-directory=%{l_prefix}/var/snmp \
michael@325 153 --with-openssl=%{l_prefix} \
michael@325 154 --enable-silent-libtool \
michael@325 155 %if "%{with_shared}" == "no"
michael@325 156 --disable-shared \
michael@325 157 %endif
michael@325 158 %if "%{with_mib_host}" == "yes" || "%{with_mib_smux}" == "yes" || "%{with_mib_sendmail}" == "yes"
michael@325 159 --with-mib-modules="$mibs" \
michael@325 160 %endif
michael@325 161 %if "%{with_mib_tables}" == "no"
michael@325 162 --with-out-mib-modules="mibII/tcpTable mibII/udpTable" \
michael@325 163 %endif
michael@325 164 %if "%{with_perl}" == "yes"
michael@325 165 --with-perl-modules \
michael@325 166 --enable-embedded-perl \
michael@325 167 %else
michael@325 168 --without-perl-modules \
michael@325 169 --disable-embedded-perl \
michael@325 170 %endif
michael@325 171 --with-defaults
michael@325 172
michael@325 173 # build package
michael@325 174 %{l_make} %{l_mflags} touchit
michael@325 175 %{l_make} %{l_mflags}
michael@325 176
michael@325 177 %install
michael@326 178 rm -rf $RPM_BUILD_ROOT
michael@325 179
michael@325 180 # install package
michael@325 181 %{l_shtool} subst -v \
michael@325 182 -e "s;^\\(prefix.*=\\).*;\\1 $RPM_BUILD_ROOT%{l_prefix};g" \
michael@325 183 -e "s;^\\(exec_prefix.*=\\).*;\\1 $RPM_BUILD_ROOT%{l_prefix};g" \
michael@325 184 -e "s;^\\(persistentdir.*=\\).*;\\1 $RPM_BUILD_ROOT%{l_prefix}/var/snmp;g" \
michael@325 185 `find . -type f -name Makefile -print`
michael@325 186 %{l_make} %{l_mflags} install
michael@325 187
michael@325 188 # create additional directories
michael@325 189 %{l_shtool} mkdir -f -p -m 755 \
michael@325 190 $RPM_BUILD_ROOT%{l_prefix}/var/snmp \
michael@325 191 $RPM_BUILD_ROOT%{l_prefix}/var/snmp \
michael@325 192 $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d \
michael@325 193 $RPM_BUILD_ROOT%{l_prefix}/etc/snmp
michael@325 194
michael@325 195 # install default configuration
michael@325 196 %{l_shtool} install -c -m 644 \
michael@325 197 %{SOURCE snmpd.conf} %{SOURCE snmptrapd.conf} \
michael@325 198 $RPM_BUILD_ROOT%{l_prefix}/etc/snmp/
michael@325 199
michael@325 200 # strip down installation
michael@325 201 rm -f $RPM_BUILD_ROOT%{l_prefix}/bin/snmpinform
michael@325 202 rm -f $RPM_BUILD_ROOT%{l_prefix}/bin/ipf-mod.pl
michael@325 203 ln $RPM_BUILD_ROOT%{l_prefix}/bin/snmptrap \
michael@325 204 $RPM_BUILD_ROOT%{l_prefix}/bin/snmpinform
michael@325 205 strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true
michael@325 206 strip $RPM_BUILD_ROOT%{l_prefix}/sbin/* >/dev/null 2>&1 || true
michael@325 207 %if "%{with_perl}" == "yes"
michael@325 208 find ${RPM_BUILD_ROOT}${l_prefix} -name .packlist -print | xargs rm -f
michael@325 209 %endif
michael@325 210
michael@325 211 # install run-command script
michael@325 212 %{l_shtool} mkdir -f -p -m 755 \
michael@325 213 $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d
michael@325 214 %{l_shtool} install -c -m 755 %{l_value -s -a} \
michael@325 215 %{SOURCE rc.snmp} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/
michael@325 216
michael@325 217 # install OSSP fsl configuration
michael@325 218 %{l_shtool} mkdir -f -p -m 755 $RPM_BUILD_ROOT%{l_prefix}/etc/fsl
michael@325 219 %{l_shtool} install -c -m 644 %{l_value -s -a} \
michael@325 220 %{SOURCE fsl.snmp} \
michael@325 221 $RPM_BUILD_ROOT%{l_prefix}/etc/fsl/
michael@325 222
michael@325 223 # determine installation files
michael@325 224 %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
michael@325 225 %{l_files_std} \
michael@325 226 '%config %{l_prefix}/etc/fsl/fsl.snmp' \
michael@325 227 '%config %{l_prefix}/etc/snmp/*.conf'
michael@325 228
michael@325 229 %files -f files
michael@325 230
michael@325 231 %clean
michael@326 232 rm -rf $RPM_BUILD_ROOT
michael@325 233
michael@325 234 %post
michael@325 235 # after upgrade, restart service
michael@325 236 [ $1 -eq 2 ] || exit 0
michael@325 237 eval `%{l_rc} snmp status 2>/dev/null`
michael@325 238 [ ".$snmp_active" = .yes ] && %{l_rc} snmp restart
michael@325 239 exit 0
michael@325 240
michael@325 241 %preun
michael@325 242 # before erase, stop service and remove log files
michael@325 243 [ $1 -eq 0 ] || exit 0
michael@325 244 %{l_rc} snmp stop 2>/dev/null
michael@325 245 rm -f $RPM_INSTALL_PREFIX/var/snmp/*
michael@325 246 exit 0
michael@325 247

mercurial