arpwatch/arpwatch.spec

Mon, 17 Sep 2012 19:10:10 +0200

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Mon, 17 Sep 2012 19:10:10 +0200
changeset 689
9fe04d4d4e5a
parent 387
33ae2d61c751
child 690
67c9fa937f34
permissions
-rw-r--r--

Update to new version of vendor software although Oracle fails to deliver.
More specifically, newer db(3) patch revisions exist but Oracle has
removed them from the canonical download server URI for Berkely DB.

     1 ##
     2 ##  arpwatch.spec -- OpenPKG RPM Specification
     3 ##  Copyright (c) 2012 Michael Schloh von Bennewitz <michael@schloh.com>
     4 ##
     5 ##  Permission to use, copy, modify, and distribute this software for
     6 ##  any purpose with or without fee is hereby granted, provided that
     7 ##  the above copyright notice and this permission notice appear in all
     8 ##  copies.
     9 ##
    10 ##  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
    11 ##  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
    12 ##  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
    13 ##  IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
    14 ##  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    15 ##  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
    16 ##  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
    17 ##  USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    18 ##  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
    19 ##  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
    20 ##  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    21 ##  SUCH DAMAGE.
    22 ##
    24 #   package information
    25 Name:         arpwatch
    26 Summary:      Ethernet Address Monitor Program
    27 URL:          http://ee.lbl.gov/
    28 Vendor:       Craig Leres
    29 Packager:     Michael Schloh von Bennewitz
    30 Distribution: Europalab Networks Production
    31 Class:        EVAL
    32 Group:        Network
    33 License:      GPL
    34 Version:      2.1a15
    35 Release:      20120800
    37 #   package options
    38 %option       with_fsl  yes
    40 #   list of sources
    41 Source0:      ftp://ftp.ee.lbl.gov/arpwatch-%{version}.tar.gz
    42 Source1:      rc.arpwatch
    43 Source2:      fsl.arpwatch
    44 Patch0:       arpwatch.patch
    46 #   build information
    47 BuildPreReq:  OpenPKG, openpkg >= 20100101, libpcap, make
    48 PreReq:       OpenPKG, openpkg >= 20100101, libpcap
    49 PreReq:       MTA
    50 %if "%{with_fsl}" == "yes"
    51 BuildPreReq:  fsl >= 1.2.0
    52 PreReq:       fsl >= 1.2.0
    53 %endif
    55 %description
    56     The arpwatch daemon monitors ethernet or fddi activity
    57     and maintains a database of ethernet/ip address pairings.
    58     It reports certain changes via email as well.
    60 %track
    61     prog arpwatch = {
    62         version   = %{version}
    63         url       = ftp://ftp.ee.lbl.gov/
    64         regex     = arpwatch-(__VER__)\.tar\.gz
    65     }
    67 %prep
    68     %setup -q
    69     %patch -p0
    71     #   supply more detailed file path information
    72     %{l_shtool} subst %{l_value -s l_prefix} \
    73         arpwatch.8 \
    74         arpsnmp.8
    76 %build
    77     #   query for platform specific libraries
    78     loclibs=""
    79     case "%{l_platform -t}" in
    80         *-sunos* ) loclibs="-lsocket -lnsl" ;;
    81     esac
    83     #   run the autoconf(1) generated configuration logic
    84     CC="%{l_cc}" \
    85     CFLAGS="%{l_cflags -O}" \
    86     CPPFLAGS="%{l_cppflags}" \
    87     LDFLAGS="%{l_ldflags} %{l_fsl_ldflags}" \
    88     LIBS="%{l_fsl_libs} $loclibs" \
    89     V_SENDMAIL=%{l_prefix}/sbin/sendmail \
    90     ./configure \
    91         --prefix=%{l_prefix} \
    92         --localstatedir=%{l_prefix}/var/arpwatch/run
    94     #   run the native build logic using parallel make
    95     %{l_make} %{l_mflags -O}
    97 %install
    98     #   create installation hierarchy
    99     %{l_shtool} mkdir -f -p -m 755 \
   100         $RPM_BUILD_ROOT%{l_prefix}/sbin \
   101         $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d \
   102         $RPM_BUILD_ROOT%{l_prefix}/man/man8 \
   103         $RPM_BUILD_ROOT%{l_prefix}/var/arpwatch/log \
   104         $RPM_BUILD_ROOT%{l_prefix}/var/arpwatch/run
   106     #   run the native installation logic
   107     %{l_make} %{l_mflags} install install-man install-data DESTDIR=$RPM_BUILD_ROOT
   109     #   install runcommand script
   110     %{l_shtool} install -c -m 755 %{l_value -s -a} \
   111         %{SOURCE rc.arpwatch} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/
   113     #   install OSSP fsl configuration
   114     %{l_shtool} mkdir -f -p -m 755 $RPM_BUILD_ROOT%{l_prefix}/etc/fsl
   115     %{l_shtool} install -c -m 644 %{l_value -s -a} \
   116         %{SOURCE fsl.arpwatch} \
   117         $RPM_BUILD_ROOT%{l_prefix}/etc/fsl/
   119     #   determine installation files
   120     %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
   121         %{l_files_std} \
   122         '%not %dir %{l_prefix}/etc/fsl' \
   123         '%config %{l_prefix}/etc/fsl/fsl.arpwatch'
   125 %files -f files
   127 %clean
   129 %pre
   130     #   before upgrading package, record runtime status and stop service
   131     [ $1 -eq 2 ] || exit 0
   132     eval `%{l_rc} arpwatch status 2>/dev/null | tee %{l_tmpfile}`
   133     %{l_rc} arpwatch stop 2>/dev/null
   134     exit 0
   136 %post
   137     if [ $1 -eq 1 ]; then
   138         #   after installing package, generate initial arp database
   139         %{l_shtool} install -c -o %{l_musr} -g %{l_mgrp} -m 644 \
   140             %{_builddir}/arpwatch-%{version}/ethercodes.dat \
   141             $RPM_INSTALL_PREFIX/var/arpwatch/run/
   143         #   after installing package, announce security provision lo0
   144         ( echo "Before starting the arpwatch daemon, set the config variables"
   145           echo "\"arpwatch_iface\" and \"arpwatch_ipnet\" in $RPM_INSTALL_PREFIX/etc/rc.conf to"
   146           echo "describe the network interface and block(s) to be monitored."
   147         ) | %{l_rpmtool} msg -b -t notice
   148     fi
   149     if [ $1 -eq 2 ]; then
   150         #   after upgrading package, restore runtime status
   151         eval `cat %{l_tmpfile}`; rm -f %{l_tmpfile} >/dev/null 2>&1 || true
   152         [ ".$arpwatch_active" = .yes ] && %{l_rc} arpwatch start
   153     fi
   154     exit 0
   156 %preun
   157     #   before removing package, stop service and remove log files
   158     [ $1 -eq 0 ] || exit 0
   159     %{l_rc} arpwatch stop 2>/dev/null
   160     rm -f $RPM_INSTALL_PREFIX/var/arpwatch/log/* >/dev/null 2>&1 || true
   161     rm -f $RPM_INSTALL_PREFIX/var/arpwatch/run/* >/dev/null 2>&1 || true
   162     exit 0

mercurial