Package: release.debian.org Severity: normal User: [email protected] Usertags: unblock
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Dear Release-Team Please unblock package libmath-random-mt-perl Version 1.15 introduced a bug: rand() does not handle arguments and irand() handles arguments wrongly. rand($number) should report value generated by the PRNG in the interval [0,$number). But due to an implementing error it still reported only values in [0,1). Similarly the irand() was implemented wrong. Could you consider unblocking this for wheezy even if it is not a RC-Bug per se? I have attached the debdiff. Upstream Bugreport is [1], and I opened [2] to track the issue. Furthermore the package can be fixed by passing trough unstable first. [1]: https://rt.cpan.org/Public/Bug/Display.html?id=78200 [2]: http://bugs.debian.org/684085 unblock libmath-random-mt-perl/1.15-2 Regards, Salvatore - -- System Information: Debian Release: wheezy/sid APT prefers unstable APT policy: (500, 'unstable'), (1, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 2.6.32-5-amd64 (SMP w/8 CPU cores) Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968) Shell: /bin/sh linked to /bin/dash -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) iQIcBAEBCgAGBQJQINaaAAoJEHidbwV/2GP+1CMQAJfSyBp0U2MRrIuKzfQqxryx ttdrsB9eE7hb/33RslScMH7pYFCkD6hlP+3i0wT1ASFUvsHfbJdrYHZWeP/e8hz/ y7PMm1KHRy82Tm+7mpesxoxFZB0z+lz/C7EtaFNp73tobE8/9az4FDqVGZj36d2c 4ph7YvRRXWSPwfcz7jzhRkpHqX3gJTxjUmD53nnxEXWPfSebJVG7c2j9Gkmyn5Zx C2I9CNc7qPQuPOEguE3BAk3Ip4SEaB9UqlyzQ6LDM+6W7YMujHfeIUzOARZV1bza s/KKOle2QkChLOoz79fcv2uwrBby9xsfL1a8hNBhbcpTHGFoRPMWqT08NtTWmPMl CKDN0+Qd/BzuXeYAIIJz0gboiYd+lR79ZkJmpFkyoXIwl3aI33HV2bVenmeqtdlM bpmwblDj6Ks2zvy/pLRdrIHu7T+yaeYCnzKaphBXXxjd+VTAKJeoNqE6rHYBTTE+ OUN3ZcBrlJtnPP4YTFEgWLykYd/S7cjvGaPOb5TK0ILxeyEbGlStLh9ZlL50gFmU 83XxuQVCGsp9CHWMrXFC6kdmrrVLDN/oxDpkUE+RgztQwVBWq9sTLInVRqHbcO+y pmx+7IZGWBcnLkzgsN7fWp9Rk/ItsbjuNn+hct6dw3aB27XGt03hjz+QFLDKQsUH mtNFIJvz7x7mhIEW2SFT =4mej -----END PGP SIGNATURE-----
diffstat for libmath-random-mt-perl-1.15 libmath-random-mt-perl-1.15 changelog | 9 + patches/0001-Fix-handling-of-rand-and-irand-arguments.patch | 86 ++++++++++++ patches/series | 1 3 files changed, 96 insertions(+) diff -Nru libmath-random-mt-perl-1.15/debian/changelog libmath-random-mt-perl-1.15/debian/changelog --- libmath-random-mt-perl-1.15/debian/changelog 2012-06-04 07:03:51.000000000 +0200 +++ libmath-random-mt-perl-1.15/debian/changelog 2012-08-07 08:00:33.000000000 +0200 @@ -1,3 +1,12 @@ +libmath-random-mt-perl (1.15-2) unstable; urgency=low + + * Add 0001-Fix-handling-of-rand-and-irand-arguments.patch patch. + Fix handling of rand() and irand() arguments. Fixed the issue introduced + in version 1.15 where rand() took no notice of argument and irand() did. + (Closes: #684085) + + -- Salvatore Bonaccorso <[email protected]> Tue, 07 Aug 2012 07:57:49 +0200 + libmath-random-mt-perl (1.15-1) unstable; urgency=low * Imported Upstream version 1.15 diff -Nru libmath-random-mt-perl-1.15/debian/patches/0001-Fix-handling-of-rand-and-irand-arguments.patch libmath-random-mt-perl-1.15/debian/patches/0001-Fix-handling-of-rand-and-irand-arguments.patch --- libmath-random-mt-perl-1.15/debian/patches/0001-Fix-handling-of-rand-and-irand-arguments.patch 1970-01-01 01:00:00.000000000 +0100 +++ libmath-random-mt-perl-1.15/debian/patches/0001-Fix-handling-of-rand-and-irand-arguments.patch 2012-08-07 08:00:33.000000000 +0200 @@ -0,0 +1,86 @@ +Description: Fix handling of rand() and irand() arguments + Fixed issue introduced in version 1.15 where rand() took no notice of + argument and irand() did. +Origin: vendor +Bug: https://rt.cpan.org/Public/Bug/Display.html?id=78200 +Bug-Debian: http://bugs.debian.org/684085 +Forwarded: not-needed +Author: Salvatore Bonaccorso <[email protected]> +Last-Update: 2012-08-06 + +--- a/MT.pm ++++ b/MT.pm +@@ -41,26 +41,27 @@ + my ($self, $N) = @_; + + unless (ref $self) { ++ $N = $self; + Math::Random::MT::srand() unless defined $gen; + $self = $gen; + } + +- return $self->genrand(); ++ return ($N || 1) * $self->genrand(); + } + + sub irand + { +- my ($self, $N) = @_; ++ my ($self) = @_; + + unless (ref $self) { +- $N = $self; + Math::Random::MT::srand() unless defined $gen; + $self = $gen; + } + +- return ($N || 1) * $self->genirand(); ++ return $self->genirand(); + } + ++ + # Generate a random seed using the built-in PRNG. + + sub _rand_seed { +--- a/t/1.t ++++ b/t/1.t +@@ -3,7 +3,7 @@ + use Test; + use vars qw($loaded); + +-BEGIN { plan tests => 6 } ++BEGIN { plan tests => 10 } + END { print "not ok 1\n" unless $loaded } + + # Test that the OO interface works +@@ -15,3 +15,9 @@ + ok(abs($gen->rand() - 0.135477004107088) < 1e-14); + ok($gen->irand() == 3890346734); + ok($gen->irand() == 3586334585); ++ ++ok(abs($gen->rand(10) - 1.269868118688464) < 1e-14); # rand() takes a multiplier as argument ++ok(abs($gen->rand(10) - 9.688677710946649) < 1e-14); ++ ++ok($gen->irand(123) == 3922919429); # irand() takes no argument; given argument does nothing ++ok($gen->irand(123) == 949333985); +--- a/t/2.t ++++ b/t/2.t +@@ -3,7 +3,7 @@ + use Test; + use vars qw($loaded); + +-BEGIN { plan tests => 5 } ++BEGIN { plan tests => 9 } + END { print "not ok 1\n" unless $loaded } + + # Check that the results are the same with the function-call interface +@@ -16,3 +16,9 @@ + ok(abs(rand() - 0.135477004107088) < 1e-14); + ok(irand() == 3890346734); + ok(irand() == 3586334585); ++ ++ok(abs(rand(10) - 1.269868118688464) < 1e-14); # rand() takes a multiplier as argument ++ok(abs(rand(10) - 9.688677710946649) < 1e-14); ++ ++ok(irand(123) == 3922919429); # irand() takes no argument; given argument does nothing ++ok(irand(123) == 949333985); diff -Nru libmath-random-mt-perl-1.15/debian/patches/series libmath-random-mt-perl-1.15/debian/patches/series --- libmath-random-mt-perl-1.15/debian/patches/series 1970-01-01 01:00:00.000000000 +0100 +++ libmath-random-mt-perl-1.15/debian/patches/series 2012-08-07 08:00:33.000000000 +0200 @@ -0,0 +1 @@ +0001-Fix-handling-of-rand-and-irand-arguments.patch

