diff -Nru libhttp-server-simple-perl-0.43/Changes libhttp-server-simple-perl-0.44/Changes --- libhttp-server-simple-perl-0.43/Changes 2010-05-01 14:23:59.000000000 +0000 +++ libhttp-server-simple-perl-0.44/Changes 2011-04-04 07:00:43.000000000 +0000 @@ -1,3 +1,7 @@ +0.44 Mon Apr 4 16:59:59 EST 2011 + +* Fix tests to run in a FreeBSD Jail - Tom Hukins [rt.cpan.org #49807] + 0.43 Sat May 1 22:23:55 CST 2010 * Support for getting REMOTE_PORT -- rgs diff -Nru libhttp-server-simple-perl-0.43/debian/changelog libhttp-server-simple-perl-0.44/debian/changelog --- libhttp-server-simple-perl-0.43/debian/changelog 2010-05-02 14:25:24.000000000 +0000 +++ libhttp-server-simple-perl-0.44/debian/changelog 2011-04-22 14:58:41.000000000 +0000 @@ -1,3 +1,21 @@ +libhttp-server-simple-perl (0.44-1) unstable; urgency=low + + [ Ansgar Burchardt ] + * Email change: Ansgar Burchardt -> ansgar@debian.org + + [ Nicholas Bamber ] + * Added myseld to Uploaders + * New upstream release + * Upped standards version to 3.9.2 and reviewed dependencies + * Refreshed patch + * Fixed permissions on example server script + * Refreshed copyright + + [ gregor herrmann ] + * Email change: Jose Luis Rivas -> ghostbar@debian.org + + -- Nicholas Bamber Fri, 22 Apr 2011 15:54:12 +0100 + libhttp-server-simple-perl (0.43-1) unstable; urgency=low [ Jonathan Yu ] diff -Nru libhttp-server-simple-perl-0.43/debian/control libhttp-server-simple-perl-0.44/debian/control --- libhttp-server-simple-perl-0.43/debian/control 2010-03-28 13:15:37.000000000 +0000 +++ libhttp-server-simple-perl-0.44/debian/control 2011-04-22 14:59:09.000000000 +0000 @@ -1,18 +1,18 @@ Source: libhttp-server-simple-perl Section: perl Priority: optional -Build-Depends: debhelper (>= 7.0.50) +Build-Depends: debhelper (>= 7.0.50~) Build-Depends-Indep: perl, netbase, libtest-pod-perl, libtest-pod-coverage-perl Maintainer: Debian Perl Group Uploaders: Niko Tyni , Krzysztof Krzyzaniak (eloy) , Jonathan Yu , gregor herrmann , - Martín Ferrari , - Jose Luis Rivas , - Ansgar Burchardt , + Martín Ferrari , Nicholas Bamber , + Jose Luis Rivas , + Ansgar Burchardt , Christine Spang -Standards-Version: 3.8.4 +Standards-Version: 3.9.2 Homepage: http://search.cpan.org/dist/HTTP-Server-Simple/ Vcs-Svn: svn://svn.debian.org/pkg-perl/trunk/libhttp-server-simple-perl/ Vcs-Browser: http://svn.debian.org/viewsvn/pkg-perl/trunk/libhttp-server-simple-perl/ diff -Nru libhttp-server-simple-perl-0.43/debian/copyright libhttp-server-simple-perl-0.44/debian/copyright --- libhttp-server-simple-perl-0.43/debian/copyright 2010-05-02 14:24:58.000000000 +0000 +++ libhttp-server-simple-perl-0.44/debian/copyright 2011-04-22 14:58:57.000000000 +0000 @@ -15,24 +15,25 @@ Files: debian/* Copyright: 2005, Chip Salzenberg - 2006, 2007, Krzysztof Krzyzaniak (eloy) + 2006-2007, Krzysztof Krzyzaniak (eloy) 2006, Don Armstrong 2006, Niko Tyni - 2008, 2009, Ansgar Burchardt - 2008, Jose Luis Rivas + 2008-2009, Ansgar Burchardt + 2008, Jose Luis Rivas 2008, Martín Ferrari 2008, Roberto C. Sanchez - 2009, 2010, Jonathan Yu + 2009-2010, Jonathan Yu 2009, Christine Spang 2006-2010, gregor herrmann + 2011, Nicholas Bamber 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' + On Debian 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 @@ -40,5 +41,5 @@ the Free Software Foundation; either version 1, or (at your option) any later version. . - On Debian GNU/Linux systems, the complete text of the GNU General - Public License can be found in `/usr/share/common-licenses/GPL' + On Debian systems, the complete text of version 1 of the GNU General + Public License can be found in `/usr/share/common-licenses/GPL-1'. diff -Nru libhttp-server-simple-perl-0.43/debian/patches/0002-Pipe-version-parent-waits-for-the-child-to-say-OK.patch libhttp-server-simple-perl-0.44/debian/patches/0002-Pipe-version-parent-waits-for-the-child-to-say-OK.patch --- libhttp-server-simple-perl-0.43/debian/patches/0002-Pipe-version-parent-waits-for-the-child-to-say-OK.patch 2010-05-02 13:36:17.000000000 +0000 +++ libhttp-server-simple-perl-0.44/debian/patches/0002-Pipe-version-parent-waits-for-the-child-to-say-OK.patch 2011-04-22 14:56:58.000000000 +0000 @@ -1,5 +1,10 @@ -From: Niko Tyni -Subject: [PATCH] Pipe version: parent waits for the child to say "OK" via a pipe. +Author: Niko Tyni +Subject: Pipe version: parent waits for the child to say "OK" via a pipe +Forwarded: http://rt.cpan.org/Public/Bug/Display.html?id=28122 +Bug: http://rt.cpan.org/Public/Bug/Display.html?id=28122 +Bug-Debian: #439724, #477227 +Last-Update: 2011-04-22 +Reviewed-by: Nicholas Bamber --- a/lib/HTTP/Server/Simple.pm +++ b/lib/HTTP/Server/Simple.pm @@ -10,7 +15,7 @@ +use IO::Select; use vars qw($VERSION $bad_request_doc); - $VERSION = '0.43'; + $VERSION = '0.44'; @@ -205,9 +206,30 @@ sub background { diff -Nru libhttp-server-simple-perl-0.43/debian/rules libhttp-server-simple-perl-0.44/debian/rules --- libhttp-server-simple-perl-0.43/debian/rules 2010-03-28 13:14:09.000000000 +0000 +++ libhttp-server-simple-perl-0.44/debian/rules 2011-04-22 14:52:13.000000000 +0000 @@ -9,3 +9,5 @@ override_dh_installexamples: dh_installexamples sed -i '1s|^#!perl|#!/usr/bin/perl|' $(TMP)/usr/share/doc/libhttp-server-simple-perl/examples/* + chmod a+x $(TMP)/usr/share/doc/libhttp-server-simple-perl/examples/sample_server + diff -Nru libhttp-server-simple-perl-0.43/inc/Module/Install/Base.pm libhttp-server-simple-perl-0.44/inc/Module/Install/Base.pm --- libhttp-server-simple-perl-0.43/inc/Module/Install/Base.pm 2010-05-01 14:38:25.000000000 +0000 +++ libhttp-server-simple-perl-0.44/inc/Module/Install/Base.pm 2011-04-04 07:02:27.000000000 +0000 @@ -4,7 +4,7 @@ use strict 'vars'; use vars qw{$VERSION}; BEGIN { - $VERSION = '0.95'; + $VERSION = '1.00'; } # Suspend handler for "redefined" warnings @@ -51,13 +51,18 @@ #line 106 sub is_admin { - $_[0]->admin->VERSION; + ! $_[0]->admin->isa('Module::Install::Base::FakeAdmin'); } sub DESTROY {} package Module::Install::Base::FakeAdmin; +use vars qw{$VERSION}; +BEGIN { + $VERSION = $Module::Install::Base::VERSION; +} + my $fake; sub new { @@ -75,4 +80,4 @@ 1; -#line 154 +#line 159 diff -Nru libhttp-server-simple-perl-0.43/inc/Module/Install/Can.pm libhttp-server-simple-perl-0.44/inc/Module/Install/Can.pm --- libhttp-server-simple-perl-0.43/inc/Module/Install/Can.pm 2010-05-01 14:38:25.000000000 +0000 +++ libhttp-server-simple-perl-0.44/inc/Module/Install/Can.pm 2011-04-04 07:02:27.000000000 +0000 @@ -9,7 +9,7 @@ use vars qw{$VERSION @ISA $ISCORE}; BEGIN { - $VERSION = '0.95'; + $VERSION = '1.00'; @ISA = 'Module::Install::Base'; $ISCORE = 1; } diff -Nru libhttp-server-simple-perl-0.43/inc/Module/Install/Fetch.pm libhttp-server-simple-perl-0.44/inc/Module/Install/Fetch.pm --- libhttp-server-simple-perl-0.43/inc/Module/Install/Fetch.pm 2010-05-01 14:38:25.000000000 +0000 +++ libhttp-server-simple-perl-0.44/inc/Module/Install/Fetch.pm 2011-04-04 07:02:27.000000000 +0000 @@ -6,7 +6,7 @@ use vars qw{$VERSION @ISA $ISCORE}; BEGIN { - $VERSION = '0.95'; + $VERSION = '1.00'; @ISA = 'Module::Install::Base'; $ISCORE = 1; } diff -Nru libhttp-server-simple-perl-0.43/inc/Module/Install/Makefile.pm libhttp-server-simple-perl-0.44/inc/Module/Install/Makefile.pm --- libhttp-server-simple-perl-0.43/inc/Module/Install/Makefile.pm 2010-05-01 14:38:25.000000000 +0000 +++ libhttp-server-simple-perl-0.44/inc/Module/Install/Makefile.pm 2011-04-04 07:02:27.000000000 +0000 @@ -4,10 +4,11 @@ use strict 'vars'; use ExtUtils::MakeMaker (); use Module::Install::Base (); +use Fcntl qw/:flock :seek/; use vars qw{$VERSION @ISA $ISCORE}; BEGIN { - $VERSION = '0.95'; + $VERSION = '1.00'; @ISA = 'Module::Install::Base'; $ISCORE = 1; } @@ -101,24 +102,26 @@ my ($self, %new_args) = @_; my $args = ( $self->{makemaker_args} ||= {} ); foreach my $key (keys %new_args) { - if ($makemaker_argtype{$key} eq 'ARRAY') { - $args->{$key} = [] unless defined $args->{$key}; - unless (ref $args->{$key} eq 'ARRAY') { - $args->{$key} = [$args->{$key}] + if ($makemaker_argtype{$key}) { + if ($makemaker_argtype{$key} eq 'ARRAY') { + $args->{$key} = [] unless defined $args->{$key}; + unless (ref $args->{$key} eq 'ARRAY') { + $args->{$key} = [$args->{$key}] + } + push @{$args->{$key}}, + ref $new_args{$key} eq 'ARRAY' + ? @{$new_args{$key}} + : $new_args{$key}; } - push @{$args->{$key}}, - ref $new_args{$key} eq 'ARRAY' - ? @{$new_args{$key}} - : $new_args{$key}; - } - elsif ($makemaker_argtype{$key} eq 'HASH') { - $args->{$key} = {} unless defined $args->{$key}; - foreach my $skey (keys %{ $new_args{$key} }) { - $args->{$key}{$skey} = $new_args{$key}{$skey}; + elsif ($makemaker_argtype{$key} eq 'HASH') { + $args->{$key} = {} unless defined $args->{$key}; + foreach my $skey (keys %{ $new_args{$key} }) { + $args->{$key}{$skey} = $new_args{$key}{$skey}; + } + } + elsif ($makemaker_argtype{$key} eq 'APPENDABLE') { + $self->makemaker_append($key => $new_args{$key}); } - } - elsif ($makemaker_argtype{$key} eq 'APPENDABLE') { - $self->makemaker_append($key => $new_args{$key}); } else { if (defined $args->{$key}) { @@ -178,28 +181,22 @@ $self->makemaker_args( INC => shift ); } -my %test_dir = (); - sub _wanted_t { - /\.t$/ and -f $_ and $test_dir{$File::Find::dir} = 1; } sub tests_recursive { my $self = shift; - if ( $self->tests ) { - die "tests_recursive will not work if tests are already defined"; - } my $dir = shift || 't'; unless ( -d $dir ) { die "tests_recursive dir '$dir' does not exist"; } - %test_dir = (); + my %tests = map { $_ => 1 } split / /, ($self->tests || ''); require File::Find; - File::Find::find( \&_wanted_t, $dir ); - if ( -d 'xt' and ($Module::Install::AUTHOR or $ENV{RELEASE_TESTING}) ) { - File::Find::find( \&_wanted_t, 'xt' ); - } - $self->tests( join ' ', map { "$_/*.t" } sort keys %test_dir ); + File::Find::find( + sub { /\.t$/ and -f $_ and $tests{"$File::Find::dir/*.t"} = 1 }, + $dir + ); + $self->tests( join ' ', sort keys %tests ); } sub write { @@ -251,6 +248,9 @@ $args->{test} = { TESTS => (join ' ', grep {!$seen{$_}++} @tests), }; + } elsif ( $Module::Install::ExtraTests::use_extratests ) { + # Module::Install::ExtraTests doesn't set $self->tests and does its own tests via harness. + # So, just ignore our xt tests here. } elsif ( -d 'xt' and ($Module::Install::AUTHOR or $ENV{RELEASE_TESTING}) ) { $args->{test} = { TESTS => join( ' ', map { "$_/*.t" } grep { -d $_ } qw{ t xt } ), @@ -297,13 +297,22 @@ # Remove any reference to perl, BUILD_REQUIRES doesn't support it delete $args->{BUILD_REQUIRES}->{perl}; - # Delete bundled dists from prereq_pm - my $subdirs = ($args->{DIR} ||= []); + # Delete bundled dists from prereq_pm, add it to Makefile DIR + my $subdirs = ($args->{DIR} || []); if ($self->bundles) { + my %processed; foreach my $bundle (@{ $self->bundles }) { - my ($file, $dir) = @$bundle; - push @$subdirs, $dir if -d $dir; - delete $build_prereq->{$file}; #Delete from build prereqs only + my ($mod_name, $dist_dir) = @$bundle; + delete $prereq->{$mod_name}; + $dist_dir = File::Basename::basename($dist_dir); # dir for building this module + if (not exists $processed{$dist_dir}) { + if (-d $dist_dir) { + # List as sub-directory to be processed by make + push @$subdirs, $dist_dir; + } + # Else do nothing: the module is already present on the system + $processed{$dist_dir} = undef; + } } } @@ -356,9 +365,9 @@ . ($self->postamble || ''); local *MAKEFILE; - open MAKEFILE, "< $makefile_name" or die "fix_up_makefile: Couldn't open $makefile_name: $!"; + open MAKEFILE, "+< $makefile_name" or die "fix_up_makefile: Couldn't open $makefile_name: $!"; + eval { flock MAKEFILE, LOCK_EX }; my $makefile = do { local $/; }; - close MAKEFILE or die $!; $makefile =~ s/\b(test_harness\(\$\(TEST_VERBOSE\), )/$1'inc', /; $makefile =~ s/( -I\$\(INST_ARCHLIB\))/ -Iinc$1/g; @@ -378,7 +387,8 @@ # XXX - This is currently unused; not sure if it breaks other MM-users # $makefile =~ s/^pm_to_blib\s+:\s+/pm_to_blib :: /mg; - open MAKEFILE, "> $makefile_name" or die "fix_up_makefile: Couldn't open $makefile_name: $!"; + seek MAKEFILE, 0, SEEK_SET; + truncate MAKEFILE, 0; print MAKEFILE "$preamble$makefile$postamble" or die $!; close MAKEFILE or die $!; @@ -402,4 +412,4 @@ __END__ -#line 531 +#line 541 diff -Nru libhttp-server-simple-perl-0.43/inc/Module/Install/Metadata.pm libhttp-server-simple-perl-0.44/inc/Module/Install/Metadata.pm --- libhttp-server-simple-perl-0.43/inc/Module/Install/Metadata.pm 2010-05-01 14:38:25.000000000 +0000 +++ libhttp-server-simple-perl-0.44/inc/Module/Install/Metadata.pm 2011-04-04 07:02:27.000000000 +0000 @@ -6,7 +6,7 @@ use vars qw{$VERSION @ISA $ISCORE}; BEGIN { - $VERSION = '0.95'; + $VERSION = '1.00'; @ISA = 'Module::Install::Base'; $ISCORE = 1; } @@ -178,43 +178,6 @@ $self->{values}->{perl_version} = $version; } -#Stolen from M::B -my %license_urls = ( - perl => 'http://dev.perl.org/licenses/', - apache => 'http://apache.org/licenses/LICENSE-2.0', - artistic => 'http://opensource.org/licenses/artistic-license.php', - artistic_2 => 'http://opensource.org/licenses/artistic-license-2.0.php', - lgpl => 'http://opensource.org/licenses/lgpl-license.php', - lgpl2 => 'http://opensource.org/licenses/lgpl-2.1.php', - lgpl3 => 'http://opensource.org/licenses/lgpl-3.0.html', - bsd => 'http://opensource.org/licenses/bsd-license.php', - gpl => 'http://opensource.org/licenses/gpl-license.php', - gpl2 => 'http://opensource.org/licenses/gpl-2.0.php', - gpl3 => 'http://opensource.org/licenses/gpl-3.0.html', - mit => 'http://opensource.org/licenses/mit-license.php', - mozilla => 'http://opensource.org/licenses/mozilla1.1.php', - open_source => undef, - unrestricted => undef, - restrictive => undef, - unknown => undef, -); - -sub license { - my $self = shift; - return $self->{values}->{license} unless @_; - my $license = shift or die( - 'Did not provide a value to license()' - ); - $self->{values}->{license} = $license; - - # Automatically fill in license URLs - if ( $license_urls{$license} ) { - $self->resources( license => $license_urls{$license} ); - } - - return 1; -} - sub all_from { my ( $self, $file ) = @_; @@ -354,6 +317,9 @@ require ExtUtils::MM_Unix; my ( $self, $file ) = @_; $self->version( ExtUtils::MM_Unix->parse_version($file) ); + + # for version integrity check + $self->makemaker_args( VERSION_FROM => $file ); } sub abstract_from { @@ -364,7 +330,7 @@ { DISTNAME => $self->name }, 'ExtUtils::MM_Unix' )->parse_abstract($file) - ); + ); } # Add both distribution and module name @@ -479,42 +445,89 @@ } } +#Stolen from M::B +my %license_urls = ( + perl => 'http://dev.perl.org/licenses/', + apache => 'http://apache.org/licenses/LICENSE-2.0', + apache_1_1 => 'http://apache.org/licenses/LICENSE-1.1', + artistic => 'http://opensource.org/licenses/artistic-license.php', + artistic_2 => 'http://opensource.org/licenses/artistic-license-2.0.php', + lgpl => 'http://opensource.org/licenses/lgpl-license.php', + lgpl2 => 'http://opensource.org/licenses/lgpl-2.1.php', + lgpl3 => 'http://opensource.org/licenses/lgpl-3.0.html', + bsd => 'http://opensource.org/licenses/bsd-license.php', + gpl => 'http://opensource.org/licenses/gpl-license.php', + gpl2 => 'http://opensource.org/licenses/gpl-2.0.php', + gpl3 => 'http://opensource.org/licenses/gpl-3.0.html', + mit => 'http://opensource.org/licenses/mit-license.php', + mozilla => 'http://opensource.org/licenses/mozilla1.1.php', + open_source => undef, + unrestricted => undef, + restrictive => undef, + unknown => undef, +); + +sub license { + my $self = shift; + return $self->{values}->{license} unless @_; + my $license = shift or die( + 'Did not provide a value to license()' + ); + $license = __extract_license($license) || lc $license; + $self->{values}->{license} = $license; + + # Automatically fill in license URLs + if ( $license_urls{$license} ) { + $self->resources( license => $license_urls{$license} ); + } + + return 1; +} + sub _extract_license { my $pod = shift; my $matched; return __extract_license( ($matched) = $pod =~ m/ - (=head \d \s+ (?:licen[cs]e|licensing)\b.*?) + (=head \d \s+ L(?i:ICEN[CS]E|ICENSING)\b.*?) (=head \d.*|=cut.*|)\z - /ixms + /xms ) || __extract_license( ($matched) = $pod =~ m/ - (=head \d \s+ (?:copyrights?|legal)\b.*?) + (=head \d \s+ (?:C(?i:OPYRIGHTS?)|L(?i:EGAL))\b.*?) (=head \d.*|=cut.*|)\z - /ixms + /xms ); } sub __extract_license { my $license_text = shift or return; my @phrases = ( - 'under the same (?:terms|license) as (?:perl|the perl programming language)' => 'perl', 1, - 'under the terms of (?:perl|the perl programming language) itself' => 'perl', 1, - 'Artistic and GPL' => 'perl', 1, - 'GNU general public license' => 'gpl', 1, - 'GNU public license' => 'gpl', 1, - 'GNU lesser general public license' => 'lgpl', 1, - 'GNU lesser public license' => 'lgpl', 1, - 'GNU library general public license' => 'lgpl', 1, - 'GNU library public license' => 'lgpl', 1, - 'BSD license' => 'bsd', 1, - 'Artistic license' => 'artistic', 1, - 'GPL' => 'gpl', 1, - 'LGPL' => 'lgpl', 1, - 'BSD' => 'bsd', 1, - 'Artistic' => 'artistic', 1, - 'MIT' => 'mit', 1, - 'proprietary' => 'proprietary', 0, + '(?:under )?the same (?:terms|license) as (?:perl|the perl (?:\d )?programming language)' => 'perl', 1, + '(?:under )?the terms of (?:perl|the perl programming language) itself' => 'perl', 1, + 'Artistic and GPL' => 'perl', 1, + 'GNU general public license' => 'gpl', 1, + 'GNU public license' => 'gpl', 1, + 'GNU lesser general public license' => 'lgpl', 1, + 'GNU lesser public license' => 'lgpl', 1, + 'GNU library general public license' => 'lgpl', 1, + 'GNU library public license' => 'lgpl', 1, + 'GNU Free Documentation license' => 'unrestricted', 1, + 'GNU Affero General Public License' => 'open_source', 1, + '(?:Free)?BSD license' => 'bsd', 1, + 'Artistic license' => 'artistic', 1, + 'Apache (?:Software )?license' => 'apache', 1, + 'GPL' => 'gpl', 1, + 'LGPL' => 'lgpl', 1, + 'BSD' => 'bsd', 1, + 'Artistic' => 'artistic', 1, + 'MIT' => 'mit', 1, + 'Mozilla Public License' => 'mozilla', 1, + 'Q Public License' => 'open_source', 1, + 'OpenSSL License' => 'unrestricted', 1, + 'SSLeay License' => 'unrestricted', 1, + 'zlib License' => 'open_source', 1, + 'proprietary' => 'proprietary', 0, ); while ( my ($pattern, $license, $osi) = splice(@phrases, 0, 3) ) { $pattern =~ s#\s+#\\s+#gs; @@ -522,6 +535,7 @@ return $license; } } + return ''; } sub license_from { @@ -602,8 +616,15 @@ return $v; } - - +sub add_metadata { + my $self = shift; + my %hash = @_; + for my $key (keys %hash) { + warn "add_metadata: $key is not prefixed with 'x_'.\n" . + "Use appopriate function to add non-private metadata.\n" unless $key =~ /^x_/; + $self->{values}->{$key} = $hash{$key}; + } +} ###################################################################### diff -Nru libhttp-server-simple-perl-0.43/inc/Module/Install/Win32.pm libhttp-server-simple-perl-0.44/inc/Module/Install/Win32.pm --- libhttp-server-simple-perl-0.43/inc/Module/Install/Win32.pm 2010-05-01 14:38:25.000000000 +0000 +++ libhttp-server-simple-perl-0.44/inc/Module/Install/Win32.pm 2011-04-04 07:02:27.000000000 +0000 @@ -6,7 +6,7 @@ use vars qw{$VERSION @ISA $ISCORE}; BEGIN { - $VERSION = '0.95'; + $VERSION = '1.00'; @ISA = 'Module::Install::Base'; $ISCORE = 1; } diff -Nru libhttp-server-simple-perl-0.43/inc/Module/Install/WriteAll.pm libhttp-server-simple-perl-0.44/inc/Module/Install/WriteAll.pm --- libhttp-server-simple-perl-0.43/inc/Module/Install/WriteAll.pm 2010-05-01 14:38:25.000000000 +0000 +++ libhttp-server-simple-perl-0.44/inc/Module/Install/WriteAll.pm 2011-04-04 07:02:27.000000000 +0000 @@ -6,7 +6,7 @@ use vars qw{$VERSION @ISA $ISCORE}; BEGIN { - $VERSION = '0.95';; + $VERSION = '1.00'; @ISA = qw{Module::Install::Base}; $ISCORE = 1; } diff -Nru libhttp-server-simple-perl-0.43/inc/Module/Install.pm libhttp-server-simple-perl-0.44/inc/Module/Install.pm --- libhttp-server-simple-perl-0.43/inc/Module/Install.pm 2010-05-01 14:38:25.000000000 +0000 +++ libhttp-server-simple-perl-0.44/inc/Module/Install.pm 2011-04-04 07:02:27.000000000 +0000 @@ -22,7 +22,6 @@ use Cwd (); use File::Find (); use File::Path (); -use FindBin; use vars qw{$VERSION $MAIN}; BEGIN { @@ -32,7 +31,7 @@ # This is not enforced yet, but will be some time in the next few # releases once we can make sure it won't clash with custom # Module::Install extensions. - $VERSION = '0.95'; + $VERSION = '1.00'; # Storage for the pseudo-singleton $MAIN = undef; @@ -127,6 +126,11 @@ #------------------------------------------------------------- unless ( -f $self->{file} ) { + foreach my $key (keys %INC) { + delete $INC{$key} if $key =~ /Module\/Install/; + } + + local $^W; require "$self->{path}/$self->{dispatch}.pm"; File::Path::mkpath("$self->{prefix}/$self->{author}"); $self->{admin} = "$self->{name}::$self->{dispatch}"->new( _top => $self ); @@ -135,12 +139,13 @@ goto &{"$self->{name}::import"}; } + local $^W; *{"${who}::AUTOLOAD"} = $self->autoload; $self->preload; # Unregister loader and worker packages so subdirs can use them again - delete $INC{"$self->{file}"}; - delete $INC{"$self->{path}.pm"}; + delete $INC{'inc/Module/Install.pm'}; + delete $INC{'Module/Install.pm'}; # Save to the singleton $MAIN = $self; @@ -159,7 +164,21 @@ # Delegate back to parent dirs goto &$code unless $cwd eq $pwd; } - $$sym =~ /([^:]+)$/ or die "Cannot autoload $who - $sym"; + unless ($$sym =~ s/([^:]+)$//) { + # XXX: it looks like we can't retrieve the missing function + # via $$sym (usually $main::AUTOLOAD) in this case. + # I'm still wondering if we should slurp Makefile.PL to + # get some context or not ... + my ($package, $file, $line) = caller; + die <<"EOT"; +Unknown function is found at $file line $line. +Execution of $file aborted due to runtime errors. + +If you're a contributor to a project, you may need to install +some Module::Install extensions from CPAN (or other repository). +If you're a user of a module, please contact the author. +EOT + } my $method = $1; if ( uc($method) eq $method ) { # Do nothing @@ -200,6 +219,7 @@ my $who = $self->_caller; foreach my $name ( sort keys %seen ) { + local $^W; *{"${who}::$name"} = sub { ${"${who}::AUTOLOAD"} = "${who}::$name"; goto &{"${who}::AUTOLOAD"}; @@ -210,12 +230,18 @@ sub new { my ($class, %args) = @_; + delete $INC{'FindBin.pm'}; + { + # to suppress the redefine warning + local $SIG{__WARN__} = sub {}; + require FindBin; + } + # ignore the prefix on extension modules built from top level. my $base_path = Cwd::abs_path($FindBin::Bin); unless ( Cwd::abs_path(Cwd::cwd()) eq $base_path ) { delete $args{prefix}; } - return $args{_self} if $args{_self}; $args{dispatch} ||= 'Admin'; @@ -268,8 +294,10 @@ sub load_extensions { my ($self, $path, $top) = @_; + my $should_reload = 0; unless ( grep { ! ref $_ and lc $_ eq lc $self->{prefix} } @INC ) { unshift @INC, $self->{prefix}; + $should_reload = 1; } foreach my $rv ( $self->find_extensions($path) ) { @@ -277,12 +305,13 @@ next if $self->{pathnames}{$pkg}; local $@; - my $new = eval { require $file; $pkg->can('new') }; + my $new = eval { local $^W; require $file; $pkg->can('new') }; unless ( $new ) { warn $@ if $@; next; } - $self->{pathnames}{$pkg} = delete $INC{$file}; + $self->{pathnames}{$pkg} = + $should_reload ? delete $INC{$file} : $INC{$file}; push @{$self->{extensions}}, &{$new}($pkg, _top => $top ); } diff -Nru libhttp-server-simple-perl-0.43/lib/HTTP/Server/Simple.pm libhttp-server-simple-perl-0.44/lib/HTTP/Server/Simple.pm --- libhttp-server-simple-perl-0.43/lib/HTTP/Server/Simple.pm 2010-05-01 14:38:12.000000000 +0000 +++ libhttp-server-simple-perl-0.44/lib/HTTP/Server/Simple.pm 2011-04-04 07:02:15.000000000 +0000 @@ -7,7 +7,7 @@ use Carp; use vars qw($VERSION $bad_request_doc); -$VERSION = '0.43'; +$VERSION = '0.44'; =head1 NAME diff -Nru libhttp-server-simple-perl-0.43/META.yml libhttp-server-simple-perl-0.44/META.yml --- libhttp-server-simple-perl-0.43/META.yml 2010-05-01 14:38:25.000000000 +0000 +++ libhttp-server-simple-perl-0.44/META.yml 2011-04-04 07:02:27.000000000 +0000 @@ -4,7 +4,7 @@ configure_requires: ExtUtils::MakeMaker: 6.42 distribution_type: module -generated_by: 'Module::Install version 0.95' +generated_by: 'Module::Install version 1.00' license: perl meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html @@ -20,4 +20,4 @@ Test::More: 0 resources: license: http://dev.perl.org/licenses/ -version: 0.43 +version: 0.44 diff -Nru libhttp-server-simple-perl-0.43/SIGNATURE libhttp-server-simple-perl-0.44/SIGNATURE --- libhttp-server-simple-perl-0.43/SIGNATURE 2010-05-01 14:38:29.000000000 +0000 +++ libhttp-server-simple-perl-0.44/SIGNATURE 2011-04-04 07:02:27.000000000 +0000 @@ -1,5 +1,5 @@ This file contains message digests of all files listed in MANIFEST, -signed via the Module::Signature module, version 0.63. +signed via the Module::Signature module, version 0.66. To verify the content in this distribution, first make sure you have Module::Signature installed, then type: @@ -14,22 +14,22 @@ -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 -SHA1 0588f7923f93acfbdf2992fb224a3eb108ba9835 Changes +SHA1 f0ed9096f048f9291c7cccb64caeea6ae50ea031 Changes SHA1 949066363c947341783f1fe4c949f02940e8fa73 MANIFEST SHA1 e476d8bd724d46eb9e255cc8afc98b92269e2255 MANIFEST.SKIP -SHA1 be16e275943c3dfb0bfa080c412957ba72b1d1e7 META.yml +SHA1 8b7f1c4cb0cf0a362479450cd1598f4a3be7237d META.yml SHA1 bedda9fb5cb7922f391c7f039bc7eb8297e2c999 Makefile.PL SHA1 ed0c107672daac3bc9e266876666e1059dbe44b7 README SHA1 4ea1e9072ca87399184a46233df52a21e285604d ex/sample_server -SHA1 1ebec4119486a032a5612a403e8d7b7be973e938 inc/Module/Install.pm -SHA1 24038af925a69df41972971356ccce885b0fe2ad inc/Module/Install/Base.pm -SHA1 8f96eddfef548c9328457fbb17a121631cda356b inc/Module/Install/Can.pm -SHA1 ec29048e48edd9c9c55f9de7b773bd7c904335ad inc/Module/Install/Fetch.pm -SHA1 0384525d85d51e99532e3ad8729d870113646d14 inc/Module/Install/Makefile.pm -SHA1 38c657de4d91f5a60ff8e6c6f6a5547daf7c4ab2 inc/Module/Install/Metadata.pm -SHA1 5c25f1104c0038041e3b93e0660c39171e4caf2b inc/Module/Install/Win32.pm -SHA1 94d47349c803c4bd2a9230d25e4db0b6aaf1acd8 inc/Module/Install/WriteAll.pm -SHA1 dd978f6fe677d00285e2ee5a8d14a46c61694d89 lib/HTTP/Server/Simple.pm +SHA1 7305dbe2904416e28decb05396988a5d51d578be inc/Module/Install.pm +SHA1 129960509127732258570c122042bc48615222e1 inc/Module/Install/Base.pm +SHA1 cf3356ed9a5bd2f732527ef9e7bc5ef4458c8a93 inc/Module/Install/Can.pm +SHA1 bf0a3e1977effc2832d7a813a76dce3f31b437b6 inc/Module/Install/Fetch.pm +SHA1 b721c93ca5bc9a6aa863b49af15f1b1de6125935 inc/Module/Install/Makefile.pm +SHA1 026cc0551a0ad399d195e395b46bdf842e115192 inc/Module/Install/Metadata.pm +SHA1 5457015ea5a50e93465bf2dafa29feebd547f85b inc/Module/Install/Win32.pm +SHA1 051e7fa8063908befa3440508d0584a2497b97db inc/Module/Install/WriteAll.pm +SHA1 5fc5e574334c74ff4351fd47dcf2e9475aef4049 lib/HTTP/Server/Simple.pm SHA1 c84b60c7ebdcc12d1814909f957bf3b385fa60c2 lib/HTTP/Server/Simple/CGI.pm SHA1 d052d3acc92e7f35ece4d195ce8b09d8105f063e lib/HTTP/Server/Simple/CGI/Environment.pm SHA1 41afe2c04bb573b40e283e2b210ed70a47a3f8ba t/00signature.t @@ -37,11 +37,11 @@ SHA1 7afffea07d161f377bedff4669ab92e121d28e81 t/01live.t SHA1 aca95653cfce68912e08c57b3a4566207e2f99b3 t/02pod.t SHA1 a7024d0d8e7b80d26f75a3551a1406a797b382f8 t/03podcoverage.t -SHA1 8edf693744545698371dc75d55d4ec27f59848f0 t/04cgi.t +SHA1 27975aef6518de7ef5916ea2dfd3747f134db841 t/04cgi.t -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) -iEYEARECAAYFAkvcPOEACgkQEi9d9xCOQEZ4wwCfd7KB/QY6y9/y6G7y39KPyOEQ -Mz4AoJfoVJAzxonx4nzJvRQsOnEfsULE -=yR+R +iEYEARECAAYFAk2ZbQMACgkQEi9d9xCOQEbBwQCgyXuXE0LzWdmw1+YfOY6EhueS +/7cAmQHI9MZmMMI+dSYf7v7UKsH5IfDw +=YyKL -----END PGP SIGNATURE----- diff -Nru libhttp-server-simple-perl-0.43/t/04cgi.t libhttp-server-simple-perl-0.44/t/04cgi.t --- libhttp-server-simple-perl-0.43/t/04cgi.t 2010-02-04 20:23:19.000000000 +0000 +++ libhttp-server-simple-perl-0.44/t/04cgi.t 2011-04-04 06:58:23.000000000 +0000 @@ -2,7 +2,6 @@ use Socket; use strict; -plan tests => 23; my $PORT = 40000 + int(rand(10000)); my $host = gethostbyaddr(inet_aton('localhost'), AF_INET); @@ -30,6 +29,15 @@ PATH_INFO => 'PATH_INFO: /cgitest/PATH_INFO', ); +if ($^O eq 'freebsd' && `sysctl -n security.jail.jailed` == 1) { + delete @methods{qw(url server_name)}; + delete @envvars{qw(SERVER_URL SERVER_NAME REMOTE_ADDR)}; + plan tests => 18; +} +else { + plan tests => 23; +} + { my $server=CGIServer->new($PORT); is($server->port(),$PORT,'Constructor set port correctly');