diff options
Diffstat (limited to 'Master/tlpkg/tlperl/site/lib/Canary/Stability.pm')
-rw-r--r-- | Master/tlpkg/tlperl/site/lib/Canary/Stability.pm | 207 |
1 files changed, 0 insertions, 207 deletions
diff --git a/Master/tlpkg/tlperl/site/lib/Canary/Stability.pm b/Master/tlpkg/tlperl/site/lib/Canary/Stability.pm deleted file mode 100644 index 21d7c659736..00000000000 --- a/Master/tlpkg/tlperl/site/lib/Canary/Stability.pm +++ /dev/null @@ -1,207 +0,0 @@ -=head1 NAME - -Canary::Stability - canary to check perl compatibility for schmorp's modules - -=head1 SYNOPSIS - - # in Makefile.PL - use Canary::Stability DISTNAME => 2001, MINIMUM_PERL_VERSION; - -=head1 DESCRIPTION - -This module is used by Schmorp's modules during configuration stage to -test the installed perl for compatibility with his modules. - -It's not, at this stage, meant as a tool for other module authors, -although in principle nothing prevents them from subscribing to the same -ideas. - -See the F<Makefile.PL> in L<Coro> or L<AnyEvent> for usage examples. - -=cut - -package Canary::Stability; - -BEGIN { - $VERSION = 2012; -} - -sub sgr { - # we just assume ANSI almost everywhere - # red 31, yellow 33, green 32 - local $| = 1; - - $ENV{PERL_CANARY_STABILITY_COLOUR} ne 0 - and ((-t STDOUT and length $ENV{TERM}) or $ENV{PERL_CANARY_STABILITY_COLOUR}) - and print "\e[$_[0]m"; -} - -sub import { - my (undef, $distname, $minvers, $minperl) = @_; - - $ENV{PERL_CANARY_STABILITY_DISABLE} - and return; - - $minperl ||= 5.008002; - - print <<EOF; - -*** -*** Canary::Stability COMPATIBILITY AND SUPPORT CHECK -*** ================================================= -*** -*** Hi! -*** -*** I do my best to provide predictable and reliable software. -*** -*** However, in recent releases, P5P (who maintain perl) have been -*** introducing regressions that are sometimes subtle and at other times -*** catastrophic, often for personal preferences with little or no concern -*** for existing code, most notably CPAN. -*** -*** For this reason, it has become very hard for me to maintain the level -*** of reliability and support I have committed myself to in the past, at -*** least with some perl versions: I simply can't keep up working around new -*** bugs or gratituous incompatibilities, and in turn you might suffer from -*** unanticipated problems. -*** -*** Therefore I have introduced a support and compatibility check, the results -*** of which follow below, together with a FAQ and some recommendations. -*** -*** This check is just to let you know that there might be a risk, so you can -*** make judgement calls on how to proceed - it will not keep the module from -*** installing or working. -*** -EOF - - if ($minvers > $VERSION) { - sgr 33; - print <<EOF; -*** The stability canary says: (nothing, it died of old age). -*** -*** Your Canary::Stability module (used by $distname) is too old. -*** This is not a fatal problem - while you might want to upgrade to version -*** $minvers (currently installed version: $VERSION) to get better support -*** status testing, you might also not want to care at all, and all will -*** be well as long $distname works well enough for you, as the stability -*** canary is only used when installing the distribution. -EOF - } elsif ($] < $minperl) { - - sgr 33; - print <<EOF; -*** The stability canary says: chirp (it seems concerned about something). -*** -*** Your perl version ($]) is older than the $distname distribution -*** likes ($minperl). This is not a fatal problem - the module might work -*** well with your version of perl, but it does mean the author likely -*** won't do anything to make it work if it breaks. -EOF - } elsif (defined $Internals::StabilityBranchVersion) { - # note to people studying this modules sources: - # the above test is not considered a clean or stable way to - # test for the stability branch. - - sgr 32; - print <<EOF; -*** The stability canary says: chirp! chirp! (it seems to be quite excited) -*** -*** It seems you are running schmorp's stability branch of perl. -*** All should be well, and if it isn't, you should report this as a bug -*** to the $distname author. -EOF - } elsif ($] < 5.021) { - #sgr 32; - print <<EOF; -*** The stability canary says: chirp! chirp! (it seems to be quite happy) -*** -*** Your version of perl ($]) is quite supported by $distname, nothing -*** else to be said, hope it comes in handy. -EOF - } else { - sgr 31; - print <<EOF; -*** The stability canary says: (nothing, it was driven away by harsh weather) -*** -*** It seems you are running perl version $], likely the "official" or -*** "standard" version. While there is nothing wrong with doing that, -*** standard perl versions 5.022 and up are not supported by $distname. -*** While this might be fatal, it might also be all right - if you run into -*** problems, you might want to downgrade your perl or switch to the -*** stability branch. -*** -*** If everything works fine, you can ignore this message. -EOF - sgr 0; - print <<EOF; -*** -*** Stability canary mini-FAQ: -*** -*** Do I need to do anything? -*** With luck, no. While some distributions are known to fail -*** already, most should probably work. This message is here -*** to alert you that your perl is not supported by $distname, -*** and if things go wrong, you either need to downgrade, or -*** sidegrade to the stability variant of your perl version, -*** or simply live with the consequences. -*** -*** What is this canary thing? -*** It's purpose is to check support status of $distname with -*** respect to your perl version. -*** -*** What is this "stability branch"? -*** It's a branch or fork of the official perl, by schmorp, to -*** improve stability and compatibility with existing modules. -*** -*** How can I skip this prompt on automated installs? -*** Set PERL_CANARY_STABILITY_NOPROMPT=1 in your environment. -*** More info is in the Canary::Stability manpage. -*** -*** Long version of this FAQ: http://stableperl.schmorp.de/faq.html -*** Stability Branch homepage: http://stableperl.schmorp.de/ -*** - -EOF - - unless ($ENV{PERL_CANARY_STABILITY_NOPROMPT}) { - require ExtUtils::MakeMaker; - - ExtUtils::MakeMaker::prompt ("Continue anyways? ", "y") =~ /^y/i - or die "FATAL: User aborted configuration of $distname.\n"; - } - } - - sgr 0; -} - -=head1 ENVIRONMENT VARIABLES - -=over 4 - -=item C<PERL_CANARY_STABILITY_NOPROMPT=1> - -Do not prompt the user on alert messages. - -=item C<PERL_CANARY_STABILITY_COLOUR=0> - -Disable use of colour. - -=item C<PERL_CANARY_STABILITY_COLOUR=1> - -Force use of colour. - -=item C<PERL_CANARY_STABILITY_DISABLE=1> - -Disable this modules functionality completely. - -=back - -=head1 AUTHOR - - Marc Lehmann <schmorp@schmorp.de> - http://software.schmorp.de/pkg/Canary-Stability.html - -=cut - -1 - |