Re: lib/test/simple/t/create.t help with VMS issue needed.

2005-08-16 Thread PPrymmer


sebb [EMAIL PROTECTED] wrote on 08/15/2005 08:34:31 PM:

   Would it not be better to fix the VMS Perl open() call so it works
the
   same as on other OSes?

 I meant for READ access only here.

The performance impact of altering perl's open() to use the CRTL
shr would be significant.  Ordinary perl usage would slow to a crawl.
Folks who want shr can load and use VMS::Stdio::vmsopen() and pay
the performance penalty.

Peter Prymmer



Re: [ANNOUNCE] ExtUtils::MakeMaker 6.26_01

2005-03-30 Thread PPrymmer
Michael G Schwern [EMAIL PROTECTED] wrote on 03/29/2005 05:23:16 PM:


 Yes it is.  That indicates the test module never got built.  Doesn't say
 why though...  If you're feeling adventurous could you step into setup()
 on line 25 of PL_FILES.t and poke around?

One could either modify setup or modify the test.  Below I enclose
a patch that takes the latter approach.

  On both Solaris and on VMS I obtained the misleading statement:
 
  t/xs
  skipped
  all skipped: No compiler found to test XS builds
 
  Which it turns out was due to ExtUtils::CBuilder not being installed
  not because I did not have a compiler.

 Would this be less confusing?

   ExtUtils::CBuilder couldn't find a compiler to test XS builds

That would be better.  If not too long the line:

   ExtUtils::CBuilder was not found or it could not find a compiler

might be more accurate.  By the way is the plan to introduce
the new ExtUtils::MakeMaker and the ExtUtils::CBuilder into
bleedperl?  Would a warning about a missing prereq for the separate
CPAN dist of MakeMaker be helpful?

 Now that's unexpected.  VMS works but Solaris didn't.

Silly case sensitive file system: setup() wrote output
files to a directory called PL_FILES-Module then the test came
along and attempted to chdir to PL_Files-Module.  That scheme worked
on VMS and Windows, but not on Solaris (unlikely to work on any Unix).
Here is one way to address the problem:

diff -ru ExtUtils-MakeMaker-6.26_01.orig/t/PL_FILES.t 
ExtUtils-MakeMaker-6.26_01/t/PL_FILES.t
--- ExtUtils-MakeMaker-6.26_01.orig/t/PL_FILES.t  2005-03-29 
00:17:16.0 -0500
+++ ExtUtils-MakeMaker-6.26_01/t/PL_FILES.t 2005-03-30 09:29:15.326006000 
-0500
@@ -29,7 +29,7 @@
 ok( teardown );
 }

-ok chdir('PL_Files-Module');
+ok chdir('PL_FILES-Module');

 run(qq{$perl Makefile.PL});
 cmp_ok( $?, '==', 0 );
End of Patch.

With that I obtain:

All tests successful, 7 tests and 38 subtests skipped.
Files=40, Tests=714, 120 wallclock secs (60.59 cusr + 46.75 csys = 107.34 CPU)

with perl 5.8.5 on SunOS 5.8 (aka Solaris 8).

Peter Prymmer

to appease the line wrap gremlin also as an attachment:

(See attached file: em.patch)

em.patch
Description: Binary data


Re: [ANNOUNCE] ExtUtils::MakeMaker 6.26_01

2005-03-29 Thread PPrymmer
Michael G Schwern [EMAIL PROTECTED] wrote on 03/29/2005 12:51:00 AM:

 http://www.pobox.com/~schwern/src/ExtUtils-MakeMaker-6.26_01.tar.gz
 or
 http://svn.schwern.org/svn/CPAN/ExtUtils-MakeMaker/trunk
 or
 a CPAN near you

 Mark Leighton Fisher noticed that PL_FILES weren't working properly
anymore.
 This was due to a refactoring typo and has been fixed and tested.  Also
 the full behavior of PL_FILES has been documented.

 So this is a quick alpha release to knock around to make sure the new
 PL_FILES.t test works before putting out a quick 6.27.

It did not work for me on SunOS 5.8 + perl 5.6.1 + Forte make:

% make test
snip
t/PL_FILES..# Failed test (t/PL_FILES.t at line 32)
t/PL_FILES..NOK 1# Failed test (t/PL_FILES.t at line 35)
t/PL_FILES..NOK 2#  got: 512
# expected: 0
# Failed test (t/PL_FILES.t at line 38)
t/PL_FILES..NOK 3#  got: '256'
# expected: '0'
# make: Fatal error: No arguments to build
# Current working directory /home/pprymmer/testit/ExtUtils-MakeMaker-6.26
_01/t
# Failed test (t/PL_FILES.t at line 41)
t/PL_FILES..NOK 4# Failed test (t/PL_FILES.t at line 41)
t/PL_FILES..NOK 5# Failed test (t/PL_FILES.t at line 41)
t/PL_FILES..ok 8/0# Looks like you failed 6 tests of 8.
t/PL_FILES..dubious
Test returned status 6 (wstat 1536, 0x600)
DIED. FAILED tests 1-6
Failed 6/8 tests, 25.00% okay

Here is a run done sans make test:

% perl -Mblib t/PL_FILES.t
Using /home/pprymmer/testit/ExtUtils-MakeMaker-6.26_01.orig/blib
not ok 1
# Failed test (t/PL_FILES.t at line 32)
not ok 2
# Failed test (t/PL_FILES.t at line 35)
#  got: 512
# expected: 0
not ok 3
# Failed test (t/PL_FILES.t at line 38)
#  got: '256'
# expected: '0'
# make: Fatal error: No arguments to build
not ok 4 - single.out was created
# Failed test (t/PL_FILES.t at line 41)
not ok 5 - 1.out was created
# Failed test (t/PL_FILES.t at line 41)
not ok 6 - 2.out was created
# Failed test (t/PL_FILES.t at line 41)
ok 7
ok 8
1..8
# Looks like you failed 6 tests of 8.

If that is of any help.

On both Solaris and on VMS I obtained the misleading statement:

t/xs
skipped
all skipped: No compiler found to test XS builds

Which it turns out was due to ExtUtils::CBuilder not being installed
not because I did not have a compiler.

On VMS 7.3-2 + perl 5.8.1 + mmk V3.9-6 I obtained:

All tests successful, 8 tests and 94 subtests skipped.
Files=40, Tests=647, 261 wallclock secs ( 0.00 cusr +  0.00 csys =  0.00
CPU)

In trying to figure out why MakeMaker is mislead into
thinking I did not have a compiler I noticed a possible problem
with the Utils.pm handling of old makefiles:

diff -ru ExtUtils-MakeMaker-6.26_01.orig/t/lib/MakeMaker/Test/Utils.pm 
ExtUtils-MakeMaker-6.26_01/t/lib/MakeMaker/Test/Utils.pm
--- ExtUtils-MakeMaker-6.26_01.orig/t/lib/MakeMaker/Test/Utils.pm 2005-03-12 
13:05:25.0 -0500
+++ ExtUtils-MakeMaker-6.26_01/t/lib/MakeMaker/Test/Utils.pm  2005-03-29 
14:12:27.147824000 -0500
@@ -149,7 +149,7 @@

 sub makefile_backup {
 my $makefile = makefile_name;
-return $Is_VMS ? $makefile : $makefile.old;
+return $Is_VMS ? ${makefile}_old : $makefile.old;
 }

 =item Bmake
