I am not really happy with this patch.
Perhaps my initial goal with the script tools/install/smoke.pl wasn't
well-known and/or understood.

Its main use case is :
- a Windows user (without parrot dev tree) downloads and installs the
setup of a monthly release.
- he runs this script in order to check the result of its installation.
- (or I ask him to run it when he tell me that he has a problem).
So this script must be *shipped* and it's the reason why I creat the
directory tools/install and put it in.

The second use case is when I prepare the Windows setup with 
http://parrotwin32.wiki.sourceforge.net/LaRecetteDuChef

So, I agree to add some CLI options, but not to add dependence on
specific Parrot-dev Perl modules.

The following patch restores the initial behavior and preserves some CLI
options.

François.

Index: tools/install/smoke.pl
===================================================================
--- tools/install/smoke.pl	(revision 32008)
+++ tools/install/smoke.pl	(working copy)
@@ -5,9 +5,9 @@
 use strict;
 use warnings;
 use 5.008;
+
 use Getopt::Long;
-use lib qw( lib );
-use vars qw( %PConfig );
+use File::Spec::Functions;
 
 use Test::More tests => 28;
 
@@ -17,23 +17,22 @@
 
 =head1 SYNOPSIS
 
-  parrot in bin
+parrot in bin
 
     % cd /usr/local/parrot-$version
-    % perl tools/install/smoke.pl -Ilib
+    % perl tools/install/smoke.pl
 
-  parrot in .
+parrot in .
 
     % perl tools/install/smoke.pl --bindir=.
 
-  test installation in DESTDIR:
+test installation in DESTDIR:
 
     % cd /usr/src/parrot
     % mkdir .inst
     % make install DESTDIR=.inst
     % perl tools/install/smoke.pl DESTDIR=.inst
 
-
 =head1 DESCRIPTION
 
 Checks that most of things run (or just start) into the install directory,
@@ -43,68 +42,29 @@
 
 =over
 
-=item -I libdir
-
-Add libdir to the libpath to find Parrot::Config
-
 =item --bindir=/usr/bin
 
-Override Parrot::Config bindir
+Override default value : 'bin'
 
 =item --libdir=/usr/lib
 
-Override Parrot::Config libdir
+Override default value : 'lib'
 
-=item --prefix=/usr
-
-Override Parrot::Config prefix and adjust
-libdir and bindir accordingly.
-
-=item DESTDIR=instpath
-
-Use the temp. installation in instpath.
-
 =back
 
 =cut
 
-my (@libdirs, $prefix, $bindir, $libdir, $DESTDIR);
-my $opts = GetOptions( 'I=s'       => [EMAIL PROTECTED],
-                       'prefix=s'  => \$prefix,
-                       'bindir=s'  => \$bindir,
-                       'libdir=s'  => \$libdir,
-                       'DESTDIR=s' => \$DESTDIR,
-                     );
-if (@libdirs) {
-    push @INC, @libdirs;
-}
-require Parrot::Config;
-Parrot::Config->import;
-require Parrot::Test;
+my ($bindir, $libdir, $DESTDIR);
+my $opts = GetOptions(
+    'bindir=s'  => \$bindir,
+    'libdir=s'  => \$libdir,
+    'DESTDIR=s' => \$DESTDIR,
+);
 
-$bindir = $PConfig{bindir} unless $bindir;
-$libdir = $PConfig{libdir} unless $libdir;
-if ($prefix) {
-    $bindir = $prefix . "/bin";
-    $libdir = $prefix . "/lib";
-}
-# Check for DESTDIR arg and adjust the path
-if (@ARGV and $ARGV[0] =~ /^DESTDIR/) {
-    if ($ARGV[0] =~ /^DESTDIR=(\S+)/) {
-        $DESTDIR = $1;
-    }
-    else {
-        $DESTDIR = $ARGV[1];
-    }
-}
-if ($DESTDIR) {
-    my $envsep = $^O eq 'MSWin32' ? ';' : ':';
-    $ENV{PATH} = $DESTDIR.$bindir.$envsep.$ENV{PATH};
-    $bindir = $DESTDIR . $bindir;
-    $libdir = $DESTDIR . $libdir;
-}
+$bindir = 'bin' unless $bindir;
+$libdir = 'lib' unless $libdir;
 
-use File::Spec::Functions;
+chdir $DESTDIR if ($DESTDIR);
 
 my $filename;
 my $exe;
@@ -115,7 +75,6 @@
 #
 # parrot executable
 #
--x $parrot or die "$parrot does not exist\n";
 
 $exe = catfile($bindir, 'pbc_merge');
 $out = `$exe`;

Reply via email to