1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
From: Dominic Hargreaves <dom@earth.li>
Date: Mon, 17 May 2010 13:23:07 +0300
Subject: Point users to Debian packages of deprecated core modules
Bug-Debian: http://bugs.debian.org/747628
---
lib/deprecate.pm | 18 +++++++++++++++++-
1 file changed, 17 insertions(+), 1 deletion(-)
diff --git a/lib/deprecate.pm b/lib/deprecate.pm
index 995322c..057632d 100644
--- a/lib/deprecate.pm
+++ b/lib/deprecate.pm
@@ -7,6 +7,16 @@ our $VERSION = 0.04;
our %Config;
unless (%Config) { require Config; *Config = \%Config::Config; }
+# Debian-specific change: recommend the separate Debian packages of
+# deprecated modules where available
+
+our %DEBIAN_PACKAGES = (
+ 'B::Debug' => 'libb-debug-perl',
+ 'Locale::Codes' => 'liblocale-codes-perl',
+ 'Locale::Country' => 'liblocale-codes-perl',
+ 'Locale::Language' => 'liblocale-codes-perl',
+);
+
# This isn't a public API. It's internal to code maintained by the perl-porters
# If you would like it to be a public API, please send a patch with
# documentation and tests. Until then, it may change without warning.
@@ -58,9 +68,15 @@ EOM
if (defined $callers_bitmask
&& (vec($callers_bitmask, $warnings::Offsets{deprecated}, 1)
|| vec($callers_bitmask, $warnings::Offsets{all}, 1))) {
- warn <<"EOM";
+ if (my $deb = $DEBIAN_PACKAGES{$package}) {
+ warn <<"EOM";
+$package will be removed from the Perl core distribution in the next major release. Please install the separate $deb package. It is being used at $call_file, line $call_line.
+EOM
+ } else {
+ warn <<"EOM";
$package will be removed from the Perl core distribution in the next major release. Please install it from CPAN. It is being used at $call_file, line $call_line.
EOM
+ }
}
}
}
|