r53112 - in /trunk/dh-make-perl: lib/DhMakePerl.pm t/extract_name_ver.t t/extract_name_ver_from_makefile.t
dmn at users.alioth.debian.org
dmn at users.alioth.debian.org
Sat Feb 20 21:23:14 UTC 2010
Author: dmn
Date: Sat Feb 20 21:23:09 2010
New Revision: 53112
URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=53112
Log:
convert perlname, version, pkgversion, pkgname and srcname to object accessors
Modified:
trunk/dh-make-perl/lib/DhMakePerl.pm
trunk/dh-make-perl/t/extract_name_ver.t
trunk/dh-make-perl/t/extract_name_ver_from_makefile.t
Modified: trunk/dh-make-perl/lib/DhMakePerl.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/dh-make-perl/lib/DhMakePerl.pm?rev=53112&op=diff
==============================================================================
--- trunk/dh-make-perl/lib/DhMakePerl.pm (original)
+++ trunk/dh-make-perl/lib/DhMakePerl.pm Sat Feb 20 21:23:09 2010
@@ -11,6 +11,7 @@
qw(
cfg apt_contents main_dir debian_dir meta bdepends bdependsi depends
priority section maintainer arch start_dir overrides
+ perlname version pkgversion pkgname srcname
)
);
@@ -107,15 +108,8 @@
# If we're being required rather than called as a main command, then
# return now without doing any work. This facilitates easier testing.
-my ( $perlname, $modulepm );
-my ($pkgname, $srcname,
-
- # $version is the version from the perl module itself
- $version,
-
- # $pkgversion is the resulting version of the package: User's
- # --version=s or "$version-1"
- $pkgversion,
+my ( $modulepm );
+my (
$desc, $longdesc, $copyright, $author, $upsurl
);
my ( $extrasfields, $extrapfields );
@@ -212,8 +206,7 @@
if $self->cfg->verbose;
$self->process_meta;
- ( $pkgname, $version )
- = $self->extract_basic(); # also detects arch-dep package
+ $self->extract_basic(); # also detects arch-dep package
$module_build
= ( -f $self->main_file('Build.PL') ) ? "Module-Build" : "MakeMaker";
@@ -317,19 +310,24 @@
$self->process_meta;
$self->findbin_fix();
- ( $pkgname, $version ) = $self->extract_basic();
+ $self->extract_basic();
if ( defined $self->cfg->packagename ) {
- $pkgname = $self->cfg->packagename;
+ $self->pkgname( $self->cfg->packagename );
}
unless ( defined $self->cfg->version ) {
- $pkgversion = $version . "-1";
+ $self->pkgversion( $self->version . '-1' );
}
else {
- $pkgversion = $self->cfg->version;
- }
-
- move( $tarball, dirname($tarball) . "/${pkgname}_${version}.orig.tar.gz" )
- if ( $tarball && $tarball =~ /(?:\.tar\.gz|\.tgz)$/ );
+ $self->pkgversion( $self->cfg->version );
+ }
+
+ move(
+ $tarball,
+ sprintf(
+ "%s/%s_%s.orig.tar.gz",
+ dirname($tarball), $self->pkgname, $self->version
+ )
+ ) if ( $tarball && $tarball =~ /(?:\.tar\.gz|\.tgz)$/ );
if ( -d $self->debian_dir ) {
$self->warning( $self->debian_dir . 'already exists' );
@@ -400,7 +398,7 @@
$self->write_source_format(
catfile( $self->debian_dir, 'source', 'format' ) );
$self->create_changelog( $self->debian_file('changelog'),
- $self->cfg->closes // $self->get_wnpp($pkgname) );
+ $self->cfg->closes // $self->get_wnpp( $self->pkgname ) );
$self->create_rules( $self->debian_file('rules') );
$self->create_compat( $self->debian_file('compat') );
$self->create_watch( $self->debian_file('watch') ) if $upsurl;
@@ -615,7 +613,8 @@
$archspec = $self->arch;
}
- $debname = "${pkgname}_$version-1_$archspec.deb";
+ $debname = sprintf( "%s_%s-1_%s.deb", $self->pkgname, $self->version,
+ $archspec );
my $deb = $self->start_dir . "/$debname";
system("dpkg -i $deb") == 0
@@ -674,25 +673,23 @@
sub extract_basic {
my ($self) = @_;
- ( $perlname, $version ) = $self->extract_name_ver();
+ $self->extract_name_ver();
find( sub { $self->check_for_xs }, $self->main_dir );
- $pkgname = lc $perlname;
+ my $pkgname = lc $self->perlname;
$pkgname = 'lib' . $pkgname unless $pkgname =~ /^lib/;
$pkgname .= '-perl';
# ensure policy compliant names and versions (from Joeyh)...
$pkgname =~ s/[^-.+a-zA-Z0-9]+/-/g;
- $srcname = $pkgname;
- $version =~ s/[^-.+a-zA-Z0-9]+/-/g;
- $version = "0$version" unless $version =~ /^\d/;
+ $self->pkgname($pkgname);
printf( "Found: %s %s (%s arch=%s)\n",
- $perlname, $version, $pkgname, $self->arch )
+ $self->perlname, $self->version, $self->pkgname, $self->arch )
if $self->cfg->verbose;
$self->debian_dir( $self->main_file('debian') );
- $upsurl = "http://search.cpan.org/dist/$perlname/";
+ $upsurl = sprintf( "http://search.cpan.org/dist/%s/", $self->perlname );
$copyright = $self->extract_basic_copyright();
if ($modulepm) {
@@ -708,7 +705,8 @@
$self->main_dir
);
- return ( $pkgname, $version );
+ $self->pkgname($pkgname);
+ $self->srcname($pkgname);
}
sub makefile_pl {
@@ -742,11 +740,19 @@
}
}
else {
- ( $name, $ver ) = $self->extract_name_ver_from_makefile( $self->makefile_pl );
- }
+ $self->extract_name_ver_from_makefile( $self->makefile_pl );
+ $name = $self->perlname;
+ $ver = $self->version;
+ }
+
+ # final sanitazing of name and version
+ $ver =~ s/[^-.+a-zA-Z0-9]+/-/g;
+ $ver = "0$ver" unless $ver =~ /^\d/;
$name =~ s/::/-/g;
- return ( $name, $ver );
+
+ $self->perlname($name);
+ $self->version($ver);
}
sub extract_name_ver_from_makefile {
@@ -901,7 +907,8 @@
}
}
- return ( $name, $ver );
+ $self->perlname($name);
+ $self->version($ver);
}
sub extract_desc {
@@ -942,7 +949,7 @@
= $parser->get('DESCRIPTION')
|| $parser->get('DETAILS')
|| $desc;
- ( $modulename = $perlname ) =~ s/-/::/g;
+ ( $modulename = $self->perlname ) =~ s/-/::/g;
$longdesc =~ s/This module/$modulename/;
local ($Text::Wrap::columns) = 78;
@@ -1472,7 +1479,7 @@
while ( my ( $file, $new_content ) = each %p ) {
next unless @$new_content;
# pkgname.foo file
- my $pkg_file = $self->debian_file("$pkgname.$file");
+ my $pkg_file = $self->debian_file( $self->pkgname .".$file" );
my %uniq_content;
my @existing_content;
@@ -1518,8 +1525,8 @@
@{ $self->bdependsi } = ();
}
- $fh->print("Source: $srcname\n");
- $fh->printf("Section: %s\n", $self->section );
+ $fh->printf( "Source: %s\n", $self->srcname );
+ $fh->printf( "Section: %s\n", $self->section );
$fh->printf( "Priority: %s\n", $self->priority );
local $Text::Wrap::break = ', ';
local $Text::Wrap::separator = ",\n";
@@ -1544,14 +1551,15 @@
$fh->printf( "Standards-Version: %s\n", $self->debstdversion );
$fh->print("Homepage: $upsurl\n") if $upsurl;
do {
- $fh->print(
- "Vcs-Svn: svn://svn.debian.org/pkg-perl/trunk/$srcname/\n");
- $fh->print(
- "Vcs-Browser: http://svn.debian.org/viewsvn/pkg-perl/trunk/$srcname/\n"
+ $fh->printf( "Vcs-Svn: svn://svn.debian.org/pkg-perl/trunk/%s/\n",
+ $self->srcname );
+ $fh->printf(
+ "Vcs-Browser: http://svn.debian.org/viewsvn/pkg-perl/trunk/%s/\n",
+ $self->srcname
);
} if $self->cfg->pkg_perl;
$fh->print("\n");
- $fh->print("Package: $pkgname\n");
+ $fh->printf( "Package: %s\n", $self->pkgname );
$fh->printf( "Architecture: %s\n", $self->arch );
$fh->print( wrap( '', ' ', "Depends: " . $self->depends . "\n" ) )
if $self->depends;
@@ -1570,7 +1578,8 @@
my $closes = $bug ? " (Closes: #$bug)" : '';
my $changelog_dist = $self->cfg->pkg_perl ? "UNRELEASED" : "unstable";
- $fh->print("$srcname ($pkgversion) $changelog_dist; urgency=low\n");
+ $fh->printf( "%s (%s) %s; urgency=low\n",
+ $self->srcname, $self->pkgversion, $changelog_dist );
$fh->print("\n * Initial Release.$closes\n\n");
$fh->printf( " -- %s %s\n", $self->maintainer, email_date(time) );
@@ -1672,7 +1681,7 @@
# Header section
%fields = (
- Name => $perlname,
+ Name => $self->perlname,
Maintainer => $cprt_author,
Source => $upsurl
);
@@ -1874,7 +1883,7 @@
$fh->printf(
"This is the debian package for the %s module.
It was created by %s using dh-make-perl.
-", $perlname, $self->maintainer,
+", $self->perlname, $self->maintainer,
);
$fh->close;
}
@@ -1886,11 +1895,8 @@
my $version_re = 'v?(\d[\d.-]+)\.(?:tar(?:\.gz|\.bz2)?|tgz|zip)';
- $fh->print(
- "version=3
-$upsurl .*/$perlname-$version_re\$
-"
- );
+ $fh->printf( "version=3\n$upsurl .*/%s-%s\$\n",
+ $self->perlname, $version_re );
$fh->close;
}
@@ -1947,13 +1953,13 @@
( $data, $subkey ) = $self->get_override_data();
return unless defined $data;
- $pkgname = $val
+ $self->pkgname($val)
if (
defined(
$val = $self->get_override_val( $data, $subkey, 'pkgname' )
)
);
- $srcname = $val
+ $self->srcname($val)
if (
defined(
$val = $self->get_override_val( $data, $subkey, 'srcname' )
@@ -1998,7 +2004,7 @@
$val = $self->get_override_val( $data, $subkey, 'longdesc' )
)
);
- $pkgversion = $val
+ $self->pkgversion($val)
if (
defined(
$val = $self->get_override_val( $data, $subkey, 'version' )
@@ -2048,17 +2054,18 @@
my ($self) = @_;
my ( $data, $checkver, $subkey );
- $data = $self->overrides->{$perlname};
+ $data = $self->overrides->{ $self->perlname };
return unless defined $data;
- die "Value of '$perlname' in overrides not a hashref\n"
+ die sprintf( "Value of '%s' in overrides not a hashref\n",
+ $self->perlname )
unless ref($data) eq 'HASH';
if ( defined( $checkver = $data->{checkver} ) ) {
die "checkver not a function\n" unless ( ref($checkver) eq 'CODE' );
$subkey = &$checkver( $self->main_dir );
}
else {
- $subkey = $pkgversion;
+ $subkey = $self->pkgversion;
}
return ( $data, $subkey );
}
@@ -2079,25 +2086,27 @@
my( $self, $apt_contents ) = @_;
my $apt_cache = AptPkg::Cache->new;
- my $found = $apt_cache->packages->lookup($pkgname);
+ my $found = $apt_cache->packages->lookup( $self->pkgname );
if ($found) {
warn "**********\n";
warn "WARNING: a package named\n";
- warn " '$pkgname'\n";
+ warn " '" . $self->pkgname ."'\n";
warn " is already available in APT repositories\n";
warn "Maintainer: ", $found->{Maintainer}, "\n";
my $short_desc = (split( /\n/, $found->{LongDesc} ))[0];
warn "Description: $short_desc\n";
}
elsif ($apt_contents) {
- my $found = $apt_contents->find_perl_module_package($perlname);
+ my $found
+ = $apt_contents->find_perl_module_package( $self->perlname );
if ($found) {
- my $mod_name = $perlname =~ s/-/::/g;
+ my $mod_name = $self->perlname =~ s/-/::/g;
warn "**********\n";
warn "NOTICE: the package '$found', available in APT repositories\n";
- warn " already contains a module named $perlname\n";
+ warn " already contains a module named "
+ . $self->perlname . "\n";
}
}
Modified: trunk/dh-make-perl/t/extract_name_ver.t
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/dh-make-perl/t/extract_name_ver.t?rev=53112&op=diff
==============================================================================
--- trunk/dh-make-perl/t/extract_name_ver.t (original)
+++ trunk/dh-make-perl/t/extract_name_ver.t Sat Feb 20 21:23:09 2010
@@ -10,11 +10,9 @@
$maker->meta( { name => 'Foo::Bar', version => 'v1.002003' } );
-my ($name, $ver);
-
-eval { ( $name, $ver ) = $maker->extract_name_ver; };
+eval { $maker->extract_name_ver; };
is($@, "", "Calling extract_name_ver should not die");
-is($name, "Foo-Bar", "Dist name should be Foo-Bar");
-is($ver, "1.2.3", "Dist version should be 1.2.3");
+is($maker->perlname, "Foo-Bar", "Dist name should be Foo-Bar");
+is($maker->version, "1.2.3", "Dist version should be 1.2.3");
Modified: trunk/dh-make-perl/t/extract_name_ver_from_makefile.t
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/dh-make-perl/t/extract_name_ver_from_makefile.t?rev=53112&op=diff
==============================================================================
--- trunk/dh-make-perl/t/extract_name_ver_from_makefile.t (original)
+++ trunk/dh-make-perl/t/extract_name_ver_from_makefile.t Sat Feb 20 21:23:09 2010
@@ -9,14 +9,11 @@
my $maker = DhMakePerl->new;
$maker->cfg( DhMakePerl::Config->new );
-my ($name, $ver);
-
eval {
- ($name, $ver) =
$maker->extract_name_ver_from_makefile("$Bin/makefiles/module-install-autodie.PL");
};
is($@, "", "Calling extract_name_ver_from_makefile should not die on legit file");
-is($name, "autodie", "Module name should be autodie");
-is($ver, "1.994", "Module version should be 1.994");
+is($maker->perlname, "autodie", "Module name should be autodie");
+is($maker->version, "1.994", "Module version should be 1.994");
More information about the Pkg-perl-cvs-commits
mailing list