head 1.8; access; symbols OPENPKG_E1_MP:1.5 OPENPKG_E1_MP_HEAD:1.5; locks; strict; comment @-- @; 1.8 date 2009.04.18.13.15.36; author rse; state Exp; branches; next 1.7; commitid 4pHXU27WTIGCZuKt; 1.7 date 2008.01.01.15.04.47; author rse; state Exp; branches; next 1.6; commitid B8esaHJHoduuKILs; 1.6 date 2007.04.18.21.46.24; author thl; state Exp; branches; next 1.5; commitid WyQKNMwmoITBoBes; 1.5 date 2007.01.01.17.41.50; author rse; state Exp; branches; next 1.4; commitid BicZD6VUl7GuqP0s; 1.4 date 2006.11.13.18.10.03; author rse; state Exp; branches; next 1.3; commitid 3ynPh46LE5lxdxUr; 1.3 date 2006.11.01.15.03.56; author rse; state Exp; branches; next 1.2; commitid kMUnOXwWrQsCzYSr; 1.2 date 2006.11.01.14.55.48; author rse; state Exp; branches; next 1.1; commitid f8hTbp1hZovPwYSr; 1.1 date 2006.11.01.09.23.45; author rse; state Exp; branches; next ; commitid PmGTJKoofDSUGWSr; desc @@ 1.8 log @bump years in copyright messages @ text @## ## sks.spec -- OpenPKG RPM Package Specification ## Copyright (c) 2000-2009 OpenPKG Foundation e.V. ## ## 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: sks Summary: OpenPGP Key Server URL: http://www.nongnu.org/sks/ Vendor: Yaron Minsky Packager: OpenPKG Foundation e.V. Distribution: OpenPKG Community Class: EVAL Group: PGP License: GPL Version: 1.0.10 Release: 20080101 # list of sources Source0: http://download.savannah.gnu.org/releases/sks/sks-%{version}.tgz Source1: rc.sks Source2: sks-setup Source3: sks-load Source4: sks-mail.c Source5: sks.html Source6: sks.txt Patch0: sks.patch # build information Prefix: %{l_prefix} BuildRoot: %{l_buildroot} BuildPreReq: OpenPKG, openpkg >= 20040130, ocaml, gcc, make, perl PreReq: OpenPKG, openpkg >= 20040130, MTA BuildPreReq: db PreReq: db AutoReq: no AutoReqProv: no %description SKS is a new OpenPGP keyserver whose goal is to provide easy to deploy, decentralized, and highly reliable synchronization. That means that a key submitted to one SKS server will quickly be distributed to all key servers, and even wildly out-of-date servers, or servers that experience spotty connectivity, can fully synchronize with rest of the system. SKS uses a highly efficient and reliable reconciliation algorithm; follows RFC2440 and RFC2440bis carefully, supports (unlike PKS) new and old style packets, photoID packets, multiple subkeys, and pretty much everything allowed by the RFCs; is fully compatible with the PKS system (can both send and receive syncs from PKS servers, ensuring seamless connectivity), provides a simple configuration: each host just needs a (partial) list of the other participating key servers; and supports HKP/web-based querying. %track prog sks = { version = %{version} url = http://download.savannah.gnu.org/releases/sks/ regex = sks-(__VER__)\.tgz } %prep %setup -q %patch -p0 %build # build main program %{l_make} %{l_mflags} \ BDBINCLUDE="%{l_cppflags}" \ BDBLIB="%{l_ldflags}" \ LIBDB="-ldb" \ MANDIR="%{l_prefix}/man" # build suid wrapper sks-mail %{l_cc} %{l_cflags} %{l_ldflags} '-DL_PREFIX="%{l_prefix}"' \ -o sks-mail %{SOURCE sks-mail.c} %install # create installation hierarchy rm -rf $RPM_BUILD_ROOT %{l_shtool} mkdir -f -p -m 755 \ $RPM_BUILD_ROOT%{l_prefix}/etc/sks \ $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d \ $RPM_BUILD_ROOT%{l_prefix}/sbin \ $RPM_BUILD_ROOT%{l_prefix}/var/sks # install programs %{l_shtool} install -c -s -m 755 \ sks sks_add_mail sks-mail $RPM_BUILD_ROOT%{l_prefix}/sbin/ %{l_shtool} install -c -m 755 %{l_value -s -a} \ %{SOURCE sks-setup} %{SOURCE sks-load} \ $RPM_BUILD_ROOT%{l_prefix}/sbin/ %{l_shtool} install -c -m 755 \ -e 's;/bin/bash;%{l_bash};g' \ -e 's; sks ; %{l_prefix}/sbin/sks ;g' \ sks_build.sh $RPM_BUILD_ROOT%{l_prefix}/sbin/sks_build # install run-command script %{l_shtool} install -c -m 755 %{l_value -s -a} \ %{SOURCE rc.sks} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/ # install default web form %{l_shtool} install -c -m 644 %{l_value -s -a} \ %{SOURCE sks.html} $RPM_BUILD_ROOT%{l_prefix}/etc/sks/ for name in `grep "^/d" -e "/<\/file>/,\$d" >$name %{l_shtool} install -c -m 644 %{l_value -s -a} \ $name $RPM_BUILD_ROOT%{l_prefix}/etc/sks/ done # determine installation files %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \ %{l_files_std} \ '%config %{l_prefix}/etc/sks/*' \ '%attr(4755,%{l_rusr},%{l_mgrp}) %{l_prefix}/sbin/sks-mail' \ '%attr(-,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/sks' %files -f files %clean rm -rf $RPM_BUILD_ROOT %post if [ $1 -eq 1 ]; then # create initial database su %{l_rusr} -c "$RPM_INSTALL_PREFIX/sbin/sks-setup" # activate in MTA configuration aliases_file=`$RPM_INSTALL_PREFIX/bin/openpkg rc --query MTA_aliases_file` aliases_update=`$RPM_INSTALL_PREFIX/bin/openpkg rc --query MTA_aliases_update` if [ ".$aliases_file" != . ]; then ( echo "sks: pks-request" echo "sks-request: \"|$RPM_INSTALL_PREFIX/sbin/sks-mail $RPM_INSTALL_PREFIX/var/sks\"" echo "sks-daemon: MAILER-DAEMON" echo "sks-admin: postmaster" echo "pgp-public-keys: sks-request" echo "pgp: sks-request" ) | %{l_rpmtool} config -a -i "$RPM_INSTALL_PREFIX:sks" $aliases_file fi if [ ".$aliases_update" != . ]; then eval $aliases_update fi # display hint ( echo "SKS database initialized. Now you can start SKS with" echo " \$ $RPM_INSTALL_PREFIX/bin/openpkg rc sks start" echo "and, for instance, lookup the OpenPKG OpenPGP keys under" echo " http://localhost:11371/pks/lookup?op=index&search=openpkg" echo "or access the SKS internal statistic page under" echo " http://localhost:11371/pks/lookup?op=stats" echo "or access the simple top-level SKS web form under" echo " http://localhost:11371/" echo "If you want to load a full dump of all keys in the existing" echo "SKS key servers, run the following command to download and" echo "merge all their latest dumps into your local database:" echo " su %{l_rusr} -c $RPM_INSTALL_PREFIX/sbin/sks-load" ) | %{l_rpmtool} msg -b -t notice elif [ $1 -eq 2 ]; then # after upgrade, restart service eval `%{l_rc} sks status 2>/dev/null` [ ".$sks_active" = .yes ] && %{l_rc} sks restart fi exit 0 %preun # before erase, stop service and remove log files [ $1 -eq 0 ] || exit 0 %{l_rc} sks stop 2>/dev/null # deactivate in MTA configuration aliases_file=`$RPM_INSTALL_PREFIX/bin/openpkg rc --query MTA_aliases_file` aliases_update=`$RPM_INSTALL_PREFIX/bin/openpkg rc --query MTA_aliases_update` if [ ".$aliases_file" != . ]; then %{l_rpmtool} config -r -i "$RPM_INSTALL_PREFIX:sks" $aliases_file fi if [ ".$aliases_update" != . ]; then eval $aliases_update fi # remove database files rm -rf $RPM_INSTALL_PREFIX/var/sks/* >/dev/null 2>&1 || true exit 0 @ 1.7 log @Update package specifications according to OpenPKG year 2008 world order: http://www.mail-archive.com/openpkg-announce@@openpkg.org/msg00221.html @ text @d3 1 a3 1 ## Copyright (c) 2000-2008 OpenPKG Foundation e.V. @ 1.6 log @get rid of direct /etc/rc call and replace them with openpkg @ text @d3 1 a3 2 ## Copyright (c) 2000-2007 OpenPKG Foundation e.V. ## Copyright (c) 2000-2007 Ralf S. Engelschall d35 1 a35 1 Release: 20070418 @ 1.5 log @Welcome Year 2007! @ text @d36 1 a36 1 Release: 20061113 d151 2 a152 2 aliases_file=`$RPM_INSTALL_PREFIX/etc/rc --query MTA_aliases_file` aliases_update=`$RPM_INSTALL_PREFIX/etc/rc --query MTA_aliases_update` d193 2 a194 2 aliases_file=`$RPM_INSTALL_PREFIX/etc/rc --query MTA_aliases_file` aliases_update=`$RPM_INSTALL_PREFIX/etc/rc --query MTA_aliases_update` @ 1.4 log @place PGP related packages into their own dedicated class @ text @d3 2 a4 2 ## Copyright (c) 2000-2006 OpenPKG Foundation e.V. ## Copyright (c) 2000-2006 Ralf S. Engelschall @ 1.3 log @final package polishing @ text @d33 1 a33 1 Group: Cryptography d36 1 a36 1 Release: 20061101 @ 1.2 log @improve configuration by using separate files; add support for mail gateway @ text @d167 1 a167 1 ( echo "SKS database initialized. Now you can startup SKS with" d169 1 a169 1 echo "and for instance lookup the OpenPKG OpenPGP keys under" d173 2 @ 1.1 log @new package: sks 1.0.10 (OpenPGP Key Server) @ text @d43 3 a45 1 Source4: sks.html d52 1 a52 1 PreReq: OpenPKG, openpkg >= 20040130 d87 1 d94 4 d99 1 d102 1 a104 1 $RPM_BUILD_ROOT%{l_prefix}/share/sks \ d106 2 d109 1 a109 1 sks sks_add_mail $RPM_BUILD_ROOT%{l_prefix}/sbin/ d117 2 d121 13 a133 2 %{l_shtool} install -c -m 755 %{l_value -s -a} \ %{SOURCE sks.html} $RPM_BUILD_ROOT%{l_prefix}/share/sks/ d136 2 a145 1 # on initial install, create database d147 1 d149 18 d178 4 a182 5 # after upgrade, restart service [ $1 -eq 2 ] || exit 0 eval `%{l_rc} sks status 2>/dev/null` [ ".$sks_active" = .yes ] && %{l_rc} sks restart d189 12 @