OpenPKG CVS Repository
http://cvs.openpkg.org/
____________________________________________________________________________
Server: cvs.openpkg.org Name: Ralf S. Engelschall
Root: /e/openpkg/cvs Email: [EMAIL PROTECTED]
Module: openpkg-src openpkg-web Date: 28-Mar-2003 20:06:57
Branch: HEAD Handle: 2003032819065402
Added files:
openpkg-src/pks pks-mail.c
Modified files:
openpkg-src/pks pks.spec rc.pks
openpkg-web news.txt
Log:
work-off this package even more to reach a more final point
Summary:
Revision Changes Path
1.1 +29 -0 openpkg-src/pks/pks-mail.c
1.2 +48 -12 openpkg-src/pks/pks.spec
1.2 +12 -3 openpkg-src/pks/rc.pks
1.3878 +1 -0 openpkg-web/news.txt
____________________________________________________________________________
patch -p0 <<'@@ .'
Index: openpkg-src/pks/pks-mail.c
============================================================================
$ cvs diff -u -r0 -r1.1 pks-mail.c
--- /dev/null 2003-03-28 20:06:56.000000000 +0100
+++ pks-mail.c 2003-03-28 20:06:56.000000000 +0100
@@ -0,0 +1,29 @@
+
+#include <stdlib.h>
+#include <sys/types.h>
+#include <unistd.h>
+
+#define RUN_DIR L_PREFIX "/var/pks"
+#define RUN_SCRIPT L_PREFIX "/libexec/pks/pks-mail"
+
+int main(int argc, char *argv[])
+{
+ static char *const exec_env[] = {
+ "PATH=/bin:/usr/bin:/sbin:/usr/sbin",
+ NULL
+ };
+ if (chdir(RUN_DIR) == -1) {
+ perror("chdir");
+ exit(1);
+ }
+ if (setuid(geteuid()) == -1) {
+ perror("setuid");
+ exit(1);
+ }
+ if (setgid(getegid()) == -1) {
+ perror("setgid");
+ exit(1);
+ }
+ execve(RUN_SCRIPT, argv, exec_env);
+}
+
@@ .
patch -p0 <<'@@ .'
Index: openpkg-src/pks/pks.spec
============================================================================
$ cvs diff -u -r1.1 -r1.2 pks.spec
--- openpkg-src/pks/pks.spec 28 Mar 2003 13:12:54 -0000 1.1
+++ openpkg-src/pks/pks.spec 28 Mar 2003 19:06:56 -0000 1.2
@@ -40,6 +40,7 @@
Source1: fsl.pks
Source2: rc.pks
Source3: pksd.conf
+Source4: pks-mail.c
# build information
Prefix: %{l_prefix}
@@ -72,6 +73,10 @@
%{l_make} %{l_mflags} \
LDFLAGS="%{l_ldflags} `%{l_prefix}/bin/fsl-config --ldflags --libs`"
+ # 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
@@ -82,13 +87,32 @@
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_*
- strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true
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
+
+ # remove non-English language files
+ mv $RPM_BUILD_ROOT%{l_prefix}/share/pks/pks_help.en \
+ $RPM_BUILD_ROOT%{l_prefix}/share/pks/pks_help.EN
+ rm -f $RPM_BUILD_ROOT%{l_prefix}/share/pks/pks_help.[a-z]*
+ mv $RPM_BUILD_ROOT%{l_prefix}/share/pks/pks_help.EN \
+ $RPM_BUILD_ROOT%{l_prefix}/share/pks/pks_help.en
+
+ # install HTML top-level page
+ %{l_shtool} mkdir -f -p -m 755 \
+ $RPM_BUILD_ROOT%{l_prefix}/pub/%{name}
+ mv $RPM_BUILD_ROOT%{l_prefix}/var/%{name}/index.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}/bin/pks-mail
- mv $RPM_BUILD_ROOT%{l_prefix}/var/pks/incoming \
- $RPM_BUILD_ROOT%{l_prefix}/var/pks/queue
+ $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 OSSP fsl configuration
%{l_shtool} mkdir -f -p -m 755 \
@@ -102,20 +126,22 @@
$RPM_BUILD_ROOT%{l_prefix}/etc/rc.d
%{l_shtool} install -c -m 644 \
-e 's;@l_prefix@;%{l_prefix};g' \
+ -e 's;@l_rusr@;%{l_rusr};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/pks/
+ %{SOURCE pksd.conf} $RPM_BUILD_ROOT%{l_prefix}/etc/%{name}/
# determine installation files
%{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
%{l_files_std} \
- '%config %{l_prefix}/etc/pks/pksd.conf' \
- '%dir %attr(775,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/pks' \
- '%dir %attr(775,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/pks/db' \
- '%dir %attr(775,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/pks/queue'
+ '%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
@@ -125,18 +151,18 @@
%post
if [ $1 -eq 1 ]; then
# create initial database
- %{l_prefix}/bin/pksclient %{l_prefix}/var/pks/db create
+ su - %{l_rusr} "%{l_prefix}/bin/pksclient %{l_prefix}/var/%{name}/db
create" # >/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-request: \"|%{l_prefix}/bin/pks-mail
%{l_prefix}/etc/pks/pksd.conf\""
+ ( 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}:%{l_name}" $mta_aliases_file
+ ) | %{l_rpmtool} config -a -i "%{l_prefix}:%{name}" $mta_aliases_file
fi
if [ ".$mta_aliases_update" != . ]; then
eval $mta_aliases_update
@@ -145,6 +171,9 @@
%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`
@@ -154,5 +183,12 @@
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
@@ .
patch -p0 <<'@@ .'
Index: openpkg-src/pks/rc.pks
============================================================================
$ cvs diff -u -r1.1 -r1.2 rc.pks
--- openpkg-src/pks/rc.pks 28 Mar 2003 13:12:54 -0000 1.1
+++ openpkg-src/pks/rc.pks 28 Mar 2003 19:06:56 -0000 1.2
@@ -8,11 +8,20 @@
%start -p 200 -u @l_rusr@
opServiceEnabled pks || exit 0
- @l_prefix@/sbin/pksd @l_prefix@/etc/pks/pksd.conf
- (sleep 4; @l_prefix@/bin/pks-queue-run @l_prefix@/etc/pks/pksd.conf) \
- </dev/null >/dev/null 2>&1 &
+ (nohup @l_prefix@/sbin/pksd \
+ @l_prefix@/etc/pks/pksd.conf \
+ </dev/null >/dev/null 2>&1 &) >/dev/null 2>&1
+ sleep 2
+ (nohup @l_prefix@/bin/pks-queue-run \
+ @l_prefix@/etc/pks/pksd.conf \
+ </dev/null >/dev/null 2>&1 &) >/dev/null 2>&1
+ echo "$!" >@l_prefix@/var/pks/pks-queue-run.pid
%stop -p 200 -u @l_rusr@
opServiceEnabled pks || exit 0
@l_prefix@/bin/pksdctl @l_prefix@/var/pks/pksd.ctl shutdown
+ if [ -f @l_prefix@/var/pks/pks-queue-run.pid ]; then
+ kill `cat @l_prefix@/var/pks/pks-queue-run.pid` >/dev/null 2>&1
+ rm -f @l_prefix@/var/pks/pks-queue-run.pid
+ fi
@@ .
patch -p0 <<'@@ .'
Index: openpkg-web/news.txt
============================================================================
$ cvs diff -u -r1.3877 -r1.3878 news.txt
--- openpkg-web/news.txt 28 Mar 2003 19:00:30 -0000 1.3877
+++ openpkg-web/news.txt 28 Mar 2003 19:06:54 -0000 1.3878
@@ -1,3 +1,4 @@
+28-Mar-2003: Upgraded package: P<pks-0.9.6-20030328>
28-Mar-2003: Upgraded package: P<swig-1.3.19-20030328>
28-Mar-2003: Upgraded package: P<iozone-3.167-20030328>
28-Mar-2003: Upgraded package: P<w3m-0.4.1-20030328>
@@ .
______________________________________________________________________
The OpenPKG Project www.openpkg.org
CVS Repository Commit List [EMAIL PROTECTED]