X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=lib%2FCPANPLUS%2FDist%2FGentoo.pm;h=24e1e357637016eac27c318695904956097673fe;hb=667d0c86a602a24e6c948443557ebfb9700c83fa;hp=62b2e23d105ab0f9058caa7e4daf9a4f9aee5548;hpb=7a7b90f4e7e9870facf31b5945ca5406780c0c02;p=perl%2Fmodules%2FCPANPLUS-Dist-Gentoo.git diff --git a/lib/CPANPLUS/Dist/Gentoo.pm b/lib/CPANPLUS/Dist/Gentoo.pm index 62b2e23..24e1e35 100644 --- a/lib/CPANPLUS/Dist/Gentoo.pm +++ b/lib/CPANPLUS/Dist/Gentoo.pm @@ -70,8 +70,8 @@ sub init { my $stat = $self->status; my $conf = $self->parent->parent->configure_object; - $stat->mk_accessors(qw/name version author dist desc uri src license deps - eb_name eb_version eb_dir eb_file fetched_arch + $stat->mk_accessors(qw/name version author distribution desc uri src license + deps eb_name eb_version eb_dir eb_file fetched_arch overlay distdir keywords do_manifest header footer force verbose/); @@ -103,6 +103,8 @@ sub prepare { my %opts = @_; + $stat->prepared(0); + my $keywords = delete $opts{'keywords'}; $keywords = 'x86' unless defined $keywords; $keywords = [ split ' ', $keywords ]; @@ -153,7 +155,7 @@ sub prepare { my $author = $mod->author->cpanid; $stat->author($author); - $stat->dist($name . '-' . $version); + $stat->distribution($name . '-' . $version); $version =~ s/[^\d._]+//g; $version =~ s/^[._]*//; @@ -182,7 +184,7 @@ sub prepare { error "Can't force rewriting of $file -- skipping"; } } else { - msg 'Ebuild already generated for ' . $stat->dist . ' -- skipping'; + msg 'Ebuild already generated for ' . $stat->distribution . ' -- skipping'; } if ($skip) { $stat->prepared(1); @@ -233,6 +235,7 @@ sub prepare { } $stat->deps(\@depends); + $stat->prepared(1); return 1; } @@ -241,15 +244,18 @@ sub create { my $stat = $self->status; unless ($stat->prepared) { - error 'Can\'t create ' . $stat->dist . ' since it was never prepared -- aborting'; + error 'Can\'t create ' . $stat->distribution . ' since it was never prepared -- aborting'; + $stat->created(0); return 0; } if ($stat->created) { - msg $stat->dist . ' was already created -- skipping'; + msg $stat->distribution . ' was already created -- skipping'; return 1; } + $stat->created(0); + $self->SUPER::create(@_); my $dir = $stat->eb_dir; @@ -264,7 +270,7 @@ sub create { my $d = $stat->header; $d .= "# Generated by CPANPLUS::Dist::Gentoo version $VERSION\n\n"; $d .= 'MODULE_AUTHOR="' . $stat->author . "\"\ninherit perl-module\n\n"; - $d .= 'S="${WORKDIR}/' . $stat->dist . "\"\n"; + $d .= 'S="${WORKDIR}/' . $stat->distribution . "\"\n"; $d .= 'DESCRIPTION="' . $stat->desc . "\"\n"; $d .= 'HOMEPAGE="' . $stat->uri . "\"\n"; $d .= 'SRC_URI="' . $stat->src . "\"\n"; @@ -304,13 +310,14 @@ sub create { return 0; } - msg 'Adding Manifest entry for ' . $stat->dist; + msg 'Adding Manifest entry for ' . $stat->distribution; unless ($self->_run([ 'ebuild', $file, 'manifest' ], 0)) { 1 while unlink $file; return 0; } } + $stat->created(1); return 1; } @@ -323,7 +330,10 @@ sub install { my @cmd = ('emerge', '=' . $stat->eb_name . '-' . $stat->eb_version); unshift @cmd, $sudo if $sudo; - return $self->_run(\@cmd, 1); + my $success = $self->_run(\@cmd, 1); + $stat->installed($success); + + return $success; } sub uninstall { @@ -335,7 +345,10 @@ sub uninstall { my @cmd = ('emerge', '-C', '=' . $stat->eb_name . '-' . $stat->eb_version); unshift @cmd, $sudo if $sudo; - return $self->_run(\@cmd, 1); + my $success = $self->_run(\@cmd, 1); + $stat->uninstalled($success); + + return $success; } sub _run {