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.

Gbp-Pq: Topic debian
Gbp-Pq: Name squelch-locale-warnings.diff
This commit is contained in:
Niko Tyni 2010-10-03 21:36:17 +03:00 committed by openKylinBot
parent 74980b5352
commit 60779b8cb6
2 changed files with 11 additions and 0 deletions

View File

@ -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" */

View File

@ -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