rpms/pathfinder/devel import.log, NONE, 1.1 pathfinder-1.0.0-gcc44.patch, NONE, 1.1 pathfinder-1.0.0-wvargs.patch, NONE, 1.1 pathfinder.spec, NONE, 1.1 pathfinderd.ini, NONE, 1.1 pathfinderd.init, NONE, 1.1 wvstreams.supp, NONE, 1.1 wvtestrunner.pl, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2

Konstantin Ryabitsev icon at fedoraproject.org
Tue Jul 14 15:37:25 UTC 2009


Author: icon

Update of /cvs/extras/rpms/pathfinder/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv26208/devel

Modified Files:
	.cvsignore sources 
Added Files:
	import.log pathfinder-1.0.0-gcc44.patch 
	pathfinder-1.0.0-wvargs.patch pathfinder.spec pathfinderd.ini 
	pathfinderd.init wvstreams.supp wvtestrunner.pl 
Log Message:
Initial import



--- NEW FILE import.log ---
pathfinder-1_0_0-1_fc11:HEAD:pathfinder-1.0.0-1.fc11.src.rpm:1247585799

pathfinder-1.0.0-gcc44.patch:

--- NEW FILE pathfinder-1.0.0-gcc44.patch ---
diff -ur pathfinder-1.0.0.orig/pathfinder.h pathfinder-1.0.0/pathfinder.h
--- pathfinder-1.0.0.orig/pathfinder.h	2008-10-17 12:25:59.000000000 -0400
+++ pathfinder-1.0.0/pathfinder.h	2009-06-28 10:31:07.977476739 -0400
@@ -18,6 +18,8 @@
 #include <wvhttppool.h>
 #include <wvx509.h>
 
+#include <stdint.h>
+
 #include "downloader.h"
 #include "revocationfinder.h"
 #include "wvcrlcache.h"
diff -ur pathfinder-1.0.0.orig/x509path/wvx509store.h pathfinder-1.0.0/x509path/wvx509store.h
--- pathfinder-1.0.0.orig/x509path/wvx509store.h	2008-10-10 13:11:12.000000000 -0400
+++ pathfinder-1.0.0/x509path/wvx509store.h	2009-06-28 10:32:14.398477536 -0400
@@ -16,6 +16,7 @@
 #include <boost/shared_ptr.hpp>
 #include <map>
 #include <list>
+#include <stdint.h>
 
 
 typedef std::list< boost::shared_ptr<WvX509> > WvX509List;

pathfinder-1.0.0-wvargs.patch:

--- NEW FILE pathfinder-1.0.0-wvargs.patch ---
diff -ur pathfinder-1.0.0.orig/pathfinderd.cc pathfinder-1.0.0/pathfinderd.cc
--- pathfinder-1.0.0.orig/pathfinderd.cc	2008-12-17 12:29:53.000000000 -0500
+++ pathfinder-1.0.0/pathfinderd.cc	2009-06-28 10:41:11.750477319 -0400
@@ -47,7 +47,7 @@
                                  "%s)", DEFAULT_DBUS_MONIKER), 
                         "MONIKER", dbusmoniker);
 #ifdef OPENSSL_FIPS
