[prev in list] [next in list] [prev in thread] [next in thread]
List: openpkg-cvs
Subject: [CVS] OpenPKG: openpkg-src/qpopper qpopper.patch qpopper.spec rc.qpopp...
From: "Ralf S. Engelschall" <rse () openpkg ! org>
Date: 2001-12-28 11:30:49
[Download RAW message or body]
OpenPKG CVS Repository
http://www.openpkg.org/cvsweb/cvsweb.cgi
____________________________________________________________________________
Server: cvs.openpkg.org Name: Ralf S. Engelschall
Root: /e/openpkg/cvs Email: rse@openpkg.org
Module: openpkg-src Date: 28-Dec-2001 12:30:49
Branch: HEAD Handle: 2001122811304800
Added files:
openpkg-src/qpopper qpopper.patch
Modified files:
openpkg-src/qpopper qpopper.spec rc.qpopper
Log:
- add patch for creating pid file
- better handle pid file
- use fakesyslog for logging
Summary:
Revision Changes Path
1.1 +25 -0 openpkg-src/qpopper/qpopper.patch
1.16 +70 -50 openpkg-src/qpopper/qpopper.spec
1.4 +9 -3 openpkg-src/qpopper/rc.qpopper
____________________________________________________________________________
Index: openpkg-src/qpopper/qpopper.patch
============================================================
$ cvs update -p -r1.1 qpopper.patch
--- popper/main.c.orig Wed Apr 4 02:23:26 2001
+++ popper/main.c Fri Dec 28 11:18:39 2001
@@ -472,6 +472,22 @@
#endif /* not _DEBUG */
+#ifdef PIDFILE
+ /*
+ * Write PID file. -- RSE
+ */
+ {
+ pid_t pid;
+ FILE *fp;
+
+ pid = getpid();
+ if ((fp = fopen(PIDFILE, "w")) == NULL)
+ err_dump(HERE, "Can't write pidfile '%s'", PIDFILE);
+ fprintf(fp, "%ld\n", (long)pid);
+ fclose(fp);
+ }
+#endif
+
/*
* Set up the socket on which we listen
*/
Index: openpkg-src/qpopper/qpopper.spec
============================================================
$ cvs diff -u -r1.15 -r1.16 qpopper.spec
--- openpkg-src/qpopper/qpopper.spec 2001/12/27 15:00:37 1.15
+++ openpkg-src/qpopper/qpopper.spec 2001/12/28 11:30:48 1.16
@@ -33,11 +33,13 @@
Group: Mail
License: GPL
Version: 4.0.3
-Release: 20011201
+Release: 20011228
# list of sources
Source0: ftp://ftp.qualcomm.com/eudora/servers/unix/popper/qpopper%{version}.tar.gz
-Source1: rc.qpopper
+Source1: fakesyslog.tar.gz
+Source2: rc.qpopper
+Patch0: qpopper.patch
# build information
Prefix: %{l_prefix}
@@ -51,47 +53,75 @@
Qualcom Popper is a POP3 Daemon.
%prep
- %setup0 -q -n qpopper%{version}
+ %setup0 -q -c -a 0
+ %setup1 -q -T -D -a 1
+ cd qpopper%{version}
+ %patch0 -p0
%build
- CC="%{l_cc}" \
- CFLAGS="%{l_cflags -O}" \
- ./configure \
- --prefix=%{l_prefix} \
- --sbindir=%{l_prefix}/sbin \
- --disable-bulldb \
- --enable-servermode \
- --enable-standalone \
- --enable-log-login \
- --with-pam=qpopper \
- --enable-home-dir-mail=.mail/inbox \
- --with-log-facility=LOG_LOCAL5 \
- --enable-nonauth-file=%{l_prefix}/etc/qpopper/users.deny \
- --with-openssl=%{l_prefix} \
- --disable-nls
- %{l_rpmtool} subst \
- 's;\(MAIL_COMMAND[^"]*"\)[^"]*;\1%{l_prefix}/sbin/sendmail;' \
- -- config.h
- %{l_make} %{l_mflags -O}
+ # build faked syslog(3) library
+ fakesyslogdir="`pwd`/fakesyslog"
+ ( cd fakesyslog
+ CC="%{l_cc}" \
+ CFLAGS="%{l_cflags -O}" \
+ ./configure \
+ --with-logfile=%{l_prefix}/var/qpopper/qpopper.log
+ %{l_make} %{l_mflags}
+ )
+
+ # build qpopper
+ ( cd qpopper%{version}
+ CC="%{l_cc}" \
+ CFLAGS="%{l_cflags -O}" \
+ OS_DEFS="-DPIDFILE=\\\"%{l_prefix}/var/qpopper/qpopper.pid\\\"" \
+ LIBS="-L$fakesyslogdir -lfakesyslog" \
+ ./configure \
+ --prefix=%{l_prefix} \
+ --sbindir=%{l_prefix}/sbin \
+ --disable-bulldb \
+ --enable-servermode \
+ --enable-standalone \
+ --enable-log-login \
+ --with-pam=qpopper \
+ --enable-home-dir-mail=.mail/inbox \
+ --with-log-facility=LOG_MAIL \
+ --enable-nonauth-file=%{l_prefix}/etc/qpopper/users.deny \
+ --with-openssl=%{l_prefix} \
+ --disable-nls
+ %{l_rpmtool} subst \
+ 's;\(MAIL_COMMAND[^"]*"\)[^"]*;\1%{l_prefix}/sbin/sendmail;' \
+ -- config.h
+ %{l_make} %{l_mflags -O}
+ )
%install
rm -rf $RPM_BUILD_ROOT
+
+ # create installation area
%{l_shtool} mkdir -f -p -m 755 \
$RPM_BUILD_ROOT%{l_prefix}/sbin \
$RPM_BUILD_ROOT%{l_prefix}/man/man8 \
- $RPM_BUILD_ROOT%{l_prefix}/etc/qpopper
- %{l_shtool} install -c -m 644 \
- samples/qpopper.config $RPM_BUILD_ROOT%{l_prefix}/etc/qpopper/
- %{l_shtool} install -c -s -m 755 \
- popper/popper $RPM_BUILD_ROOT%{l_prefix}/sbin/qpopper
- %{l_shtool} install -c -m 644 \
- man/popper.8 $RPM_BUILD_ROOT%{l_prefix}/man/man8/qpopper.8
+ $RPM_BUILD_ROOT%{l_prefix}/etc/qpopper \
+ $RPM_BUILD_ROOT%{l_prefix}/var/qpopper
+
+ # install qpopper
+ ( cd qpopper%{version}
+ %{l_shtool} install -c -m 644 \
+ samples/qpopper.config $RPM_BUILD_ROOT%{l_prefix}/etc/qpopper/
+ %{l_shtool} install -c -s -m 755 \
+ popper/popper $RPM_BUILD_ROOT%{l_prefix}/sbin/qpopper
+ %{l_shtool} install -c -m 644 \
+ man/popper.8 $RPM_BUILD_ROOT%{l_prefix}/man/man8/qpopper.8
+ )
+
+ # add more stuff
%{l_shtool} install -c -m 644 \
/dev/null $RPM_BUILD_ROOT%{l_prefix}/etc/qpopper/users.deny
%{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" \
%{SOURCE rc.qpopper} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/
+
%{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std}
%files -f files
@@ -101,31 +131,21 @@
%post
# add PAM configuration entry
- check=`grep '^#<OpenPKG pkg=qpopper>' /etc/pam.conf`
- if [ ".$check" = . ]; then
- ( echo "#<OpenPKG pkg=qpopper>"
- case "%{l_target}" in
- *-freebsd* )
- echo "qpopper auth required pam_unix.so try_first_pass"
- ;;
- *-linux* )
- echo "qpopper auth required /lib/security/pam_unix.so shadow \
nodelay"
- ;;
- *-solaris* )
- echo "qpopper auth required /usr/lib/security/pam_unix.so \
try_first_pass"
- ;;
+ if [ -f /etc/pam.conf ]; then
+ ( case "%{l_target}" in
+ *-freebsd* ) echo "qpopper auth required pam_unix.so try_first_pass" \
;; + *-linux* ) echo "qpopper auth required /lib/security/pam_unix.so \
shadow nodelay" ;; + *-solaris* ) echo "qpopper auth required \
/usr/lib/security/pam_unix.so try_first_pass" ;; esac
- echo "#</OpenPKG>"
- ) >>/etc/pam.conf
+ ) |\
+ $RPM_INSTALL_PREFIX/sbin/rpmtool config \
+ -a -s -i "$RPM_INSTALL_PREFIX:qpopper" /etc/pam.conf
fi
%preun
# remove PAM configuration entry
- check=`grep '^#<OpenPKG pkg=qpopper>' /etc/pam.conf`
- if [ ".$check" != . ]; then
- cp /etc/pam.conf /etc/pam.conf.tmp && \
- sed -e '/^#<OpenPKG pkg=qpopper>/,/^#<\/OpenPKG>/d' \
- </etc/pam.conf.tmp >/etc/pam.conf && \
- rm -f /etc/pam.conf.tmp
+ if [ -f /etc/pam.conf ]; then
+ $RPM_INSTALL_PREFIX/sbin/rpmtool config \
+ -r -s -i "$RPM_INSTALL_PREFIX:qpopper" /etc/pam.conf
fi
Index: openpkg-src/qpopper/rc.qpopper
============================================================
$ cvs diff -u -r1.3 -r1.4 rc.qpopper
--- openpkg-src/qpopper/rc.qpopper 2001/11/26 16:23:34 1.3
+++ openpkg-src/qpopper/rc.qpopper 2001/12/28 11:30:48 1.4
@@ -12,11 +12,17 @@
%stop -p 200 -u root
opServiceEnabled qpopper || exit 0
- kill -TERM `cat @l_prefix@/var/qpopper/qpopper.pid`
+ if [ -f @l_prefix@/var/qpopper/qpopper.pid ]; then
+ kill -TERM `cat @l_prefix@/var/qpopper/qpopper.pid`
+ rm -f @l_prefix@/var/qpopper/qpopper.pid >/dev/null 2>&1 || true
+ fi
%restart -u root
opServiceEnabled qpopper || exit 0
- kill -TERM `cat @l_prefix@/var/qpopper/qpopper.pid`
- sleep 2
+ if [ -f @l_prefix@/var/qpopper/qpopper.pid ]; then
+ kill -TERM `cat @l_prefix@/var/qpopper/qpopper.pid`
+ rm -f @l_prefix@/var/qpopper/qpopper.pid >/dev/null 2>&1 || true
+ sleep 2
+ fi
@l_prefix@/sbin/qpopper -f @l_prefix@/etc/qpopper/qpopper.config
______________________________________________________________________
The OpenPKG Project www.openpkg.org
CVS Repository Commit List openpkg-cvs@openpkg.org
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic