|
|
|
##
|
|
|
|
## pam.spec -- OpenPKG RPM Specification
|
|
|
|
## Copyright (c) 2000-2002 Cable & Wireless Deutschland GmbH
|
|
|
|
## Copyright (c) 2000-2002 The OpenPKG Project <http://www.openpkg.org/>
|
|
|
|
## Copyright (c) 2000-2002 Ralf S. Engelschall <rse@engelschall.com>
|
|
|
|
##
|
|
|
|
## 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
|
|
|
|
|