[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