From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1S0pMF-0000JG-W2 for garchives@archives.gentoo.org; Fri, 24 Feb 2012 07:14:24 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id E9E8EE0B53; Fri, 24 Feb 2012 07:13:26 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id A8A5EE0B40 for ; Fri, 24 Feb 2012 07:13:26 +0000 (UTC) Received: from hornbill.gentoo.org (hornbill.gentoo.org [94.100.119.163]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id CD23B1B4020 for ; Fri, 24 Feb 2012 07:13:25 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by hornbill.gentoo.org (Postfix) with ESMTP id 8D2E1E5405 for ; Fri, 24 Feb 2012 07:13:23 +0000 (UTC) From: "Kent Fredric" To: gentoo-commits@lists.gentoo.org Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Kent Fredric" Message-ID: <1330026655.2c4ec68dc60147117f86aac0565e5df9d020d798.kent@gentoo> Subject: [gentoo-commits] proj/perl-overlay:master commit in: scripts/, scripts/lib/dep/handler/stdout/ X-VCS-Repository: proj/perl-overlay X-VCS-Files: scripts/gen_ebuild.pl scripts/lib/dep/handler/stdout/terse.pm X-VCS-Directories: scripts/ scripts/lib/dep/handler/stdout/ X-VCS-Committer: kent X-VCS-Committer-Name: Kent Fredric X-VCS-Revision: 2c4ec68dc60147117f86aac0565e5df9d020d798 X-VCS-Branch: master Date: Fri, 24 Feb 2012 07:13:23 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: quoted-printable X-Archives-Salt: 7b0e0c62-8199-4eeb-b0c2-363100bdf127 X-Archives-Hash: 63a3a6c126b1bf26c26075efaa4d9752 commit: 2c4ec68dc60147117f86aac0565e5df9d020d798 Author: Kent Fredric gmail com> AuthorDate: Thu Feb 23 19:50:55 2012 +0000 Commit: Kent Fredric gmail com> CommitDate: Thu Feb 23 19:50:55 2012 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Dproj/perl-overlay.= git;a=3Dcommit;h=3D2c4ec68d [scripts/gen_ebuild.pl] Improve --help data, add a terse debug tracer to = get better feedback while it runs --- scripts/gen_ebuild.pl | 108 +++++++++++++++++++------= ----- scripts/lib/dep/handler/stdout/terse.pm | 108 +++++++++++++++++++++++++= ++++++ 2 files changed, 176 insertions(+), 40 deletions(-) diff --git a/scripts/gen_ebuild.pl b/scripts/gen_ebuild.pl index e8635b6..fe14365 100755 --- a/scripts/gen_ebuild.pl +++ b/scripts/gen_ebuild.pl @@ -42,8 +42,23 @@ gen_ebuild.pl =20 USAGE: =20 - show_deptree.pl DOY/Moose-2.0301-TRIAL + gen_ebuild.pl DOY/Moose-2.0301-TRIAL =20 + exports: + WWW_MECH_DEBUG=3D1 for basic internal http tracing + WWW_MECH_DEBUG=3D2 for full response content output + WWW_MECH_NOCACHE=3D1 to disable caching + + parameters: + + --debug=3D1 + Verbose tracing. + + --debug=3D2 + Even More verbose tracing. + + --dumphandler + Print the full resolution map EOF } my ($release) =3D shift(@ARGV); @@ -70,10 +85,23 @@ for my $module ( keys %{ $dep_phases->{modules} } ) { my @squeue =3D sort { $a->[1]->[2] cmp $b->[1]->[2] or $a->[1]->[3] cmp $b->[1]->[3] = or $a->[0] cmp $b->[0] } @queue; =20 -require dep::handler::stdout; require dep::handler::bashcode; =20 -my $handler =3D dep::handler::stdout->new(); +my $handler; + +if ( defined $flags->{debug} and $flags->{debug} ne "1" or $flags->{debu= g} ne "2" ) { + $flags->{debug} =3D 1; +} + +if ( $flags->{debug} =3D=3D 1 ) { + require dep::handler::stdout::terse; + $handler =3D dep::handler::stdout::terse->new(); +} +if ( $flags->{debug} =3D=3D 2 ) { + require dep::handler::stdout; + $handler =3D dep::handler::stdout->new(); +} + my $handler2 =3D dep::handler::bashcode->new( ( $flags->{debug} ? ( debu= g =3D> 1 ) : () ), debug_handler =3D> $handler, ); =20 for my $qi (@squeue) { @@ -145,66 +173,73 @@ if ( $handler2->has_tdeps ) { else { $fh->say('IUSE=3D""'); } - -pp($handler2); +if ( $flags->{dumphandler} ) { + pp($handler2); +} =20 if ( $handler2->has_cdeps ) { - $fh->say('perl_meta_configure() {'); + my @lines; for my $dep ( @{ $handler2->cdeps } ) { - $fh->say( "\t# " . $dep->{dep} ); + push @lines, '# ' . $dep->{dep}; if ( not defined $dep->{install} ) { - $fh->say( "\t#echo unresolved"); + push @lines, '#echo unresolved'; warn "cdep " . $dep->{dep} . " was not resolved to a dependency"; - } else { - $fh->say( "\techo " . $dep->{install} ); + } + else { + push @lines, 'echo ' . $dep->{install}; } } - $fh->say('}'); push @{$depends}, '$(perl_meta_configure)'; + $fh->say( gen_func( 'perl_meta_configure', @lines ) ); + } if ( $handler2->has_bdeps ) { - $fh->say('perl_meta_build() {'); - for my $dep ( @{ $handler2->bdeps } ) {=20 - $fh->say( "\t# " . $dep->{dep} ); + my @lines; + for my $dep ( @{ $handler2->bdeps } ) { + push @lines, '# ' . $dep->{dep}; if ( not defined $dep->{install} ) { - $fh->say( "\t#echo unresolved"); + push @lines, '#echo unresolved'; warn "bdep " . $dep->{dep} . " was not resolved to a dependency"; - } else { - $fh->say( "\techo " . $dep->{install} ); + } + else { + push @lines, 'echo ' . $dep->{install}; } } - $fh->say('}'); + $fh->say( gen_func( 'perl_meta_build', @lines ) ); push @{$depends}, '$(perl_meta_build)'; =20 } if ( $handler2->has_rdeps ) { - $fh->say('perl_meta_runtime() {'); + my @lines; for my $dep ( @{ $handler2->rdeps } ) { - $fh->say( "\t# " . $dep->{dep} ); + push @lines, '# ' . $dep->{dep}; if ( not defined $dep->{install} ) { - $fh->say( "\t#echo unresolved"); + push @lines, '#echo unresolved'; warn "rdep: " . $dep->{dep} . " was not resolved to a dependency"; - } else { - $fh->say( "\techo " . $dep->{install} ); + } + else { + push @lines, 'echo ' . $dep->{install}; } } - $fh->say('}'); + $fh->say( gen_func( 'perl_meta_runtime', @lines ) ); push @{$depends}, '$(perl_meta_runtime)'; push @{$rdepends}, '$(perl_meta_runtime)'; =20 } if ( $handler2->has_tdeps ) { - $fh->say('perl_meta_test() {'); + my @lines; for my $dep ( @{ $handler2->tdeps } ) { - $fh->say( "\t# " . $dep->{dep} ); + push @lines, '# ' . $dep->{dep}; + if ( not defined $dep->{install} ) { - $fh->say( "\t#echo unresolved"); + push @lines, '#echo unresolved'; warn "tdep: " . $dep->{dep} . " was not resolved to a dependency"; - } else { - $fh->say( "\techo " . $dep->{install} ); + } + else { + push @lines, 'echo ' . $dep->{install}; } } - $fh->say('}'); + $fh->say( gen_func( 'perl_meta_test', @lines ) ); push @{$depends}, 'test? ( $(perl_meta_test) )'; } =20 @@ -215,14 +250,7 @@ $fh->say("SRC_TEST=3D\"do\""); #say pp( \%modules,);# { pretty =3D> 1 } ); exit 1; =20 -sub pkg_for_module { - my ($module) =3D shift; - +sub gen_func { + my ( $name, @body ) =3D @_; + return join( q{\n}, $name . '() {', ( map { "\t" . $_ } @body ), '}' )= ; } - -sub gen_dep { - state $template =3D qq{\t# %s%s\n\techo %s\n}; - my ( $module, $version ) =3D @_; - -} - diff --git a/scripts/lib/dep/handler/stdout/terse.pm b/scripts/lib/dep/ha= ndler/stdout/terse.pm new file mode 100644 index 0000000..729de66 --- /dev/null +++ b/scripts/lib/dep/handler/stdout/terse.pm @@ -0,0 +1,108 @@ +use strict; +use warnings; + +package dep::handler::stdout::terse; + +# FILENAME: terse.pm +# CREATED: 31/10/11 13:30:29 by Kent Fredric (kentnl) +# ABSTRACT: Dispatch terse dependency information to STDOUT. + +use Moose; +#extends 'dep::handler::stdout::terse'; +has 'indent' =3D> ( is =3D> 'rw' ); +has 'tail' =3D> ( is =3D> 'rw' ); +__PACKAGE__->meta->make_immutable; + +sub begin_dep { + my ( $self, $release, $module, $declaration ) =3D @_; + $self->indent(" \e[1;92m*"); + $self->tail(" \e[1;92m-\n\n"); + my $wantstring =3D $self->_want_string( $release, $module, $declaratio= n ); + return *STDOUT->printf( "\e[1;93m%s\e[0m\n", $wantstring ); +} + +sub evt_not_any { + my ( $self, $module, $declaration ) =3D @_; + return *STDOUT->printf( "%sWARNING: NO PROVIDER FOUND FOR \"%s\"%s\n",= "\e[1;91m", $module, "\e[0m" ); +} + +sub evt_multi { + my ( $self, $module, $declaration ) =3D @_; + $self->indent(" \e[1;91m*"); + $self->tail(" \e[1;91m-\n\n"); + + return *STDOUT->printf( "%sWARNING: MULTIPLE PROVIDERS FOUND FOR \"%s\= "%s\n", "\e[1;91m", $module, "\e[0m" ); +} + +sub set_latest { + my ( $self, $dep, $pkg ) =3D @_; + return *STDOUT->printf( "%s\e[1;95m latest: %s =3D> %s ( %s )\n", $sel= f->indent, @{$dep}, $pkg ); +} + +sub _want_string { + my ( $self, $release, $module, $declaration ) =3D @_; + return $release . " -> " . $declaration->[2] . " " . $declaration->[3]= . " " . $self->_depstring( $module, $declaration ); +} + +sub _depstring { + my ( $self, $module, $declaration ) =3D @_; + + my $depstring =3D $module; + + if ( $declaration->[1] ne '0.0.0' ) { + $depstring .=3D " " . $declaration->[0] . " ( " . $declaration->[1] = . " ) "; + } + return $depstring; +} + +sub _xwrap { + my $self =3D shift; + require Text::Wrap; + local $Text::Wrap::break =3D qr/,/; + local $Text::Wrap::overflow =3D 'huge'; + local $Text::Wrap::columns =3D 128; + $Text::Wrap::overflow =3D 'huge'; + my $pre =3D " "; + my $lines =3D Text::Wrap::wrap( $pre, $pre, @_ ); + return $lines; +} +sub perl_dep { + my ( $self, $module, $declaration , $pkg ) =3D @_ ;=20 + *STDOUT->printf("%s %s%s -> %s%s\n", $self->indent, "\e[1;94m", $modul= e, "\e[0m\e[94m", $pkg ); +} +sub provider_group { + my ( $self, $data ) =3D @_; + + my $want_string =3D $self->_want_string( $data->{release}, $data->{mod= ule}, $data->{declaration} ); + my $depstring =3D $self->_depstring( $data->{module}, $data->{declarat= ion} ); + + my $prefix =3D $depstring . ' in ' . $data->{provider}; + + my $lines =3D $self->_xwrap( join q[, ], @{ $data->{versions} } ); + my (@slines) =3D split /$/m, $lines; + $_ =3D~ s/[\r\n]*//m for @slines; + + *STDOUT->printf( " %s%s -> %s%s (%s)\n", "\e[1;92m", $depstring, "\e[0= m\e[92m", $data->{provider}, $data->{gentoo_pkg} ); + #*STDOUT->printf( "%s newest: %s\e[0m\n", $self->indent, $data->{newes= t} ); + #*STDOUT->printf( "%s oldest: %s\e[0m\n", $self->indent, $data->{oldes= t} ); + + my $v =3D $data->{closest}; + if ( not $data->{has_closest} ) { $v =3D 'undef' } + + #*STDOUT->printf( "%s closest: %s\e[0m\n", $self->indent, $v ); + + for (@slines) { + #*STDOUT->printf( "%s %s%s -> %s%s\n", $self->indent, "\e[1;94m", $d= ata->{provider}, "\e[0m\e[94m", $_ ); + } + +} + +sub done { + my ( $self, $module, $declaration ) =3D @_; + return *STDOUT->print( $self->tail ); +} + +no Moose; +__PACKAGE__->meta->make_immutable; +1; +