r2120 - in
packages/libmodule-install-perl/branches/upstream/current: .
inc/Module lib/Module lib/Module/Install lib/Module/Install/Admin
Krzysztof Krzyzaniak
eloy at costa.debian.org
Mon Feb 13 10:39:28 UTC 2006
Author: eloy
Date: 2006-02-13 10:39:27 +0000 (Mon, 13 Feb 2006)
New Revision: 2120
Added:
packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/External.pm
Modified:
packages/libmodule-install-perl/branches/upstream/current/Changes
packages/libmodule-install-perl/branches/upstream/current/MANIFEST
packages/libmodule-install-perl/branches/upstream/current/META.yml
packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install.pm
packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install.pm
packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install.pod
packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin.pm
packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/Metadata.pm
packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Build.pm
Log:
Load /tmp/tmp.mX7Ojk/libmodule-install-perl-0.56 into
packages/libmodule-install-perl/branches/upstream/current.
Modified: packages/libmodule-install-perl/branches/upstream/current/Changes
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/Changes 2006-02-12 17:13:41 UTC (rev 2119)
+++ packages/libmodule-install-perl/branches/upstream/current/Changes 2006-02-13 10:39:27 UTC (rev 2120)
@@ -1,3 +1,11 @@
+[Changes for 0.56 - ]
+
+* Added experimental support for requires_external_bin to forcefully
+ require the installation of a script or command.
+
+* Removed a warning in Module::Install::Admin::MetaData when
+ perl_version doesn't have a third part.
+
[Changes for 0.55 - 2006-01-27]
* This release only not signed (Released by ADAMK who has no keys)
Modified: packages/libmodule-install-perl/branches/upstream/current/MANIFEST
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/MANIFEST 2006-02-12 17:13:41 UTC (rev 2119)
+++ packages/libmodule-install-perl/branches/upstream/current/MANIFEST 2006-02-13 10:39:27 UTC (rev 2120)
@@ -30,6 +30,7 @@
lib/Module/Install/Bundle.pm
lib/Module/Install/Can.pm
lib/Module/Install/Compiler.pm
+lib/Module/Install/External.pm
lib/Module/Install/Fetch.pm
lib/Module/Install/Include.pm
lib/Module/Install/Inline.pm
Modified: packages/libmodule-install-perl/branches/upstream/current/META.yml
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/META.yml 2006-02-12 17:13:41 UTC (rev 2119)
+++ packages/libmodule-install-perl/branches/upstream/current/META.yml 2006-02-13 10:39:27 UTC (rev 2120)
@@ -4,9 +4,9 @@
- example
- inc
- t
-generated_by: Module::Install version 0.55
+generated_by: Module::Install version 0.56
distribution_type: module
-version: 0.55
+version: 0.56
name: Module-Install
author: Audrey Tang <autrijus at autrijus.org>
license: perl
@@ -14,9 +14,6 @@
Module::Install::Fetch:
version: 0.01
file: lib/Module/Install/Fetch.pm
- Module::Install::Admin::Metadata:
- version: 0.03
- file: lib/Module/Install/Admin/Metadata.pm
Module::Install::Bundle:
version: 0.04
file: lib/Module/Install/Bundle.pm
@@ -26,76 +23,82 @@
Module::Install::MakeMaker:
version: 0.01
file: lib/Module/Install/MakeMaker.pm
- Module::Install::Makefile::Name:
- version: 0.01
- file: lib/Module/Install/Makefile/Name.pm
- Module::AutoInstall:
- version: 1.01
- file: lib/Module/AutoInstall.pm
Module::Install::Inline:
version: 0.01
file: lib/Module/Install/Inline.pm
+ Module::Install::External:
+ version: 0.01
+ file: lib/Module/Install/External.pm
Module::Install::PAR:
file: lib/Module/Install/PAR.pm
Module::Install::Include:
file: lib/Module/Install/Include.pm
- Module::Install::Admin::ScanDeps:
- file: lib/Module/Install/Admin/ScanDeps.pm
Module::Install::Build:
version: 0.01
file: lib/Module/Install/Build.pm
- Module::Install::Can:
- version: 0.01
- file: lib/Module/Install/Can.pm
- Module::Install::AutoInstall:
- file: lib/Module/Install/AutoInstall.pm
+ Module::Install::Admin::ScanDeps:
+ file: lib/Module/Install/Admin/ScanDeps.pm
Module::Install::Admin::Manifest:
version: 0.01
file: lib/Module/Install/Admin/Manifest.pm
Module::Install::Admin:
- version: 0.55
+ version: 0.56
file: lib/Module/Install/Admin.pm
Module::Install::Base::FakeAdmin:
file: lib/Module/Install/Base.pm
+ Module::Install::Metadata:
+ version: 0.06
+ file: lib/Module/Install/Metadata.pm
Module::Install::Makefile:
version: 0.01
file: lib/Module/Install/Makefile.pm
- Module::Install::Metadata:
- version: 0.06
- file: lib/Module/Install/Metadata.pm
- inc::Module::Install:
- file: lib/inc/Module/Install.pm
Module::Install::Admin::WriteAll:
version: 0.01
file: lib/Module/Install/Admin/WriteAll.pm
- Module::Install::Run:
- version: 0.01
- file: lib/Module/Install/Run.pm
+ inc::Module::Install:
+ file: lib/inc/Module/Install.pm
Module::Install::Base:
file: lib/Module/Install/Base.pm
- Module::Install::Admin::Include:
- version: 0.02
- file: lib/Module/Install/Admin/Include.pm
+ Module::Install::Admin::Find:
+ version: 0.01
+ file: lib/Module/Install/Admin/Find.pm
Module::Install::Makefile::Version:
version: 0.01
file: lib/Module/Install/Makefile/Version.pm
- Module::Install::Admin::Find:
- version: 0.01
- file: lib/Module/Install/Admin/Find.pm
- Module::Install::Scripts:
- version: 0.02
- file: lib/Module/Install/Scripts.pm
Module::Install:
- version: 0.55
+ version: 0.56
file: lib/Module/Install.pm
Module::Install::Win32:
version: 0.02
file: lib/Module/Install/Win32.pm
- Module::Install::WriteAll:
- file: lib/Module/Install/WriteAll.pm
Module::Install::Admin::Makefile:
version: 0.01
file: lib/Module/Install/Admin/Makefile.pm
+ Module::Install::Admin::Metadata:
+ version: 0.04
+ file: lib/Module/Install/Admin/Metadata.pm
+ Module::Install::Makefile::Name:
+ version: 0.01
+ file: lib/Module/Install/Makefile/Name.pm
+ Module::AutoInstall:
+ version: 1.01
+ file: lib/Module/AutoInstall.pm
+ Module::Install::Can:
+ version: 0.01
+ file: lib/Module/Install/Can.pm
+ Module::Install::AutoInstall:
+ file: lib/Module/Install/AutoInstall.pm
+ Module::Install::Run:
+ version: 0.01
+ file: lib/Module/Install/Run.pm
+ Module::Install::Admin::Include:
+ version: 0.02
+ file: lib/Module/Install/Admin/Include.pm
+ Module::Install::Scripts:
+ version: 0.02
+ file: lib/Module/Install/Scripts.pm
+ Module::Install::WriteAll:
+ file: lib/Module/Install/WriteAll.pm
Module::Install::Compiler:
version: 0.01
file: lib/Module/Install/Compiler.pm
Modified: packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install.pm 2006-02-12 17:13:41 UTC (rev 2119)
+++ packages/libmodule-install-perl/branches/upstream/current/inc/Module/Install.pm 2006-02-13 10:39:27 UTC (rev 2120)
@@ -6,7 +6,7 @@
use vars qw{$VERSION};
BEGIN {
# Don't forget to update Module::Install::Admin too!
- $VERSION = '0.55';
+ $VERSION = '0.56';
}
# inc::Module::Install must be loaded first
Modified: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/Metadata.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/Metadata.pm 2006-02-12 17:13:41 UTC (rev 2119)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/Metadata.pm 2006-02-13 10:39:27 UTC (rev 2120)
@@ -3,7 +3,7 @@
use Module::Install::Base;
@ISA = 'Module::Install::Base';
-$VERSION = '0.03';
+$VERSION = '0.04';
use strict;
@@ -61,7 +61,7 @@
if ( my $perl_version = delete $values{perl_version} ) {
# Always canonical to three-dot version
$perl_version =~
- s{^(\d+)\.(\d\d\d)(\d*)}{join('.', $1, int($2), int($3))}e
+ s{^(\d+)\.(\d\d\d)(\d*)}{join('.', $1, int($2||0), int($3||0))}e
if $perl_version >= 5.006;
$values{requires} = [
[ perl => $perl_version ],
Property changes on: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin/Metadata.pm
___________________________________________________________________
Name: svn:executable
+ *
Modified: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin.pm 2006-02-12 17:13:41 UTC (rev 2119)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Admin.pm 2006-02-13 10:39:27 UTC (rev 2120)
@@ -1,6 +1,6 @@
package Module::Install::Admin;
-$VERSION = '0.55';
+$VERSION = '0.56';
@ISA = 'Module::Install';
use strict 'vars';
Modified: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Build.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Build.pm 2006-02-12 17:13:41 UTC (rev 2119)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Build.pm 2006-02-13 10:39:27 UTC (rev 2120)
@@ -16,14 +16,14 @@
my %args;
my $build;
- $args{dist_name} = $self->name || $self->determine_NAME($self->{args});
- $args{license} = $self->license;
- $args{test_files} = $self->tests;
- $args{dist_version} = $self->version || $self->determine_VERSION($self->{args});
+ $args{dist_name} = $self->name || $self->determine_NAME($self->{args});
+ $args{license} = $self->license;
+ $args{test_files} = $self->tests;
+ $args{dist_version} = $self->version || $self->determine_VERSION($self->{args});
$args{dist_abstract} = $self->abstract;
- $args{dist_author} = $self->author;
- $args{sign} = $self->sign;
- $args{no_index} = $self->no_index;
+ $args{dist_author} = $self->author;
+ $args{sign} = $self->sign;
+ $args{no_index} = $self->no_index;
foreach my $key (qw(build_requires requires recommends conflicts)) {
my $val = eval "\$self->$key" or next;
Property changes on: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/Build.pm
___________________________________________________________________
Name: svn:executable
+ *
Added: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/External.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/External.pm 2006-02-12 17:13:41 UTC (rev 2119)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/External.pm 2006-02-13 10:39:27 UTC (rev 2120)
@@ -0,0 +1,60 @@
+package Module::Install::External;
+
+# Provides dependency declarations for external non-Perl things
+
+use Module::Install::Base;
+ at ISA = qw(Module::Install::Base);
+
+$VERSION = '0.01';
+
+use strict;
+
+sub requires_external {
+ my ($self, $type, @args) = @_;
+
+ # Check the dependency type
+ unless ( defined $type and ! ref $type ) {
+ die "Did not provide an external dependency type";
+ }
+ unless ( $type =~ /^\w+$/ ) {
+ die "Invalid external dependency type '$type'";
+ }
+ my $method = 'requires_external_' . $type;
+ unless ( $self->can($method) ) {
+ die "External dependency type '$type' is not implemented (yet)";
+ }
+
+ # Hand off to the specific method
+ $self->$method(@args);
+}
+
+sub requires_external_bin {
+ my ($self, $bin, $version) = @_;
+ if ( $version ) {
+ die "requires_external_bin does not support versions (yet)";
+ }
+
+ # Load the can_run package early
+ # to avoid breaking the message below.
+ $self->load('can_run');
+
+ # Locate the bin
+ print "Locating required external dependency bin:$bin...";
+ my $found_bin = $self->can_run( $bin );
+ if ( $found_bin ) {
+ print " found at $found_bin.\n";
+ } else {
+ print " missing.\n";
+ print "Unresolvable missing external dependency.\n";
+ print "Please install '$bin' seperately and try again.\n";
+ print STDERR "NA: Unable to build distribution on this platform.\n";
+ exit(255);
+ }
+
+ # Once we have some way to specify external deps, do it here.
+ # In the mean time, continue as normal.
+
+ 1;
+}
+
+1;
Property changes on: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install/External.pm
___________________________________________________________________
Name: svn:executable
+ *
Modified: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install.pm
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install.pm 2006-02-12 17:13:41 UTC (rev 2119)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install.pm 2006-02-13 10:39:27 UTC (rev 2120)
@@ -5,7 +5,7 @@
use vars qw{$VERSION};
BEGIN {
# Don't forget to update Module::Install::Admin too!
- $VERSION = '0.55';
+ $VERSION = '0.56';
}
# inc::Module::Install must be loaded first
Modified: packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install.pod
===================================================================
--- packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install.pod 2006-02-12 17:13:41 UTC (rev 2119)
+++ packages/libmodule-install-perl/branches/upstream/current/lib/Module/Install.pod 2006-02-13 10:39:27 UTC (rev 2120)
@@ -6,8 +6,8 @@
=head1 VERSION
-This document describes version 0.55 of Module::Install, released
-January 27, 2006.
+This document describes version 0.56 of Module::Install, released
+February 12 2006.
=head1 SYNOPSIS
@@ -347,16 +347,25 @@
To summarise, if you can see it on L<http://search.cpan.org/> and you
shouldn't be able to, you need a C<no_index> entry.
-head2 can_run
+head2 requires_external_bin
- can_run 'cvs';
+ requires_external_bin 'cvs';
-As part of its role as the dominant "glue" language, a log of Perl
-modules run commands or programs on the host.
+As part of its role as the dominant "glue" language, a lot of Perl
+modules run commands or programs on the host system.
-The C<can_run> command is used to verify that a particular command is
-available on the local host and can be run.
+The C<requires_external_bin> command is used to verify that a particular
+command is available on the host system.
+Unlike a missing Perl module, a missing external binary is unresolvable
+at make-time, and so the F<Makefile.PL> run will abort with a "NA"
+(Not Applicable) result.
+
+In future, this command will also add additional information to the
+metadata for the dist, so that auto-packagers for particular operating
+system are more-easily able to auto-discover the appropriate non-Perl
+packages needed as a dependency.
+
=head2 WriteAll
The C<WriteAll> command is generally the last command; it writes out
@@ -635,7 +644,8 @@
if ( $MacPerl::Version ) {
# Needed on legacy Mac OS 9
requires 'Mac::Files' => 0;
- }
+ }
+
if ( $^O eq 'MXWin32' ) {
# Needed on Windows platforms
requires 'Win32::TieRegistry' => 0;
More information about the Pkg-perl-cvs-commits
mailing list