Bug 240693 (Perlbal) - Review Request: Perlbal - Reverse-proxy load balancer and webserver
Summary: Review Request: Perlbal - Reverse-proxy load balancer and webserver
Keywords:
Status: CLOSED NEXTRELEASE
Alias: Perlbal
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Jason Tibbitts
QA Contact: Fedora Package Reviews List
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2007-05-20 15:03 UTC by Ruben Kerkhof
Modified: 2007-11-30 22:12 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2007-08-06 19:24:14 UTC
Type: ---
Embargoed:
j: fedora-review+
kevin: fedora-cvs+


Attachments (Terms of Use)

Description Ruben Kerkhof 2007-05-20 15:03:55 UTC
Spec URL: http://rubenkerkhof.com/packages/Perlbal.spec
SRPM URL: http://rubenkerkhof.com/packages/Perlbal-1.58-1.src.rpm
Description:
Perlbal is a single-threaded event-based server supporting HTTP load 
balancing, web serving, and a mix of the two. Perlbal can act as either a web 
server or a reverse proxy. 

One of the defining things about Perlbal is that almost everything can be 
configured or reconfigured on the fly without needing to restart the software. 
A basic configuration file containing a management port enables you to easily 
perform operations on a running instance of Perlbal. 

Perlbal can also be extended by means of per-service (and global) plugins that 
can override many parts of request handling and behavior.

Comment 1 Ruben Kerkhof 2007-05-20 15:06:39 UTC
The dependencies (perl-IO-AIO, perl-Danga-Socket) are in extras, but still in the needsign queu for devel, 
so if you review this, you might want to drop them in a local repo.

