summaryrefslogtreecommitdiff
path: root/debian/patches/debian/squelch-locale-warnings.diff
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/debian/squelch-locale-warnings.diff')
-rw-r--r--debian/patches/debian/squelch-locale-warnings.diff51
1 files changed, 51 insertions, 0 deletions
diff --git a/debian/patches/debian/squelch-locale-warnings.diff b/debian/patches/debian/squelch-locale-warnings.diff
new file mode 100644
index 0000000..5a47318
--- /dev/null
+++ b/debian/patches/debian/squelch-locale-warnings.diff
@@ -0,0 +1,51 @@
+From: Niko Tyni <ntyni@debian.org>
+Date: Sun, 3 Oct 2010 21:36:17 +0300
+Subject: Squelch locale warnings in Debian package maintainer scripts
+
+Bug-Debian: http://bugs.debian.org/508764
+
+The system locales are rather frequently out of sync with the C library
+during package upgrades, causing a huge amount of useless Perl locale
+warnings. Squelch them when running package maintainer scripts, detected
+by the DPKG_RUNNING_VERSION environment variable.
+
+Any real locale problem will show up after the system upgrade too, and
+the warning will be triggered normally again at that point.
+---
+ locale.c | 3 +++
+ pod/perllocale.pod | 8 ++++++++
+ 2 files changed, 11 insertions(+)
+
+diff --git a/locale.c b/locale.c
+index 87e11d6..8f5a3b4 100644
+--- a/locale.c
++++ b/locale.c
+@@ -3247,6 +3247,9 @@ Perl_init_i18nl10n(pTHX_ int printwarn)
+
+ const bool locwarn = (printwarn > 1
+ || ( printwarn
++ &&
++ /* Debian specific change - see http://bugs.debian.org/508764 */
++ ( ! PerlEnv_getenv("DPKG_RUNNING_VERSION"))
+ && ( ! bad_lang_use_once
+ || (
+ /* disallow with "" or "0" */
+diff --git a/pod/perllocale.pod b/pod/perllocale.pod
+index df2db5c..f621919 100644
+--- a/pod/perllocale.pod
++++ b/pod/perllocale.pod
+@@ -1297,6 +1297,14 @@ B<NOTE>: C<PERL_BADLANG> only gives you a way to hide the warning message.
+ The message tells about some problem in your system's locale support,
+ and you should investigate what the problem is.
+
++=item DPKG_RUNNING_VERSION
++
++On Debian systems, if the DPKG_RUNNING_VERSION environment variable is
++set (to any value), the locale failure warnings will be suppressed just
++like with a zero PERL_BADLANG setting. This is done to avoid floods
++of spurious warnings during system upgrades.
++See L<http://bugs.debian.org/508764>.
++
+ =back
+
+ The following environment variables are not specific to Perl: They are