Your message dated Mon, 21 Apr 2008 21:00:35 +0300 with message-id <[EMAIL PROTECTED]> and subject line Re: Bug#477146: XS_VERSION_BOOTCHECK only partly respects locales has caused the Debian Bug report #477146, regarding XS_VERSION_BOOTCHECK only partly respects locales to be marked as done.
This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what this message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact [EMAIL PROTECTED] immediately.) -- 477146: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=477146 Debian Bug Tracking System Contact [EMAIL PROTECTED] with problems
--- Begin Message ---Package: librrds-perl Version: 1.2.27-2 Severity: grave Tags: l10n Justification: renders package unusable RRDs perl module fails to use if locales set a decimal separator different to '.'. In this case, the Spanish locales (es_ES.UTF-8) use ',' as a decimal separator. DynLoader seems to compare on the left-hand side using a decimal point, and on the right-hand side using the coma. This is what I get: RRDs object version 1.2027 does not match bootstrap parameter 1,2027 at /usr/lib/perl/5.8/DynaLoader.pm line 245. The above bug is easily reproducible by running the following perl script: use POSIX; my $loc = POSIX::setlocale( &POSIX::LC_ALL, "es_ES.UTF-8" ); eval('use RRDs'); print "$@"; -- System Information: Debian Release: lenny/sid APT prefers unstable APT policy: (500, 'unstable'), (1, 'experimental') Architecture: i386 (i686) Kernel: Linux 2.6.21-2-686 (SMP w/2 CPU cores) Locale: LANG=es_ES.UTF-8, LC_CTYPE=es_ES.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages librrds-perl depends on: ii libc6 2.7-10 GNU C Library: Shared libraries ii libfreetype6 2.3.5-1+b1 FreeType 2 font engine, shared lib ii libpng12-0 1.2.15~beta5-3 PNG library - runtime ii librrd2 1.2.27-2 Time-series data storage and displ ii perl 5.8.8-12 Larry Wall's Practical Extraction ii perl-base [perlapi-5.8 5.8.8-12 The Pathologically Eclectic Rubbis ii zlib1g 1:1.2.3.3.dfsg-12 compression library - runtime librrds-perl recommends no packages. -- no debconf information
--- End Message ---
--- Begin Message ---Version: 5.10.0-1 On Mon, Apr 21, 2008 at 01:57:38PM +0200, Sebastian Harl wrote: > > use POSIX; > > my $loc = POSIX::setlocale( &POSIX::LC_ALL, "es_ES.UTF-8" ); > > eval('use RRDs'); > > print "$@"; > > The problem here is that XS_VERSION_BOOTCHECK, as used inside the C part > of the RRDs module (and most other Perl modules using XS), uses > string-compare to compare the value passed to DynaLoader::bootstrap() as > second argument with the version string as provided at compile time [1]. > Now, a floating point value is used inside RRDs to define the version > (as documented in perlmodlib(1) [2]), which is automatically converted > to a string. During that conversion, locales are respected, which is > obviously not the case for the constant string stored in XS_VERSION. > This can be worked around by assigning a string to $VERSION (in RRDs.pm) > - which should not be done though according to perlmodlib(1). Thus, this > should imho be fixed in Perl, e.g. by converting the floating point > value in a locale-unaware manner (thus reassigning a clone of this bug > to perl). This seems to be fixed in 5.10.0 by this change: [ 23323] By: rgs on 2004/09/15 16:12:42 Log: The XSUB.h patch from: Subject: CPAN Upload: J/JP/JPEACOCK/version-0.42.tar.gz From: John Peacock <[EMAIL PROTECTED]> Date: Wed, 18 Aug 2004 08:26:35 -0400 Message-ID: <[EMAIL PROTECTED]> Now it will use version object logic for version comparison when loading XS modules. Branch: perl ! XSUB.h The patch can be seen for instance in <http://www.mail-archive.com/[EMAIL PROTECTED]/msg10169.html>. Quoting John Peacock in the original thread, <http://www.nntp.perl.org/group/perl.perl5.porters/2004/08/msg93957.html>: It only affects modules built with this particular XSUB.h, and at least for all of the core modules that do so, all tests pass. It is intended to be completely transparent to the XS module built with this include file. It just changes the somewhat dubious practice of doing a string compare of the SV from XS_VERSION to a true version object comparison. The example script works for me on 5.10.0-8 from experimental (after rebuilding rrdtool for perlapi-5.10.0, of course.) I'm closing the bug; the fix will get in sid as soon as the release team says the word. Cheers, -- Niko Tyni [EMAIL PROTECTED]
--- End Message ---

