Patchworkβ [oe] small perl initialisation patch

login
register
about
Submitter Frans Meulenbroeks
Date 2010-01-26 21:51:52
Message ID <ac9c93b11001261351n4a1475c3q46d6a441a66f2e5e@mail.gmail.com>
Download mbox | patch
Permalink /patch/1522/
State Changes Requested
Headers show

Comments

Frans Meulenbroeks - 2010-01-26 21:51:52
HI all,

Attached is a patch for perl to improve initialisation.
From the commit message:

Perl file Lib/CPAN/FirstTime.pm can enter a dialog for continent which
never ends.
This problem is among others sometimes triggered by
libxml-namespacesupport-perl_1.10.bb
The patch forces the answer for manual configuration to "no" avoiding
that we run into this problem

As I am not really a perl wiz, I would like some more eyeballs to look
at this one.

And apologies for not inlining the patch, but gmail wraps and
configuring git send-email requires several perl modules that are not
on the opensuse feed

Appreciated your feedback

Frans
Roman Khimov - 2010-03-22 10:54:09
В сообщении от Среда 27 января 2010 00:51:52 автор Frans Meulenbroeks написал:
> Perl file Lib/CPAN/FirstTime.pm can enter a dialog for continent which
> never ends.
> This problem is among others sometimes triggered by
> libxml-namespacesupport-perl_1.10.bb
> The patch forces the answer for manual configuration to "no" avoiding
> that we run into this problem

