شما نمی توانید بیش از 25 موضوع انتخاب کنید موضوع می‌بایستی با حروف یا شماره ها شروع شود. و می‌تواند شامل دَش ('-') باشد و طول آن تا 35 کارکتر نیز امکانپذیر است.
 
 
 
 
 
 

207 خطوط
7.7 KiB

##
## pks.spec -- OpenPKG RPM Specification
## Copyright (c) 2000-2003 Cable & Wireless Deutschland GmbH
## Copyright (c) 2000-2003 The OpenPKG Project <http://www.openpkg.org/>
## Copyright (c) 2000-2003 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: pks
Summary: OpenPGP Key Server
URL: http://pks.sourceforge.net/
Vendor: Marc Horowitz et al.
Packager: The OpenPKG Project
Distribution: OpenPKG [EVAL]
Group: Cryptography
License: GPL
Version: 0.9.6
Release: 20030628
# package options
%option with_fsl yes
# list of sources
Source0: http://osdn.dl.sourceforge.net/sourceforge/pks/pks-%{version}.tar.gz
Source1: fsl.pks
Source2: rc.pks
Source3: pksd.conf
Source4: pks-mail.c
Source5: pks.html
Source6: pks-apache.conf
# build information
Prefix: %{l_prefix}
BuildRoot: %{l_buildroot}
BuildPreReq: OpenPKG, openpkg >= 20030415
PreReq: OpenPKG, openpkg >= 20030415, MTA
%if "%{with_fsl}" == "yes"
BuildPreReq: fsl
PreReq: fsl
%endif
AutoReq: no
AutoReqProv: no
%description
PKS is an OpenPGP (RFC 2440) compliant Public Key server, originally
developed by Marc Horowitz for http://pgp.mit.edu/.
%prep
%setup -q
%build
# configure and build programs
echo "ac_cv_path_SENDMAIL=%{l_prefix}/sbin/sendmail" >config.cache
CC="%{l_cc}" \
CFLAGS="%{l_cflags -O}" \
CPPFLAGS="%{l_cppflags}" \
LDFLAGS="%{l_ldflags} %{l_fsl_ldflags}" \
./configure \
--cache-file=./config.cache \
--prefix=%{l_prefix} \
--sysconfdir=%{l_prefix}/etc/%{name} \
--localstatedir=%{l_prefix}/var/%{name} \
--datadir=%{l_prefix}/share/%{name}
%{l_make} %{l_mflags} \
LDFLAGS="%{l_ldflags} %{l_fsl_ldflags}"
# build suid wrapper for pks-mail
%{l_cc} %{l_cflags} %{l_ldflags} '-DL_PREFIX="%{l_prefix}"' \
-o pks-mail %{SOURCE pks-mail.c}
%install
rm -rf $RPM_BUILD_ROOT
# install programs
%{l_make} %{l_mflags} install DESTDIR=$RPM_BUILD_ROOT
# strip installation files and adjust paths
rm -rf $RPM_BUILD_ROOT%{l_prefix}/include/db2
rm -rf $RPM_BUILD_ROOT%{l_prefix}/lib/db2
rm -f $RPM_BUILD_ROOT%{l_prefix}/bin/db_*
rm -f $RPM_BUILD_ROOT%{l_prefix}/var/%{name}/index.html
mv $RPM_BUILD_ROOT%{l_prefix}/bin/pks-queue-run.sh \
$RPM_BUILD_ROOT%{l_prefix}/bin/pks-queue-run
mv $RPM_BUILD_ROOT%{l_prefix}/var/%{name}/incoming \
$RPM_BUILD_ROOT%{l_prefix}/var/%{name}/queue
strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true
# install HTML top-level page
%{l_shtool} mkdir -f -p -m 755 \
$RPM_BUILD_ROOT%{l_prefix}/pub/%{name}
%{l_shtool} install -c -m 644 \
%{SOURCE pks.html} $RPM_BUILD_ROOT%{l_prefix}/pub/%{name}/index.html
# install suid wrapper for pks-mail
%{l_shtool} mkdir -f -p -m 755 \
$RPM_BUILD_ROOT%{l_prefix}/libexec/%{name}
mv $RPM_BUILD_ROOT%{l_prefix}/bin/pks-mail.sh \
$RPM_BUILD_ROOT%{l_prefix}/libexec/%{name}/pks-mail
%{l_shtool} install -c -s -m 755 \
pks-mail $RPM_BUILD_ROOT%{l_prefix}/bin/
# 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_rusr@;%{l_rusr};g' \
-e 's;@l_rgrp@;%{l_rgrp};g' \
%{SOURCE rc.pks} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/
# override default configuration
%{l_shtool} install -c -m 644 \
-e 's;@l_prefix@;%{l_prefix};g' \
%{SOURCE pksd.conf} $RPM_BUILD_ROOT%{l_prefix}/etc/%{name}/
%{l_shtool} install -c -m 644 \
-e 's;@l_prefix@;%{l_prefix};g' \
%{SOURCE pks-apache.conf} $RPM_BUILD_ROOT%{l_prefix}/etc/%{name}/
# OSSP fake syslog library
%{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.%{name}} \
$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.%{name}' \
'%config %{l_prefix}/etc/%{name}/pksd.conf' \
'%attr(4755,%{l_rusr},%{l_mgrp}) %{l_prefix}/bin/pks-mail' \
'%dir %attr(755,%{l_rusr},%{l_mgrp}) %{l_prefix}/var/%{name}' \
'%dir %attr(755,%{l_rusr},%{l_mgrp}) %{l_prefix}/var/%{name}/db' \
'%dir %attr(755,%{l_rusr},%{l_mgrp}) %{l_prefix}/var/%{name}/queue'
%files -f files
%clean
rm -rf $RPM_BUILD_ROOT
%post
if [ $1 -eq 1 ]; then
# create initial database
su - %{l_rusr} -c "%{l_prefix}/bin/pksclient \
%{l_prefix}/var/%{name}/db create" >/dev/null 2>&1
su - %{l_rusr} -c "%{l_prefix}/bin/pksclient \
%{l_prefix}/var/%{name}/db add %{l_prefix}/etc/openpkg/openpkg.pgp" >/dev/null 2>&1
# activate in MTA configuration
mta_aliases_file=`%{l_prefix}/etc/rc --query mta_aliases_file`
mta_aliases_update=`%{l_prefix}/etc/rc --query mta_aliases_update`
if [ ".$mta_aliases_file" != . ]; then
( echo "pks: pks-request"
echo "pks-request: \"|%{l_prefix}/bin/pks-mail %{l_prefix}/etc/%{name}/pksd.conf\""
echo "pks-daemon: MAILER-DAEMON"
echo "pks-admin: postmaster"
echo "pgp-public-keys: pks-request"
echo "pgp: pks-request"
) | %{l_rpmtool} config -a -i "%{l_prefix}:%{name}" $mta_aliases_file
fi
if [ ".$mta_aliases_update" != . ]; then
eval $mta_aliases_update
fi
fi
%preun
if [ $1 -eq 0 ]; then
# stop perhaps still running server
%{l_prefix}/etc/rc %{name} stop >/dev/null 2>&1 || true
# deactivate in MTA configuration
mta_aliases_file=`%{l_prefix}/etc/rc --query mta_aliases_file`
mta_aliases_update=`%{l_prefix}/etc/rc --query mta_aliases_update`
if [ ".$mta_aliases_file" != . ]; then
%{l_rpmtool} config -r -i "%{l_prefix}:%{name}" $mta_aliases_file
fi
if [ ".$mta_aliases_update" != . ]; then
eval $mta_aliases_update
fi
# remove generated files
rm -f %{l_prefix}/var/%{name}/pksd.ctl >/dev/null 2>&1 || true
rm -f %{l_prefix}/var/%{name}/pksd.log >/dev/null 2>&1 || true
rm -f %{l_prefix}/var/%{name}/pks-queue-run.pid >/dev/null 2>&1 || true
rm -f %{l_prefix}/var/%{name}/queue/* >/dev/null 2>&1 || true
rm -f %{l_prefix}/var/%{name}/db/* >/dev/null 2>&1 || true
fi