## ## portsentry.spec -- OpenPKG RPM Specification ## Copyright (c) 2000-2003 Cable & Wireless Deutschland GmbH ## Copyright (c) 2000-2003 The OpenPKG Project ## Copyright (c) 2000-2003 Ralf S. Engelschall ## ## Permission to use, copy, modify, and distribute this software for ## any purpose with or without fee is hereby granted, provided that ## the above copyright notice and this permission notice appear in all ## copies. ## ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ## SUCH DAMAGE. ## # package information Name: portsentry Summary: Port Scanning Detection Daemon URL: http://www.psionic.com/products/portsentry.html Vendor: Psionic Software, Inc Packager: The OpenPKG Project Distribution: OpenPKG [BASE] Group: Security License: Open Source Version: 1.1 Release: 20030708 # package options %option with_fsl yes # list of sources Source0: http://www.psionic.com/downloads/portsentry-%{version}.tar.gz Source1: rc.portsentry Source2: fsl.portsentry # build information Prefix: %{l_prefix} BuildRoot: %{l_buildroot} BuildPreReq: OpenPKG, openpkg >= 20030415 PreReq: OpenPKG, openpkg >= 20030415 %if "%{with_fsl}" == "yes" BuildPreReq: fsl PreReq: fsl %endif AutoReq: no AutoReqProv: no %description Portsentry is a program designed to detect and respond to port scans against a target host in real-time. It runs as a daemon and listens to a wide range of spare sockets in order to detect port scans. %prep %setup -q %{l_shtool} subst \ -e 's;portsentry_util.c$;portsentry_util.c $(LIBS);' \ Makefile %build %{l_shtool} subst \ -e 's;^\(.*CONFIG_FILE.*"\)[^"]*\("\);\1%{l_prefix}/etc/portsentry/portsentry.conf\2;' \ -e 's;^\(.*WRAPPER_HOSTS_DENY.*"\)[^"]*\("\);\1%{l_prefix}/etc/portsentry/portsentry.deny\2;' \ portsentry_config.h %{l_shtool} subst \ -e 's;/usr/local/psionic/portsentry/;%{l_prefix}/etc/portsentry/;g' \ portsentry.conf case "%{l_target}" in *-freebsd* ) os="freebsd" ;; *-solaris* ) os="solaris" ;; *-linux* ) os="linux" ;; esac %{l_make} %{l_mflags -O} \ CC="%{l_cc}" \ CFLAGS="%{l_cflags -O}" \ LDFLAGS="%{l_fsl_ldflags}" \ LIBS="%{l_fsl_libs}" \ $os %install rm -rf $RPM_BUILD_ROOT %{l_shtool} mkdir -f -p -m 755 \ $RPM_BUILD_ROOT%{l_prefix}/var/portsentry \ $RPM_BUILD_ROOT%{l_prefix}/sbin \ $RPM_BUILD_ROOT%{l_prefix}/etc/portsentry \ $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d %{l_shtool} install -c -s -m 755 \ portsentry $RPM_BUILD_ROOT%{l_prefix}/sbin/ %{l_shtool} install -c -m 644 \ portsentry.conf $RPM_BUILD_ROOT%{l_prefix}/etc/portsentry/ %{l_shtool} install -c -m 644 \ portsentry.ignore $RPM_BUILD_ROOT%{l_prefix}/etc/portsentry/ %{l_shtool} install -c -m 644 \ /dev/null $RPM_BUILD_ROOT%{l_prefix}/etc/portsentry/portsentry.history %{l_shtool} install -c -m 644 \ /dev/null $RPM_BUILD_ROOT%{l_prefix}/etc/portsentry/portsentry.blocked # install run-command script %{l_shtool} mkdir -f -p -m 755 \ $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d %{l_shtool} install -c -m 755 \ -e 's;@l_prefix@;%{l_prefix};g' \ -e 's;@l_susr@;%{l_susr};g' \ -e 's;@l_rusr@;%{l_rusr};g' \ -e 's;@l_rgrp@;%{l_rgrp};g' \ %{SOURCE rc.portsentry} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/ # install OSSP fsl configuration %{l_shtool} mkdir -f -p -m 755 $RPM_BUILD_ROOT%{l_prefix}/etc/fsl %{l_shtool} install -c -m 644 \ -e 's;@l_prefix@;%{l_prefix};g' \ %{SOURCE fsl.portsentry} \ $RPM_BUILD_ROOT%{l_prefix}/etc/fsl/ # determine installation files %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \ %{l_files_std} \ '%not %dir %{l_prefix}/etc/fsl' \ '%config %{l_prefix}/etc/fsl/fsl.portsentry' \ '%config %{l_prefix}/etc/portsentry/portsentry.conf' \ '%config %{l_prefix}/etc/portsentry/portsentry.ignore' %files -f files %clean rm -rf $RPM_BUILD_ROOT