The issue is here is that there is nothing in Configure.pl's output to correlate the package name of the step with the output seen from a typical run.
For example, say the test that outputs "Determining architecture, OS and JIT capability......................." is failing for some reason so you want to run it verbosely? Unless you are one of the PI number of people in the world that has fiddled with the configure steps your not going to know that steps package name is 'auto::jit'. The current system lets you run that step verbosely with just `perl Configure.pl --verbose-step=jit` and it just works. Possible ways forward: 1) Do nothing and document the behavior 2) add an additional test for a step with a package name matching the string passed to --verbose-step 3) remove the "description" matching functionality 4) 2 & 3 5) remove --verbose-step altogether 6) remove the --verbose* options and just write a 'config.log' on every run that can be searched with your text editor for choice. This: - removes code - removes complexity - is helpful for user support, "please send me your config.log file" 7) have ever configure step print it's package name as part of it's output My vote would be for (in order of preference) 6, 2, 1. Cheers, -J -- On Thu, Aug 02, 2007 at 07:59:53PM -0700, James Keenan wrote: > # New Ticket Created by James Keenan > # Please include the string: [perl #44353] > # in the subject line of all future correspondence about this issue. > # <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=44353 > > > > --- > osname= linux > osvers= 2.6.18.3 > arch= i486-linux-gnu-thread-multi > cc= cc > --- > Flags: > category=core > severity=medium > ack=no > --- > particle reported tonight that the --verbose-step option to Configure.pl > doesn't DWIM. It appears to work okay if you say: perl Configure.pl > --verbose-step=2, but not if you name the step: > > [li11-226:parrot] 515 $ perl Configure.pl --verbose-step=init::manifest > Parrot Version 0.4.14 Configure 2.0 > Copyright (C) 2001-2007, The Perl Foundation. > > Hello, I'm Configure. My job is to poke and prod your system to figure > out > how to build Parrot. The process is completely automated, unless you > passed in > the `--ask' flag on the command line, in which case I'll prompt you for > a few > pieces of info. > > Since you're running this program, you obviously have Perl 5--I'll be > pulling > some defaults from its configuration. > > Checking > MANIFEST.....................................................done. > Setting up Configure's default > values.................................done. > Setting up installation > paths.........................................done. > > I think the suspect code is here. Start at line 274 of > lib/Parrot/Configure.pm: > > # by description > elsif ( $description =~ /$args->{verbose_step}/ ) { > $conf->options->set( verbose => 2 ); > } > > I feel that the regex test in the elsif makes no sense. There's no > fundamental reason why a particular step's $description should match the > contents of $args->{verbose_step} -- which at this point should be > something like init::manifest. > > Amazingly, this bad code has been in this package since before I began > to maintain it ... and because (a) no one complained until now and (b) I > didn't write a test, no one ever noticed. > > Assignment: Get the --verbose-step option working with a named step. > > --- > Summary of my parrot 0.4.14 (r20439) configuration: > configdate='Fri Aug 3 02:54:55 2007 GMT' > Platform: > osname=linux, archname=i686-linux > jitcapable=1, jitarchname=i386-linux, > jitosname=LINUX, jitcpuarch=i386 > execcapable=1 > perl=/usr/local/bin/perl > Compiler: > cc='cc', ccflags=' -pipe -I/usr/local/include -D_LARGEFILE_SOURCE > -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE', > Linker and Libraries: > ld='cc', ldflags=' -L/usr/local/lib', > cc_ldflags='', > libs='-lnsl -ldl -lm -lcrypt -lutil -lpthread -lrt' > Dynamic Linking: > share_ext='.so', ld_share_flags='-shared -L/usr/local/lib -fPIC', > load_ext='.so', ld_load_flags='-shared -L/usr/local/lib -fPIC' > Types: > iv=long, intvalsize=4, intsize=4, opcode_t=long, opcode_t_size=4, > ptrsize=4, ptr_alignment=1 byteorder=1234, > nv=double, numvalsize=8, doublesize=8 > > --- > Environment: > HOME =/home/jimk > LANG (unset) > LANGUAGE (unset) > LD_LIBRARY_PATH (unset) > LOGDIR (unset) > PATH > =/usr/local/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games:/usr/local/mysql/bin:/home/jimk/bin:/home/jimk/bin/perl > SHELL =/bin/bash
pgpmawiJduTaG.pgp
Description: PGP signature