End of Patch.

I think that is correct owing to things like the following:

search descrip.mms MAKEFILE_OLD
MAKEFILE_OLD = Descrip.MMS_old

But in any case the tests all pass on VMS with or without that patch in place.

Peter Prymmer



Re: [ANNOUNCE] ExtUtils::MakeMaker 6.25_08

2005-02-18 Thread PPrymmer
Michael G Schwern [EMAIL PROTECTED] wrote on 02/08/2005 09:31:48 AM:

 Its time for another MakeMaker alpha!  This one is mostly VMS fixes
though
 I also discovered a conflict with Module::Install and undid an accidental
 change that broken Archive::Zip.  As far as I know all outstanding issues
 are resolved, so this is release candidate... oh let's call it 4.

 http://www.pobox.com/~schwern/src/ExtUtils-MakeMaker-6.25_08.tar.gz
 or
 http://svn.schwern.org/svn/CPAN/ExtUtils-MakeMaker

 Nick says code freeze for 5.8.7 is scheduled for end of Feburary.  I'd
 like to get 6.26 out before then.

This 6.25_08 kit appears to have the same problem with
multiple object files not being comma separated in the static_lib target
that I warned about in previous messages to the list:

http://www.xray.mpe.mpg.de/mailing-lists/vmsperl/2005-01/msg00030.html
http://www.xray.mpe.mpg.de/mailing-lists/vmsperl/2005-01/msg00031.html

and that I had also previously attempted to patch with:

http://www.xray.mpe.mpg.de/mailing-lists/vmsperl/2005-01/msg00032.html

Here is the tail end of the MMK command with 6.25_08 installed into
a perl 5.8.6 tree (with some added line wrapping) trying to build
Bit::Vector 6.3 (a CPAN extension especially chosen since it has
multiple $(OBJECT) files):

CC/DECC /Include=[]/Standard=Relaxed_ANSI/Prefix=All/Obj=.obj
/NOANSI_ALIAS/float=ieee/ieee=denorm_results/Define=(VERSION=6.3,
XS_VERSION=6.3)/Include=(perl_root:[lib.VMS_AXP.5_8_6.CORE])/NoList
VECTOR.c
If F$Search([.BLIB.ARCH.AUTO.BIT.VECTOR]VECTOR.OLB).eqs. Then
Library/Object/Create [.BLIB.ARCH.AUTO.BIT.VECTOR]VECTOR.OLB
Library/Object/Replace [.BLIB.ARCH.AUTO.BIT.VECTOR]VECTOR.OLB bitvector.obj
vector.obj
%DCL-W-MAXPARM, too many parameters - reenter command with fewer parameters
 \VECTOR\
%MMK-F-ERRUPD, error status %X00038098 occurred when updating target
[.BLIB.ARCH.AUTO.BIT.VECTOR]VECTOR.OLB

Note that the VMS LIBRARY command does not like to
insert space separated lists of .o files into an archive.
It will work with a comma separated list.

Enclosed is a patch taken against MM 6.25_08 that allows
MakeMaker's own mmk test suite to pass 100% and to allow me to
build Bit::Vector 6.3 on VMS:

diff -ru ExtUtils-MakeMaker-6.25_08.orig/lib/ExtUtils/MM_VMS.pm 
ExtUtils-MakeMaker-6.25_08/lib/ExtUtils/MM_VMS.pm
--- ExtUtils-MakeMaker-6.25_08.orig/lib/ExtUtils/MM_VMS.pm  2005-02-08 
09:07:02.0 -0500
+++ ExtUtils-MakeMaker-6.25_08/lib/ExtUtils/MM_VMS.pm 2005-02-18 
16:54:04.507216000 -0500
@@ -980,7 +980,10 @@

 my(@m,$lib);
 push @m,'
-$(INST_STATIC) : $(OBJECT) $(MYEXTLIB) $(INST_ARCHAUTODIR)$(DFSEP).exists
+# Rely on suffix rule for update action
+$(OBJECT) : $(INST_ARCHAUTODIR)$(DFSEP).exists
+
+$(INST_STATIC) : $(OBJECT) $(MYEXTLIB)
 ';
 # If this extension has its own library (eg SDBM_File)
 # then copy that to $(INST_STATIC) and add $(OBJECT) into it.
@@ -991,7 +994,11 @@
 # if there was a library to copy, then we can't use MMS$SOURCE_LIST,
 # 'cause it's a library and you can't stick them in other libraries.
 # In that case, we use $OBJECT instead and hope for the best