Package build problem can be fixed with proper dependencies (perl checks for 
dependencies and only if there's something missing it tries to use CPAN). 
So, this patch hides the problem. Also, I don't think it's needed for target 
Perl, there probably could be some cases when CPAN on target might be of use.

But in general what I don't like about this situation is that when you 
encounter it while packaging yet another module the build process just hangs 
on do_configure task with 100% CPU utilization and it's unobvious what's going 
on until you check the ever growing log file. Then you have to kill bitbake. 
All of this sucks.

Also, Perl 5.10 has some different handling for this, at quick glance it 
autoconfigures by default now and really downloads everything it needs from 
CPAN, which is also bad in our case, since we need to control what installed 
where.

So, IMHO what could be useful is for our perl-native package to have some kind 
of bouncer in FirstTime.pm that would die with something like "Error: tried to 
configure CPAN. Usually it means broken dependencies for packaged modules, so 
go fix your package".
Frans Meulenbroeks - 2010-03-22 11:06:02
2010/3/22 Roman Khimov <khimov@altell.ru>:
> В сообщении от Среда 27 января 2010 00:51:52 автор Frans Meulenbroeks написал:
>> Perl file Lib/CPAN/FirstTime.pm can enter a dialog for continent which
>> never ends.
>> This problem is among others sometimes triggered by
>> libxml-namespacesupport-perl_1.10.bb
>> The patch forces the answer for manual configuration to "no" avoiding
>> that we run into this problem
>
> Package build problem can be fixed with proper dependencies (perl checks for
> dependencies and only if there's something missing it tries to use CPAN).
> So, this patch hides the problem. Also, I don't think it's needed for target
> Perl, there probably could be some cases when CPAN on target might be of use.
>
> But in general what I don't like about this situation is that when you
> encounter it while packaging yet another module the build process just hangs
> on do_configure task with 100% CPU utilization and it's unobvious what's going
> on until you check the ever growing log file. Then you have to kill bitbake.
> All of this sucks.
>
> Also, Perl 5.10 has some different handling for this, at quick glance it
> autoconfigures by default now and really downloads everything it needs from
> CPAN, which is also bad in our case, since we need to control what installed
> where.
>
> So, IMHO what could be useful is for our perl-native package to have some kind
> of bouncer in FirstTime.pm that would die with something like "Error: tried to
> configure CPAN. Usually it means broken dependencies for packaged modules, so
> go fix your package".

Agree this is a better way to handle this problem.
However, I'm not sure if I have the perl skills to fix this, and I am
definitely lacking the time right now.

Frans

Patch

From 6e697b10c3d258c0f2bdf5ec1c755e3085e1340d Mon Sep 17 00:00:00 2001
From: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
Date: Tue, 26 Jan 2010 22:21:21 +0100
Subject: [PATCH] perl 5.8.8:  do not enter manual configuration

Perl file Lib/CPAN/FirstTime.pm can enter a dialog for continent which never ends.
This problem is among others sometimes triggered by libxml-namespacesupport-perl_1.10.bb
The patch forces the answer for manual configuration to "no" avoiding that we run into this problem
---
 recipes/perl/perl-5.8.8/firsttime.patch |   15 +++++++++++++++
 recipes/perl/perl-native_5.8.8.bb       |    3 ++-
 recipes/perl/perl_5.8.8.bb              |    3 ++-
 3 files changed, 19 insertions(+), 2 deletions(-)
 create mode 100644 recipes/perl/perl-5.8.8/firsttime.patch

diff --git a/recipes/perl/perl-5.8.8/firsttime.patch b/recipes/perl/perl-5.8.8/firsttime.patch
new file mode 100644
index 0000000..bd09589
--- /dev/null
+++ b/recipes/perl/perl-5.8.8/firsttime.patch
@@ -0,0 +1,15 @@ 
+Index: perl-5.8.8/lib/CPAN/FirstTime.pm
+===================================================================
+--- perl-5.8.8.orig/lib/CPAN/FirstTime.pm
++++ perl-5.8.8/lib/CPAN/FirstTime.pm
+@@ -68,9 +68,7 @@ dialog anytime later by typing 'o conf i
+ 
+ ];
+ 
+-    my $manual_conf =
+-	ExtUtils::MakeMaker::prompt("Are you ready for manual configuration?",
+-				    "yes");
++    my $manual_conf = "no";
+     my $fastread;
+     {
+       local $^W;
diff --git a/recipes/perl/perl-native_5.8.8.bb b/recipes/perl/perl-native_5.8.8.bb
index 60a5cf5..a9c66e8 100644
--- a/recipes/perl/perl-native_5.8.8.bb
+++ b/recipes/perl/perl-native_5.8.8.bb
@@ -15,7 +15,8 @@  SRC_URI = "http://ftp.funet.fi/pub/CPAN/src/perl-${PV}.tar.gz \
            file://native-no-gdbminc.patch;patch=1 \
            file://native-perlinc.patch;patch=1 \
            file://makedepend-dash.patch;patch=1 \
-           file://asm-pageh-fix.patch;patch=1"
+           file://asm-pageh-fix.patch;patch=1 \
+           file://firsttime.patch;patch=1"
 
 S = "${WORKDIR}/perl-${PV}"
 
diff --git a/recipes/perl/perl_5.8.8.bb b/recipes/perl/perl_5.8.8.bb
index edd3a83..200e70c 100644
--- a/recipes/perl/perl_5.8.8.bb
+++ b/recipes/perl/perl_5.8.8.bb
@@ -5,7 +5,7 @@  LICENSE = "Artistic|GPL"
 PRIORITY = "optional"
 # We need gnugrep (for -I)
 DEPENDS = "virtual/db perl-native grep-native"
-PR = "r31"
+PR = "r32"
 
 # Major part of version
 PVM = "5.8"
@@ -30,6 +30,7 @@  SRC_URI = "ftp://ftp.funet.fi/pub/CPAN/src/perl-${PV}.tar.gz \
         file://64_debian_enc2xs_inc.patch;patch=1 \
         file://asm-pageh-fix.patch;patch=1 \
         file://shared-ldflags.patch;patch=1 \
+        file://firsttime.patch;patch=1 \
         file://config.sh \
         file://config.sh-32 \
         file://config.sh-32-le \
-- 
1.6.4.2