App-perlall
view release on metacpan or search on metacpan
* uninstall: multiple versions. e.g. perlall=5.*-m perlall uninstall
0.07 2012-02-07 rurban
* fixed wrong sudo requirement for build
* fixed syntax error in .perlall ppm()
* fixed build --install dirs
* testvm: fixed sideeffect in $remotecmd. only maketest came through
0.06 2012-02-06 rurban
added cygwin and partial win32 support, win32 build not yet
* do not overwrite old logfiles, backup numbered
* build: use config vars from .perlall for building new perls: prefix, bindir
* build: check for -thread in archname, wrong hints overrides
* build: install static_ext which is broken in perl
* build: add DLLNAME fix on cygwin
* build: add LLIBPERL fix on cygwin (It was not me, who did this. I fixed it in 5.10)
* build: fix post-configure on cygwin, -i print missing
* build: patch installperl for custom perldll on cygwin
* build --install: support PERLALL_BINDIR
* fixed printing do and make results even with -q
* help with quoting issues on win32, convert ' to "
script/perlall view on Meta::CPAN
$c->debug(($write?"writing":"loading")." configuration from $filename");
open my $CONFIG, '<', $filename
or Carp::croak "error opening $filename: $!\n";
my ($s, $NEW);
$write = undef if $c->options->{dryrun};
if ($write) {
open $NEW, '>', $filename.".tmp"
or Carp::croak "error opening $filename.tmp: $!\n";
}
while (<$CONFIG>) {
$s = $_ if $write; # backup
chomp;
s/#.*//;
s/\s+$//;
print $NEW $s if $s and !length;
next unless length;
if (/\\\s*$/) {
my $t = '';
do {
s/\\\s*$//;
script/perlall view on Meta::CPAN
sub _print {
my $level = shift;
if ($^O eq 'MSWin32') {
print join(" ",@_),"\n";
} elsif ($level == 0) { # bold green, highest level, headers
print "\033[1;32m",join(" ",@_),"\033[0;0m\n";
} elsif ($level == 1) { # bold red/black, major commands
print "\033[1;39m",join(" ",@_),"\033[0;0m\n";
}
}
sub _backup($) {
my $f = shift;
my $i = 1;
while (-e "$f.$i") { $i++ }
rename $f,"$f.$i";
}
sub __system {
my $c = shift;
unless ($c->options->{dryrun}) {
# MSWin32 ExtUtils::Command methods (tools_other section)
if ($^O eq 'MSWin32' and $_[0] =~ /^(rm|mv|mkdir) /) {
script/perlall view on Meta::CPAN
}
}
}
sub _loginit {
my $c = shift;
my $q = $c->options->{quiet};
my $v = $c->options->{verbose};
my $dryrun = $c->options->{dryrun};
my $log = $c->stash->{log};
if ( !$dryrun and $log ) {
_backup($log) if -e $log;
$c->stash->{log_fh} = IO::File->new($v ? ">& $log" : "> $log");
}
}
# $c->_log(level, @messages)
# -q only print to log, STDOUT level 0
# STDOUT level 1, STDOUT+STDERR >>log
# -v tee to STDOUT (STDERR not yet) and log
sub _log {
my $c = shift;
( run in 1.220 second using v1.01-cache-2.11-cpan-49f99fa48dc )