-push(@m,\t,'Library/Object/Replace $(MMS$TARGET) $(OBJECT)',\n);
+if ($self-{MYEXTLIB}) {
+  push(@m,\t,'Library/Object/Replace $(MMS$TARGET) $(OBJECT)',\n);
+} else {
+  push(@m,\t,'Library/Object/Replace $(MMS$TARGET) 
$(MMS$SOURCE_LIST)',\n);
+}

 push @m, \t\$(NOECHO) \$(PERL) -e 1 \$(INST_ARCHAUTODIR)extralibs.ld\n;
 foreach $lib (split ' ', $self-{EXTRALIBS}) {

Peter Prymmer

(See attached file: mm_6.25_08.patch)

mm_6.25_08.patch
Description: Binary data


Re: [ANNOUNCE] ExtUtils::MakeMaker 6.25_06

2005-01-06 Thread PPrymmer
Peter Prymmer/FactSet wrote on 01/05/2005 11:18:01 AM:

 was buildable by it.  If 6.25_08 gets released I'll see
 about patching it, otherwise I may try to prepare a patch
 for 6.25_07 (but don't wait too long for me).

I have tried to browse over to
http://www.pobox.com/~schwern/src/ExtUtils-MakeMaker-6.25_08.tar.gz
and obtained HTTP 404 - File not found.  I truncated the filename
and that apparenty resolved to:
http://magnonel.guild.net/~schwern/src/
and in there I see no 6.25_08 file.  I have been unable to locate
the 6.25_08 kit.

Hence I now present a revised patch to 6.25_07 to address
the object library object insertion issue while retaining a dependency
on the .exists file that you want (and was present in previous MakeMakers):

--- ExtUtils-MakeMaker-6_25_07/lib/ExtUtils/MM_VMS.pm;-1Fri Dec 31 08:48:52 
2004
+++ ExtUtils-MakeMaker-6_25_07/lib/ExtUtils/MM_VMS.pm Thu Jan  6 07:32:16 2005
@@ -981,9 +981,9 @@
 my(@m,$lib);
 push @m,'
 # Rely on suffix rule for update action
-$(OBJECT) : $(FIRST_MAKEFILE)
+$(OBJECT) : $(FIRST_MAKEFILE) $(INST_ARCHAUTODIR)$(DFSEP).exists

-$(INST_STATIC) : $(OBJECT) $(MYEXTLIB) $(INST_ARCHAUTODIR)$(DFSEP).exists
+$(INST_STATIC) : $(OBJECT) $(MYEXTLIB)
 ';
 # If this extension has its own library (eg SDBM_File)
 # then copy that to $(INST_STATIC) and add $(OBJECT) into it.

I hope that helps/suffices.

Peter Prymmer

(See attached file: mm_vms.patch_03)

mm_vms.patch_03
Description: Binary data


Re: [ANNOUNCE] ExtUtils::MakeMaker 6.25_06

2005-01-05 Thread PPrymmer
Michael G Schwern [EMAIL PROTECTED] wrote on 01/04/2005 05:12:32 PM:

 Ahh, $(MMS$SOURCE_LIST) is a list of all dependencies. I think it can be
 safely removed.  The logic is this:

 if ($self-{MYEXTLIB}) {
   push(@m,\t,'Library/Object/Replace $(MMS$TARGET)
$(OBJECT)',\n);
 } else {
   push(@m,\t,'Library/Object/Replace $(MMS$TARGET)
$(MMS$SOURCE_LIST)',\n);
 }

That is not quite correct.  As it turns out $(MMS$SOURCE_LIST) is a comma
separated list of filenames without types (in the language of RMS file
parsing
TYPEs are also known as extensions in the Windows centric world).  This
difference is crucial to the use of LIBRARY as I'll demonstrate below.

 Since the only time $(MMS$SOURCE_LIST) is used is when $(MYEXTLIB) is
empty
 and the only important dependencies are $(OBJECT) and $(MYEXTLIB) the
list is
 always going to be $(OBJECT) so both branches are effectively the same.
So
 this should solve the problem while keeping the dependency.


 --- lib/ExtUtils/MM_VMS.pm  (revision 4204)
 +++ lib/ExtUtils/MM_VMS.pm  (local)
 @@ -994,11 +991,7 @@
  # if there was a library to copy, then we can't use MMS$SOURCE_LIST,
  # 'cause it's a library and you can't stick them in other libraries.
  # In that case, we use $OBJECT instead and hope for the best
 -if ($self-{MYEXTLIB}) {
 -  push(@m,\t,'Library/Object/Replace $(MMS$TARGET)
$(OBJECT)',\n);
 -} else {
 -  push(@m,\t,'Library/Object/Replace $(MMS$TARGET)
$(MMS$SOURCE_LIST)',\
 n);
 -}
 +push(@m,\t,'Library/Object/Replace $(MMS$TARGET) $(OBJECT)',\n);


  push @m, \t\$(NOECHO) \$(PERL) -e 1
\$(INST_ARCHAUTODIR)extralibs.ld\n;
  foreach $lib (split ' ', $self-{EXTRALIBS}) {

Unfortunately it looks like this will break builds for
extensions that have more than one file listed in $(OBJECT).
Among them would be Bit::Vector 6.3, Compress::Zlib 1.33,
Date::Calc 5.3, DBD::mysql 2.903_1 (gleaned from my local
list of extensions, the list is potentially larger).

To illustrate how the LIBRARY/OBJECT/REPLACE command chokes
on a space separated list of obj files let me start
with a clean directory into which I copy the  bitvector.obj and
vector.obj files from the place where my cpan modules are built
and create a bare bones descrip.mms file that uses your proposal:

$ type descrip.mms

PERL = perl
OBJECT = bitvector.obj vector.obj
BASEEXT = TESTIT
LIB_EXT = .olb
INST_STATIC  = $(BASEEXT)$(LIB_EXT)

all :: $(INST_STATIC)
write sys$output all up to date now

$(INST_STATIC) : $(OBJECT) $(MYEXTLIB)
If F$Search($(MMS$TARGET)).eqs. Then Library/Object/Create
$(MMS$TARGET)
write sys$output $(MMS$SOURCE_LIST)
Library/Object/Replace $(MMS$TARGET) $(OBJECT)
$(NOECHO) $(PERL) -e 1 $(INST_ARCHAUTODIR)extralibs.ld

Here is a test run of that:

$ mmk
If F$Search(TESTIT.OLB).eqs. Then Library/Object/Create TESTIT.OLB
write sys$output BITVECTOR.OBJ,VECTOR.OBJ
BITVECTOR.OBJ,VECTOR.OBJ
Library/Object/Replace TESTIT.OLB bitvector.obj vector.obj
%DCL-W-MAXPARM, too many parameters - reenter command with fewer parameters
 \VECTOR\
%MMK-F-ERRUPD, error status %X00038098 occurred when updating target
TESTIT.OLB

Note that it created TESTIT.OLB but failed to insert anything in it:

$ directory/size testit.olb

Directory USER:[PPRYMMER.MAKEMAKER]

TESTIT.OLB;1 214

Total of 1 file, 214 blocks.

On the other hand if I alter my descrip.mms to incorporate
the special $(MMS$SOURCE_LIST) macro I obtain the following result:

--- descrip.mms;-1  Wed Jan  5 11:04:17 2005
+++ descrip.mms Wed Jan  5 11:07:47 2005
@@ -11,5 +11,5 @@
 $(INST_STATIC) : $(OBJECT) $(MYEXTLIB)
 If F$Search($(MMS$TARGET)).eqs. Then Library/Object/Create
$(MMS$TARGET)
write sys$output $(MMS$SOURCE_LIST)
-Library/Object/Replace $(MMS$TARGET) $(OBJECT)
+Library/Object/Replace $(MMS$TARGET) $(MMS$SOURCE_LIST)
 $(NOECHO) $(PERL) -e 1 $(INST_ARCHAUTODIR)extralibs.ld

This works OK as demonstrated below:

$ delete testit.olb;
$ mmk
If F$Search(TESTIT.OLB).eqs. Then Library/Object/Create TESTIT.OLB
write sys$output BITVECTOR.OBJ,VECTOR.OBJ
BITVECTOR.OBJ,VECTOR.OBJ
Library/Object/Replace TESTIT.OLB BITVECTOR.OBJ,VECTOR.OBJ
 perl -e 1 extralibs.ld
write sys$output all up to date now
all up to date now
$ directory/size testit.olb

Directory USER:[PPRYMMER.MAKEMAKER]

TESTIT.OLB;11091

Total of 1 file, 1091 blocks.

Note that TESTIT.OLB now has both modules inside it (hence it occupies
more disk space).

You seem dead set on having .exists as a dependent somehow,
I'd recommend removing it from the $(INST_STATIC) dependents
and I noted that in the descrip.mms for Bit::Vector there is
a rule for $(OBJECT) to depend on .exists like so:

$ search dga2:[cpan_modules.bit-vector-6_3]descrip.mms $(INST_STATIC)
:/win=(3,4)
# Rely on suffix rule for update action
$(OBJECT) : $(INST_ARCHAUTODIR)$(DIRFILESEP).exists

$(INST_STATIC) : $(OBJECT) $(MYEXTLIB)
If 

Re: [ANNOUNCE] ExtUtils::MakeMaker 6.25_06

2005-01-05 Thread PPrymmer
Peter Prymmer/FactSet wrote on 01/05/2005 11:18:01 AM:

 That is not quite correct.  As it turns out $(MMS$SOURCE_LIST) is a comma
 separated list of filenames without types (in the language of RMS file
parsing
 TYPEs are also known as extensions in the Windows centric world).  This
 difference is crucial to the use of LIBRARY as I'll demonstrate below.

OK so now I ought to correct my correction: the $(MMS$SOURCE_LIST) while
comma separated does retain the .OBJ file types.  The command:

   LIBRARY/OBJECT/REPLACE VECTOR.OLB BITVECTOR.OBJ,VECTOR.OBJ

Knows to put BITVECTOR and VECTOR into the OLB library file.
This can be verified with the following sort of command from the
shell prompt:

ibrary/list [.blib.arch.auto.bit.vector]vector.olb

Peter Prymmer



Re: [ANNOUNCE] ExtUtils::MakeMaker 6.25_06

2005-01-04 Thread PPrymmer
Michael G Schwern [EMAIL PROTECTED] wrote on 01/04/2005 04:46:54 PM:

  -$(INST_STATIC) : $(OBJECT) $(MYEXTLIB)
$(INST_ARCHAUTODIR)$(DFSEP).exists
  +$(INST_STATIC) : $(OBJECT) $(MYEXTLIB)
   ';
   # If this extension has its own library (eg SDBM_File)
   # then copy that to $(INST_STATIC) and add $(OBJECT) into it.

 Why would removing it as a dependency matter?

Because of the subsequent action command:

$ search descrip.mms library/object/replace/window
$(INST_STATIC) : $(OBJECT) $(MYEXTLIB)
If F$Search($(MMS$TARGET)).eqs. Then Library/Object/Create
$(MMS$TARGET)
Library/Object/Replace $(MMS$TARGET) $(MMS$SOURCE_LIST)
$(NOECHO) $(PERL) -e 1 $(INST_ARCHAUTODIR)extralibs.ld

The library/object command knows when it is being
asked to insert a non *.OBJ file into an OLB library
because of the different file attributes that a text file
like .exists has.

Peter Prymmer



Re: [ANNOUNCE] ExtUtils::MakeMaker 6.25_06

2005-01-04 Thread PPrymmer
Michael G Schwern [EMAIL PROTECTED] wrote on 01/04/2005 04:44:50 PM:

 On Fri, Dec 31, 2004 at 12:41:38PM -0500, [EMAIL PROTECTED] wrote:
  Which looks like a problem with DBI code not MakeMaker.

 Did DBI work with 6.17?

DBI 1.45 would build with 6.17, but as Craig pointed out
the Makefile.PL for that particular extension has
some unportabilities associated with its customized clean
target.  Hence neither 6.17 nor 6.25_07 could clean
DBI 1.45 successfully (both dbipro*.pl files are
erroneously deleted  on VMS).

Peter Prymmer



Re: [ANNOUNCE] ExtUtils::MakeMaker 6.25_06

2005-01-03 Thread PPrymmer
Peter Prymmer/FactSet wrote on 12/31/2004 04:36:31 PM:

 I have not yet found how to fix the .exists into OLB
 problem nor the trouble with MMS V3.2-01 reported earlier.

I forgot to mention that *.opt files are not being cleaned
on VMS as another problem that persists.

I seem to have solved the .exists getting lib/replaced into
OLB problem though. Herein is a suggested patch:

--- extutils-makemaker-6_25_07/lib/extutils/mm_vms.pm;1 Fri Dec 31 08:48:52 
2004
+++ ExtUtils-MakeMaker-6_25_07/lib/ExtUtils/MM_VMS.pm Mon Jan  3 10:43:10 2005
@@ -983,7 +983,7 @@
 # Rely on suffix rule for update action
 $(OBJECT) : $(FIRST_MAKEFILE)

-$(INST_STATIC) : $(OBJECT) $(MYEXTLIB) $(INST_ARCHAUTODIR)$(DFSEP).exists
+$(INST_STATIC) : $(OBJECT) $(MYEXTLIB)
 ';
 # If this extension has its own library (eg SDBM_File)
 # then copy that to $(INST_STATIC) and add $(OBJECT) into it.

With that and the previously mentioned touchups I made to my MM_Unix.pm
I was able to build and test DBI-1.45.

I'll see about restoring the cleaning of .opt files next.
(My version of MMS is perhaps too old to bother worrying about).

Peter Prymmer



Re: [ANNOUNCE] ExtUtils::MakeMaker 6.25_06

2005-01-03 Thread PPrymmer
Peter Prymmer/FactSet wrote on 01/03/2005 10:54:24 AM:

 I'll see about restoring the cleaning of .opt files next.

OK here is a patch that implements this extra clean target file
cleanup.

--- ExtUtils-MakeMaker-6_25_07/lib/ExtUtils/MM_VMS.pm;-3Mon Jan  3 10:43:10 
2005
+++ ExtUtils-MakeMaker-6_25_07/lib/ExtUtils/MM_VMS.pm Mon Jan  3 11:59:26 2005
@@ -1017,7 +1017,7 @@

 sub extra_clean_files {
 return qw(
-  *.Map *.Dmp *.Lis *.cpp *.$(DLEXT) $(BASEEXT).bso
+  *.Map *.Dmp *.Lis *.cpp *.$(DLEXT) *.Opt $(BASEEXT).bso
   .MM_Tmp
  );
 }

I found it instructive to compare a couple of different
versions of MM_VMS.pm to see which extra VMS specific
files were mentioned (idiosyncracy to note: note
only are the arguments to search switched with respect
to the arguments to unix grep, but the VMS shell does
not expand the * by deafult and it is passed to the search
program literally):

Perl 5.8.6 with a patched MakeMaker 6.25_07

$ search perl_root:[lib.extutils]mm_vms.pm *.map
  *.Map *.Dmp *.Lis *.cpp *.$(DLEXT) *.Opt $(BASEEXT).bso

Perl 5.005_02 with MakeMaker 5.4301

$ search perl_root:[lib.extutils]mm_vms.pm *.map
push @m, '  $(RM_F) *.Map *.Dmp *.Lis *.cpp *.$(DLEXT) *$(OBJ_EXT) 
*$(LIB_EXT) *.Opt $(BOOTSTRAP) $(BASEEXT).bso .MM_Tmp

Perl 5.8.1 with MakeMaker 6.17

$ search perl_root:[lib.extutils]mm_vms.pm *.map
push @m, '  $(RM_F) *.Map *.Dmp *.Lis *.cpp *.$(DLEXT) *$(OBJ_EXT) 
*$(LIB_EXT) *.Opt $(BOOTSTRAP) $(BASEEXT).bso .MM_Tmp

I note that with 6.25_07 the various *.OBJ; files are
handled with mmk clean as is the DBI.EXE sharable
image.  The BOOTSTRAP macro seems to have disappeared,
hence I think that the only thing missing was the *.Opt
that I added in the above patch (but I have not tested
static extension building and cleaning much).

Peter Prymmer



Re: [ANNOUNCE] ExtUtils::MakeMaker 6.25_06

2005-01-03 Thread PPrymmer
Michael G Schwern [EMAIL PROTECTED] wrote on 01/01/2005 07:38:57 PM:

 My bad.  I left in a / when I unified the VMS tool_xsubpp().  Its better
 solved by changing $(XSUBPPDIR)/xsbupp to $(XSUBPPDIR)$(DFSEP)xsubpp.

I can confirm that this solution would be fine for VMS since
DFSEP contains an empty string as it needs.

 The only other difference is VMS had this:

 XSUBPPDEPS = @tmdeps

 and Unix had this:

 XSUBPPDEPS = @tmdeps \$(XSUBPP)

 I'm assuming that some fix was put into the Unix version and it was
 forgotten for VMS.  It went in as part of a large, rambling change from
 the cfperl branch years ago.

I am trying to imagine what utility there is in having
a dependence on /unix/path/to/xsubpp inside the Makefile.
Perhaps if you were hacking on xsubpp it might be helpful, but
even if you were doing that I'd argue that your time would be
better spent starting off running the

   perl Makefile.PL

command and not relying on a dependence upon xsubpp to trigger
your module/extension rebuilds for you.  I could be missing
something here though (???).

At any rate the folloing patch to MM_Unix.pm does allow
for DBI 1.45 to build on VMS (with the two other patches
applied to MM_VMS.pm):

--- ExtUtils-MakeMaker-6_25_07/lib/ExtUtils/MM_Unix.pm;-2   Fri Dec 31 08:48:17 
2004
+++ ExtUtils-MakeMaker-6_25_07/lib/ExtUtils/MM_Unix.pm  Mon Jan  3 12:43:38 
2005
@@ -3520,9 +3520,9 @@

 return qq{
 XSUBPPDIR = $xsdir
-XSUBPP = \$(PERLRUN) \$(XSUBPPDIR)/xsubpp
+XSUBPP = \$(PERLRUN) \$(XSUBPPDIR)\$(DFSEP)xsubpp
 XSPROTOARG = $self-{XSPROTOARG}
-XSUBPPDEPS = @tmdeps \$(XSUBPP)
+XSUBPPDEPS = @tmdeps
 XSUBPPARGS = @tmargs
 XSUBPP_EXTRA_ARGS =
 };

I have not tested that on Unix though.

Peter Prymmer



Re: [ANNOUNCE] ExtUtils::MakeMaker 6.25_07

2005-01-03 Thread PPrymmer
Michael G Schwern [EMAIL PROTECTED] wrote on 01/01/2005 06:50:43 PM:

 I don't quite understand what 6.17 has to do with it.  MakeMaker builds
 itself using itself, not the installed version.

Sorry - I did not realize that.

  With that installed a second attempt to build it with mms 3.2-01
  still fails with a similar message.  I have verified that this
  MMS can handle rudimentary descrip.mms files.  I do not know
  yet what is causing the trouble.

 Probably the directory target issue on older MMS' that Craig pointed out.

Probably.  My version of MMS is older than Craig's and is
even less informative about the trouble than his was.

Peter Prymmer



Re: [ANNOUNCE] ExtUtils::MakeMaker 6.25_07

2005-01-03 Thread PPrymmer
Michael G Schwern [EMAIL PROTECTED] wrote on 01/03/2005 02:41:17 PM:

 Do these guys charge for upgrades or something?

They might.

Peter Prymmer



Re: [ANNOUNCE] ExtUtils::MakeMaker 6.25_06

2004-12-31 Thread PPrymmer
Michael G Schwern [EMAIL PROTECTED] wrote on 12/29/2004 10:33:02 PM:

 Its also hideously insecure.  You're running a shell script that could do
 anything.  A problem with any self-extracting archive.

 From shar(1).

 SECURITY CONSIDERATIONS
  It is easy to insert trojan horses into shar files.  It is strongly
rec-
  ommended that all shell archive files be examined before running
them
  through sh(1).  Archives produced using this implementation of shar
may
  be easily examined with the command:

egrep -v '^[X#]' shar.file

I find it interesting to note too that the command:

perl Makefile.PL

can be made to do anything provided a trojan horse has been inserted
either directly into the Makefile.PL file or into another file that
Makefile.PL either requires or do()'s.  It is interesting to note also that
these days many folks login to linux as root and they may not even
directly run that command after having examined the Makefile.PL since they
may be using a convenience utility such as the CPAN shell.

  While I doubt that:
 
 make shdist
 
  or:
 
 mmk shdist
 
  is often used nowadays to prepare somehting for upload to CPAN, I
suspect
  that
  removing it might adversely affect folks that have to email perl module
  distributions along 7 bit email relays

 For those that need that there is uutardist.  Or if they really need it
 they can just uuencode or base64 encode the tarball themselves.  Or let
 their MTA do it as is the current practice.

The emailability of Unix shar or VMS share files is one consideration.
Another is that the native VMS command @ is all that is needed to unpack a
VMS_SHARE prepared file.  In fact, the (VMS_)share format is as close to a
native VMS compatible dist format as MakeMaker currently offers.  All of
the
others: *.zip, *.tar.gz, *.tar.bz2, etc. require the installation of a
special
non VMS native unpacking program.  (Hmm, perhaps we need a new pcsidist
target?
Then there is that whole ppm thing that was supposed to be the be all of
binary dist formats especially suited to folks that had no compiler... so
many dist formats to choose from.)

 I'd throw shdist out if I didn't think it would be more trouble than its
 worth.  I hope nobody's using it.

I think the unportability of shar was its main downfall rather than
security concerns.  The shar file might be able to unpack with:

  sh sharfile

on SunOS 4.3 but it might not unpack on HP-UX 11.x (most likely since some
necessary utility was not on your $PATH).  It's not that bad to support,
and it is not too popular, some folks might want to have it for some reason
that I may or may not have been able to put forth.

Peter Prymmer



Re: [ANNOUNCE] ExtUtils::MakeMaker 6.25_06

2004-12-31 Thread PPrymmer
H.Merijn Brand [EMAIL PROTECTED] wrote on 12/30/2004 03:32:31 AM:

 On Wed 29 Dec 2004 19:49, [EMAIL PROTECTED] wrote:
  Craig A. Berry [EMAIL PROTECTED] wrote on 12/29/2004 01:09:58 PM:
 
   4.) The following macro is defined and is used in the shdist target:
  
   SHAR = vms_share
  
   There is no such native command as vms_share. If I knew more about
the
   intention, I might be able to suggest an alternative.

 The proza below smells like valid information for inclusion in README.vms

I am not so sure.  Having the VMS_SHARE program installed on VMS
is only necessary for folks who will be preparing shdist archives
for distribution.  The information in README.vms is for folks who
will be installing and administering perl on a VMS system.  Though
that task often includes the unpacking of module or extension
distributions (and there is information on where to pick up tar
for VMS et alia) it should be noted that a file such
as Charles Bailey's on CPAN:

authors/id/C/CB/CBAIL/VMS-DCLsym-1_0.share

may be unpacked on any VMS V4 or later with the native VMS @ command
(@ is analogous to sh or source under csh).  Documentation on how to
use @ is supplied with the OS's HELP facility as well as on the
web, e.g.:

http://h71000.www7.hp.com/doc/732FINAL/9996/9996pro_001.html#blue_3

Peter Prymmer

P.S. vms_share was on the Freeware 4 CD (but not on 5 or 6).
See for example:

http://h71000.www7.hp.com/freeware/freeware40/vms_share/



Re: [ANNOUNCE] ExtUtils::MakeMaker 6.25_06

2004-12-31 Thread PPrymmer
Michael G Schwern [EMAIL PROTECTED] wrote on 12/30/2004 03:55:15 PM:

 Try out the attached patch.

With the patch applied I obtained a bare bones mmk test result:

All tests successful, 7 tests and 91 subtests skipped.
Files=38, Tests=633, 239 wallclock secs ( 0.00 cusr +  0.00 csys =  0.00
CPU)

which was done with perl 5.8.5 running on VMS V7.3-2, Compaq C S6.5-002,
and MMK V3.9-6.

I might even get to my big module collection test with this

Peter Prymmer



Re: [ANNOUNCE] ExtUtils::MakeMaker 6.25_07

2004-12-31 Thread PPrymmer
Michael G Schwern [EMAIL PROTECTED] wrote on 12/31/2004 03:59:29 AM:

 http://www.pobox.com/~schwern/src/ExtUtils-MakeMaker-6.25_07.tar.gz

Test obtained.  First using perl 5.8.6 and mmk V3.9-6:

All tests successful, 7 tests and 94 subtests skipped.
Files=38, Tests=639, 239 wallclock secs ( 0.00 cusr +  0.00 csys =  0.00
CPU)

Next using perl 5.8.6 and mms V3.2-01:

Module will not build.  The descrip.mms written out by
ExtUtils::MakeMaker::VERSION 6.17 runs into
%SYSTEM-F-ACCVIO, access violation
and a register dump.  I cannot get to MMS TEST.
I'll see if installing the mmk built 6.25_07
has any positive effect on helping MMS here.

I see that instmodsh was installed:

Directory PERL_ROOT:[UTILS]

INSTMODSH.;1

Total of 1 file.

With that installed a second attempt to build it with mms 3.2-01
still fails with a similar message.  I have verified that this
MMS can handle rudimentary descrip.mms files.  I do not know
yet what is causing the trouble.

Peter Prymmer



Re: [ANNOUNCE] ExtUtils::MakeMaker 6.25_06

2004-12-31 Thread PPrymmer
Michael G Schwern [EMAIL PROTECTED] wrote on 12/30/2004 05:22:30 PM:

 On Thu, Dec 30, 2004 at 04:47:18PM -0500, [EMAIL PROTECTED] wrote:
  I might even get to my big module collection test with this

 Wait for the next alpha.  I have to fix that IGNORE problem first.

Warning: this message contains long lines that may have been
wrapped by my MUA at weird places.

With ExtUtils::MakeMaker 6.25_07, perl 5.8.6, mmk V3.9-6,
and a test case of a slightly modified DBI 1.45 initially I obtain:

%MMK-F-CANTUPD, cannot update target MCR - sources unknown
$ MCR dga2:[perl-5_8_6_root]perl.exe -MExtUtils::Command -e cp Changes
[.blib.lib.DBI]Changes.pm
$ MCR dga2:[perl-5_8_6_root]perl.exe -MExtUtils::Command -e cp
Roadmap.pod [.blib.lib.DBI]Roadmap.pm
cp [.lib.dbd]dbm.pm [.blib.lib.dbd]dbm.pm
cp [.lib.win32]dbiodbc.pm [.blib.lib.win32]dbiodbc.pm
cp [.lib.dbi]w32odbc.pm [.blib.lib.dbi]w32odbc.pm
herein are many completed commands.

In a subsequent attempt to simply run mmk in the directory:

$ mmk
%MMK-F-CANTUPD, cannot update target MCR - sources unknown
$ show symbol $status
  $STATUS == %X1C14805C

It appears that it wants to consider MCR as a target for some reason.
A run of mmk/log indicates that it wants to update a file called
perl.c (itself apparenty derived from perl.xsi).

This is beginning to look like a problem with the XSUBPP macros.

Contrast the following search (think grep) done to the descrip.mms
generated for DBI 1.45 by MakeMaker 6.17:

$ sea descrip.mms xsubpp
# --- MakeMaker tool_xsubpp section:
XSUBPPDIR = perl_root:[lib.ExtUtils]
XSUBPP = $(PERLRUN) $(XSUBPPDIR)xsubpp
XSUBPPDEPS = perl_root:[lib.ExtUtils]typemap typemap
XSUBPPARGS = -typemap perl_root:[lib.ExtUtils]typemap -typemap typemap
$(XSUBPP) $(XSPROTOARG) $(XSUBPPARGS) $(MMS$TARGET_NAME).xs
$(MMS$TARGET)
$(XSUBPP) $(XSPROTOARG) $(XSUBPPARGS) $(MMS$TARGET_NAME).xs
$(MMS$TARGET_NAME).c
perl.c dbi.c : $(XSUBPPDEPS)

Compared to the same search for the 6.25_07 generated
descrip.mms file:

$ sea descrip.mms xsubpp
# --- MakeMaker tool_xsubpp section:
XSUBPPDIR = perl_root:[lib.ExtUtils]
XSUBPP = $(PERLRUN) $(XSUBPPDIR)/xsubpp
XSUBPPDEPS = perl_root:[lib.ExtUtils]typemap typemap $(XSUBPP)
XSUBPPARGS = -typemap perl_root:[lib.ExtUtils]typemap -typemap typemap
XSUBPP_EXTRA_ARGS =
$(XSUBPP) $(XSPROTOARG) $(XSUBPPARGS) $(MMS$TARGET_NAME).xs
$(MMS$TARGET)
$(XSUBPP) $(XSPROTOARG) $(XSUBPPARGS) $(MMS$TARGET_NAME).xs
$(MMS$TARGET_NAME).c
dbi.c perl.c : $(XSUBPPDEPS)

If I remove the extraneous $(XSUBPP) macro from the XSUBPPDEPS assignment
I now obtain:

$ mmk
MCR dga2:[perl-5_8_6_root]perl.exe perl_root:[lib.ExtUtils]/xsubpp
-typemap perl_root:[lib.ExtUtils]typemap -typemap typemap PERL.xs PERL.C
Can't open perl script perl_root:[lib.extutils]/xsubpp: file
specification syntax error
%RMS-F-SYN, file specification syntax error
%MMK-F-ERRUPD, error status %X000186D4 occurred when updating target PERL.C

If I correct the XSUBPP path like so:

--- descrip.mms Fri Dec 31 12:36:21 2004
+++ descrip.mms;-1  Fri Dec 31 12:34:12 2004
@@ -229,7 +229,7 @@
 # --- MakeMaker tool_xsubpp section:

 XSUBPPDIR = perl_root:[lib.ExtUtils]
-XSUBPP = $(PERLRUN) $(XSUBPPDIR)xsubpp
+XSUBPP = $(PERLRUN) $(XSUBPPDIR)/xsubpp
 XSPROTOARG =
 XSUBPPDEPS = perl_root:[lib.ExtUtils]typemap typemap
 XSUBPPARGS = -typemap perl_root:[lib.ExtUtils]typemap -typemap typemap

I now obtain:

$ mmk
CC/DECC /Include=[]/Standard=Relaxed_ANSI/Prefix=All/Obj=.obj
/NOANSI_ALIAS/float=ieee/ieee=denorm_results/Define=(DBI_NO_THREADS,V
ERSION=1.45,XS_VERSION=1.45)/Include=(perl_root:[lib.VMS_AXP.5_8_6.CORE])/NoList
  PERL.c

%RMS-F-SYN, file specification syntax error
^
%CC-E-DECLARATOR, Invalid declarator.

Which looks like a problem with DBI code not MakeMaker.

I hope that provides some useful feedback.  Sorry I do not yet
have a path for the XSUBPP problems on VMS.

Peter Prymmer



Re: [ANNOUNCE] ExtUtils::MakeMaker 6.25_06

2004-12-31 Thread PPrymmer
[EMAIL PROTECTED] wrote on 12/31/2004 12:41:38 PM:

 I hope that provides some useful feedback.  Sorry I do not yet
 have a path for the XSUBPP problems on VMS.

One other oddity noted with 6.25_07:

$ mmk distclean
snippage
Not in MANIFEST: dbi.opt

I am fairly certain that it used to be able to delete the
linker options files that it wrote out before.

Peter Prymmer



Re: [ANNOUNCE] ExtUtils::MakeMaker 6.25_06

2004-12-31 Thread PPrymmer
[EMAIL PROTECTED] wrote on 12/31/2004 01:01:12 PM:

 [EMAIL PROTECTED] wrote on 12/31/2004 12:41:38 PM:

  I hope that provides some useful feedback.  Sorry I do not yet
  have a path for the XSUBPP problems on VMS.

 One other oddity noted with 6.25_07:

Here is another oddity.  The .exists files are being incorrectly
thought of as lib elements.  With DBI 1.45 and the two descrip.mms
edits I mentioned before a clean build now does the following:

$ mmk
snip
If F$Search([.BLIB.ARCH.AUTO.DBI]DBI.OLB).eqs. Then
Library/Object/Create [.BLIB.ARCH.AUTO.DBI]DBI.OLB
Library/Object/Replace [.BLIB.ARCH.AUTO.DBI]DBI.OLB
DBI.OBJ,[.BLIB.ARCH.AUTO.DBI].EXISTS
%LIBRAR-W-OPENIN, error opening
P:[CPAN_MODULES_586.DBI-1_45.BLIB.ARCH.AUTO.DBI]DBI.EXISTS; as input
-RMS-E-FNF, file not found
%MMK-F-ERRUPD, error status %X10861098 occurred when updating target
[.BLIB.ARCH.AUTO.DBI]DBI.OLB

It should probably not try to lib/obj/replace the .exists file
since that file is not an .obj.

Peter Prymmer



Re: [ANNOUNCE] ExtUtils::MakeMaker 6.25_06

2004-12-31 Thread PPrymmer
[EMAIL PROTECTED] wrote on 12/31/2004 01:01:12 PM:

 One other oddity noted with 6.25_07:

 $ mmk distclean
 snippage
 Not in MANIFEST: dbi.opt

 I am fairly certain that it used to be able to delete the
 linker options files that it wrote out before.

I failed to mention this one before but it appears that
both mmk clean and mmk distclean are now deleting the
source for the EXE_FILES.  Note:

$ mmk clean
MCR dga2:[perl-5_8_6_root]perl.exe -MExtUtils::Command -e rm_f  *.olb
perl.c  core core.[0-9]  [.blib.arch.auto.DBI]extralibs.all core.[0-9][0-9]
DBI.bso dbi.c
MCR dga2:[perl-5_8_6_root]perl.exe -MExtUtils::Command -e rm_f
pm_to_blib.ts core.[0-9][0-9][0-9][0-9]  DBI.x DBI.bs  perl.exe tmon.out
*.obj blibdirs.ts
MCR $dga2:[fds0.perl.perl-5_8_6_root]perl.exe -MExtUtils::Command -e rm_f
core.[0-9][0-9][0-9][0-9][0-9] *perl.core  core.*perl.*.? Makeaperl.MMS
DBI.def perl  core.[0-9][0-9][0-9] mon.out
MCR dga2:[fds0.perl.perl-5_8_6_root]perl.exe -MExtUtils::Command -e rm_f
libDBI.def perlmain.c  perl.exe [.blib.arch.auto.DBI]extralibs.ld
so_locations DBI.exp
MCR dga2:[fds0.perl.perl-5_8_6_root]perl.exe -MExtUtils::Command -e rm_rf
dbiproxy.pl dbitrace.log  ndtest.prt dbiprof.pl
snip

$ perl Makefile.PL
snip
Warning: the following files are missing in your kit:
dbiprof.pl
dbiproxy.pl
Please inform the author.
snip

$ search Makefile.PL EXE_FILES
EXE_FILES = [ dbiproxy$ext_pl, dbiprof$ext_pl ],


Peter Prymmer



Re: [ANNOUNCE] ExtUtils::MakeMaker 6.25_06

2004-12-31 Thread PPrymmer
Craig A. Berry [EMAIL PROTECTED] wrote on 12/31/2004 03:34:14 PM:

 I think this one is an old problem specific to DBI, and IIRC it's
 because it expects dbiproxy.PL to be a different file from
 dbiproxy.pl.

Indeed it seems that this is the case.  I am sorry for having
reported a spurious problem as though it were MakeMaker's fault.

It would appears that folks on Windows and OS/2 (Mac OS?) would
also have trouble with this case sensitive addition to the
clean target:

$ search makefile.pl dbipr/win
VERSION_FROM= 'DBI.pm',
PREREQ_PM = { Test::Simple = 0.40 },
EXE_FILES = [ dbiproxy$ext_pl, dbiprof$ext_pl ],
DIR = [ ],
dynamic_lib = { OTHERLDFLAGS = $::opt_g },
clean = { FILES= \$(DISTVNAME) Perl.xsi t/zv*_*.t
. dbiproxy$ext_pl dbiprof$ext_pl dbitrace.log
dbi.prof ndtest.prt },
dist  = {
DIST_DEFAULT= 'clean distcheck disttest tardist',

Nasty.

Peter Prymmer



Re: [ANNOUNCE] ExtUtils::MakeMaker 6.25_06

2004-12-31 Thread PPrymmer
[EMAIL PROTECTED] wrote on 12/31/2004 12:41:38 PM:

 This is beginning to look like a problem with the XSUBPP macros.

I've found a workwaround for this specific problem that I'll
enclose as a diff.  Since an OS specific hack inside of
MM_Unix.pm seems completely counter to the whole put overrides
into MM_$^O.pm design philosophy of MakeMaker I do not expect
this diff to be taken at face value as a patch.  I am sending it
merely wanted to illustrate concretely where VMS
was experiencing trouble.

--- lib/extutils/mm_unix.pm;-1  Fri Dec 31 08:48:17 2004
+++ lib/ExtUtils/MM_Unix.pm   Fri Dec 31 16:26:34 2004
@@ -3518,6 +3518,18 @@

 $self-{XSPROTOARG} =  unless defined $self-{XSPROTOARG};

+if ($Is_VMS)
+{
+return qq{
+XSUBPPDIR = $xsdir
+XSUBPP = \$(PERLRUN) \$(XSUBPPDIR)xsubpp
+XSPROTOARG = $self-{XSPROTOARG}
+XSUBPPDEPS = @tmdeps
+XSUBPPARGS = @tmargs
+XSUBPP_EXTRA_ARGS =
+};
+}
+else {
 return qq{
 XSUBPPDIR = $xsdir
 XSUBPP = \$(PERLRUN) \$(XSUBPPDIR)/xsubpp
@@ -3526,6 +3538,7 @@
 XSUBPPARGS = @tmargs
 XSUBPP_EXTRA_ARGS =
 };
+}
 };

I have not yet found how to fix the .exists into OLB
problem nor the trouble with MMS V3.2-01 reported earlier.

Peter Prymmer



Re: [ANNOUNCE] ExtUtils::MakeMaker 6.25_06

2004-12-29 Thread PPrymmer
Craig A. Berry [EMAIL PROTECTED] wrote on 12/29/2004 01:09:58 PM:

 4.) The following macro is defined and is used in the shdist target:

 SHAR = vms_share

 There is no such native command as vms_share. If I knew more about the
 intention, I might be able to suggest an alternative.

shar on unix was an old time sh(ell) ar(chive) file shareing format that
turned a binary into a self extracting shell script.  IIRC it used
something
analogous to uuencoding to keep the shell script into an emailable text
format.

There was an analog for VMS that would turn binaries into self extracting
DCL text files (it called into TPU when needed).

While I doubt that:

   make shdist

or:

   mmk shdist

is often used nowadays to prepare somehting for upload to CPAN, I suspect
that
removing it might adversely affect folks that have to email perl module
distributions along 7 bit email relays (admittedly there may not be that
many left).
I'd not recommend getting rid of the SHAR macro unless it is currently
hurting
something else.

I note that Charles Bailey has a copy of VMS-DCLsym on CPAN in DCL share
format, see for example:

http://www.cpan.org/modules/by-authors/id/CBAIL/VMS-DCLsym-1_0.share

The comments within that file mention the utility used:

Using: VMS_SHARE 8.5-1, (C) 1993 Andy Harper, Kings College London UK
James Gray, Michael Bednarek

It appears that current locations for VMS_SHARE kits include:

http://www.tmk.com/ftp/multinet-contributed-software/vms_share/
http://vms.process.com/scripts/fileserv/fileserv.com?VMS_SHARE

Peter Prymmer



Re: [ANNOUNCE] ExtUtils::MakeMaker 6.25_01

2004-12-19 Thread PPrymmer
[EMAIL PROTECTED] wrote on 12/18/2004 08:31:28 AM:

 On VMS V7.3-2, Compaq C S6.5-002, MadGoat Make Utility V3.9-6,
 against perl 5.8.1:

 All tests successful, 7 tests and 87 subtests skipped.
 Files=36, Tests=603, 156 wallclock secs ( 0.00 cusr +  0.00 csys =  0.00
 CPU)

 Later I'll try some exe_files installation tests.

While I have not yet completes that task I do have another test report
this time with perl 5.8.6:

All tests successful, 7 tests and 87 subtests skipped.
Files=36, Tests=603, 137 wallclock secs ( 0.00 cusr +  0.00 csys =  0.00
CPU)

Which I suppose is better than the failures of:

lib/ExtUtils/t/basic..FAILED at test 2
snip
lib/ExtUtils/t/prereq_print...FAILED at test 2

Seen with the build and `mmk test` of the perl 5.8.6 kit.

Peter Prymmer



Re: [ANNOUNCE] ExtUtils::MakeMaker 6.25_01

2004-12-18 Thread PPrymmer
Michael G Schwern [EMAIL PROTECTED] wrote on 12/17/2004 09:41:47 PM:

 http://svn.schwern.org/svn/CPAN/ExtUtils-MakeMaker/trunk
 or
 svn://svn.schwern.org/CPAN/ExtUtils-MakeMaker/trunk
 or
 http://www.pobox.com/~schwern/src/ExtUtils-MakeMaker-6.25_01.tar.gz
 or
 a CPAN near you.

 Kicked out an alpha release of MakeMaker because I made a large wad of
 code changes and want it kicked around.

On VMS V7.3-2, Compaq C S6.5-002, MadGoat Make Utility V3.9-6,
against perl 5.8.1:

All tests successful, 7 tests and 87 subtests skipped.
Files=36, Tests=603, 156 wallclock secs ( 0.00 cusr +  0.00 csys =  0.00
CPU)

Later I'll try some exe_files installation tests.

Peter Prymmer



Re: [PATCH] Detecting strlcat() and strlcpy() in Configure

2004-11-01 Thread PPrymmer
H.Merijn Brand [EMAIL PROTECTED] wrote on 11/01/2004 09:57:06 AM:

 On Sat 30 Oct 2004 19:42, H.Merijn Brand [EMAIL PROTECTED] wrote:
  On Fri 29 Oct 2004 04:58, Steve Peters [EMAIL PROTECTED] wrote:

  Since I don't know what VMS actually has, and configure.com doesn't
have
  commented out lines, I'd like to know what to do for that
 
  Part 4 - epoc, and djgpp, and
  Part 5 - Porting/*

 Part 5 is now also done (#23450, #23455 and #23457)

 I'd still would muchly appreciate some comments on my VMS question

$ cc /ver
Compaq C S6.5-002 on OpenVMS Alpha V7.3-2

and it does not have any strl* functions in it's CRTL.  But they may be
added at some time.  We could add tests to configure.com and that might
help with the extraction of config.h from config_h.SH, but I have to
admit to not having built bleed on VMS in quite a while, so if Craig
Berry chimes in with something it superseded what I've said here.

I'll see about syncing out the latest bleed

Peter Prymmer




Re: [PATCH] readdir_r for VMS (was Re: [PATCH] configure.com: sig_num, etc.)

2003-03-24 Thread PPrymmer

Craig Berry wrote:

!To really stress test this with multiple threads going after the same
!directory stream I'd need an SMP machine to test on, which I don't have.
!But I think we are at least somewhat safer than we were before.

Can you specify which thread option to configure.com to use?
Also: has anyone made a tar ball out of [EMAIL PROTECTED]
(or something later that incorporates your patch) that is
accessible via either anon ftp or http?  I could give it
a try on an SMP machine.  Is there any ad hoc testing to
try?

Peter Prymmer




Re: ext/Encode/t/perlio on VMS (was Re: perl@16539)

2002-05-21 Thread PPrymmer


Dan the Encode Maintainer wrote:

!-ST(0) = PL_sv_no;
!+/* ST(0) = PL_sv_no; */
!+ST(0) = PL_sv_yes;
!  XSRETURN(1);
!  }
!
!Even if it works, I do not consider this to be a radical cure.  But a
!cure nonetheless
!
!BTW, what is the most concise way to check the architecture FROM XS?

FWIW:

#ifdef VMS
#endif

should do the trick (although in subsequent discussion it looks like
Nick nixed the idea of changing Encode.xs).

Peter Prymmer