OpenPKG CVS Repository
  http://cvs.openpkg.org/
  ____________________________________________________________________________

  Server: cvs.openpkg.org                  Name:   Ralf S. Engelschall
  Root:   /v/openpkg/cvs                   Email:  [EMAIL PROTECTED]
  Module: openpkg-src                      Date:   04-Sep-2007 11:51:29
  Branch: HEAD                             Handle: 2007090410512800

  Added files:
    openpkg-src/pwmd        pwmd.cfg pwmd.patch pwmd.spec rc.pwmd

  Log:
    first cut for a pwmd(8) package

  Summary:
    Revision    Changes     Path
    1.1         +20 -0      openpkg-src/pwmd/pwmd.cfg
    1.1         +47 -0      openpkg-src/pwmd/pwmd.patch
    1.1         +186 -0     openpkg-src/pwmd/pwmd.spec
    1.1         +69 -0      openpkg-src/pwmd/rc.pwmd
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: openpkg-src/pwmd/pwmd.cfg
  ============================================================================
  $ cvs diff -u -r0 -r1.1 pwmd.cfg
  --- /dev/null 2007-09-04 11:51:27 +0200
  +++ pwmd.cfg  2007-09-04 11:51:29 +0200
  @@ -0,0 +1,20 @@
  +##
  +##  pwmd.cfg -- pwmd(1) server configuration
  +##
  +
  +[default]
  [EMAIL PROTECTED]@/var/pwmd/pwmd.socket
  [EMAIL PROTECTED]@/var/pwmd/pwmd.log
  [EMAIL PROTECTED]@/var/pwmd/pwmd.db
  +enable_logging=true
  +disable_list_and_dump=true
  +iterations=42
  +iteration_progress=0
  +cache_timeout=0
  +compression_level=6
  +#cache_size=4096
  +#cache_push=sample
  +
  +#[sample]
  [EMAIL PROTECTED]@
  +
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/pwmd/pwmd.patch
  ============================================================================
  $ cvs diff -u -r0 -r1.1 pwmd.patch
  --- /dev/null 2007-09-04 11:51:29 +0200
  +++ pwmd.patch        2007-09-04 11:51:29 +0200
  @@ -0,0 +1,47 @@
  +Index: libpwmd-4.0.3/libpwmd.c
  +--- libpwmd-4.0.3/libpwmd.c.orig     2007-09-03 15:51:29 +0200
  ++++ libpwmd-4.0.3/libpwmd.c  2007-09-04 10:38:54 +0200
  +@@ -293,8 +293,7 @@
  + {
  + #ifndef USE_PINENTRY
  +     return GPG_ERR_NOT_IMPLEMENTED;
  +-#endif
  +-
  ++#else
  +     if (!pwm || pwm->pid == -1)
  +     return GPG_ERR_INV_ARG;
  + 
  +@@ -310,6 +309,7 @@
  +     return gpg_error_from_errno(errno);
  + 
  +     return 0;
  ++#endif
  + }
  + 
  + #ifdef USE_PINENTRY
  +Index: libpwmd-4.0.3/pwmc.c
  +--- libpwmd-4.0.3/pwmc.c.orig        2007-09-03 16:43:42 +0200
  ++++ libpwmd-4.0.3/pwmc.c     2007-09-04 10:39:12 +0200
  +@@ -131,8 +131,10 @@
  +     int outfd = -1;
  +     FILE *outfp = stdout;
  + 
  ++#ifdef USE_NLS
  +     setlocale(LC_ALL, "");
  +     bindtextdomain("libpwmd", LOCALEDIR);
  ++#endif
  +     timeout = -1;
  + 
  +     while ((opt = getopt(argc, argv, "T:N:D:EhvaP:t:p:s:Sd:")) != EOF) {
  +Index: pwmd-1.0/src/Makefile.am
  +--- pwmd-1.0/src/Makefile.am.orig    2007-08-29 00:45:35 +0200
  ++++ pwmd-1.0/src/Makefile.am 2007-09-04 10:36:13 +0200
  +@@ -1,7 +1,7 @@
  + bin_PROGRAMS = pwmd
  + pwmd_SOURCES = pwmd.c pwmd.h xml.c xml.h pwmd_error.c pwmd_error.h 
commands.c \
  +            commands.h common.h cache.c cache.h valgrind.h gettext.h
  +-pwmd_LDFLAGS = @XML_LIBS@ @GLIB_LIBS@ @LIBGCRYPT_LIBS@ @GPG_ERROR_LIBS@
  ++pwmd_LDADD = @XML_LIBS@ @GLIB_LIBS@ @LIBGCRYPT_LIBS@ @GPG_ERROR_LIBS@
  + pwmd_CFLAGS = -DLOCALEDIR=\"${prefix}/share/locale\" @XML_CPPFLAGS@ 
@GLIB_CFLAGS@ \
  +           @LIBGCRYPT_CFLAGS@ @LIBASSUAN_CFLAGS@ @GPG_ERROR_CFLAGS@
  + 
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/pwmd/pwmd.spec
  ============================================================================
  $ cvs diff -u -r0 -r1.1 pwmd.spec
  --- /dev/null 2007-09-04 11:51:29 +0200
  +++ pwmd.spec 2007-09-04 11:51:29 +0200
  @@ -0,0 +1,186 @@
  +##
  +##  pwmd.spec -- OpenPKG RPM Package Specification
  +##  Copyright (c) 2000-2007 OpenPKG Foundation e.V. <http://openpkg.net/>
  +##  Copyright (c) 2000-2007 Ralf S. Engelschall <http://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 version
  +%define       V_pwmd     1.0
  +%define       V_libpwmd  4.0.3
  +
  +#   package information
  +Name:         pwmd
  +Summary:      Password Manager Daemon
  +URL:          http://bjk.sourceforge.net/pwmd/
  +Vendor:       Ben Kibbey
  +Packager:     OpenPKG Foundation e.V.
  +Distribution: OpenPKG Community
  +Class:        EVAL
  +Group:        System
  +License:      GPL
  +Version:      %{V_pwmd}.%{V_libpwmd}
  +Release:      20070904
  +
  +#   list of sources
  +Source0:      http://switch.dl.sourceforge.net/bjk/pwmd-%{V_pwmd}.tar.gz
  +Source1:      
http://switch.dl.sourceforge.net/bjk/libpwmd-%{V_libpwmd}.tar.gz
  +Source2:      rc.pwmd
  +Source3:      pwmd.cfg
  +Patch0:       pwmd.patch
  +
  +#   build information
  +Prefix:       %{l_prefix}
  +BuildRoot:    %{l_buildroot}
  +BuildPreReq:  OpenPKG, openpkg >= 20060823, pinentry, apg, pkgconfig, 
automake, autoconf
  +PreReq:       OpenPKG, openpkg >= 20060823, pinentry
  +BuildPreReq:  glib2, gcrypt, libassuan, gpg-error, libxml, zlib
  +PreReq:       glib2, gcrypt, libassuan, gpg-error, libxml, zlib
  +AutoReq:      no
  +AutoReqProv:  no
  +
  +%description
  +    Password Manager Daemon (PWD) is a daemon that serves data to
  +    application via a socket. The data is stored in an encrypted XML
  +    file and the client must provide a key when opening and saving a
  +    file. It uses a shared memory cache for storing a key so keys aren't
  +    required for each open or save. Also features a configuration file
  +    to set the number of encryption iterations, logging and more.
  +
  +%track
  +    prog pwmd:pwmd = {
  +        version   = %{V_pwmd}
  +        url       = http://prdownloads.sourceforge.net/bjk/
  +        regex     = [^b]pwmd-(__VER__)\.tar\.gz
  +    }
  +    prog pwmd:libpwmd = {
  +        version   = %{V_libpwmd}
  +        url       = http://prdownloads.sourceforge.net/bjk/
  +        regex     = libpwmd-(__VER__)\.tar\.gz
  +    }
  +
  +%prep
  +    %setup -q -c
  +    %setup -q -T -D -a 1
  +    %patch -p0
  +
  +%build
  +    #   build server (daemon)
  +    ( cd pwmd-%{V_pwmd}
  +      aclocal
  +      automake
  +      autoconf
  +      CC="%{l_cc}" \
  +      CFLAGS="%{l_cflags -O}" \
  +      CPPFLAGS="%{l_cppflags}" \
  +      LDFLAGS="%{l_ldflags}" \
  +      ./configure \
  +          --prefix=%{l_prefix} \
  +          --mandir=%{l_prefix}/man \
  +          --with-libgcrypt-prefix=%{l_prefix} \
  +          --with-xml-prefix=%{l_prefix} \
  +          --with-libassuan-prefix=%{l_prefix} \
  +          --with-gpg-error-prefix=%{l_prefix} \
  +          --disable-nls
  +      %{l_make} %{l_mflags}
  +    ) || exit $?
  +
  +    #   build client (library)
  +    ( cd libpwmd-%{V_libpwmd}
  +      CC="%{l_cc}" \
  +      CFLAGS="%{l_cflags -O}" \
  +      CPPFLAGS="%{l_cppflags}" \
  +      LDFLAGS="%{l_ldflags}" \
  +      ./configure \
  +          --prefix=%{l_prefix} \
  +          --mandir=%{l_prefix}/man \
  +          --with-libassuan-prefix=%{l_prefix} \
  +          --with-gpg-error-prefix=%{l_prefix} \
  +          --with-pinentry \
  +          --with-pinentry-path=%{l_prefix}/bin/pinentry \
  +          --disable-shared \
  +          --disable-nls
  +      %{l_make} %{l_mflags}
  +    ) || exit $?
  +
  +%install
  +    rm -rf $RPM_BUILD_ROOT
  +
  +    #   install server (daemon)
  +    ( cd pwmd-%{V_pwmd}
  +      %{l_make} %{l_mflags} install AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT"
  +    ) || exit $?
  +
  +    #   install client (library)
  +    ( cd libpwmd-%{V_libpwmd}
  +      %{l_make} %{l_mflags} install AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT"
  +    ) || exit $?
  +
  +    #   strip down installation files
  +    strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true
  +
  +    #   install server configuration
  +    %{l_shtool} mkdir -f -p -m 755 \
  +        $RPM_BUILD_ROOT%{l_prefix}/etc/pwmd
  +
  +    %{l_shtool} install -c -m 755 %{l_value -s -a} \
  +        -e "s;@l_password@;`apg -n1 -a0 -m8 -x8`;g" \
  +        %{SOURCE pwmd.cfg} $RPM_BUILD_ROOT%{l_prefix}/etc/pwmd/
  +
  +    #   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 %{l_value -s -a} \
  +        %{SOURCE rc.pwmd} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/
  +
  +    #   create run-time directories
  +    %{l_shtool} mkdir -f -p -m 755 \
  +        $RPM_BUILD_ROOT%{l_prefix}/var/pwmd \
  +        $RPM_BUILD_ROOT%{l_prefix}/var/pwmd/pwmd.db
  +
  +    #   determine installation files
  +    %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
  +        %{l_files_std} \
  +        '%config %{l_prefix}/etc/pwmd/*' \
  +        '%attr(-,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/pwmd' \
  +        '%attr(-,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/pwmd/*'
  +
  +%files -f files
  +
  +%clean
  +    rm -rf $RPM_BUILD_ROOT
  +
  +%post
  +    #   after upgrade, restart service
  +    [ $1 -eq 2 ] || exit 0
  +    eval `%{l_rc} pwmd status 2>/dev/null`
  +    [ ".$pwmd_active" = .yes ] && %{l_rc} pwmd restart
  +    exit 0
  +
  +%preun
  +    #   before erase, stop service and remove log files
  +    [ $1 -eq 0 ] || exit 0
  +    %{l_rc} pwmd stop 2>/dev/null
  +    rm -f $RPM_INSTALL_PREFIX/var/pwmd/pwmd.socket >/dev/null 2>&1 || true
  +    rm -f $RPM_INSTALL_PREFIX/var/pwmd/pwmd.pid    >/dev/null 2>&1 || true
  +    rm -f $RPM_INSTALL_PREFIX/var/pwmd/pwmd.log*   >/dev/null 2>&1 || true
  +    rm -f $RPM_INSTALL_PREFIX/var/pwmd/pwmd.db/*   >/dev/null 2>&1 || true
  +    exit 0
  +
  @@ .
  patch -p0 <<'@@ .'
  Index: openpkg-src/pwmd/rc.pwmd
  ============================================================================
  $ cvs diff -u -r0 -r1.1 rc.pwmd
  --- /dev/null 2007-09-04 11:51:29 +0200
  +++ rc.pwmd   2007-09-04 11:51:29 +0200
  @@ -0,0 +1,69 @@
  [EMAIL PROTECTED]@/bin/openpkg rc
  +##
  +##  rc.pwmd -- Run-Commands
  +##
  +
  +%config
  +    pwmd_enable="$openpkg_rc_def"
  +    pwmd_flags=""
  +    pwmd_log_prolog="true"
  +    pwmd_log_epilog="true"
  +    pwmd_log_numfiles="10"
  +    pwmd_log_minsize="1M"
  +    pwmd_log_complevel="9"
  +
  +%common
  +    pwmd_cfgfile="@l_prefix@/etc/pwmd/pwmd.cfg"
  +    pwmd_logfile="@l_prefix@/var/pwmd/pwmd.log"
  +    pwmd_pidfile="@l_prefix@/var/pwmd/pwmd.pid"
  +    pwmd_signal () {
  +        [ -f $pwmd_pidfile ] && kill -$1 `cat $pwmd_pidfile`
  +    }
  +
  +%status -u @l_rusr@ -o
  +    pwmd_usable="unknown"
  +    pwmd_active="no"
  +    rcService pwmd enable yes && \
  +        pwmd_signal 0 && pwmd_active="yes"
  +    echo "pwmd_enable=\"$pwmd_enable\""
  +    echo "pwmd_usable=\"$pwmd_usable\""
  +    echo "pwmd_active=\"$pwmd_active\""
  +
  +%start -u @l_rusr@
  +    rcService pwmd enable yes || exit 0
  +    rcService pwmd active yes && exit 0
  +    (   umask 0
  +        nohup @l_prefix@/bin/pwmd \
  +            -f $pwmd_cfgfile ${pwmd_flags} \
  +            </dev/null >/dev/null 2>&1 &
  +        echo $! >$pwmd_pidfile
  +    ) >/dev/null 2>&1
  +
  +%stop -u @l_rusr@
  +    rcService pwmd enable yes || exit 0
  +    rcService pwmd active no  && exit 0
  +    pwmd_signal TERM
  +    sleep 2
  +    rm -f $pwmd_pidfile >/dev/null 2>&1 || true
  +
  +%restart -u @l_rusr@
  +    rcService pwmd enable yes || exit 0
  +    rcService pwmd active no  && exit 0
  +    rc pwmd stop start
  +
  +%reload -u @l_rusr@
  +    rcService pwmd enable yes || exit 0
  +    rcService pwmd active no  && exit 0
  +    pwmd_signal HUP
  +    sleep 1
  +    pwmd_signal USR1
  +
  +%daily -u @l_rusr@
  +    rcService pwmd enable yes || exit 0
  +    shtool rotate -f \
  +        -n $pwmd_log_numfiles -s $pwmd_log_minsize -d \
  +        -z $pwmd_log_complevel -m 664 -o @l_rusr@ -g @l_rgrp@ \
  +        -P "$pwmd_log_prolog" \
  +        -E "$pwmd_log_epilog; rc pwmd restart" \
  +        $pwmd_logfile
  +
  @@ .
______________________________________________________________________
OpenPKG                                             http://openpkg.org
CVS Repository Commit List                     openpkg-cvs@openpkg.org

Reply via email to