diff -Nru libpostfix-parse-mailq-perl-1.004/Changes libpostfix-parse-mailq-perl-1.005/Changes --- libpostfix-parse-mailq-perl-1.004/Changes 2014-01-25 16:41:46.000000000 +0000 +++ libpostfix-parse-mailq-perl-1.005/Changes 2015-07-17 22:55:57.000000000 +0000 @@ -1,5 +1,9 @@ Revision history for Postfix-Parse-Mailq +1.005 2015-07-17 18:55:54-04:00 America/New_York + - report "(error: things on fire)" as error_string when it precedes the + recipient list + 1.004 2014-01-25 11:41:43-05:00 America/New_York - add support for long queue ids (thanks,Johan Carlquist!) diff -Nru libpostfix-parse-mailq-perl-1.004/debian/changelog libpostfix-parse-mailq-perl-1.005/debian/changelog --- libpostfix-parse-mailq-perl-1.004/debian/changelog 2014-01-29 21:23:28.000000000 +0000 +++ libpostfix-parse-mailq-perl-1.005/debian/changelog 2015-08-12 17:13:10.000000000 +0000 @@ -1,3 +1,20 @@ +libpostfix-parse-mailq-perl (1.005-1) unstable; urgency=medium + + [ gregor herrmann ] + * Strip trailing slash from metacpan URLs. + + [ Salvatore Bonaccorso ] + * Update Vcs-Browser URL to cgit web frontend + + [ Florian Schlichting ] + * Import upstream version 1.005 + * Add upstream metadata + * Update copyright years + * Declare compliance with Debian Policy 3.9.6 + * Mark package autopkgtest-able + + -- Florian Schlichting Wed, 12 Aug 2015 19:12:56 +0200 + libpostfix-parse-mailq-perl (1.004-1) unstable; urgency=low [ gregor herrmann ] diff -Nru libpostfix-parse-mailq-perl-1.004/debian/control libpostfix-parse-mailq-perl-1.005/debian/control --- libpostfix-parse-mailq-perl-1.004/debian/control 2014-01-29 21:22:59.000000000 +0000 +++ libpostfix-parse-mailq-perl-1.005/debian/control 2015-08-12 17:09:42.000000000 +0000 @@ -6,10 +6,11 @@ perl (>= 5.13.4) | libtest-simple-perl (>= 0.96) Maintainer: Debian Perl Group Uploaders: Jonathan Yu , Florian Schlichting -Standards-Version: 3.9.5 -Homepage: https://metacpan.org/release/Postfix-Parse-Mailq/ +Standards-Version: 3.9.6 +Homepage: https://metacpan.org/release/Postfix-Parse-Mailq Vcs-Git: git://anonscm.debian.org/pkg-perl/packages/libpostfix-parse-mailq-perl.git -Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-perl/packages/libpostfix-parse-mailq-perl.git +Vcs-Browser: https://anonscm.debian.org/cgit/pkg-perl/packages/libpostfix-parse-mailq-perl.git +Testsuite: autopkgtest-pkg-perl Package: libpostfix-parse-mailq-perl Architecture: all diff -Nru libpostfix-parse-mailq-perl-1.004/debian/copyright libpostfix-parse-mailq-perl-1.005/debian/copyright --- libpostfix-parse-mailq-perl-1.004/debian/copyright 2014-01-29 21:20:39.000000000 +0000 +++ libpostfix-parse-mailq-perl-1.005/debian/copyright 2015-08-12 17:04:42.000000000 +0000 @@ -1,16 +1,16 @@ Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: Postfix-Parse-Mailq Upstream-Contact: Ricardo SIGNES -Source: https://metacpan.org/release/Postfix-Parse-Mailq/ +Source: https://metacpan.org/release/Postfix-Parse-Mailq git://github.com/rjbs/Postfix-Parse-Mailq.git Files: * -Copyright: 2014, Ricardo SIGNES +Copyright: 2015, Ricardo SIGNES License: Artistic or GPL-1+ Files: debian/* Copyright: 2009, Jonathan Yu - 2013-2014, Florian Schlichting + 2013-2015, Florian Schlichting License: Artistic or GPL-1+ License: Artistic diff -Nru libpostfix-parse-mailq-perl-1.004/debian/upstream/metadata libpostfix-parse-mailq-perl-1.005/debian/upstream/metadata --- libpostfix-parse-mailq-perl-1.004/debian/upstream/metadata 1970-01-01 00:00:00.000000000 +0000 +++ libpostfix-parse-mailq-perl-1.005/debian/upstream/metadata 2015-08-12 17:01:01.000000000 +0000 @@ -0,0 +1,7 @@ +--- +Archive: CPAN +Bug-Database: https://github.com/rjbs/Postfix-Parse-Mailq/issues +Contact: Ricardo SIGNES +Name: Postfix-Parse-Mailq +Repository: https://github.com/rjbs/Postfix-Parse-Mailq.git +Repository-Browse: https://github.com/rjbs/Postfix-Parse-Mailq diff -Nru libpostfix-parse-mailq-perl-1.004/debian/watch libpostfix-parse-mailq-perl-1.005/debian/watch --- libpostfix-parse-mailq-perl-1.004/debian/watch 2013-01-27 18:05:12.000000000 +0000 +++ libpostfix-parse-mailq-perl-1.005/debian/watch 2014-03-04 10:53:25.000000000 +0000 @@ -1,2 +1,2 @@ version=3 -https://metacpan.org/release/Postfix-Parse-Mailq/ .*/Postfix-Parse-Mailq-v?(\d[\d.-]+)\.(?:tar(?:\.gz|\.bz2)?|tgz|zip)$ +https://metacpan.org/release/Postfix-Parse-Mailq .*/Postfix-Parse-Mailq-v?(\d[\d.-]+)\.(?:tar(?:\.gz|\.bz2)?|tgz|zip)$ diff -Nru libpostfix-parse-mailq-perl-1.004/lib/Postfix/Parse/Mailq.pm libpostfix-parse-mailq-perl-1.005/lib/Postfix/Parse/Mailq.pm --- libpostfix-parse-mailq-perl-1.004/lib/Postfix/Parse/Mailq.pm 2014-01-25 16:41:46.000000000 +0000 +++ libpostfix-parse-mailq-perl-1.005/lib/Postfix/Parse/Mailq.pm 2015-07-17 22:55:57.000000000 +0000 @@ -2,49 +2,49 @@ use warnings; package Postfix::Parse::Mailq; # ABSTRACT: parse the output of the postfix mailq command -$Postfix::Parse::Mailq::VERSION = '1.004'; +$Postfix::Parse::Mailq::VERSION = '1.005'; use Mixin::Linewise::Readers -readers; -# =head1 SYNOPSIS -# -# use Postfix::Parse::Mailq; -# -# my $mailq_output = `mailq`; -# my $entries = Postfix::Parse::Mailq->read_string($mailq_output); -# -# my $bytes = 0; -# for my $entry (@$entries) { -# next unless grep { /\@aol.com$/ } @{ $entry->{remaining_rcpts} }; -# $bytes += $entry->{size}; -# } -# -# print "$bytes bytes remain to send to AOL destinations\n"; -# -# =head1 WARNING -# -# This code is really rough and the interface will change. Entries will be -# objects. There will be some more methods. Still, the basics are likely to -# keep working, or keep pretty close to what you see here now. -# -# =method read_file -# -# =method read_handle -# -# =method read_string -# -# my $entries = Postfix::Parse::Mailq->read_string($string, \%arg); -# -# This methods read the output of postfix's F from a file (by name), a -# filehandle, or a string, respectively. They return an arrayref of hashrefs, -# each hashref representing one entry in the queue as reported by F. -# -# Valid arguments are: -# -# spool - a hashref of { queue_id -> spool_name } pairs -# if given, this will be used to attempt to indicate in which -# spool messages currently are; it is not entirely reliable (race!) -# -# =cut +#pod =head1 SYNOPSIS +#pod +#pod use Postfix::Parse::Mailq; +#pod +#pod my $mailq_output = `mailq`; +#pod my $entries = Postfix::Parse::Mailq->read_string($mailq_output); +#pod +#pod my $bytes = 0; +#pod for my $entry (@$entries) { +#pod next unless grep { /\@aol.com$/ } @{ $entry->{remaining_rcpts} }; +#pod $bytes += $entry->{size}; +#pod } +#pod +#pod print "$bytes bytes remain to send to AOL destinations\n"; +#pod +#pod =head1 WARNING +#pod +#pod This code is really rough and the interface will change. Entries will be +#pod objects. There will be some more methods. Still, the basics are likely to +#pod keep working, or keep pretty close to what you see here now. +#pod +#pod =method read_file +#pod +#pod =method read_handle +#pod +#pod =method read_string +#pod +#pod my $entries = Postfix::Parse::Mailq->read_string($string, \%arg); +#pod +#pod This methods read the output of postfix's F from a file (by name), a +#pod filehandle, or a string, respectively. They return an arrayref of hashrefs, +#pod each hashref representing one entry in the queue as reported by F. +#pod +#pod Valid arguments are: +#pod +#pod spool - a hashref of { queue_id -> spool_name } pairs +#pod if given, this will be used to attempt to indicate in which +#pod spool messages currently are; it is not entirely reliable (race!) +#pod +#pod =cut sub read_handle { my ($self, $handle, $arg) = @_; @@ -82,14 +82,14 @@ return \@entries; } -# =method parse_block -# -# my $entry = Mailq->parse_block(\@lines); -# -# Given all the lines in a single entry's block of lines in mailq output, this -# returns data about the entry. -# -# =cut +#pod =method parse_block +#pod +#pod my $entry = Mailq->parse_block(\@lines); +#pod +#pod Given all the lines in a single entry's block of lines in mailq output, this +#pod returns data about the entry. +#pod +#pod =cut my %STATUS_FOR = ( '!' => 'held', @@ -101,9 +101,10 @@ chomp @$block; my $first = shift @$block; - my $error = defined $block->[0] && $block->[0] =~ /\A\S/ + my $error = defined $block->[0] && ($block->[0] =~ /\A\S/ || $block->[0] =~ /\A\s+\(/) ? (shift @$block) : undef; + $error =~ s/\A\s+// if defined $error; my @dest = map { s/^\s+//; $_; } @$block; my ($qid, $status_chr, $size, $date, $sender) = $first =~ m/ @@ -146,7 +147,7 @@ =head1 VERSION -version 1.004 +version 1.005 =head1 SYNOPSIS @@ -200,9 +201,15 @@ Ricardo SIGNES +=head1 CONTRIBUTOR + +=for stopwords Johan Carlquist + +Johan Carlquist + =head1 COPYRIGHT AND LICENSE -This software is copyright (c) 2014 by Ricardo SIGNES. +This software is copyright (c) 2015 by Ricardo SIGNES. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. diff -Nru libpostfix-parse-mailq-perl-1.004/LICENSE libpostfix-parse-mailq-perl-1.005/LICENSE --- libpostfix-parse-mailq-perl-1.004/LICENSE 2014-01-25 16:41:46.000000000 +0000 +++ libpostfix-parse-mailq-perl-1.005/LICENSE 2015-07-17 22:55:57.000000000 +0000 @@ -1,4 +1,4 @@ -This software is copyright (c) 2014 by Ricardo SIGNES. +This software is copyright (c) 2015 by Ricardo SIGNES. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. @@ -12,7 +12,7 @@ --- The GNU General Public License, Version 1, February 1989 --- -This software is Copyright (c) 2014 by Ricardo SIGNES. +This software is Copyright (c) 2015 by Ricardo SIGNES. This is free software, licensed under: @@ -22,7 +22,7 @@ Version 1, February 1989 Copyright (C) 1989 Free Software Foundation, Inc. - 51 Franklin St, Suite 500, Boston, MA 02110-1335 USA + 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. @@ -272,7 +272,7 @@ --- The Artistic License 1.0 --- -This software is Copyright (c) 2014 by Ricardo SIGNES. +This software is Copyright (c) 2015 by Ricardo SIGNES. This is free software, licensed under: diff -Nru libpostfix-parse-mailq-perl-1.004/Makefile.PL libpostfix-parse-mailq-perl-1.005/Makefile.PL --- libpostfix-parse-mailq-perl-1.004/Makefile.PL 2014-01-25 16:41:46.000000000 +0000 +++ libpostfix-parse-mailq-perl-1.005/Makefile.PL 2015-07-17 22:55:57.000000000 +0000 @@ -1,20 +1,16 @@ - -# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v5.012. +# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v5.037. use strict; use warnings; -use ExtUtils::MakeMaker 6.30; - - +use ExtUtils::MakeMaker; my %WriteMakefileArgs = ( "ABSTRACT" => "parse the output of the postfix mailq command", "AUTHOR" => "Ricardo SIGNES ", - "BUILD_REQUIRES" => {}, "CONFIGURE_REQUIRES" => { - "ExtUtils::MakeMaker" => "6.30" + "ExtUtils::MakeMaker" => 0 }, "DISTNAME" => "Postfix-Parse-Mailq", "EXE_FILES" => [], @@ -26,9 +22,11 @@ "warnings" => 0 }, "TEST_REQUIRES" => { + "ExtUtils::MakeMaker" => 0, + "File::Spec" => 0, "Test::More" => "0.96" }, - "VERSION" => "1.004", + "VERSION" => "1.005", "test" => { "TESTS" => "t/*.t" } @@ -36,6 +34,8 @@ my %FallbackPrereqs = ( + "ExtUtils::MakeMaker" => 0, + "File::Spec" => 0, "Mixin::Linewise::Readers" => 0, "Test::More" => "0.96", "strict" => 0, @@ -53,6 +53,3 @@ unless eval { ExtUtils::MakeMaker->VERSION(6.52) }; WriteMakefile(%WriteMakefileArgs); - - - diff -Nru libpostfix-parse-mailq-perl-1.004/MANIFEST libpostfix-parse-mailq-perl-1.005/MANIFEST --- libpostfix-parse-mailq-perl-1.004/MANIFEST 2014-01-25 16:41:46.000000000 +0000 +++ libpostfix-parse-mailq-perl-1.005/MANIFEST 2015-07-17 22:55:57.000000000 +0000 @@ -1,4 +1,4 @@ -# This file was automatically generated by Dist::Zilla::Plugin::Manifest v5.012. +# This file was automatically generated by Dist::Zilla::Plugin::Manifest v5.037. Changes LICENSE MANIFEST @@ -9,6 +9,7 @@ dist.ini lib/Postfix/Parse/Mailq.pm t/00-load.t -t/000-report-versions-tiny.t +t/00-report-prereqs.dd +t/00-report-prereqs.t xt/release/changes_has_content.t xt/release/pod-syntax.t diff -Nru libpostfix-parse-mailq-perl-1.004/META.json libpostfix-parse-mailq-perl-1.005/META.json --- libpostfix-parse-mailq-perl-1.004/META.json 2014-01-25 16:41:46.000000000 +0000 +++ libpostfix-parse-mailq-perl-1.005/META.json 2015-07-17 22:55:57.000000000 +0000 @@ -4,25 +4,24 @@ "Ricardo SIGNES " ], "dynamic_config" : 0, - "generated_by" : "Dist::Zilla version 5.012, CPAN::Meta::Converter version 2.133380", + "generated_by" : "Dist::Zilla version 5.037, CPAN::Meta::Converter version 2.150005", "license" : [ "perl_5" ], "meta-spec" : { "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec", - "version" : "2" + "version" : 2 }, "name" : "Postfix-Parse-Mailq", "prereqs" : { "configure" : { "requires" : { - "ExtUtils::MakeMaker" : "6.30" + "ExtUtils::MakeMaker" : "0" } }, "develop" : { "requires" : { - "Test::Pod" : "1.41", - "version" : "0.9901" + "Test::Pod" : "1.41" } }, "runtime" : { @@ -33,7 +32,12 @@ } }, "test" : { + "recommends" : { + "CPAN::Meta" : "2.120900" + }, "requires" : { + "ExtUtils::MakeMaker" : "0", + "File::Spec" : "0", "Test::More" : "0.96" } } @@ -50,26 +54,40 @@ "web" : "https://github.com/rjbs/Postfix-Parse-Mailq" } }, - "version" : "1.004", + "version" : "1.005", "x_Dist_Zilla" : { "perl" : { - "version" : "5.018002" + "version" : "5.023000" }, "plugins" : [ { "class" : "Dist::Zilla::Plugin::Git::GatherDir", + "config" : { + "Dist::Zilla::Plugin::GatherDir" : { + "exclude_filename" : [], + "exclude_match" : [], + "follow_symlinks" : "0", + "include_dotfiles" : "0", + "prefix" : "", + "prune_directory" : [], + "root" : "." + }, + "Dist::Zilla::Plugin::Git::GatherDir" : { + "include_untracked" : 0 + } + }, "name" : "@RJBS/Git::GatherDir", - "version" : "2.019" + "version" : "2.036" }, { "class" : "Dist::Zilla::Plugin::CheckPrereqsIndexed", "name" : "@RJBS/CheckPrereqsIndexed", - "version" : "0.010" + "version" : "0.016" }, { "class" : "Dist::Zilla::Plugin::CheckExtraTests", "name" : "@RJBS/CheckExtraTests", - "version" : "0.016" + "version" : "0.027" }, { "class" : "Dist::Zilla::Plugin::PromptIfStale", @@ -85,7 +103,7 @@ } }, "name" : "@RJBS/RJBS-Outdated", - "version" : "0.015" + "version" : "0.045" }, { "class" : "Dist::Zilla::Plugin::PromptIfStale", @@ -99,112 +117,127 @@ } }, "name" : "@RJBS/CPAN-Outdated", - "version" : "0.015" + "version" : "0.045" }, { "class" : "Dist::Zilla::Plugin::PruneCruft", "name" : "@RJBS/@Filter/PruneCruft", - "version" : "5.012" + "version" : "5.037" }, { "class" : "Dist::Zilla::Plugin::ManifestSkip", "name" : "@RJBS/@Filter/ManifestSkip", - "version" : "5.012" + "version" : "5.037" }, { "class" : "Dist::Zilla::Plugin::MetaYAML", "name" : "@RJBS/@Filter/MetaYAML", - "version" : "5.012" + "version" : "5.037" }, { "class" : "Dist::Zilla::Plugin::License", "name" : "@RJBS/@Filter/License", - "version" : "5.012" + "version" : "5.037" }, { "class" : "Dist::Zilla::Plugin::Readme", "name" : "@RJBS/@Filter/Readme", - "version" : "5.012" + "version" : "5.037" }, { "class" : "Dist::Zilla::Plugin::ExecDir", "name" : "@RJBS/@Filter/ExecDir", - "version" : "5.012" + "version" : "5.037" }, { "class" : "Dist::Zilla::Plugin::ShareDir", "name" : "@RJBS/@Filter/ShareDir", - "version" : "5.012" - }, - { - "class" : "Dist::Zilla::Plugin::MakeMaker", - "name" : "@RJBS/@Filter/MakeMaker", - "version" : "5.012" + "version" : "5.037" }, { "class" : "Dist::Zilla::Plugin::Manifest", "name" : "@RJBS/@Filter/Manifest", - "version" : "5.012" + "version" : "5.037" }, { "class" : "Dist::Zilla::Plugin::TestRelease", "name" : "@RJBS/@Filter/TestRelease", - "version" : "5.012" + "version" : "5.037" }, { "class" : "Dist::Zilla::Plugin::ConfirmRelease", "name" : "@RJBS/@Filter/ConfirmRelease", - "version" : "5.012" + "version" : "5.037" }, { "class" : "Dist::Zilla::Plugin::UploadToCPAN", "name" : "@RJBS/@Filter/UploadToCPAN", - "version" : "5.012" + "version" : "5.037" + }, + { + "class" : "Dist::Zilla::Plugin::MakeMaker", + "config" : { + "Dist::Zilla::Role::TestRunner" : { + "default_jobs" : 9 + } + }, + "name" : "@RJBS/MakeMaker", + "version" : "5.037" }, { "class" : "Dist::Zilla::Plugin::AutoPrereqs", "name" : "@RJBS/AutoPrereqs", - "version" : "5.012" + "version" : "5.037" }, { "class" : "Dist::Zilla::Plugin::Git::NextVersion", + "config" : { + "Dist::Zilla::Plugin::Git::NextVersion" : { + "first_version" : "0.001", + "version_by_branch" : 0, + "version_regexp" : "(?^:^([0-9]+\\.[0-9]+)$)" + }, + "Dist::Zilla::Role::Git::Repo" : { + "repo_root" : "." + } + }, "name" : "@RJBS/Git::NextVersion", - "version" : "2.019" + "version" : "2.036" }, { "class" : "Dist::Zilla::Plugin::PkgVersion", "name" : "@RJBS/PkgVersion", - "version" : "5.012" + "version" : "5.037" }, { "class" : "Dist::Zilla::Plugin::MetaConfig", "name" : "@RJBS/MetaConfig", - "version" : "5.012" + "version" : "5.037" }, { "class" : "Dist::Zilla::Plugin::MetaJSON", "name" : "@RJBS/MetaJSON", - "version" : "5.012" + "version" : "5.037" }, { "class" : "Dist::Zilla::Plugin::NextRelease", "name" : "@RJBS/NextRelease", - "version" : "5.012" + "version" : "5.037" }, { "class" : "Dist::Zilla::Plugin::Test::ChangesHasContent", "name" : "@RJBS/Test::ChangesHasContent", - "version" : "0.006" + "version" : "0.008" }, { "class" : "Dist::Zilla::Plugin::PodSyntaxTests", "name" : "@RJBS/PodSyntaxTests", - "version" : "5.012" + "version" : "5.037" }, { - "class" : "Dist::Zilla::Plugin::ReportVersions::Tiny", - "name" : "@RJBS/ReportVersions::Tiny", - "version" : "1.10" + "class" : "Dist::Zilla::Plugin::Test::ReportPrereqs", + "name" : "@RJBS/Test::ReportPrereqs", + "version" : "0.021" }, { "class" : "Dist::Zilla::Plugin::Prereqs", @@ -215,7 +248,7 @@ } }, "name" : "@RJBS/TestMoreWithSubtests", - "version" : "5.012" + "version" : "5.037" }, { "class" : "Dist::Zilla::Plugin::PodWeaver", @@ -232,163 +265,247 @@ { "class" : "Pod::Weaver::Plugin::EnsurePod5", "name" : "@CorePrep/EnsurePod5", - "version" : "4.006" + "version" : "4.012" }, { "class" : "Pod::Weaver::Plugin::H1Nester", "name" : "@CorePrep/H1Nester", - "version" : "4.006" + "version" : "4.012" }, { "class" : "Pod::Weaver::Plugin::SingleEncoding", "name" : "@RJBS/SingleEncoding", - "version" : "4.006" + "version" : "4.012" }, { "class" : "Pod::Weaver::Section::Name", "name" : "@RJBS/Name", - "version" : "4.006" + "version" : "4.012" }, { "class" : "Pod::Weaver::Section::Version", "name" : "@RJBS/Version", - "version" : "4.006" + "version" : "4.012" }, { "class" : "Pod::Weaver::Section::Region", "name" : "@RJBS/Prelude", - "version" : "4.006" + "version" : "4.012" }, { "class" : "Pod::Weaver::Section::Generic", "name" : "@RJBS/Synopsis", - "version" : "4.006" + "version" : "4.012" }, { "class" : "Pod::Weaver::Section::Generic", "name" : "@RJBS/Description", - "version" : "4.006" + "version" : "4.012" }, { "class" : "Pod::Weaver::Section::Generic", "name" : "@RJBS/Overview", - "version" : "4.006" + "version" : "4.012" }, { "class" : "Pod::Weaver::Section::Generic", "name" : "@RJBS/Stability", - "version" : "4.006" + "version" : "4.012" }, { "class" : "Pod::Weaver::Section::Collect", "name" : "Attributes", - "version" : "4.006" + "version" : "4.012" }, { "class" : "Pod::Weaver::Section::Collect", "name" : "Methods", - "version" : "4.006" + "version" : "4.012" }, { "class" : "Pod::Weaver::Section::Collect", "name" : "Functions", - "version" : "4.006" + "version" : "4.012" }, { "class" : "Pod::Weaver::Section::Leftovers", "name" : "@RJBS/Leftovers", - "version" : "4.006" + "version" : "4.012" }, { "class" : "Pod::Weaver::Section::Region", "name" : "@RJBS/postlude", - "version" : "4.006" + "version" : "4.012" }, { "class" : "Pod::Weaver::Section::Authors", "name" : "@RJBS/Authors", - "version" : "4.006" + "version" : "4.012" + }, + { + "class" : "Pod::Weaver::Section::Contributors", + "name" : "@RJBS/Contributors", + "version" : "0.009" }, { "class" : "Pod::Weaver::Section::Legal", "name" : "@RJBS/Legal", - "version" : "4.006" + "version" : "4.012" }, { "class" : "Pod::Weaver::Plugin::Transformer", "name" : "@RJBS/List", - "version" : "4.006" + "version" : "4.012" } ] } }, "name" : "@RJBS/PodWeaver", - "version" : "4.005" + "version" : "4.006" }, { "class" : "Dist::Zilla::Plugin::GithubMeta", "name" : "@RJBS/GithubMeta", - "version" : "0.42" + "version" : "0.54" }, { "class" : "Dist::Zilla::Plugin::Git::Check", + "config" : { + "Dist::Zilla::Plugin::Git::Check" : { + "untracked_files" : "die" + }, + "Dist::Zilla::Role::Git::DirtyFiles" : { + "allow_dirty" : [ + "Changes", + "dist.ini" + ], + "allow_dirty_match" : [], + "changelog" : "Changes" + }, + "Dist::Zilla::Role::Git::Repo" : { + "repo_root" : "." + } + }, "name" : "@RJBS/@Git/Check", - "version" : "2.019" + "version" : "2.036" }, { "class" : "Dist::Zilla::Plugin::Git::Commit", + "config" : { + "Dist::Zilla::Plugin::Git::Commit" : { + "add_files_in" : [], + "commit_msg" : "v%v%n%n%c" + }, + "Dist::Zilla::Role::Git::DirtyFiles" : { + "allow_dirty" : [ + "Changes", + "dist.ini" + ], + "allow_dirty_match" : [], + "changelog" : "Changes" + }, + "Dist::Zilla::Role::Git::Repo" : { + "repo_root" : "." + }, + "Dist::Zilla::Role::Git::StringFormatter" : { + "time_zone" : "local" + } + }, "name" : "@RJBS/@Git/Commit", - "version" : "2.019" + "version" : "2.036" }, { "class" : "Dist::Zilla::Plugin::Git::Tag", + "config" : { + "Dist::Zilla::Plugin::Git::Tag" : { + "branch" : null, + "changelog" : "Changes", + "signed" : 0, + "tag" : "1.005", + "tag_format" : "%v", + "tag_message" : "v%v" + }, + "Dist::Zilla::Role::Git::Repo" : { + "repo_root" : "." + }, + "Dist::Zilla::Role::Git::StringFormatter" : { + "time_zone" : "local" + } + }, "name" : "@RJBS/@Git/Tag", - "version" : "2.019" + "version" : "2.036" }, { "class" : "Dist::Zilla::Plugin::Git::Push", + "config" : { + "Dist::Zilla::Plugin::Git::Push" : { + "push_to" : [ + "origin :", + "github :" + ], + "remotes_must_exist" : 0 + }, + "Dist::Zilla::Role::Git::Repo" : { + "repo_root" : "." + } + }, "name" : "@RJBS/@Git/Push", - "version" : "2.019" + "version" : "2.036" + }, + { + "class" : "Dist::Zilla::Plugin::Git::Contributors", + "config" : { + "Dist::Zilla::Plugin::Git::Contributors" : { + "include_authors" : 0, + "include_releaser" : 1, + "order_by" : "name", + "paths" : [ + "." + ] + } + }, + "name" : "@RJBS/Git::Contributors", + "version" : "0.012" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":InstallModules", - "version" : "5.012" + "version" : "5.037" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":IncModules", - "version" : "5.012" + "version" : "5.037" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":TestFiles", - "version" : "5.012" + "version" : "5.037" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":ExecFiles", - "version" : "5.012" + "version" : "5.037" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":ShareFiles", - "version" : "5.012" + "version" : "5.037" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":MainModule", - "version" : "5.012" + "version" : "5.037" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":AllFiles", - "version" : "5.012" + "version" : "5.037" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":NoFiles", - "version" : "5.012" + "version" : "5.037" } ], "zilla" : { @@ -396,8 +513,11 @@ "config" : { "is_trial" : "0" }, - "version" : "5.012" + "version" : "5.037" } - } + }, + "x_contributors" : [ + "Johan Carlquist " + ] } diff -Nru libpostfix-parse-mailq-perl-1.004/META.yml libpostfix-parse-mailq-perl-1.005/META.yml --- libpostfix-parse-mailq-perl-1.004/META.yml 2014-01-25 16:41:46.000000000 +0000 +++ libpostfix-parse-mailq-perl-1.005/META.yml 2015-07-17 22:55:57.000000000 +0000 @@ -3,41 +3,54 @@ author: - 'Ricardo SIGNES ' build_requires: - Test::More: 0.96 + ExtUtils::MakeMaker: '0' + File::Spec: '0' + Test::More: '0.96' configure_requires: - ExtUtils::MakeMaker: 6.30 + ExtUtils::MakeMaker: '0' dynamic_config: 0 -generated_by: 'Dist::Zilla version 5.012, CPAN::Meta::Converter version 2.133380' +generated_by: 'Dist::Zilla version 5.037, CPAN::Meta::Converter version 2.150005' license: perl meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html - version: 1.4 + version: '1.4' name: Postfix-Parse-Mailq requires: - Mixin::Linewise::Readers: 0 - strict: 0 - warnings: 0 + Mixin::Linewise::Readers: '0' + strict: '0' + warnings: '0' resources: bugtracker: https://github.com/rjbs/Postfix-Parse-Mailq/issues homepage: https://github.com/rjbs/Postfix-Parse-Mailq repository: https://github.com/rjbs/Postfix-Parse-Mailq.git -version: 1.004 +version: '1.005' x_Dist_Zilla: perl: - version: 5.018002 + version: '5.023000' plugins: - class: Dist::Zilla::Plugin::Git::GatherDir + config: + Dist::Zilla::Plugin::GatherDir: + exclude_filename: [] + exclude_match: [] + follow_symlinks: '0' + include_dotfiles: '0' + prefix: '' + prune_directory: [] + root: . + Dist::Zilla::Plugin::Git::GatherDir: + include_untracked: 0 name: '@RJBS/Git::GatherDir' - version: 2.019 + version: '2.036' - class: Dist::Zilla::Plugin::CheckPrereqsIndexed name: '@RJBS/CheckPrereqsIndexed' - version: 0.010 + version: '0.016' - class: Dist::Zilla::Plugin::CheckExtraTests name: '@RJBS/CheckExtraTests' - version: 0.016 + version: '0.027' - class: Dist::Zilla::Plugin::PromptIfStale config: @@ -49,102 +62,112 @@ phase: build skip: [] name: '@RJBS/RJBS-Outdated' - version: 0.015 + version: '0.045' - class: Dist::Zilla::Plugin::PromptIfStale config: Dist::Zilla::Plugin::PromptIfStale: - check_all_plugins: 1 + check_all_plugins: '1' check_all_prereqs: 0 modules: [] phase: release skip: [] name: '@RJBS/CPAN-Outdated' - version: 0.015 + version: '0.045' - class: Dist::Zilla::Plugin::PruneCruft name: '@RJBS/@Filter/PruneCruft' - version: 5.012 + version: '5.037' - class: Dist::Zilla::Plugin::ManifestSkip name: '@RJBS/@Filter/ManifestSkip' - version: 5.012 + version: '5.037' - class: Dist::Zilla::Plugin::MetaYAML name: '@RJBS/@Filter/MetaYAML' - version: 5.012 + version: '5.037' - class: Dist::Zilla::Plugin::License name: '@RJBS/@Filter/License' - version: 5.012 + version: '5.037' - class: Dist::Zilla::Plugin::Readme name: '@RJBS/@Filter/Readme' - version: 5.012 + version: '5.037' - class: Dist::Zilla::Plugin::ExecDir name: '@RJBS/@Filter/ExecDir' - version: 5.012 + version: '5.037' - class: Dist::Zilla::Plugin::ShareDir name: '@RJBS/@Filter/ShareDir' - version: 5.012 - - - class: Dist::Zilla::Plugin::MakeMaker - name: '@RJBS/@Filter/MakeMaker' - version: 5.012 + version: '5.037' - class: Dist::Zilla::Plugin::Manifest name: '@RJBS/@Filter/Manifest' - version: 5.012 + version: '5.037' - class: Dist::Zilla::Plugin::TestRelease name: '@RJBS/@Filter/TestRelease' - version: 5.012 + version: '5.037' - class: Dist::Zilla::Plugin::ConfirmRelease name: '@RJBS/@Filter/ConfirmRelease' - version: 5.012 + version: '5.037' - class: Dist::Zilla::Plugin::UploadToCPAN name: '@RJBS/@Filter/UploadToCPAN' - version: 5.012 + version: '5.037' + - + class: Dist::Zilla::Plugin::MakeMaker + config: + Dist::Zilla::Role::TestRunner: + default_jobs: 9 + name: '@RJBS/MakeMaker' + version: '5.037' - class: Dist::Zilla::Plugin::AutoPrereqs name: '@RJBS/AutoPrereqs' - version: 5.012 + version: '5.037' - class: Dist::Zilla::Plugin::Git::NextVersion + config: + Dist::Zilla::Plugin::Git::NextVersion: + first_version: '0.001' + version_by_branch: 0 + version_regexp: (?^:^([0-9]+\.[0-9]+)$) + Dist::Zilla::Role::Git::Repo: + repo_root: . name: '@RJBS/Git::NextVersion' - version: 2.019 + version: '2.036' - class: Dist::Zilla::Plugin::PkgVersion name: '@RJBS/PkgVersion' - version: 5.012 + version: '5.037' - class: Dist::Zilla::Plugin::MetaConfig name: '@RJBS/MetaConfig' - version: 5.012 + version: '5.037' - class: Dist::Zilla::Plugin::MetaJSON name: '@RJBS/MetaJSON' - version: 5.012 + version: '5.037' - class: Dist::Zilla::Plugin::NextRelease name: '@RJBS/NextRelease' - version: 5.012 + version: '5.037' - class: Dist::Zilla::Plugin::Test::ChangesHasContent name: '@RJBS/Test::ChangesHasContent' - version: 0.006 + version: '0.008' - class: Dist::Zilla::Plugin::PodSyntaxTests name: '@RJBS/PodSyntaxTests' - version: 5.012 + version: '5.037' - - class: Dist::Zilla::Plugin::ReportVersions::Tiny - name: '@RJBS/ReportVersions::Tiny' - version: 1.10 + class: Dist::Zilla::Plugin::Test::ReportPrereqs + name: '@RJBS/Test::ReportPrereqs' + version: '0.021' - class: Dist::Zilla::Plugin::Prereqs config: @@ -152,7 +175,7 @@ phase: test type: requires name: '@RJBS/TestMoreWithSubtests' - version: 5.012 + version: '5.037' - class: Dist::Zilla::Plugin::PodWeaver config: @@ -166,131 +189,193 @@ - class: Pod::Weaver::Plugin::EnsurePod5 name: '@CorePrep/EnsurePod5' - version: 4.006 + version: '4.012' - class: Pod::Weaver::Plugin::H1Nester name: '@CorePrep/H1Nester' - version: 4.006 + version: '4.012' - class: Pod::Weaver::Plugin::SingleEncoding name: '@RJBS/SingleEncoding' - version: 4.006 + version: '4.012' - class: Pod::Weaver::Section::Name name: '@RJBS/Name' - version: 4.006 + version: '4.012' - class: Pod::Weaver::Section::Version name: '@RJBS/Version' - version: 4.006 + version: '4.012' - class: Pod::Weaver::Section::Region name: '@RJBS/Prelude' - version: 4.006 + version: '4.012' - class: Pod::Weaver::Section::Generic name: '@RJBS/Synopsis' - version: 4.006 + version: '4.012' - class: Pod::Weaver::Section::Generic name: '@RJBS/Description' - version: 4.006 + version: '4.012' - class: Pod::Weaver::Section::Generic name: '@RJBS/Overview' - version: 4.006 + version: '4.012' - class: Pod::Weaver::Section::Generic name: '@RJBS/Stability' - version: 4.006 + version: '4.012' - class: Pod::Weaver::Section::Collect name: Attributes - version: 4.006 + version: '4.012' - class: Pod::Weaver::Section::Collect name: Methods - version: 4.006 + version: '4.012' - class: Pod::Weaver::Section::Collect name: Functions - version: 4.006 + version: '4.012' - class: Pod::Weaver::Section::Leftovers name: '@RJBS/Leftovers' - version: 4.006 + version: '4.012' - class: Pod::Weaver::Section::Region name: '@RJBS/postlude' - version: 4.006 + version: '4.012' - class: Pod::Weaver::Section::Authors name: '@RJBS/Authors' - version: 4.006 + version: '4.012' + - + class: Pod::Weaver::Section::Contributors + name: '@RJBS/Contributors' + version: '0.009' - class: Pod::Weaver::Section::Legal name: '@RJBS/Legal' - version: 4.006 + version: '4.012' - class: Pod::Weaver::Plugin::Transformer name: '@RJBS/List' - version: 4.006 + version: '4.012' name: '@RJBS/PodWeaver' - version: 4.005 + version: '4.006' - class: Dist::Zilla::Plugin::GithubMeta name: '@RJBS/GithubMeta' - version: 0.42 + version: '0.54' - class: Dist::Zilla::Plugin::Git::Check + config: + Dist::Zilla::Plugin::Git::Check: + untracked_files: die + Dist::Zilla::Role::Git::DirtyFiles: + allow_dirty: + - Changes + - dist.ini + allow_dirty_match: [] + changelog: Changes + Dist::Zilla::Role::Git::Repo: + repo_root: . name: '@RJBS/@Git/Check' - version: 2.019 + version: '2.036' - class: Dist::Zilla::Plugin::Git::Commit + config: + Dist::Zilla::Plugin::Git::Commit: + add_files_in: [] + commit_msg: v%v%n%n%c + Dist::Zilla::Role::Git::DirtyFiles: + allow_dirty: + - Changes + - dist.ini + allow_dirty_match: [] + changelog: Changes + Dist::Zilla::Role::Git::Repo: + repo_root: . + Dist::Zilla::Role::Git::StringFormatter: + time_zone: local name: '@RJBS/@Git/Commit' - version: 2.019 + version: '2.036' - class: Dist::Zilla::Plugin::Git::Tag + config: + Dist::Zilla::Plugin::Git::Tag: + branch: ~ + changelog: Changes + signed: 0 + tag: '1.005' + tag_format: '%v' + tag_message: v%v + Dist::Zilla::Role::Git::Repo: + repo_root: . + Dist::Zilla::Role::Git::StringFormatter: + time_zone: local name: '@RJBS/@Git/Tag' - version: 2.019 + version: '2.036' - class: Dist::Zilla::Plugin::Git::Push + config: + Dist::Zilla::Plugin::Git::Push: + push_to: + - 'origin :' + - 'github :' + remotes_must_exist: 0 + Dist::Zilla::Role::Git::Repo: + repo_root: . name: '@RJBS/@Git/Push' - version: 2.019 + version: '2.036' + - + class: Dist::Zilla::Plugin::Git::Contributors + config: + Dist::Zilla::Plugin::Git::Contributors: + include_authors: 0 + include_releaser: 1 + order_by: name + paths: + - . + name: '@RJBS/Git::Contributors' + version: '0.012' - class: Dist::Zilla::Plugin::FinderCode name: ':InstallModules' - version: 5.012 + version: '5.037' - class: Dist::Zilla::Plugin::FinderCode name: ':IncModules' - version: 5.012 + version: '5.037' - class: Dist::Zilla::Plugin::FinderCode name: ':TestFiles' - version: 5.012 + version: '5.037' - class: Dist::Zilla::Plugin::FinderCode name: ':ExecFiles' - version: 5.012 + version: '5.037' - class: Dist::Zilla::Plugin::FinderCode name: ':ShareFiles' - version: 5.012 + version: '5.037' - class: Dist::Zilla::Plugin::FinderCode name: ':MainModule' - version: 5.012 + version: '5.037' - class: Dist::Zilla::Plugin::FinderCode name: ':AllFiles' - version: 5.012 + version: '5.037' - class: Dist::Zilla::Plugin::FinderCode name: ':NoFiles' - version: 5.012 + version: '5.037' zilla: class: Dist::Zilla::Dist::Builder config: - is_trial: 0 - version: 5.012 + is_trial: '0' + version: '5.037' +x_contributors: + - 'Johan Carlquist ' diff -Nru libpostfix-parse-mailq-perl-1.004/README libpostfix-parse-mailq-perl-1.005/README --- libpostfix-parse-mailq-perl-1.004/README 2014-01-25 16:41:46.000000000 +0000 +++ libpostfix-parse-mailq-perl-1.005/README 2015-07-17 22:55:57.000000000 +0000 @@ -1,15 +1,15 @@ This archive contains the distribution Postfix-Parse-Mailq, -version 1.004: +version 1.005: parse the output of the postfix mailq command -This software is copyright (c) 2014 by Ricardo SIGNES. +This software is copyright (c) 2015 by Ricardo SIGNES. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. -This README file was generated by Dist::Zilla::Plugin::Readme v5.012. +This README file was generated by Dist::Zilla::Plugin::Readme v5.037. diff -Nru libpostfix-parse-mailq-perl-1.004/t/000-report-versions-tiny.t libpostfix-parse-mailq-perl-1.005/t/000-report-versions-tiny.t --- libpostfix-parse-mailq-perl-1.004/t/000-report-versions-tiny.t 2014-01-25 16:41:46.000000000 +0000 +++ libpostfix-parse-mailq-perl-1.005/t/000-report-versions-tiny.t 1970-01-01 00:00:00.000000000 +0000 @@ -1,74 +0,0 @@ -use strict; -use warnings; -use Test::More 0.88; -# This is a relatively nice way to avoid Test::NoWarnings breaking our -# expectations by adding extra tests, without using no_plan. It also helps -# avoid any other test module that feels introducing random tests, or even -# test plans, is a nice idea. -our $success = 0; -END { $success && done_testing; } - -# List our own version used to generate this -my $v = "\nGenerated by Dist::Zilla::Plugin::ReportVersions::Tiny v1.10\n"; - -eval { # no excuses! - # report our Perl details - my $want = "any version"; - $v .= "perl: $] (wanted $want) on $^O from $^X\n\n"; -}; -defined($@) and diag("$@"); - -# Now, our module version dependencies: -sub pmver { - my ($module, $wanted) = @_; - $wanted = " (want $wanted)"; - my $pmver; - eval "require $module;"; - if ($@) { - if ($@ =~ m/Can't locate .* in \@INC/) { - $pmver = 'module not found.'; - } else { - diag("${module}: $@"); - $pmver = 'died during require.'; - } - } else { - my $version; - eval { $version = $module->VERSION; }; - if ($@) { - diag("${module}: $@"); - $pmver = 'died during VERSION check.'; - } elsif (defined $version) { - $pmver = "$version"; - } else { - $pmver = ''; - } - } - - # So, we should be good, right? - return sprintf('%-45s => %-10s%-15s%s', $module, $pmver, $wanted, "\n"); -} - -eval { $v .= pmver('ExtUtils::MakeMaker','6.30') }; -eval { $v .= pmver('Mixin::Linewise::Readers','any version') }; -eval { $v .= pmver('Test::More','0.96') }; -eval { $v .= pmver('strict','any version') }; -eval { $v .= pmver('warnings','any version') }; - - -# All done. -$v .= <<'EOT'; - -Thanks for using my code. I hope it works for you. -If not, please try and include this output in the bug report. -That will help me reproduce the issue and solve your problem. - -EOT - -diag($v); -ok(1, "we really didn't test anything, just reporting data"); -$success = 1; - -# Work around another nasty module on CPAN. :/ -no warnings 'once'; -$Template::Test::NO_FLUSH = 1; -exit 0; diff -Nru libpostfix-parse-mailq-perl-1.004/t/00-load.t libpostfix-parse-mailq-perl-1.005/t/00-load.t --- libpostfix-parse-mailq-perl-1.004/t/00-load.t 2014-01-25 16:41:46.000000000 +0000 +++ libpostfix-parse-mailq-perl-1.005/t/00-load.t 2015-07-17 22:55:57.000000000 +0000 @@ -19,7 +19,11 @@ 20B11AF9A1 221654 Fri Oct 17 12:38:55 devnull@example.me senor+bonbon@example.su --- 8531991 Kbytes in 4 Requests. +2CD706394A 2912 Wed Jul 15 20:29:29 shredder@example.party + (connect to mx.example.ninja[1.2.3.4]:25: Connection timed out) + jago@example.ninja + +-- 8534903 Kbytes in 5 Requests. END_MAILQ my $entries = Postfix::Parse::Mailq->read_string($mailq); @@ -74,6 +78,18 @@ 'size' => '221654', 'status' => 'queued' }, + { + 'date' => 'Wed Jul 15 20:29:29', + 'error_string' => '(connect to mx.example.ninja[1.2.3.4]:25: Connection timed out)', + 'queue_id' => '2CD706394A', + 'spool' => undef, + 'remaining_rcpts' => [ + 'jago@example.ninja', + ], + 'sender' => 'shredder@example.party', + 'size' => '2912', + 'status' => 'queued' + }, ]; is_deeply($entries, $want, 'we parsed correctly'); @@ -85,8 +101,8 @@ spool => { '20B11AF9A1' => 'incoming' }, }, ); - - $want->[-1]->{spool} = 'incoming'; + + $want->[-2]->{spool} = 'incoming'; is_deeply($entries, $want, 'also works with some spool contents'); } diff -Nru libpostfix-parse-mailq-perl-1.004/t/00-report-prereqs.dd libpostfix-parse-mailq-perl-1.005/t/00-report-prereqs.dd --- libpostfix-parse-mailq-perl-1.004/t/00-report-prereqs.dd 1970-01-01 00:00:00.000000000 +0000 +++ libpostfix-parse-mailq-perl-1.005/t/00-report-prereqs.dd 2015-07-17 22:55:57.000000000 +0000 @@ -0,0 +1,31 @@ +do { my $x = { + 'configure' => { + 'requires' => { + 'ExtUtils::MakeMaker' => '0' + } + }, + 'develop' => { + 'requires' => { + 'Test::Pod' => '1.41' + } + }, + 'runtime' => { + 'requires' => { + 'Mixin::Linewise::Readers' => '0', + 'strict' => '0', + 'warnings' => '0' + } + }, + 'test' => { + 'recommends' => { + 'CPAN::Meta' => '2.120900' + }, + 'requires' => { + 'ExtUtils::MakeMaker' => '0', + 'File::Spec' => '0', + 'Test::More' => '0.96' + } + } + }; + $x; + } \ No newline at end of file diff -Nru libpostfix-parse-mailq-perl-1.004/t/00-report-prereqs.t libpostfix-parse-mailq-perl-1.005/t/00-report-prereqs.t --- libpostfix-parse-mailq-perl-1.004/t/00-report-prereqs.t 1970-01-01 00:00:00.000000000 +0000 +++ libpostfix-parse-mailq-perl-1.005/t/00-report-prereqs.t 2015-07-17 22:55:57.000000000 +0000 @@ -0,0 +1,183 @@ +#!perl + +use strict; +use warnings; + +# This test was generated by Dist::Zilla::Plugin::Test::ReportPrereqs 0.021 + +use Test::More tests => 1; + +use ExtUtils::MakeMaker; +use File::Spec; + +# from $version::LAX +my $lax_version_re = + qr/(?: undef | (?: (?:[0-9]+) (?: \. | (?:\.[0-9]+) (?:_[0-9]+)? )? + | + (?:\.[0-9]+) (?:_[0-9]+)? + ) | (?: + v (?:[0-9]+) (?: (?:\.[0-9]+)+ (?:_[0-9]+)? )? + | + (?:[0-9]+)? (?:\.[0-9]+){2,} (?:_[0-9]+)? + ) + )/x; + +# hide optional CPAN::Meta modules from prereq scanner +# and check if they are available +my $cpan_meta = "CPAN::Meta"; +my $cpan_meta_pre = "CPAN::Meta::Prereqs"; +my $HAS_CPAN_META = eval "require $cpan_meta; $cpan_meta->VERSION('2.120900')" && eval "require $cpan_meta_pre"; ## no critic + +# Verify requirements? +my $DO_VERIFY_PREREQS = 1; + +sub _max { + my $max = shift; + $max = ( $_ > $max ) ? $_ : $max for @_; + return $max; +} + +sub _merge_prereqs { + my ($collector, $prereqs) = @_; + + # CPAN::Meta::Prereqs object + if (ref $collector eq $cpan_meta_pre) { + return $collector->with_merged_prereqs( + CPAN::Meta::Prereqs->new( $prereqs ) + ); + } + + # Raw hashrefs + for my $phase ( keys %$prereqs ) { + for my $type ( keys %{ $prereqs->{$phase} } ) { + for my $module ( keys %{ $prereqs->{$phase}{$type} } ) { + $collector->{$phase}{$type}{$module} = $prereqs->{$phase}{$type}{$module}; + } + } + } + + return $collector; +} + +my @include = qw( + +); + +my @exclude = qw( + +); + +# Add static prereqs to the included modules list +my $static_prereqs = do 't/00-report-prereqs.dd'; + +# Merge all prereqs (either with ::Prereqs or a hashref) +my $full_prereqs = _merge_prereqs( + ( $HAS_CPAN_META ? $cpan_meta_pre->new : {} ), + $static_prereqs +); + +# Add dynamic prereqs to the included modules list (if we can) +my ($source) = grep { -f } 'MYMETA.json', 'MYMETA.yml'; +if ( $source && $HAS_CPAN_META ) { + if ( my $meta = eval { CPAN::Meta->load_file($source) } ) { + $full_prereqs = _merge_prereqs($full_prereqs, $meta->prereqs); + } +} +else { + $source = 'static metadata'; +} + +my @full_reports; +my @dep_errors; +my $req_hash = $HAS_CPAN_META ? $full_prereqs->as_string_hash : $full_prereqs; + +# Add static includes into a fake section +for my $mod (@include) { + $req_hash->{other}{modules}{$mod} = 0; +} + +for my $phase ( qw(configure build test runtime develop other) ) { + next unless $req_hash->{$phase}; + next if ($phase eq 'develop' and not $ENV{AUTHOR_TESTING}); + + for my $type ( qw(requires recommends suggests conflicts modules) ) { + next unless $req_hash->{$phase}{$type}; + + my $title = ucfirst($phase).' '.ucfirst($type); + my @reports = [qw/Module Want Have/]; + + for my $mod ( sort keys %{ $req_hash->{$phase}{$type} } ) { + next if $mod eq 'perl'; + next if grep { $_ eq $mod } @exclude; + + my $file = $mod; + $file =~ s{::}{/}g; + $file .= ".pm"; + my ($prefix) = grep { -e File::Spec->catfile($_, $file) } @INC; + + my $want = $req_hash->{$phase}{$type}{$mod}; + $want = "undef" unless defined $want; + $want = "any" if !$want && $want == 0; + + my $req_string = $want eq 'any' ? 'any version required' : "version '$want' required"; + + if ($prefix) { + my $have = MM->parse_version( File::Spec->catfile($prefix, $file) ); + $have = "undef" unless defined $have; + push @reports, [$mod, $want, $have]; + + if ( $DO_VERIFY_PREREQS && $HAS_CPAN_META && $type eq 'requires' ) { + if ( $have !~ /\A$lax_version_re\z/ ) { + push @dep_errors, "$mod version '$have' cannot be parsed ($req_string)"; + } + elsif ( ! $full_prereqs->requirements_for( $phase, $type )->accepts_module( $mod => $have ) ) { + push @dep_errors, "$mod version '$have' is not in required range '$want'"; + } + } + } + else { + push @reports, [$mod, $want, "missing"]; + + if ( $DO_VERIFY_PREREQS && $type eq 'requires' ) { + push @dep_errors, "$mod is not installed ($req_string)"; + } + } + } + + if ( @reports ) { + push @full_reports, "=== $title ===\n\n"; + + my $ml = _max( map { length $_->[0] } @reports ); + my $wl = _max( map { length $_->[1] } @reports ); + my $hl = _max( map { length $_->[2] } @reports ); + + if ($type eq 'modules') { + splice @reports, 1, 0, ["-" x $ml, "", "-" x $hl]; + push @full_reports, map { sprintf(" %*s %*s\n", -$ml, $_->[0], $hl, $_->[2]) } @reports; + } + else { + splice @reports, 1, 0, ["-" x $ml, "-" x $wl, "-" x $hl]; + push @full_reports, map { sprintf(" %*s %*s %*s\n", -$ml, $_->[0], $wl, $_->[1], $hl, $_->[2]) } @reports; + } + + push @full_reports, "\n"; + } + } +} + +if ( @full_reports ) { + diag "\nVersions for all modules listed in $source (including optional ones):\n\n", @full_reports; +} + +if ( @dep_errors ) { + diag join("\n", + "\n*** WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING ***\n", + "The following REQUIRED prerequisites were not satisfied:\n", + @dep_errors, + "\n" + ); +} + +pass; + +# vim: ts=4 sts=4 sw=4 et: diff -Nru libpostfix-parse-mailq-perl-1.004/xt/release/changes_has_content.t libpostfix-parse-mailq-perl-1.005/xt/release/changes_has_content.t --- libpostfix-parse-mailq-perl-1.004/xt/release/changes_has_content.t 2014-01-25 16:41:46.000000000 +0000 +++ libpostfix-parse-mailq-perl-1.005/xt/release/changes_has_content.t 2015-07-17 22:55:57.000000000 +0000 @@ -4,7 +4,7 @@ note 'Checking Changes'; my $changes_file = 'Changes'; -my $newver = '1.004'; +my $newver = '1.005'; my $trial_token = '-TRIAL'; SKIP: { diff -Nru libpostfix-parse-mailq-perl-1.004/xt/release/pod-syntax.t libpostfix-parse-mailq-perl-1.005/xt/release/pod-syntax.t --- libpostfix-parse-mailq-perl-1.004/xt/release/pod-syntax.t 2014-01-25 16:41:46.000000000 +0000 +++ libpostfix-parse-mailq-perl-1.005/xt/release/pod-syntax.t 2015-07-17 22:55:57.000000000 +0000 @@ -1,8 +1,6 @@ #!perl # This file was automatically generated by Dist::Zilla::Plugin::PodSyntaxTests. use Test::More; - -eval "use Test::Pod 1.41"; -plan skip_all => "Test::Pod 1.41 required for testing POD" if $@; +use Test::Pod 1.41; all_pod_files_ok();