tag 335105 patch tag 357264 patch thanks Attached is a patch to fix these two bugs; a brief explanation:
The fix for #335105 is to hard code the two numbers which are passed between the forked child and the parent; rand can conceivably return the same value twice in a row (although, such an occurance should be rare.) Also, the test as written would have erroneously succeded if the child never wrote anything at all. The fix for #357264 is to always call perl with the proper -I option; in the worst case, this is a null operation, but in cases where there are inter-module dependencies in modules that cannot depend on pm_to_blib the previous method would cause build failures. [See #356975] The attached interdiff prepared as if it were an NMU should fix #335105 and has been tested to fix #357264 (and in consequence, #356975) Don Armstrong -- "For those who understand, no explanation is necessary. For those who do not, none is possible." http://www.donarmstrong.com http://rzlab.ucr.edu
diff -u perl-5.8.8/lib/ExtUtils/MM_Unix.pm perl-5.8.8/lib/ExtUtils/MM_Unix.pm
--- perl-5.8.8/lib/ExtUtils/MM_Unix.pm
+++ perl-5.8.8/lib/ExtUtils/MM_Unix.pm
@@ -3028,14 +3028,11 @@
# pm_to_blib depends on then it can't depend on pm_to_blib
# else we have a dependency loop.
my $pm_dep;
- my $perlrun;
if( defined $self->{PM}{$target} ) {
$pm_dep = '';
- $perlrun = 'PERLRUN';
}
else {
$pm_dep = 'pm_to_blib';
- $perlrun = 'PERLRUNINST';
}
$m .= <<MAKE_FRAG;
@@ -3044,7 +3041,7 @@
\$(NOECHO) \$(NOOP)
$target :: $plfile $pm_dep
- \$($perlrun) $plfile $target
+ \$(PERLRUNINST) $plfile $target
MAKE_FRAG
}
diff -u perl-5.8.8/debian/changelog perl-5.8.8/debian/changelog
--- perl-5.8.8/debian/changelog
+++ perl-5.8.8/debian/changelog
@@ -1,3 +1,14 @@
+perl (5.8.8-4.1) unstable; urgency=low
+
+ * NMU
+ * Change the test in t/op/fork.t to use predefined values instead of
+ rand to work around broken rand implementations on some kernels.
+ (closes: #335105)
+ * Revert part of the upstream change in 24524 to always use PERLRUNINST
+ when building the perl modules (closes: #357264)
+
+ -- Don Armstrong <[EMAIL PROTECTED]> Fri, 5 May 2006 22:53:49 -0700
+
perl (5.8.8-4) unstable; urgency=low
* Preserve timestamps in /usr/share/doc.
only in patch2:
unchanged:
--- perl-5.8.8.orig/t/op/fork.t
+++ perl-5.8.8/t/op/fork.t
@@ -431,16 +431,16 @@
my $pid = fork;
die "fork: $!" if !defined $pid;
if ($pid == 0) {
- my $rand_child = rand;
+ my $rand_child = 1;
close RDR;
print WTR $rand_child, "\n";
close WTR;
} else {
- my $rand_parent = rand;
+ my $rand_parent = 2;
close WTR;
chomp(my $rand_child = <RDR>);
close RDR;
- print $rand_child ne $rand_parent, "\n";
+ print length $rand_child and $rand_child ne $rand_parent, "\n";
}
EXPECT
1
signature.asc
Description: Digital signature