-        args.set_bool_option('f', "fips", WvString("Enable FIPS mode crypto "
+        args.add_set_bool_option('f', "fips", WvString("Enable FIPS mode crypto "
                                               "(default: OFF)"), fips_mode);
 #endif
     }


--- NEW FILE pathfinder.spec ---
%define         daemon_user   pathfinderd

Name:           pathfinder
Version:        1.0.0
Release:        1%{?dist}
Summary:        X.509 Path Discovery and Validation

Group:          Applications/Internet
License:        LGPLv2+
URL:            http://code.google.com/p/pathfinder-pki/
Source0:        http://pathfinder-pki.googlecode.com/files/pathfinder-%{version}-Source.tar.gz
Source1:        pathfinderd.init
Source2:        pathfinderd.ini
Source3:        wvtestrunner.pl
Source4:        wvstreams.supp
Patch0:         pathfinder-1.0.0-gcc44.patch
Patch1:         pathfinder-1.0.0-wvargs.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

BuildRequires:  cmake, libwvstreams-devel >= 4.6-3, boost-devel, valgrind
BuildRequires:  openssl-devel, nss-devel, dbus-devel

%description
Pathfinder is designed to provide a mechanism for any program to perform
RFC3280-compliant path validation of X.509 certificates, even when some of
the intermediate certificates are not present on the local machine. It will
automatically download any such certificates (and their CRLs) from the
Internet as needed using the AIA and CRL distribution point extensions of the
certificate it is processing.


%package -n pathfinderd
Summary:        X.509 Path Discovery and Validation Server
Group:          System Environment/Daemons
Requires(pre):  shadow-utils
Requires(post): /sbin/chkconfig
Requires(preun): /sbin/chkconfig
Requires(preun): /sbin/service

%description -n pathfinderd
This package includes the server daemon for the pathfinder.


%package devel
Summary:        Development libraries for Pathfinder
Group:          Development/Libraries
Requires:       libwvstreams-devel >= 4.6-3, boost-devel

%description devel
This package includes development files for pathfinder.


%package -n libpathfinder-openssl
Summary:        Pathfinder libraries based on OpenSSL
Group:          System Environment/Libraries

%description -n libpathfinder-openssl
This package includes the libraries linking to OpenSSL


%package -n libpathfinder-openssl-devel
Summary:        Pathfinder development libraries based on OpenSSL
Group:          Development/Libraries
Requires:       pathfinder-devel, pkgconfig, openssl-devel
Requires:       libpathfinder-openssl = %{version}

%description -n libpathfinder-openssl-devel
This package includes the development libraries linking to OpenSSL


%package -n libpathfinder-nss
Summary:        Pathfinder libraries based on NSS
Group:          System Environment/Libraries

%description -n libpathfinder-nss
This package includes the libraries linking to NSS.


%package -n libpathfinder-nss-devel
Summary:        Pathfinder development libraries based on NSS
Group:          Development/Libraries
Requires:       pathfinder-devel, pkgconfig, nss-devel
Requires:       libpathfinder-nss = %{version}

%description -n libpathfinder-nss-devel
This package includes the development libraries linking to NSS.


%prep
%setup -q
%patch0 -p1 -b .gcc44
%patch1 -p1 -b .wvargs


%build
%cmake .
make VERBOSE=1 %{?_smp_mflags}


%install
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT
# Remove docs -- we repackage them later
rm -rf $RPM_BUILD_ROOT%{_docdir}
# Remove static libs
rm -rf $RPM_BUILD_ROOT%{_libdir}/*.a
# Create /etc/pki/pathfinderd/trusted-certs
mkdir -p -m 0755 $RPM_BUILD_ROOT%{_sysconfdir}/pki/pathfinderd/trusted-certs
# Install init file
mkdir -p -m 0755 $RPM_BUILD_ROOT%{_initrddir}
install -m 0755 %{SOURCE1} $RPM_BUILD_ROOT%{_initrddir}/pathfinderd
# Install config file
install -m 0644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/
# Create an empty /etc/sysconfig/pathfinderd
mkdir -p -m 0755 $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig
touch -m 0644 $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/pathfinderd
echo "RUNUSER=\"%{daemon_user}\"" \
    > $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/pathfinderd
echo "RUNFLAGS=\"-c ini:%{_sysconfdir}/pathfinderd.ini -d\"" \
    >> $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/pathfinderd
mkdir -p -m 0755 $RPM_BUILD_ROOT%{_localstatedir}/run/pathfinderd


%check
# tests are failing on ppc
%ifnarch ppc ppc64
# test suite depends on external files from wvstreams
# we bundle them with this package
install -m 0755 %{SOURCE3} .
install -m 0644 %{SOURCE4} .
export WVSTREAMS_SRC="`pwd`"
make test
%endif


%clean
rm -rf $RPM_BUILD_ROOT


%pre -n pathfinderd
getent group %{daemon_user} >/dev/null || groupadd -r %{daemon_user}
getent passwd %{daemon_user} >/dev/null || \
useradd -r -g %{daemon_user} -d %{_localstatedir}/run/pathfinderd \
    -s /sbin/nologin -c "Pathfinder daemon user" %{daemon_user}
exit 0

%post -n pathfinderd
/sbin/chkconfig --add pathfinderd || :
exit 0

%preun -n pathfinderd
if [ $1 = 0 ]; then
    /sbin/service pathfinderd stop >/dev/null 2>&1 || :
    /sbin/chkconfig --del pathfinderd || :
fi
exit 0

%post   -n libpathfinder-openssl -p /sbin/ldconfig
%postun -n libpathfinder-openssl -p /sbin/ldconfig

%post   -n libpathfinder-nss -p /sbin/ldconfig
%postun -n libpathfinder-nss -p /sbin/ldconfig


%files -n pathfinderd
%defattr(-,root,root,-)
%doc LICENSE AUTHORS README
%config %dir %{_sysconfdir}/pki/pathfinderd
%config(noreplace) %{_sysconfdir}/pathfinderd.ini
%config(noreplace) %{_sysconfdir}/sysconfig/pathfinderd
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/pathfinderd.conf
%{_initrddir}/pathfinderd
%{_sbindir}/pathfinderd
%{_bindir}/pathclient
%{_bindir}/pathverify
%{_mandir}/man3/pathclient.3*
%{_mandir}/man3/pathverify.3*
%{_mandir}/man8/pathfinderd.8*
%dir %attr(-,%{daemon_user},%{daemon_user}) %{_localstatedir}/run/pathfinderd

%files devel
%defattr(-,root,root,-)
%doc LICENSE
%dir %{_includedir}/pathfinder-1
%{_includedir}/pathfinder-1/libpathfinder.h

%files -n libpathfinder-openssl
%defattr(-,root,root,-)
%doc LICENSE
%{_libdir}/libpathfinder-openssl-1.so.1*

%files -n libpathfinder-openssl-devel
%defattr(-,root,root,-)
%doc LICENSE
%{_libdir}/libpathfinder-openssl-1.so
%{_libdir}/pkgconfig/pathfinder-openssl.pc
%{_includedir}/pathfinder-1/libpathfinder-openssl.h

%files -n libpathfinder-nss
%defattr(-,root,root,-)
%doc LICENSE
%{_libdir}/libpathfinder-nss-1.so.1*

%files -n libpathfinder-nss-devel
%defattr(-,root,root,-)
%doc LICENSE
%{_libdir}/libpathfinder-nss-1.so
%{_libdir}/pkgconfig/pathfinder-nss.pc
%{_includedir}/pathfinder-1/libpathfinder-nss.h


%changelog
* Tue Jul 14 2009 Konstantin Ryabitsev <icon at fedoraproject.org> - 1.0.0-1
- Import into fedora cvs.

* Sat Jul 11 2009 Konstantin Ryabitsev <icon at fedoraproject.org> - 1.0.0-0.3
- Do not run checks on ppc platforms (failing, upstream 
  http://code.google.com/p/pathfinder-pki/issues/detail?id=21)

* Sun Jun 28 2009 Konstantin Ryabitsev <icon at fedoraproject.org> - 1.0.0-0.2
- Upstream 1.0.0
- Patch to work with gcc-4.4

* Fri Jul 25 2008 Konstantin Ryabitsev <icon at fedoraproject.org> - 0.2.6-0.2
- Move trusted-certs dir into /etc/pki/pathfinder/trusted-certs

* Thu Jul 24 2008 Konstantin Ryabitsev <icon at fedoraproject.org> - 0.2.6-0.1
- Initial packaging.



--- NEW FILE pathfinderd.ini ---
[Trusted directories]
Extra certs = /etc/pki/pathfinderd/trusted-certs


--- NEW FILE pathfinderd.init ---
#!/bin/sh
#
# pathfinderd   X.509 Path Discovery and Validation Server
#
# chkconfig:   - 80 30
# description: Pathfinder is designed to provide a mechanism for any program \
#              to perform RFC3280-compliant path validation of X.509 \
#              certificates, even when some of the intermediate certificates \
#              are not present on the local machine. It will automatically \
#              download any such certificates (and their CRLs) from the \
#              Internet as needed using the AIA and CRL distribution point \
#              extensions of the certificate it is processing.

### BEGIN INIT INFO
# Provides: pathfinderd
# Required-Start: $network $named
# Required-Stop: $network $named
# Should-Start: 
# Should-Stop: 0 1 2 3 4 5 6
# Default-Start: 
# Default-Stop: 
# Short-Description: start|stop|restart|condrestart pathfinderd
# Description: Controls the X.509 certificate validation server
### END INIT INFO

# Source function library.
. /etc/rc.d/init.d/functions

exec="/usr/sbin/pathfinderd"
prog="pathfinderd"

[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog

lockfile=/var/lock/subsys/$prog

start() {
    [ -x $exec ] || exit 5
    echo -n $"Starting $prog: "
    runuser -l -s /bin/sh $RUNUSER -c "$exec $RUNFLAGS"
    retval=$?
    [ $retval -eq 0 ] && success && touch $lockfile 
    echo
    return $retval
}

stop() {
    echo -n $"Stopping $prog: "
    killproc $prog
    retval=$?
    echo
    [ $retval -eq 0 ] && rm -f $lockfile
    return $retval
}

restart() {
    stop
    start
}

reload() {
    restart
}

force_reload() {
    restart
}

rh_status() {
    # run checks to determine if the service is running or use generic status
    status $prog
}

rh_status_q() {
    rh_status >/dev/null 2>&1
}


case "$1" in
    start)
        rh_status_q && exit 0
        $1
        ;;
    stop)
        rh_status_q || exit 0
        $1
        ;;
    restart)
        $1
        ;;
    reload)
        rh_status_q || exit 7
        $1
        ;;
    force-reload)
        force_reload
        ;;
    status)
        rh_status
        ;;
    condrestart|try-restart)
        rh_status_q || exit 0
        restart
        ;;
    *)
        echo $"Usage: $0 {start|stop|status|restart|try-restart|reload|force-reload}"
        exit 2
esac
exit $?


--- NEW FILE wvstreams.supp ---
# valgrind suppressions file for known and unfixable errors caused by 
# wvstreams' interactions with other libraries.
{
   zlib_deflate_error
   Memcheck:Cond
   fun:_tr_flush_block
   obj:/usr/lib/libz.so*
   fun:deflate
   fun:_ZN13WvGzipEncoder7processER9WvBufBaseIhEbb
}
{
   zlib_deflate_error_2
   Memcheck:Cond
   obj:/usr/lib/libz.so*
   fun:deflate
   fun:_ZN13WvGzipEncoder7processER9WvBufBaseIhEbb
}
{
   zlib_deflate_error_3
   Memcheck:Cond
   fun:deflate
   fun:_ZN13WvGzipEncoder7processER9WvBufBaseIhEbb
}
{
   zlib_deflate_error_4
   Memcheck:Value4
   obj:/usr/lib/libz.so*
   fun:deflate
   fun:_ZN13WvGzipEncoder7processER9WvBufBaseIhEbb
}
{
   zlib_deflate_error_5
   Memcheck:Value4
   obj:/usr/lib/libz.so*
   obj:/usr/lib/libz.so*
   obj:/usr/lib/libz.so*
   fun:deflate
   fun:_ZN13WvGzipEncoder7processER9WvBufBaseIhEbb
}
{
   zlib_deflate_error_6
   Memcheck:Value4
   obj:/usr/lib/libz.so*
   obj:/usr/lib/libz.so*
   obj:/usr/lib/libz.so*
   fun:deflate
   fun:_ZN13WvGzipEncoder7processER9WvBufBaseIhEbb
}
{
   zlib_inflate_error
   Memcheck:Value4
   obj:/usr/lib/libz.so*
   fun:inflate
   fun:_ZN13WvGzipEncoder7processER9WvBufBaseIhEbb
}
{
   zlib_inflate_error_2
   Memcheck:Cond
   obj:/usr/lib/libz.so*
   fun:inflate
   fun:_ZN13WvGzipEncoder7processER9WvBufBaseIhEbb
}
{
   zlib_inflate_error_3
   Memcheck:Cond
   fun:inflate
   fun:_ZN13WvGzipEncoder7processER9WvBufBaseIhEbb
}
{
   stupid_libdl_error
   Memcheck:Cond
   fun:_dl_relocate_object
   fun:dl_open_worker
   fun:_dl_catch_error
   fun:__GI__dl_open
}
{
   stupid_libdl_error_2
   Memcheck:Cond
   fun:_dl_relocate_object
   obj:/lib/libc-2.3.*.so
   fun:_dl_catch_error
   fun:_dl_open
}
{
   stupid_ld_error
   Memcheck:Cond
   obj:/lib/ld-2.3.*.so
}
{
   stupid_ld_error_2
   Memcheck:Cond
   obj:/lib/ld-2.5*.so
}
{
   stupid_ld_error_3
   Memcheck:Addr4
   obj:/lib/ld-2.5*.so
}
{
   stupid_ld_error_4
   Memcheck:Cond
   obj:/lib/ld-2.6*.so
}
{
   stupid_ld_error_5
   Memcheck:Addr4
   obj:/lib/ld-2.6*.so
}
{
   stupid_ld_error_6
   Memcheck:Cond
   obj:/lib/ld-2.7*.so
}
{
   stupid_ld_error_7
   Memcheck:Addr4
   obj:/lib/ld-2.7*.so
}
{
   stupid_ecard_stuff
   Memcheck:Leak
   fun:malloc
   obj:/usr/lib/evolution/1.4/libicalvcal-evolution.so.0.0.0
   fun:lookupStr
   fun:lookupProp
   fun:addGroup
   obj:/usr/lib/evolution/1.4/libicalvcal-evolution.so.0.0.0
   fun:mime_parse
   obj:/usr/lib/evolution/1.4/libicalvcal-evolution.so.0.0.0
   fun:e_card_new_with_default_charset
   fun:e_card_new
}
{
   stupid_elist_stuff
   Memcheck:Leak
   fun:calloc
   fun:g_malloc0
   fun:g_type_create_instance
   obj:/usr/lib/libgobject-2.0.*
   fun:g_object_newv
   fun:g_object_new_valist
   fun:e_list_new
}
{
    stupid_libc_stuff
    Memcheck:Leak
    fun:malloc
    fun:my_malloc
    fun:get_or_allocate_specifics_ptr
    fun:pthread_key_create
    obj:/lib/libdl-2.3.*.so
    fun:pthread_once
    obj:/lib/libdl-2.3.*.so
    fun:dlvsym
    fun:__errno_location
    fun:_IOvfprintf
}
{
   stupid_zlib_stuff
   Memcheck:Cond
   obj:/usr/lib/libz.so*
   obj:/usr/lib/libz.so*
   fun:deflate
}
{
   sigaction_bites_my_nuts
   Memcheck:Param
   sigaction(act)
   fun:__libc_sigaction
}
{
   more_fun_libcrypto_junk
   Memcheck:Value4
   fun:BF_encrypt
}
{
   more_fun_libcrypto_junk_2
   Memcheck:Value4
   fun:AES_encrypt
}
{
   more_fun_licrypto_junk_3
   Memcheck:Addr4
   fun:AES_cbc_encrypt
}
{
   more_fun_licrypto_junk_4
   Memcheck:Value4
   fun:_x86_AES_encrypt
}
{
   WvInterface has a static WvInterfaceDict
   Memcheck:Leak
   fun:__builtin_vec_new
   fun:__t11WvHashTable4Z11WvInterfaceZ8WvStringZt27WvInterfaceDictBaseAccessor2Z11WvInterfaceZ8WvStringz1Z8OpEqCompUi
   fun:__static_initialization_and_destruction_0
   fun:_GLOBAL_.I._15WvInterfaceDict.links
}
{
   statfs_has_issues
   Memcheck:Param
   statfs64(buf)
   fun:statfs64
}
{
   popt_is_leaky
   Memcheck:Leak
   fun:realloc
   fun:expandNextArg
   fun:poptGetNextOpt
}
{
   getgrnam_is_leaky
   Memcheck:Leak
   fun:malloc
   obj:/lib/tls/i686/cmov/libc-2.6.1.so
   fun:__nss_database_lookup
   obj:*
   obj:*
   fun:getgrnam_r
   fun:getgrnam
}
{
   WvHashTableBase_has_issues
   Memcheck:Cond
   fun:_ZN15WvHashTableBaseC2Ej
}
{
   WvHashTable_confuses_valgrind
   Memcheck:Leak
   fun:_Znaj
   fun:_ZN11WvHashTable*
}
{
   UniConfKey_has_a_static_element
   Memcheck:Leak
   fun:_Znaj
   fun:_ZN10UniConfKey13SegmentVectorC1Ei
   fun:_ZN10UniConfKey5StoreC1EiiRK12WvFastString
   fun:_Z41__static_initialization_and_destruction_0ii
}
{
   libdl_invalid_read
   Memcheck:Addr4
   obj:/lib/ld-2.3.6.so
}


--- NEW FILE wvtestrunner.pl ---
#!/usr/bin/perl -w
#
# WvTest:
#   Copyright (C)2007-2009 Versabanq Innovations Inc. and contributors.
#       Licensed under the GNU Library General Public License, version 2.
#       See the included file named LICENSE for license information.
#
use strict;
use Time::HiRes qw(time);

# always flush
$| = 1;

if (@ARGV < 1) {
    print STDERR "Usage: $0 <command line...>\n";
    exit 127;
}

print STDERR "Testing \"all\" in @ARGV:\n";

my $pid = open(my $fh, "-|");
if (!$pid) {
    # child
    setpgrp();
    open STDERR, '>&STDOUT' or die("Can't dup stdout: $!\n");
    exec(@ARGV);
    exit 126; # just in case
}

my $istty = -t STDOUT;
my @log = ();
my ($gpasses, $gfails) = (0,0);

sub bigkill($)
{
    my $pid = shift;
    
    if (@log) {
	print "\n" . join("\n", @log) . "\n";
    }
    
    print STDERR "\n! Killed by signal    FAILED\n";

    ($pid > 0) || die("pid is '$pid'?!\n");

    local $SIG{CHLD} = sub { }; # this will wake us from sleep() faster
    kill 15, $pid;
    sleep(2);
    
    if ($pid > 1) {
	kill 9, -$pid;
    }
    kill 9, $pid;
    
    exit(125);
}

# parent
local $SIG{INT} = sub { bigkill($pid); };
local $SIG{TERM} = sub { bigkill($pid); };
local $SIG{ALRM} = sub { 
    print STDERR "Alarm timed out!  No test results for too long.\n";
    bigkill($pid);
};

sub colourize($)
{
    my $result = shift;
    my $pass = ($result eq "ok");
    
    if ($istty) {
	my $colour = $pass ? "\e[32;1m" : "\e[31;1m";
	return "$colour$result\e[0m";
    } else {
	return $result;
    }
}

sub mstime($$$)
{
    my ($floatsec, $warntime, $badtime) = @_;
    my $ms = int($floatsec * 1000);
    my $str = sprintf("%d.%03ds", $ms/1000, $ms % 1000);
    
    if ($istty && $ms > $badtime) {
        return "\e[31;1m$str\e[0m";
    } elsif ($istty && $ms > $warntime) {
        return "\e[33;1m$str\e[0m";
    } else {
        return "$str";
    }
}

sub resultline($$)
{
    my ($name, $result) = @_;
    return sprintf("! %-65s %s", $name, colourize($result));
}

my $allstart = time();
my ($start, $stop);

sub endsect()
{
    $stop = time();
    if ($start) {
	printf " %s %s\n", mstime($stop - $start, 500, 1000), colourize("ok");
    }
}

while (<$fh>)
{
    chomp;
    s/\r//g;
    
    if (/^\s*Testing "(.*)" in (.*):\s*$/)
    {
        alarm(120);
	my ($sect, $file) = ($1, $2);
	
	endsect();
	
	printf("! %s  %s: ", $file, $sect);
	@log = ();
	$start = $stop;
    }
    elsif (/^!\s*(.*?)\s+(\S+)\s*$/)
    {
        alarm(120);
    
	my ($name, $result) = ($1, $2);
	my $pass = ($result eq "ok");
	
	if (!$start) {
	    printf("\n! Startup: ");
	    $start = time();
	}
	
	push @log, resultline($name, $result);
	
	if (!$pass) {
	    $gfails++;
	    if (@log) {
		print "\n" . join("\n", @log) . "\n";
		@log = ();
	    }
	} else {
	    $gpasses++;
	    print ".";
	}
    }
    else
    {
	push @log, $_;
    }
}

endsect();

my $newpid = waitpid($pid, 0);
if ($newpid != $pid) {
    die("waitpid returned '$newpid', expected '$pid'\n");
}

my $code = $?;
my $ret = ($code >> 8);

# return death-from-signal exits as >128.  This is what bash does if you ran
# the program directly.
if ($code && !$ret) { $ret = $code | 128; }

if ($ret && @log) {
    print "\n" . join("\n", @log) . "\n";
}

if ($code != 0) {
    print resultline("Program returned non-zero exit code ($ret)", "FAILED");
}

my $gtotal = $gpasses+$gfails;
printf("\nWvTest: %d test%s, %d failure%s, total time %s.\n",
    $gtotal, $gtotal==1 ? "" : "s",
    $gfails, $gfails==1 ? "" : "s",
    mstime(time() - $allstart, 2000, 5000));
print STDERR "\nWvTest result code: $ret\n";
exit( $ret ? $ret : ($gfails ? 125 : 0) );


Index: .cvsignore
===================================================================
RCS file: /cvs/extras/rpms/pathfinder/devel/.cvsignore,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- .cvsignore	14 Jul 2009 04:28:20 -0000	1.1
+++ .cvsignore	14 Jul 2009 15:37:24 -0000	1.2
@@ -0,0 +1 @@
+pathfinder-1.0.0-Source.tar.gz


Index: sources
===================================================================
RCS file: /cvs/extras/rpms/pathfinder/devel/sources,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- sources	14 Jul 2009 04:28:21 -0000	1.1
+++ sources	14 Jul 2009 15:37:24 -0000	1.2
@@ -0,0 +1 @@
+ba75f8482a96d4ce8ffd00cffd147d62  pathfinder-1.0.0-Source.tar.gz




More information about the fedora-extras-commits mailing list