## ## pam.spec -- OpenPKG RPM Specification ## Copyright (c) 2000-2002 Cable & Wireless Deutschland GmbH ## Copyright (c) 2000-2002 The OpenPKG Project ## Copyright (c) 2000-2002 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: pam Summary: Information Resource for PAM URL: - Vendor: The OpenPKG Project Packager: The OpenPKG Project Distribution: OpenPKG [EXP] Group: Meta License: PD Version: 20020311 Release: 20020311 # list of sources Source0: pamtool Source1: rc.pam # build information Prefix: %{l_prefix} BuildRoot: %{l_buildroot} BuildPreReq: OpenPKG, openpkg >= 20020206 PreReq: OpenPKG, openpkg >= 20020206 AutoReq: no AutoReqProv: no Provides: PAM %description This is the information resource package for PAM. %prep %build %install rm -rf $RPM_BUILD_ROOT pam_cfgloc="" pam_modpfx="" pam_incdir="" pam_libdir="" # search for configuration location for cfgloc in \ /etc/pam.d \ /etc/pam.conf \ ; do if [ -f $cfgloc -o -d $cfgloc ]; then pam_cfgloc="$cfgloc" break fi done # search for module prefix if [ -d $pam_cfgloc ]; then mod=`cat $pam_cfgloc/* 2>/dev/null | grep '^#*[ ]*other' | head -1 | awk '{ print $3; }'` elif [ -f $pam_cfgloc ]; then mod=`cat $pam_cfgloc 2>/dev/null | grep '^#*[ ]*other' | head -1 | awk '{ print $4; }'` else mod="" fi case $mod in pam_* ) pam_modpfx="" ;; /*/pam_* ) pam_modpfx=`echo $mod | sed 's;^\(/.*/\)pam_[^/]*$;\1;'` ;; esac # search for include directory for incdir in \ /usr/include \ /usr/local/include \ /opt/include \ ; do if [ -f "$incdir/security/pam_appl.h" ]; then pam_incdir="$incdir" break fi done # search for library directory for libdir in \ /lib \ /usr/lib \ /usr/local/lib \ /opt/lib \ ; do for ext in a so sl; do if [ -f "$libdir/libpam.$ext" ]; then pam_libdir="$libdir" break fi done if [ ".$pam_libdir" != . ]; then break fi done # make sure everything was found if [ ".$pam_cfgloc" = . ] ||\ [ ".$pam_incdir" = . ] ||\ [ ".$pam_libdir" = . ]; then echo "************************************************************" echo "** ERROR: SOME PAM INFORMATION COULD NOT BE DETERMINED!!" echo "** ERROR: SOME PAM INFORMATION COULD NOT BE DETERMINED!!" echo "**" echo "** We found out:" echo "** PAM Config Location: \"${pam_cfgloc}\"" echo "** PAM Module Prefix: \"${pam_modpfx}\"" echo "** PAM Include Directory: \"${pam_incdir}\"" echo "** PAM Library Directory: \"${pam_libdir}\"" echo "**" echo "** Unfortunately, some information is missing here." echo "**" echo "** ERROR: SOME PAM INFORMATION COULD NOT BE DETERMINED!!" echo "** ERROR: SOME PAM INFORMATION COULD NOT BE DETERMINED!!" echo "************************************************************" exit 1 fi # install PAM tool %{l_shtool} mkdir -f -p -m 755 \ $RPM_BUILD_ROOT%{l_prefix}/sbin %{l_shtool} install -c -m 755 \ -e 's;@l_prefix@;%{l_prefix};g' \ -e 's;@l_target@;%{l_target};g' \ %{SOURCE pamtool} $RPM_BUILD_ROOT%{l_prefix}/sbin/ # install rc file %{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;@pam_cfgloc@;${pam_cfgloc};g" \ -e "s;@pam_modpfx@;${pam_modpfx};g" \ -e "s;@pam_incdir@;${pam_incdir};g" \ -e "s;@pam_libdir@;${pam_libdir};g" \ %{SOURCE rc.pam} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/ %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} %files -f files %clean rm -rf $RPM_BUILD_ROOT