Hello community,
here is the log from the commit of package perl-Module-Build-Tiny for
openSUSE:Factory checked in at 2013-10-06 14:54:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Module-Build-Tiny (Old)
and /work/SRC/openSUSE:Factory/.perl-Module-Build-Tiny.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Module-Build-Tiny"
Changes:
--------
---
/work/SRC/openSUSE:Factory/perl-Module-Build-Tiny/perl-Module-Build-Tiny.changes
2013-07-29 17:49:42.000000000 +0200
+++
/work/SRC/openSUSE:Factory/.perl-Module-Build-Tiny.new/perl-Module-Build-Tiny.changes
2013-10-06 14:54:33.000000000 +0200
@@ -1,0 +2,11 @@
+Fri Oct 4 09:15:20 UTC 2013 - [email protected]
+
+- updated to 0.028
+ Revert "Removed clean and realclean actions"
+ Build .c and .o in temp/ instead of lib
+ Got rid of IO layers
+ Separate libdoc and bindoc checks
+ Various documentation updates
+ Safe PERL_MB_OPT during configuration stage
+
+-------------------------------------------------------------------
Old:
----
Module-Build-Tiny-0.025.tar.gz
New:
----
Module-Build-Tiny-0.028.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Module-Build-Tiny.spec ++++++
--- /var/tmp/diff_new_pack.nVu6T4/_old 2013-10-06 14:54:34.000000000 +0200
+++ /var/tmp/diff_new_pack.nVu6T4/_new 2013-10-06 14:54:34.000000000 +0200
@@ -17,7 +17,7 @@
Name: perl-Module-Build-Tiny
-Version: 0.025
+Version: 0.028
Release: 0
%define cpan_name Module-Build-Tiny
Summary: A tiny replacement for Module::Build
@@ -50,6 +50,7 @@
Requires: perl(ExtUtils::ParseXS)
Requires: perl(JSON::PP) >= 2
Requires: perl(TAP::Harness)
+Recommends: perl(TAP::Harness) >= 3.28
%{perl_requires}
%description
++++++ Module-Build-Tiny-0.025.tar.gz -> Module-Build-Tiny-0.028.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Module-Build-Tiny-0.025/Build.PL
new/Module-Build-Tiny-0.028/Build.PL
--- old/Module-Build-Tiny-0.025/Build.PL 2013-07-12 16:10:11.000000000
+0200
+++ new/Module-Build-Tiny-0.028/Build.PL 2013-09-29 19:58:50.000000000
+0200
@@ -1,3 +1,4 @@
+use 5.006;
use lib 'lib';
-use Module::Build::Tiny ;
+use Module::Build::Tiny;
Build_PL(@ARGV);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Module-Build-Tiny-0.025/Changes
new/Module-Build-Tiny-0.028/Changes
--- old/Module-Build-Tiny-0.025/Changes 2013-07-12 16:10:11.000000000 +0200
+++ new/Module-Build-Tiny-0.028/Changes 2013-09-29 19:58:50.000000000 +0200
@@ -1,5 +1,17 @@
Revision history for Module::Build::Tiny
+0.028 2013-09-29 19:58:39 Europe/Amsterdam
+ Revert "Removed clean and realclean actions"
+ Build .c and .o in temp/ instead of lib
+ Got rid of IO layers
+ Separate libdoc and bindoc checks
+
+0.027 2013-09-09 11:43:12 Europe/Amsterdam
+ Various documentation updates
+
+0.026 2013-08-19 22:09:00 Europe/Amsterdam
+ Safe PERL_MB_OPT during configuration stage
+
0.025 2013-07-12 16:09:45 Europe/Amsterdam
Use local tempdir
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Module-Build-Tiny-0.025/META.json
new/Module-Build-Tiny-0.028/META.json
--- old/Module-Build-Tiny-0.025/META.json 2013-07-12 16:10:11.000000000
+0200
+++ new/Module-Build-Tiny-0.028/META.json 2013-09-29 19:58:50.000000000
+0200
@@ -5,7 +5,7 @@
"David Golden <[email protected]>"
],
"dynamic_config" : 0,
- "generated_by" : "Dist::Zilla version 4.300034, CPAN::Meta::Converter
version 2.120921",
+ "generated_by" : "Dist::Zilla version 4.300038, CPAN::Meta::Converter
version 2.120921",
"license" : [
"perl_5"
],
@@ -44,6 +44,12 @@
}
},
"runtime" : {
+ "conflicts" : {
+ "local::lib" : "< 1.006008"
+ },
+ "recommends" : {
+ "TAP::Harness" : "3.28"
+ },
"requires" : {
"CPAN::Meta" : "0",
"Exporter" : "5.57",
@@ -72,16 +78,18 @@
"test" : {
"requires" : {
"Carp" : "0",
- "Config" : "0",
"Cwd" : "0",
"Data::Dumper" : "0",
"File::Spec" : "0",
"File::Temp" : "0",
"IO::File" : "0",
+ "IO::Handle" : "0",
"IPC::Open2" : "0",
+ "IPC::Open3" : "0",
"Test::More" : "0.88",
"XSLoader" : "0",
- "blib" : "0"
+ "blib" : "0",
+ "lib" : "0"
},
"suggests" : {
"File::ShareDir" : "1.000"
@@ -100,6 +108,6 @@
"web" : "https://github.com/Leont/module-build-tiny"
}
},
- "version" : "0.025"
+ "version" : "0.028"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Module-Build-Tiny-0.025/META.yml
new/Module-Build-Tiny-0.028/META.yml
--- old/Module-Build-Tiny-0.025/META.yml 2013-07-12 16:10:11.000000000
+0200
+++ new/Module-Build-Tiny-0.028/META.yml 2013-09-29 19:58:50.000000000
+0200
@@ -5,16 +5,18 @@
- 'David Golden <[email protected]>'
build_requires:
Carp: 0
- Config: 0
Cwd: 0
Data::Dumper: 0
File::Spec: 0
File::Temp: 0
IO::File: 0
+ IO::Handle: 0
IPC::Open2: 0
+ IPC::Open3: 0
Test::More: 0.88
XSLoader: 0
blib: 0
+ lib: 0
configure_requires:
CPAN::Meta: 0
Exporter: 5.57
@@ -35,13 +37,17 @@
perl: 5.006
strict: 0
warnings: 0
+conflicts:
+ local::lib: '< 1.006008'
dynamic_config: 0
-generated_by: 'Dist::Zilla version 4.300034, CPAN::Meta::Converter version
2.120921'
+generated_by: 'Dist::Zilla version 4.300038, CPAN::Meta::Converter version
2.120921'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
version: 1.4
name: Module-Build-Tiny
+recommends:
+ TAP::Harness: 3.28
requires:
CPAN::Meta: 0
Exporter: 5.57
@@ -65,4 +71,4 @@
resources:
bugtracker:
http://rt.cpan.org/Public/Dist/Display.html?Name=Module-Build-Tiny
repository: git://github.com/Leont/module-build-tiny.git
-version: 0.025
+version: 0.028
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Module-Build-Tiny-0.025/README
new/Module-Build-Tiny-0.028/README
--- old/Module-Build-Tiny-0.025/README 2013-07-12 16:10:11.000000000 +0200
+++ new/Module-Build-Tiny-0.028/README 2013-09-29 19:58:50.000000000 +0200
@@ -1,7 +1,7 @@
This archive contains the distribution Module-Build-Tiny,
-version 0.025:
+version 0.028:
A tiny replacement for Module::Build
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Module-Build-Tiny-0.025/Todo
new/Module-Build-Tiny-0.028/Todo
--- old/Module-Build-Tiny-0.025/Todo 2013-07-12 16:10:11.000000000 +0200
+++ new/Module-Build-Tiny-0.028/Todo 2013-09-29 19:58:50.000000000 +0200
@@ -1,4 +1 @@
-* write tests
- - _build_params?
-* add XS support
* add HTML support
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Module-Build-Tiny-0.025/dist.ini
new/Module-Build-Tiny-0.028/dist.ini
--- old/Module-Build-Tiny-0.025/dist.ini 2013-07-12 16:10:11.000000000
+0200
+++ new/Module-Build-Tiny-0.028/dist.ini 2013-09-29 19:58:50.000000000
+0200
@@ -11,7 +11,11 @@
BuildSelf.auto_configure_requires = 1
AutoPrereqs.skip = File::ShareDir
-remove = PodCoverageTests
+[Prereqs / RuntimeRecommends]
+TAP::Harness = 3.28
[Prereqs / RuntimeSuggests]
constant = 1.27
+[Prereqs / RuntimeConflicts]
+local::lib = <1.006008
[Prereqs / TestSuggests]
File::ShareDir = 1.000
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Module-Build-Tiny-0.025/lib/Module/Build/Tiny.pm
new/Module-Build-Tiny-0.028/lib/Module/Build/Tiny.pm
--- old/Module-Build-Tiny-0.025/lib/Module/Build/Tiny.pm 2013-07-12
16:10:11.000000000 +0200
+++ new/Module-Build-Tiny-0.028/lib/Module/Build/Tiny.pm 2013-09-29
19:58:50.000000000 +0200
@@ -1,6 +1,6 @@
package Module::Build::Tiny;
{
- $Module::Build::Tiny::VERSION = '0.025';
+ $Module::Build::Tiny::VERSION = '0.028';
}
use strict;
use warnings;
@@ -14,19 +14,19 @@
use ExtUtils::InstallPaths 0.002;
use File::Basename qw/basename dirname/;
use File::Find ();
-use File::Path qw/mkpath/;
+use File::Path qw/mkpath rmtree/;
use File::Spec::Functions qw/catfile catdir rel2abs abs2rel splitdir/;
use Getopt::Long qw/GetOptions/;
use JSON::PP 2 qw/encode_json decode_json/;
sub write_file {
- my ($filename, $mode, $content) = @_;
- open my $fh, ">:$mode", $filename or die "Could not open $filename:
$!\n";;
+ my ($filename, $content) = @_;
+ open my $fh, '>', $filename or die "Could not open $filename: $!\n";
print $fh $content;
}
sub read_file {
my ($filename, $mode) = @_;
- open my $fh, "<:$mode", $filename or die "Could not open $filename:
$!\n";
+ open my $fh, '<', $filename or die "Could not open $filename: $!\n";
return do { local $/; <$fh> };
}
@@ -53,9 +53,11 @@
my (undef, @dirnames) = splitdir(dirname($source));
my $file_base = basename($source, '.xs');
my $archdir = catdir(qw/blib arch auto/, @dirnames, $file_base);
+ my $tempdir = 'temp';
- my $c_file = catfile('lib', @dirnames, "$file_base.c");
+ my $c_file = catfile($tempdir, "$file_base.c");
require ExtUtils::ParseXS;
+ mkpath($tempdir, $options->{verbose}, oct '755');
ExtUtils::ParseXS::process_file(filename => $source, prototypes => 0,
output => $c_file);
my $version = $options->{meta}->version;
@@ -64,7 +66,7 @@
my $ob_file = $builder->compile(source => $c_file, defines => { VERSION
=> qq/"$version"/, XS_VERSION => qq/"$version"/ });
mkpath($archdir, $options->{verbose}, oct '755') unless -d $archdir;
- return $builder->link(objects => $ob_file, lib_file =>
catfile($archdir, "$file_base.".$options->{config}->get('dlext')), module_name
=> join '::', @dirnames, $file_base);
+ return $builder->link(objects => $ob_file, lib_file =>
catfile($archdir, "$file_base." . $options->{config}->get('dlext')),
module_name => join '::', @dirnames, $file_base);
}
sub find {
@@ -80,14 +82,16 @@
system $^X, $_ and die "$_ returned $?\n" for find(qr/\.PL$/,
'lib');
my %modules = map { $_ => catfile('blib', $_) }
find(qr/\.p(?:m|od)$/, 'lib');
my %scripts = map { $_ => catfile('blib', $_) } find(qr//,
'script');
- my %shared = map { $_ => catfile(qw/blib lib auto share dist/,
$opt{meta}->name, abs2rel($_, 'share')) } find(qr//, 'share');
+ my %shared = map { $_ => catfile(qw/blib lib auto share dist/,
$opt{meta}->name, abs2rel($_, 'share')) } find(qr//, 'share');
pm_to_blib({ %modules, %scripts, %shared }, catdir(qw/blib lib
auto/));
make_executable($_) for values %scripts;
mkpath(catdir(qw/blib arch/), $opt{verbose});
process_xs($_, \%opt) for find(qr/.xs$/, 'lib');
- if ($opt{install_paths}->install_destination('libdoc') &&
$opt{install_paths}->is_default_installable('libdoc')) {
+ if ($opt{install_paths}->install_destination('bindoc') &&
$opt{install_paths}->is_default_installable('bindoc')) {
manify($_, catfile('blib', 'bindoc',
man1_pagename($_)), $opt{config}->get('man1ext'), \%opt) for keys %scripts;
+ }
+ if ($opt{install_paths}->install_destination('libdoc') &&
$opt{install_paths}->is_default_installable('libdoc')) {
manify($_, catfile('blib', 'libdoc',
man3_pagename($_)), $opt{config}->get('man3ext'), \%opt) for keys %modules;
}
},
@@ -95,7 +99,7 @@
my %opt = @_;
die "Must run `./Build build` first\n" if not -d 'blib';
require TAP::Harness;
- my $tester = TAP::Harness->new({verbosity => $opt{verbose}, lib
=> [ map { rel2abs(catdir(qw/blib/, $_)) } qw/arch lib/ ], color => -t STDOUT});
+ my $tester = TAP::Harness->new({ verbosity => $opt{verbose},
lib => [ map { rel2abs(catdir(qw/blib/, $_)) } qw/arch lib/ ], color => -t
STDOUT });
$tester->runtests(sort +find(qr/\.t$/, 't'))->has_errors and
exit 1;
},
install => sub {
@@ -103,17 +107,23 @@
die "Must run `./Build build` first\n" if not -d 'blib';
install($opt{install_paths}->install_map, @opt{qw/verbose
dry_run uninst/});
},
+ clean => sub {
+ my %opt = @_;
+ rmtree($_, $opt{verbose}) for qw/blib temp/;
+ },
+ realclean => sub {
+ my %opt = @_;
+ rmtree($_, $opt{verbose}) for qw/blib temp Build _build_params
MYMETA.yml MYMETA.json/;
+ },
);
sub Build {
- my $bpl = decode_json(read_file('_build_params', 'utf8'));
my $action = @ARGV && $ARGV[0] =~ /\A\w+\z/ ? shift @ARGV : 'build';
die "No such action '$action'\n" if not $actions{$action};
- my @env = defined $ENV{PERL_MB_OPT} ?
split_like_shell($ENV{PERL_MB_OPT}) : ();
- unshift @ARGV, map { @{$_} } $bpl, \@env;
+ unshift @ARGV, @{ decode_json(read_file('_build_params')) };
GetOptions(\my %opt, qw/install_base=s install_path=s% installdirs=s
destdir=s prefix=s config=s% uninst:1 verbose:1 dry_run:1 pureperl-only:1
create_packlist=i/);
$_ = detildefy($_) for grep { defined } @opt{qw/install_base destdir
prefix/}, values %{ $opt{install_path} };
- @opt{'config', 'meta'} = (ExtUtils::Config->new($opt{config}),
get_meta());
+ @opt{ 'config', 'meta' } = (ExtUtils::Config->new($opt{config}),
get_meta());
$actions{$action}->(%opt, install_paths =>
ExtUtils::InstallPaths->new(%opt, dist_name => $opt{meta}->name));
}
@@ -121,10 +131,11 @@
my $meta = get_meta();
printf "Creating new 'Build' script for '%s' version '%s'\n",
$meta->name, $meta->version;
my $dir = $meta->name eq 'Module-Build-Tiny' ? "use lib 'lib';" : '';
- write_file('Build', 'raw', "#!perl\n$dir\nuse
Module::Build::Tiny;\nBuild();\n");
+ write_file('Build', "#!perl\n$dir\nuse
Module::Build::Tiny;\nBuild();\n");
make_executable('Build');
- write_file('_build_params', 'utf8', encode_json(\@ARGV));
- $meta->save(@$_) for ['MYMETA.json'], ['MYMETA.yml' => { version => 1.4
}];
+ my @env = defined $ENV{PERL_MB_OPT} ?
split_like_shell($ENV{PERL_MB_OPT}) : ();
+ write_file('_build_params', encode_json([ @env, @ARGV ]));
+ $meta->save(@$_) for ['MYMETA.json'], [ 'MYMETA.yml' => { version =>
1.4 } ];
}
1;
@@ -144,7 +155,7 @@
=head1 VERSION
-version 0.025
+version 0.028
=head1 SYNOPSIS
@@ -189,12 +200,14 @@
=item * Extending Module::Build::Tiny
+=item * Module sharedirs
+
=back
=head2 Directory structure
Your .pm and .pod files must be in F<lib/>. Any executables must be in
-F<script/>. Test files must be in F<t/>.
+F<script/>. Test files must be in F<t/>. Dist sharedirs must be in F<share/>.
=head1 USAGE
@@ -212,6 +225,8 @@
=over
+=item * verbose
+
=item * install_base
=item * installdirs
@@ -224,16 +239,35 @@
=item * uninst
+=item * config
+
+=item * pure-perl
+
+=item * create_packlist
+
=back
=head1 AUTHORING
-This module doesn't support authoring. To develop modules using
Module::Build::Tiny, usage of L<Dist::Zilla::Plugin::ModuleBuildTiny> is
recommended.
+This module doesn't support authoring. To develop modules using
Module::Build::Tiny, usage of L<Dist::Zilla::Plugin::ModuleBuildTiny> or
L<App::ModuleBuildTiny> is recommended.
=head1 CONFIG FILE AND ENVIRONMENT
-Options can be provided in a F<.modulebuildrc> file or in the C<PERL_MB_OPT>
-environment variable the same way they can with Module::Build.
+Options can be provided in the C<PERL_MB_OPT> environment variable the same
way they can with Module::Build. This should be done during the configuration
stage.
+
+=head2 Incompatibilities
+
+=over 4
+
+=item * Argument parsing
+
+Module::Build has an extremely permissive way of argument handling,
Module::Build::Tiny only supports a (sane) subset of that. In particular,
C<./Build destdir=/foo> does not work, you will need to pass it as C<./Build
--destdir=/foo>.
+
+=item * .modulebuildrc
+
+Module::Build::Tiny does not support .modulebuildrc files. In particular, this
means that versions of local::lib older than 1.006008 may break. Upgrading it
resolves this issue.
+
+=back
=head1 SEE ALSO
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Module-Build-Tiny-0.025/t/00-compile.t
new/Module-Build-Tiny-0.028/t/00-compile.t
--- old/Module-Build-Tiny-0.025/t/00-compile.t 2013-07-12 16:10:11.000000000
+0200
+++ new/Module-Build-Tiny-0.028/t/00-compile.t 2013-09-29 19:58:50.000000000
+0200
@@ -1,74 +1,46 @@
-#!perl
-
use strict;
use warnings;
-use Test::More;
+# this test was generated with Dist::Zilla::Plugin::Test::Compile 2.033
+use Test::More tests => 1 + ($ENV{AUTHOR_TESTING} ? 1 : 0);
-use File::Find;
-use File::Temp qw{ tempdir };
-my @modules;
-find(
- sub {
- return if $File::Find::name !~ /\.pm\z/;
- my $found = $File::Find::name;
- $found =~ s{^lib/}{};
- $found =~ s{[/\\]}{::}g;
- $found =~ s/\.pm$//;
- # nothing to skip
- push @modules, $found;
- },
- 'lib',
+my @module_files = (
+ 'Module/Build/Tiny.pm'
);
-sub _find_scripts {
- my $dir = shift @_;
-
- my @found_scripts = ();
- find(
- sub {
- return unless -f;
- my $found = $File::Find::name;
- # nothing to skip
- open my $FH, '<', $_ or do {
- note( "Unable to open $found in ( $! ), skipping" );
- return;
- };
- my $shebang = <$FH>;
- return unless $shebang =~ /^#!.*?\bperl\b\s*$/;
- push @found_scripts, $found;
- },
- $dir,
- );
- return @found_scripts;
-}
-my @scripts;
-do { push @scripts, _find_scripts($_) if -d $_ }
- for qw{ bin script scripts };
+# no fake home requested
-my $plan = scalar(@modules) + scalar(@scripts);
-$plan ? (plan tests => $plan) : (plan skip_all => "no tests to run");
+use File::Spec;
+use IPC::Open3;
+use IO::Handle;
+my @warnings;
+for my $lib (@module_files)
{
- # fake home for cpan-testers
- # no fake requested ## local $ENV{HOME} = tempdir( CLEANUP => 1 );
+ # see L<perlfaq8/How can I capture STDERR from an external command?>
+ open my $stdin, '<', File::Spec->devnull or die "can't open devnull: $!";
+ my $stderr = IO::Handle->new;
+
+ my $pid = open3($stdin, '>&STDERR', $stderr, $^X, '-Mblib', '-e', "require
q[$lib]");
+ binmode $stderr, ':crlf' if $^O eq 'MSWin32';
+ my @_warnings = <$stderr>;
+ waitpid($pid, 0);
+ is($? >> 8, 0, "$lib loaded ok");
+
+ if (@_warnings)
+ {
+ warn @_warnings;
+ push @warnings, @_warnings;
+ }
+}
- like( qx{ $^X -Ilib -e "require $_; print '$_ ok'" }, qr/^\s*$_ ok/s, "$_
loaded ok" )
- for sort @modules;
- SKIP: {
- eval "use Test::Script 1.05; 1;";
- skip "Test::Script needed to test script compilation",
scalar(@scripts) if $@;
- foreach my $file ( @scripts ) {
- my $script = $file;
- $script =~ s!.*/!!;
- script_compiles( $file, "$script script compiles" );
- }
- }
-}
+is(scalar(@warnings), 0, 'no warnings found') if $ENV{AUTHOR_TESTING};
+
+
--
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]