debian/0000755000000000000000000000000011732737070007175 5ustar debian/rules0000755000000000000000000000003611732737070010254 0ustar #!/usr/bin/make -f %: dh $@ debian/control0000644000000000000000000000454311732737070010606 0ustar Source: perlbal Section: web Priority: optional Build-Depends: debhelper (>= 8) Build-Depends-Indep: perl, libbsd-resource-perl, libdanga-socket-perl, libsys-syscall-perl, libwww-perl, libio-aio-perl, libnet-netmask-perl, perl (>= 5.11.1) | libtest-simple-perl (>= 0.94) Maintainer: Debian Perl Group Uploaders: Jonathan Steinert Standards-Version: 3.9.3 Homepage: http://www.danga.com/perlbal/ Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-perl/packages/perlbal.git Vcs-Git: git://git.debian.org/pkg-perl/packages/perlbal.git Package: perlbal Architecture: all Depends: ${misc:Depends}, ${perl:Depends}, libperlbal-perl (= ${binary:Version}) Description: Perl-based reverse proxy load balancer and web server 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. Package: libperlbal-perl Section: perl Architecture: all Depends: ${misc:Depends}, ${perl:Depends}, libbsd-resource-perl, libdanga-socket-perl, libsys-syscall-perl, libwww-perl Recommends: libio-aio-perl, libperlbal-xs-httpheaders-perl Description: Perlbal libraries; embed perlbal into another app These are libraries that allow an application to internally run an instance of perlbal. . 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. debian/source/0000755000000000000000000000000011732737070010475 5ustar debian/source/format0000644000000000000000000000001411732737070011703 0ustar 3.0 (quilt) debian/perlbal.install0000644000000000000000000000014211732737070012203 0ustar debian/perlbal.conf /etc/perlbal/ usr/bin/perlbal /usr/bin usr/share/man/man1 /usr/share/man debian/changelog0000644000000000000000000000070611732737070011052 0ustar perlbal (1.80-2) unstable; urgency=low * Cleanup per review by DD * Increment version to take care of leaked copies of initial release. -- Jonathan Steinert Thu, 22 Mar 2012 13:16:16 -0700 perlbal (1.80-1) UNRELEASED; urgency=low * Initial release. (Closes: #456534: RFP: perlbal -- Perl-based reverse proxy load balancer and web-server) -- Jonathan Steinert Sun, 18 Mar 2012 01:45:04 -0700 debian/perlbal.init0000644000000000000000000001021211732737070011477 0ustar #! /bin/sh ### BEGIN INIT INFO # Provides: perlbal # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start and stop the perlbal daemon # Description: Controls the perlbal daemon. ### END INIT INFO # Author: Jonathan Steinert # Do NOT "set -e" # PATH should only include /usr/* if it runs after the mountnfs.sh script PATH=/sbin:/usr/sbin:/bin:/usr/bin DESC="Perlbal" NAME=perlbal DAEMON=/usr/bin/$NAME DAEMON_ARGS="--daemon" PIDFILE=/var/run/$NAME.pid SCRIPTNAME=/etc/init.d/$NAME # Exit if the package is not installed [ -x "$DAEMON" ] || exit 0 DEFAULTS_FILE=/etc/default/$NAME # Read configuration variable file if it is present [ -r $DEFAULTS_FILE ] && . $DEFAULTS_FILE case "$PERLBAL_ENABLE" in true) ;; false) exit 0 ;; *) log_failure_msg "Value of PERLBAL_ENABLE in $DEFAULTS_FILE must be either 'true' or 'false';" log_failure_msg "refusing to procede." exit 1 ;; esac if [ -z "$USER" ]; then log_failure_msg "Error on $NAME: USER must be set" exit 1 fi USER_MATCH_OPT="--user $USER" USER_SET_OPT="--chuid $USER" if [ "$GROUP" ]; then GROUP_SET_OPT="--group $GROUP" fi # Load the VERBOSE setting and other rcS variables . /lib/init/vars.sh # Define LSB log_* functions. # Depend on lsb-base (>= 3.2-14) to ensure that this file is present # and status_of_proc is working. . /lib/lsb/init-functions # # Function that starts the daemon/service # do_start() { # Return # 0 if daemon has been started # 1 if daemon was already running # 2 if daemon could not be started start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON \ $USER_MATCH_OPT --test > /dev/null \ || return 1 touch $PIDFILE chown $USER $PIDFILE start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON \ $USER_SET_OPT $GROUP_SET_OPT -- $DAEMON_ARGS $EXTRA_OPTS \ || return 2 } # # Function that stops the daemon/service # do_stop() { # Return # 0 if daemon has been stopped # 1 if daemon was already stopped # 2 if daemon could not be stopped # other if a failure occurred start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME \ $USER_MATCH_OPT RETVAL="$?" [ "$RETVAL" = 2 ] && return 2 # Wait for children to finish too if this is a daemon that forks # and if the daemon is only ever run from this initscript. # If the above conditions are not satisfied then add some other code # that waits for the process to drop all resources that could be # needed by services started subsequently. A last resort is to # sleep for some time. start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON [ "$?" = 2 ] && return 2 # Many daemons don't delete their pidfiles when they exit. rm -f $PIDFILE return "$RETVAL" } case "$1" in start) [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME" do_start case "$?" in 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; esac ;; stop) [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME" do_stop case "$?" in 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; esac ;; status) status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $? ;; #reload|force-reload) # # If do_reload() is not implemented then leave this commented out # and leave 'force-reload' as an alias for 'restart'. # #log_daemon_msg "Reloading $DESC" "$NAME" #do_reload #log_end_msg $? #;; restart|force-reload) # # If the "reload" option is implemented then remove the # 'force-reload' alias # log_daemon_msg "Restarting $DESC" "$NAME" do_stop case "$?" in 0|1) do_start case "$?" in 0) log_end_msg 0 ;; 1) log_end_msg 1 ;; # Old process is still running *) log_end_msg 1 ;; # Failed to start esac ;; *) # Failed to stop log_end_msg 1 ;; esac ;; *) #echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2 echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2 exit 3 ;; esac : debian/libperlbal-perl.docs0000644000000000000000000000000711732737070013114 0ustar README debian/compat0000644000000000000000000000000211732737070010373 0ustar 8 debian/perlbal.default0000644000000000000000000000064611732737070012172 0ustar # Defaults for perlbal initscript # sourced by /etc/init.d/perlbal # installed at /etc/default/perlbal by the maintainer scripts # # This is a POSIX shell fragment # # Change to 'true' to launch perlbal via init system. PERLBAL_ENABLE=false # Naming a user to run as is required. USER=www-data # Naming a group to run as is optional. #GROUP=www-data # Additional options that are passed to the Daemon. #EXTRA_OPTS="" debian/patches/0000755000000000000000000000000011732737070010624 5ustar debian/patches/spelling-errors0000644000000000000000000000255711732737070013707 0ustar Description: fix spelling errors I: libperlbal-perl: spelling-error-in-manpage usr/share/man/man3/Perlbal::Manual::Install.3pm.gz succesfully successfully I: libperlbal-perl: spelling-error-in-manpage usr/share/man/man3/Perlbal::Manual::Install.3pm.gz succesfully successfully I: libperlbal-perl: spelling-error-in-manpage usr/share/man/man3/Perlbal::Manual::Logging.3pm.gz lenght length Author: Jonathan Steinert --- a/lib/Perlbal/Manual/Install.pod +++ b/lib/Perlbal/Manual/Install.pod @@ -108,7 +108,7 @@ Install IO::AIO for better performance. -=head2 Checking that Perlbal is succesfully installed +=head2 Checking that Perlbal is successfully installed Perlbal is shipped with some sample configuration files that reside in the F directory (of the source). --- a/lib/Perlbal/Manual/Logging.pod +++ b/lib/Perlbal/Manual/Logging.pod @@ -66,7 +66,7 @@ Perlbal::log('warning', "system error: $msg ($info)"); -=item * If we receive a request with a content lenght different from the actual length of the request, L logs a critical message: +=item * If we receive a request with a content length different from the actual length of the request, L logs a critical message: Perlbal::log('crit', "Content length of $clen declared but $self->{buoutpos} bytes written to disk"); debian/patches/bad-manpage-perlbal-util0000644000000000000000000000062311732737070015276 0ustar Description: fix bad manpage syntax W: libperlbal-perl: manpage-has-bad-whatis-entry usr/share/man/man3/Perlbal::Util.3pm.gz Author: Jonathan Steinert --- a/lib/Perlbal/Util.pm +++ b/lib/Perlbal/Util.pm @@ -1,6 +1,12 @@ # misc util functions # +=head1 NAME + +Perlbal::Util - Utility functions internal to Perlbal + +=cut + package Perlbal::Util; use strict; use warnings; debian/patches/series0000644000000000000000000000010011732737070012030 0ustar fix-test-more-0.94-use spelling-errors bad-manpage-perlbal-util debian/patches/fix-test-more-0.94-use0000644000000000000000000000173111732737070014436 0ustar Description: Fix Test::More 0.94 problems. Origin: https://github.com/perlbal/Perlbal/commit/a7bd7de1bc3e1b5420c3498a9b5858a874f5d708 --- a/t/91-fields.t +++ b/t/91-fields.t @@ -19,6 +19,7 @@ use_ok('Perlbal::CommandContext'); eval { Perlbal::CommandContext->new(); }; like( $@, qr{$warn_mocked}, "use old library" ); + done_testing(); }; } --- a/t/99-benchmark-bool.t +++ b/t/99-benchmark-bool.t @@ -11,6 +11,7 @@ subtest 'module checking' => sub { isa_ok( $class->new(), $class, "can create object from $class" ); + done_testing(); }; my @words = generate_words(1000); @@ -18,6 +19,7 @@ subtest 'check sub integrity' => sub { is_deeply( test_optimized(), test_original(), "sub optimized" ); is_deeply( test_hash(), test_original(), "sub hash" ); + done_testing(); }; SKIP: { @@ -36,6 +38,7 @@ 'hash' => \&test_hash, } ); + done_testing(); }; } debian/perlbal.conf0000644000000000000000000000103011732737070011457 0ustar SERVER pidfile = /var/run/perlbal.pid # # This is an example webserver configuration. # # See /usr/share/doc/perlbal/ for example configs. # See man Perlbal::Manual for for config documentation. CREATE SERVICE docs SET listen = 0.0.0.0:8080 SET role = web_server SET docroot = /usr/share/doc/ SET dirindexing = 1 SET persist_client = on ENABLE docs # always good to keep an internal management port open: CREATE SERVICE mgmt SET role = management SET listen = 127.0.0.1:16000 ENABLE mgmt debian/copyright0000644000000000000000000000302111732737070011124 0ustar Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: Perlbal Upstream-Contact: Jonathan Steinert Source: http://search.cpan.org/dist/Perlbal/ Files: * Copyright: 2004, Danga Interactive, Inc., 2005-2010, Six Apart, Ltd. License: Artistic or GPL-1+ Files: lib/Perlbal/SocketSSL.pm Copyright: 2007, Mark Smith License: Artistic or GPL-1+ Files: lib/Perlbal/Plugin/Throttle.pm Copyright: 2007-2011 Say Media Inc. License: Artistic or GPL-1+ Files: lib/Perlbal/Plugin/Cgilike.pm Copyright: 2007 Martin Atkins and Six Apart Ltd. License: Artistic or GPL-1+ Files: lib/Perlbal/Plugin/Include.pm Copyright: 2008 Eamon Daly License: Artistic or GPL-1+ Files: debian/* Copyright: 2012, Jonathan Steinert License: Artistic or GPL-1+ License: Artistic This program is free software; you can redistribute it and/or modify it under the terms of the Artistic License, which comes with Perl. . On Debian GNU/Linux systems, the complete text of the Artistic License can be found in `/usr/share/common-licenses/Artistic'. License: GPL-1+ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version. . On Debian GNU/Linux systems, the complete text of version 1 of the General Public License can be found in `/usr/share/common-licenses/GPL-1'. debian/libperlbal-perl.install0000644000000000000000000000010411732737070013630 0ustar usr/share/perl5 /usr/share/ usr/share/man/man3 /usr/share/man/ debian/perlbal.docs0000644000000000000000000000002111732737070011461 0ustar doc CONTRIBUTING debian/perlbal.examples0000644000000000000000000000000711732737070012353 0ustar conf/* debian/watch0000644000000000000000000000015311732737070010225 0ustar version=3 http://search.cpan.org/dist/Perlbal/ .*/Perlbal-v?(\d[\d.-]+)\.(?:tar(?:\.gz|\.bz2)?|tgz|zip)$