13 localctgetreports.pl [OPTIONS] vdistro
21 my @opt = <<'=back' =~ /B<--(\S+)>/g;
25 Only show the resulting command
33 Defaults to current host.
37 Pass through as such to ctgetreports
43 Warning: local path conventions hard-coded
45 Warning II: and very ad-hoc, e.g. will not work on k93
51 use lib
"$FindBin::Bin/../lib";
57 use File
::Basename
qw(dirname);
58 use File
::Path
qw(mkpath);
63 use Hash
::Util
qw(lock_keys);
66 lock_keys
%Opt, map { /([^=|!]+)/ } @opt;
74 use Sys
::Hostname
qw(hostname);
75 my $hostname = hostname
();
76 $Opt{hostname
} //= $hostname;
78 my($vdistro) = shift or pod2usage
(1);
79 my @perls0 = glob(qq{/home/sand
/src/perl
/repoperls/installed
-perls
/host
/$Opt{hostname
}/v5
.*/*/bin
/perl
});
82 if (-x
s/perl$/ctgetreports/r) {
92 die "FIXME: Found no perl with a working ctgetreports (tried @perls0)" unless @perls;
94 use CPAN
::DistnameInfo
;
95 my $d = CPAN
::DistnameInfo
->new("A/AN/ANON/$vdistro.tar.gz");
97 my $first_letter = substr($dist,0,1);
98 my $glob = "/home/sand/var/ctr/done/archive/$first_letter/$dist/*$vdistro*";
99 my @glob = glob($glob);
101 die "No results matching ... " unless @glob;
102 my $ctgr = my $perl = pop @perls; # newer one preferred
103 $ctgr =~ s/perl$/ctgetreports/;
105 if ($Opt{'dry-run'}) {
106 warn "system $perl $ctgr --solve --solvetop=$Opt{solvetop} --reportfiles $glob\n";
108 0 == system $perl, $ctgr, "--solve", "--solvetop=$Opt{solvetop}", "--reportfiles", @glob or die;
113 # cperl-indent-level: 4