Hello community, here is the log from the commit of package perl-Cpanel-JSON-XS for openSUSE:Factory checked in at 2017-09-04 12:37:11 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-Cpanel-JSON-XS (Old) and /work/SRC/openSUSE:Factory/.perl-Cpanel-JSON-XS.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Cpanel-JSON-XS" Mon Sep 4 12:37:11 2017 rev:8 rq:520451 version:3.0238 Changes: -------- --- /work/SRC/openSUSE:Factory/perl-Cpanel-JSON-XS/perl-Cpanel-JSON-XS.changes 2017-08-28 15:10:32.952533985 +0200 +++ /work/SRC/openSUSE:Factory/.perl-Cpanel-JSON-XS.new/perl-Cpanel-JSON-XS.changes 2017-09-04 12:37:12.636015097 +0200 @@ -1,0 +2,10 @@ +Sat Aug 26 05:16:44 UTC 2017 - co...@suse.com + +- updated to 3.0238 + see /usr/share/doc/packages/perl-Cpanel-JSON-XS/Changes + + 3.0238 2017-08-25 (rurban) + - Make printing of numbers on perl's earlier than 5.22 locale + insensitive, to produce a dot as decimal sep. (#96) + +------------------------------------------------------------------- Old: ---- Cpanel-JSON-XS-3.0237.tar.gz New: ---- Cpanel-JSON-XS-3.0238.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-Cpanel-JSON-XS.spec ++++++ --- /var/tmp/diff_new_pack.9nrW0X/_old 2017-09-04 12:37:13.271925631 +0200 +++ /var/tmp/diff_new_pack.9nrW0X/_new 2017-09-04 12:37:13.271925631 +0200 @@ -17,7 +17,7 @@ Name: perl-Cpanel-JSON-XS -Version: 3.0237 +Version: 3.0238 Release: 0 %define cpan_name Cpanel-JSON-XS Summary: Cpanel Fork of Json::Xs, Fast and Correct Serializing ++++++ Cpanel-JSON-XS-3.0237.tar.gz -> Cpanel-JSON-XS-3.0238.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Cpanel-JSON-XS-3.0237/.appveyor.yml new/Cpanel-JSON-XS-3.0238/.appveyor.yml --- old/Cpanel-JSON-XS-3.0237/.appveyor.yml 2017-07-27 22:15:44.000000000 +0200 +++ new/Cpanel-JSON-XS-3.0238/.appveyor.yml 2017-07-29 17:18:21.000000000 +0200 @@ -45,4 +45,4 @@ build: off test_script: - - cmd: 'call t\appveyor-test.bat' + - 't\appveyor-test.bat' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Cpanel-JSON-XS-3.0237/.travis.yml new/Cpanel-JSON-XS-3.0238/.travis.yml --- old/Cpanel-JSON-XS-3.0237/.travis.yml 2017-07-27 22:15:44.000000000 +0200 +++ new/Cpanel-JSON-XS-3.0238/.travis.yml 2017-07-29 17:18:21.000000000 +0200 @@ -59,7 +59,7 @@ matrix: fast_finish: true include: - - perl: "5.26" + - perl: "5.18" env: COVERAGE=1 AUTHOR_TESTING=1 # enables coverage+coveralls reporting allow_failures: - env: COVERAGE=1 AUTHOR_TESTING=1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Cpanel-JSON-XS-3.0237/Changes new/Cpanel-JSON-XS-3.0238/Changes --- old/Cpanel-JSON-XS-3.0237/Changes 2017-07-28 11:20:18.000000000 +0200 +++ new/Cpanel-JSON-XS-3.0238/Changes 2017-08-25 21:36:52.000000000 +0200 @@ -2,6 +2,10 @@ TODO: http://stevehanov.ca/blog/index.php?id=104 compression +3.0238 2017-08-25 (rurban) + - Make printing of numbers on perl's earlier than 5.22 locale + insensitive, to produce a dot as decimal sep. (#96) + 3.0237 2017-07-28 (rurban) - relax inf/nan tests as in t/op/infnan.t for windows. we cannot know if msvcrt.dll or the new ucrt.dll is used. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Cpanel-JSON-XS-3.0237/META.json new/Cpanel-JSON-XS-3.0238/META.json --- old/Cpanel-JSON-XS-3.0237/META.json 2017-07-28 13:14:53.000000000 +0200 +++ new/Cpanel-JSON-XS-3.0238/META.json 2017-08-25 22:52:34.000000000 +0200 @@ -48,6 +48,6 @@ "url" : "https://github.com/rurban/Cpanel-JSON-XS" } }, - "version" : "3.0237", + "version" : "3.0238", "x_serialization_backend" : "JSON::PP version 2.93" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Cpanel-JSON-XS-3.0237/META.yml new/Cpanel-JSON-XS-3.0238/META.yml --- old/Cpanel-JSON-XS-3.0237/META.yml 2017-07-28 13:14:53.000000000 +0200 +++ new/Cpanel-JSON-XS-3.0238/META.yml 2017-08-25 22:52:34.000000000 +0200 @@ -23,5 +23,5 @@ bugtracker: https://github.com/rurban/Cpanel-JSON-XS/issues license: http://dev.perl.org/licenses/ repository: https://github.com/rurban/Cpanel-JSON-XS -version: '3.0237' +version: '3.0238' x_serialization_backend: 'CPAN::Meta::YAML version 0.018' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Cpanel-JSON-XS-3.0237/README new/Cpanel-JSON-XS-3.0238/README --- old/Cpanel-JSON-XS-3.0237/README 2017-07-28 13:14:54.000000000 +0200 +++ new/Cpanel-JSON-XS-3.0238/README 2017-08-25 22:52:51.000000000 +0200 @@ -158,6 +158,8 @@ - #72 parsing of illegal unicode or non-unicode characters. + - #96 locale-insensitive numeric conversion + - public maintenance and bugtracker - use ppport.h, sanify XS.xs comment styles, harness C coding style diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Cpanel-JSON-XS-3.0237/SIGNATURE new/Cpanel-JSON-XS-3.0238/SIGNATURE --- old/Cpanel-JSON-XS-3.0237/SIGNATURE 2017-07-28 13:14:54.000000000 +0200 +++ new/Cpanel-JSON-XS-3.0238/SIGNATURE 2017-08-25 22:52:51.000000000 +0200 @@ -14,17 +14,17 @@ -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 -SHA1 66ade5a767190219d6892f1e4d59fea22be138d8 .appveyor.yml -SHA1 041783628ea621df1271501c341141be0c4cd0c2 .travis.yml +SHA1 b1dc76bb84e636c3d4a32dc6676ae3259fa25aeb .appveyor.yml +SHA1 dc43f44fb1538b019f6b00c3b761bcdef76e7d2b .travis.yml SHA1 9a56f3b919dfc8fced3803e165a2e38de62646e5 COPYING -SHA1 05e39fba1f3550cca1f9d6f15fb2fd472b133fa6 Changes +SHA1 49a2ea2313c4a80c9a1b17ac5a33e37b4aee5211 Changes SHA1 1cb5b409cb86b392753ca0ea2d6ba718f104b128 MANIFEST -SHA1 0293f584ff61e62d9a5efea0bb74191a93eaae62 META.json -SHA1 dc0b25e34b021a66f298791270c523c70812b347 META.yml +SHA1 12c974bbab5e0fc50c25915021acbafc2ba1c5c3 META.json +SHA1 3f227704a2b605b00db50cddf12c9e86bfe564bb META.yml SHA1 9f4e725e4e2fa7e255d1fce4314446c77da64035 Makefile.PL -SHA1 ad85457cffa84dc07f9016b170f0ea7894a2b5eb README -SHA1 9a3fda3cb684c8a4d482472640aa0e38de6e55a7 XS.pm -SHA1 3022dd0522d14476779a21d7d9ad550bbea4a3a3 XS.xs +SHA1 13237f66b5b6778d16cb6b3b272982de5915348d README +SHA1 9512711c01a1f10c12c45290c55ac195e7cc374a XS.pm +SHA1 b2294e2d6e251c43a8c27a931b5e85b44695ea79 XS.xs SHA1 27b0bc7e0cd6fe90876fb3d285065c6a07cca028 XS/Boolean.pm SHA1 9e4b04d1af085e6959aaed51734475d350136392 bin/cpanel_json_xs SHA1 ea72bbe602baaabdd0004ef1d7e7cc3334b42bb4 eg/bench @@ -53,7 +53,7 @@ SHA1 8dece990d5b07df0ae1b6364caefced774cb587d t/114_decode_prefix.t SHA1 eb050780996f1e428c87bf6375415ca4c863cbb2 t/115_tie_ixhash.t SHA1 3477b0490b8666e451ac15df97f9f35d72c946b1 t/116_incr_parse_fixed.t -SHA1 5dc6d574882edd0d6c49ec3d5daeb8d9d4afc246 t/117_numbers.t +SHA1 25ca035b576130cf560953df4e9daf68bdd96c3c t/117_numbers.t SHA1 d1003d09b5da3609977362bcda64b2c593039a6b t/11_pc_expo.t SHA1 c0037e62cefc891df4bb84a110051963a60e9f8c t/12_blessed.t SHA1 4d553fd6b5e4486f087babff2946e0cb4b2c38fb t/13_limit.t @@ -69,7 +69,7 @@ SHA1 3d155f37e687f929bd0cae767dc2dbf1993b73c9 t/22_comment_at_eof.t SHA1 1ffb0242c800720c565a9e148e184bfa9d54b1c4 t/23_array_ctx.t SHA1 2d2ccc7877250f80755a74acd0c3c2f21e606aae t/24_freeze_recursion.t -SHA1 b1af7c633a8654de5180ae42289f8fe6d86263de t/25_boolean.t +SHA1 bc1bf7bba31c320aed7164fe377957a0f6a8be57 t/25_boolean.t SHA1 b731e24e61fd24c19c7b2e636bf20b368fbc851e t/26_duplicate.t SHA1 7f4c74f3c46477c513a2baf07a60c94969d2e0e9 t/30_jsonspec.t SHA1 3705a4bc706627dde26e444f41342b88850cbe98 t/31_bom.t @@ -434,7 +434,7 @@ SHA1 e93c9b53438be114c25aa426742e24f4343057a7 typemap -----BEGIN PGP SIGNATURE----- -iF0EARECAB0WIQRZHhhUcL58V8z0UW2abZJij/3JQgUCWXscrQAKCRCabZJij/3J -QuLWAJ9MygjIcjr3je/GWcbxuToLjGUADwCgi4KIy98+e+HNEpVgBKEy+pqXeec= -=7QEI +iF0EARECAB0WIQRZHhhUcL58V8z0UW2abZJij/3JQgUCWaCOEwAKCRCabZJij/3J +QpBjAJ4qTm8QvBv4LnkngrHyJ2nFFG14igCfc+lK4hL27HUiAW9k9ZUXdtXH9R4= +=34bW -----END PGP SIGNATURE----- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Cpanel-JSON-XS-3.0237/XS.pm new/Cpanel-JSON-XS-3.0238/XS.pm --- old/Cpanel-JSON-XS-3.0237/XS.pm 2017-07-28 11:20:18.000000000 +0200 +++ new/Cpanel-JSON-XS-3.0238/XS.pm 2017-08-25 21:38:24.000000000 +0200 @@ -1,5 +1,5 @@ package Cpanel::JSON::XS; -our $VERSION = '3.0237'; +our $VERSION = '3.0238'; our $XS_VERSION = $VERSION; # $VERSION = eval $VERSION; @@ -171,6 +171,8 @@ - #72 parsing of illegal unicode or non-unicode characters. + - #96 locale-insensitive numeric conversion + - public maintenance and bugtracker - use ppport.h, sanify XS.xs comment styles, harness C coding style diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Cpanel-JSON-XS-3.0237/XS.xs new/Cpanel-JSON-XS-3.0238/XS.xs --- old/Cpanel-JSON-XS-3.0237/XS.xs 2017-07-28 11:20:18.000000000 +0200 +++ new/Cpanel-JSON-XS-3.0238/XS.xs 2017-08-25 21:35:30.000000000 +0200 @@ -28,6 +28,10 @@ #define HAVE_BAD_POWL #endif +#if PERL_VERSION < 22 && defined(HAS_SETLOCALE) +#define NEED_NUMERIC_LOCALE_C +#endif + /* FIXME: still a refcount error */ #define HAVE_DECODE_BOM #define UTF8BOM "\357\273\277" /* EF BB BF */ @@ -1387,6 +1391,9 @@ { char *savecur, *saveend; char inf_or_nan = 0; +#ifdef NEED_NUMERIC_LOCALE_C + char *locale = NULL; +#endif NV nv = SvNVX(sv); /* trust that perl will do the right thing w.r.t. JSON syntax. */ need (aTHX_ enc, NV_DIG + 32); @@ -1406,11 +1413,22 @@ } } #endif + /* locale insensitive sprintf radix #96 */ +#ifdef NEED_NUMERIC_LOCALE_C + locale = setlocale(LC_NUMERIC, NULL); + if (!locale || strNE(locale, "C")) { + setlocale(LC_NUMERIC, "C"); + } +#endif #ifdef USE_QUADMATH quadmath_snprintf(enc->cur, enc->end - enc->cur, "%.*Qg", (int)NV_DIG, nv); #else (void)Gconvert (nv, NV_DIG, 0, enc->cur); #endif +#ifdef NEED_NUMERIC_LOCALE_C + if (locale) + setlocale(LC_NUMERIC, locale); +#endif #ifdef STR_INF4 if (UNLIKELY(strEQc(enc->cur, STR_INF) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Cpanel-JSON-XS-3.0237/t/117_numbers.t new/Cpanel-JSON-XS-3.0238/t/117_numbers.t --- old/Cpanel-JSON-XS-3.0237/t/117_numbers.t 2017-07-28 11:20:18.000000000 +0200 +++ new/Cpanel-JSON-XS-3.0238/t/117_numbers.t 2017-08-25 21:43:09.000000000 +0200 @@ -3,7 +3,7 @@ use Test::More; use Config; plan skip_all => "Yet unhandled inf/nan with $^O" if $^O eq 'dec_osf'; -plan tests => 24; +plan tests => 25; # infnan_mode = 0: is encode_json([9**9**9]), '[null]', "inf -> null stringify_infnan(0)"; @@ -126,3 +126,10 @@ $resnum = ($] > 5.007 && $] <= 5.010) ? '23' : '23.0'; is encode_json({test => [$num, $str]}), qq|{"test":[$resnum,"bar"]}|, 'int/string dualvar'; + +{ + use POSIX qw(setlocale); + setlocale(&POSIX::LC_ALL, "fr_FR.utf-8"); + is encode_json({"invalid" => 123.45}), qq|{"invalid":123.45}|, + "numeric radix"; +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Cpanel-JSON-XS-3.0237/t/25_boolean.t new/Cpanel-JSON-XS-3.0238/t/25_boolean.t --- old/Cpanel-JSON-XS-3.0237/t/25_boolean.t 2017-07-27 22:15:44.000000000 +0200 +++ new/Cpanel-JSON-XS-3.0238/t/25_boolean.t 2017-07-29 17:18:21.000000000 +0200 @@ -1,6 +1,7 @@ use strict; use Test::More tests => 32; use Cpanel::JSON::XS (); +use Config; my $booltrue = q({"is_true":true}); my $boolfalse = q({"is_false":false}); @@ -60,22 +61,28 @@ is( $nonref_cjson->encode( do{utf8::is_utf8($utf8)} ), "true", "map do{utf8::is_utf8(\$utf8)} to true"); } -# GH #39 -# perl expression which evaluates to sv_no or sv_yes -SKIP: { - # implemented in 5.16 but broken, works since 5.20 - skip 'Perl 5.20 is needed for boolean tests based on !1 and !0', 4 if $] < 5.020; - is( $nonref_cjson->encode( !1 ), "false", "map !1 to false"); - is( $nonref_cjson->encode( !1 ), "false", "map !1 to false"); - is( $nonref_cjson->encode( !0 ), "true", "map !0 to true"); - is( $nonref_cjson->encode( !0 ), "true", "map !0 to true"); +# GH #39 stringification. enabled with 5.16, stable fix with 5.20 +if ($] < 5.020 && $Config{useithreads}) { + # random results threaded + my ($strue, $sfalse) = (qr/^(1|true)$/, qr/^(""||false)$/); + like( $nonref_cjson->encode( !1 ), $sfalse, "map !1 to false"); + like( $nonref_cjson->encode( !1 ), $sfalse, "map !1 to false"); + like( $nonref_cjson->encode( !0 ), $strue, "map !0 to 1/true"); + like( $nonref_cjson->encode( !0 ), $strue, "map !0 to 1/true"); +} else { + # perl expression which evaluates to stable sv_no or sv_yes + my ($strue, $sfalse) = ("true", "false"); + is( $nonref_cjson->encode( !1 ), $sfalse, "map !1 to false"); + is( $nonref_cjson->encode( !1 ), $sfalse, "map !1 to false"); + is( $nonref_cjson->encode( !0 ), $strue, "map !0 to true"); + is( $nonref_cjson->encode( !0 ), $strue, "map !0 to true"); } $js = $cjson->decode( $truefalse ); ok ($js->[0] == $true, "decode true to yes"); ok ($js->[1] == $false, "decode false to no"); -ok( Cpanel::JSON::XS::is_bool($js->[0]) ); -ok( Cpanel::JSON::XS::is_bool($js->[1]) ); +ok( Cpanel::JSON::XS::is_bool($js->[0]), "true is_bool"); +ok( Cpanel::JSON::XS::is_bool($js->[1]), "false is_bool"); # GH #53 -ok( !Cpanel::JSON::XS::is_bool( [] ) ); +ok( !Cpanel::JSON::XS::is_bool( [] ), "[] !is_bool");