Comment 2 Jason Tibbitts 2007-06-03 22:10:29 UTC
This fails to build for me.  I have all of the dependencies (they're in rawhide)
but the tests don't go well (sorry about any wordwrapping):

t/40-ranges..............ok
        12/47 skipped: can't do AIO mode linux
t/45-buffereduploads.....
#   Failed test 'buffer_on_rate: buffer file exists'
#   in t/45-buffereduploads.t at line 214.
# Looks like you failed 1 test of 30.
dubious
        Test returned status 1 (wstat 256, 0x100)
DIED. FAILED test 17
        Failed 1/30 tests, 96.67% okay
t/50-plugins.............ok
t/52-chunked-upload......ok
t/60-child-httpd.........skipped
        all skipped: Alpha feature; test skipped without $ENV{PERLBAL_TEST_ALPHA}
Failed Test            Stat Wstat Total Fail  Failed  List of Failed
-------------------------------------------------------------------------------
t/45-buffereduploads.t    1   256    30    1   3.33%  17
1 test and 12 subtests skipped.
Failed 1/17 test scripts, 94.12% okay. 1/417 subtests failed, 99.76% okay.
make: *** [test_dynamic] Error 255

The skipped tests are OK, but the failed one isn't and I'm not really sure what
the problem is.

Comment 3 Ruben Kerkhof 2007-06-04 12:50:01 UTC
Hi Jason,

That test seems a bit unreliable, it passed for me, but more people where bitten
by this: http://lists.danga.com/pipermail/perlbal/2006-June/000215.html

I'll talk to upstream to see if something can be done about it.




Comment 4 Ruben Kerkhof 2007-06-20 21:30:53 UTC
The upstream maintainer made some adjustments to the test, it's in upstream svn now. If you can confirm 
it's fixed, upstream will release a new version.

The new srpm with the patched test is at
http://rubenkerkhof.com/packages/Perlbal-1.59-1.fc7.src.rpm



Comment 5 Jason Tibbitts 2007-07-28 02:08:35 UTC
Wow, I lost track of this.

Yes, the updated package works fine for me.

Comment 6 Jason Tibbitts 2007-07-28 02:38:38 UTC
rpmlint says:
   W: Perlbal mixed-use-of-spaces-and-tabs (spaces: line 1, tab: line 10)
which is no big deal; fix it if you like.

You probably want to use "perl" instead of "%{__perl}" in your specfile;
otherwise you should be consistent and use %{__make}, %{__rm}, %{__mv}, etc.

Since that's the only real issue, I'll approve this and you can fix it when you
check in.

Review:
* source files match upstream:
   974d684dd02b0a04f8203ff407c876cc1b253ba5066c7673e232dab850a07922  
   Perlbal-1.59.tar.gz
* package meets naming and versioning guidelines.
* specfile is properly named.
X specfile does not use macros consistently.
* summary is OK.
* description is OK.
* dist tag is present.
* build root is OK.
* license field matches the actual license.
* license is open source-compatible.
* license text not included upstream.
* latest version is being packaged.
* BuildRequires are proper.
* %clean is present.
* package builds in mock (development, x86_64).
* package installs properly
* rpmlint has only acceptable complaints.
* final provides and requires are sane:
   config(Perlbal) = 1.59-1.fc8
   perl(PalImg)
   perl(PaletteModify)
   perl(Perlbal) = 1.59
   perl(Perlbal::AIO)
   perl(Perlbal::BackendHTTP)
   perl(Perlbal::Cache) = 1.0
   perl(Perlbal::ChunkedUploadState)
   perl(Perlbal::ClientHTTP)
   perl(Perlbal::ClientHTTPBase)
   perl(Perlbal::ClientManage)
   perl(Perlbal::ClientProxy)
   perl(Perlbal::CommandContext)
   perl(Perlbal::HTTPHeaders)
   perl(Perlbal::ManageCommand)
   perl(Perlbal::Plugin::AccessControl)
   perl(Perlbal::Plugin::AutoRemoveLeadingDir)
   perl(Perlbal::Plugin::EchoService)
   perl(Perlbal::Plugin::EchoService::Client)
   perl(Perlbal::Plugin::Highpri)
   perl(Perlbal::Plugin::LazyCDN)
   perl(Perlbal::Plugin::NotModified)
   perl(Perlbal::Plugin::Palimg)
   perl(Perlbal::Plugin::Queues)
   perl(Perlbal::Plugin::Stats)
   perl(Perlbal::Plugin::Stats::Storage)
   perl(Perlbal::Plugin::Vhosts)
   perl(Perlbal::Pool)
   perl(Perlbal::ReproxyManager)
   perl(Perlbal::Service)
   perl(Perlbal::Socket)
   perl(Perlbal::TCPListener)
   perl(Perlbal::Test)
   perl(Perlbal::Test::WebClient)
   perl(Perlbal::Test::WebServer)
   perl(Perlbal::UploadListener)
   perl(Perlbal::Util)
   Perlbal = 1.59-1.fc8
  =
   /bin/bash
   /bin/sh
   /sbin/chkconfig
   /sbin/service
   /usr/bin/perl
   config(Perlbal) = 1.59-1.fc8
   perl(:MODULE_COMPAT_5.8.8)
   perl(BSD::Resource)
   perl(Carp)
   perl(Danga::Socket) >= 1.44
   perl(Devel::Peek)
   perl(Errno)
   perl(Exporter)
   perl(Fcntl)
   perl(File::Path)
   perl(Getopt::Long)
   perl(HTTP::Date)
   perl(HTTP::Request)
   perl(HTTP::Response)
   perl(IO::AIO)
   perl(IO::File)
   perl(IO::Handle)
   perl(IO::Socket)
   perl(IO::Socket::INET)
   perl(POSIX)
   perl(Perlbal)
   perl(Perlbal::AIO)
   perl(Perlbal::BackendHTTP)
   perl(Perlbal::Cache)
   perl(Perlbal::ChunkedUploadState)
   perl(Perlbal::ClientHTTP)
   perl(Perlbal::ClientHTTPBase)
   perl(Perlbal::ClientManage)
   perl(Perlbal::ClientProxy)
   perl(Perlbal::CommandContext)
   perl(Perlbal::HTTPHeaders)
   perl(Perlbal::ManageCommand)
   perl(Perlbal::Pool)
   perl(Perlbal::ReproxyManager)
   perl(Perlbal::Service)
   perl(Perlbal::Socket)
   perl(Perlbal::TCPListener)
   perl(Perlbal::Test)
   perl(Perlbal::Test::WebClient)
   perl(Perlbal::UploadListener)
   perl(Perlbal::Util)
   perl(Scalar::Util)
   perl(Socket)
   perl(Storable)
   perl(Sys::Syscall)
   perl(Time::HiRes)
   perl(base)
   perl(constant)
   perl(fields)
   perl(lib)
   perl(strict)
   perl(vars)
   perl(warnings)
* %check is present and all tests pass:
   All tests successful, 1 test skipped.
   Files=17, Tests=406, 40 wallclock secs ( 1.83 cusr +  0.59 csys =  2.42 CPU)
   (One test is skipped intentionally.)
* owns the directories it creates.
* doesn't own any directories it shouldn't.
* no duplicates in %files.
* file permissions are appropriate.
* scriptlets OK (chkconfig calls from ScriptletSnippets).
* code, not content.
* documentation is small, so no -docs subpackage is necessary.
* %docs are not necessary for the proper functioning of the package.

APPROVED

Comment 7 Ruben Kerkhof 2007-08-01 17:36:11 UTC
Thanks Jason,

Sorry that it took so long, I was on holiday

New Package CVS Request
=======================
Package Name: Perlbal 
Short Description: Reverse-proxy load balancer and webserver
Owners: ruben
Branches: EL-4 EL-5 FC-6 F-7 



Comment 8 Kevin Fenzi 2007-08-01 19:13:32 UTC
cvs done.


Note You need to log in before you can comment on or make changes to this bug.