summaryrefslogtreecommitdiff
path: root/Master/tlpkg/tlperl/site/lib/Canary/Stability.pm
diff options
context:
space:
mode:
Diffstat (limited to 'Master/tlpkg/tlperl/site/lib/Canary/Stability.pm')
-rw-r--r--Master/tlpkg/tlperl/site/lib/Canary/Stability.pm207
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
-