PAR 0.90 released!

2005-11-25 Thread Autrijus Tang
PAR 0.90 has just been released; it's identical to the preflight
version, except for a PL_statbuf redeclaration fix from David Romano
that fixes OSX static licperl linking problems.

It should be available from CPAN soon, along with prebuilt Win32 parballs:

http://autrijus.org/dist/PAR-0.90.tar.gz
SIZE = 183435
SHA1 = 6069d1712c940889bad092467baa27ca5e0692b4

http://autrijus.org/par/PAR-0.90-MSWin32-x86-multi-thread-5.6.1.par
SIZE = 766679
SHA1 = eadcc732d0016221fa28953168a216f2467ee847

http://autrijus.org/par/PAR-0.90-MSWin32-x86-multi-thread-5.8.7.par
SIZE = 968743
SHA1 = 8ed930a87e5f9789c7bd0cc61170645839d1d0e0

Enjoy,
/Autrijus/


PAR 0.90 preflight

2005-11-24 Thread Autrijus Tang
Please test:
http://perlcabal.org/~autrijus/tmp/PAR-0.90.tar.gz

This is a maintainence release.  ChangeLog is available at the usual place:

http://svn.openfoundry.org/par/trunk/ChangeLog

If nothing goes wrong, I'll cut a release tomorrow and upload it along
with the prebuilt Win32 binaries.

Thanks,
/Autrijus/


Re: [Fwd: Re: [Fwd: Re: pp on windows]]

2005-08-15 Thread Autrijus Tang
On Mon, Aug 15, 2005 at 08:05:46AM -0400, Malcolm Nooning wrote:
 Be careful  *NOT* to upgrade to perl 5.8.7, which is available, because 
 there is no
PAR-0.89-MSWin32-x86-multi-thread-5.8.7.par
 either.  At least not yet.

I just uploaded it on PAUSE, so 5.8.7 should work now.  :-)

PAR should be able to download it automagically in a few hours.
You can also grab it manually:

http://autrijus.org/par/PAR-0.89-MSWin32-x86-multi-thread-5.8.7.par

Thanks,
/Autrijus/


pgpU814AyDyti.pgp
Description: PGP signature


Re: patch for Apache::PAR under mod_perl 2.00

2005-06-11 Thread Autrijus Tang
On Sat, Jun 11, 2005 at 07:25:23PM +0200, Stefan Seifert wrote:
 attached is a patch which makes Apache::PAR run under mod_perl  RC4 
 again (at least the server starts again). It should work on older 
 versions, too but I did't test it yet.

Yay!  You++.

Unfortunately it seems that Nathan Byrd is off net now -- mail sent
to his CPAN address bounced, and I didn't see a usenet post in a
year or so.

Does someone know his whereabouts?

Thanks,
/Autrijus/


pgpOqcxqWtQr3.pgp
Description: PGP signature


Re: [PATCH] Re: Why doesn't parl.exe work with perl-5.8.7 on Win32?

2005-06-10 Thread Autrijus Tang
On Wed, Jun 08, 2005 at 01:48:14PM +0100, Steve Hay wrote:
 OK, I've just committed revision 10 which fixes the missing Perl DLL 
 problem for me and hopefully works for others too (with a little help 
 from Rafael on the portability front - thanks!).

Woot!  You++.

 What next?  Do we wait for other PAR users to update to this latest 
 revision and report any problems before releasing it, or is releasing it 
 the best way to get the changes tested?
 
 Perhaps a 0.88_01 dev release would be a good compromise?

Yeah.  Normally it's okay to call for tests on the trunk, but as Win32
users oftentimes relies on prebuilt binary packages, I guess a dev
release is easier to test with.

I'll roll a release today.

Thanks,
/Autrijus/


pgp3zor4Qtv6A.pgp
Description: PGP signature


PAR 0.89

2005-06-10 Thread Autrijus Tang
On Fri, Jun 10, 2005 at 06:01:39PM +0800, Autrijus Tang wrote:
 On Wed, Jun 08, 2005 at 01:48:14PM +0100, Steve Hay wrote:
  What next?  Do we wait for other PAR users to update to this latest 
  revision and report any problems before releasing it, or is releasing it 
  the best way to get the changes tested?
  
  Perhaps a 0.88_01 dev release would be a good compromise?
 
 Yeah.  Normally it's okay to call for tests on the trunk, but as Win32
 users oftentimes relies on prebuilt binary packages, I guess a dev
 release is easier to test with.
 
 I'll roll a release today.

As Chip helped me fixing the formerly reported Debian-specific bug with 
File::Path (the Cwd.pm treatment was bad in par.pl), I tested your
patch on Win32 with VC++ ActivePerl with no problem, so I just called
it 0.89 and rolled a release.  It should appear in CPAN real soon.

Thanks!
/Autrijus/


pgpowqqyejfpK.pgp
Description: PGP signature


Re: [PATCH] Re: Why doesn't parl.exe work with perl-5.8.7 on Win32?

2005-06-07 Thread Autrijus Tang
On Tue, Jun 07, 2005 at 10:20:26AM +0200, Rafael Garcia-Suarez wrote:
 It looks sane to me. Maybe it works on other OSes because
 Config_heavy.pl is somehow already found on the system. Anyway, in the
 spirit of Autrijus' anarchical devlopment, thanks, applied as #7. :)
 (subversion repos being at http://svn.openfoundry.org/par/trunk)

Thanks, I'll roll a release now :)

Cheers,
/Autrijus/


pgpaMxwyNTsLd.pgp
Description: PGP signature


Re: Problems installing PAR on Ubuntu Linux

2005-04-28 Thread Autrijus Tang
On Thu, Apr 28, 2005 at 09:53:43AM +0200, Schupp Roderich (extern) Com MD PD 
SWP 2 CM MCH wrote:
 Known problem, for an explanation see my previous post
 http://www.nntp.perl.org/group/perl.par/1861
 
 The fix is to comment out all (4) occurences of the following line in
 par.pl:
 
   local $INC{'Cwd.pm'} = __FILE__; 
 
 and rebuild.

Yup.  The hack was in place because I did not wish to bundle Cwd.so on
Unix systems, since it was not strictly needed before.

However, if this hack no longer works now, I'd be happy to rescind it.
It the patch an Ubuntu-specific change, or is it due to a new version
of PathTools?

Thanks,
/Autrijus/


pgpdizpFzv9EN.pgp
Description: PGP signature


Re: compiling PAR with Visual C++ toolkit

2004-10-17 Thread Autrijus Tang
On Sat, Oct 16, 2004 at 11:36:50PM -0700, Edward Peschko wrote:
 I tried to compile PAR with Microsoft's Visual C++ toolkit - and it looks
 like it is so braindead that it can't even find 'windows.h'.
 
 Has anybody done this, or do you need to stick to VC++ 6+?

I have tried and failed, even after downloading hundreds of megabytes
of Win32 SDK installers.  It does not build Perl and cannot build PAR. :-/

Thanks,
/Autrijus/


pgppo7IlYTb5c.pgp
Description: PGP signature


Re: PAR/pp and missing modules

2004-09-19 Thread Autrijus Tang
On Sat, Sep 18, 2004 at 09:35:47PM -0700, Glenn Linderman wrote:
 I have a pp question.  When I build a standalone .exe on a machine that 
 has all the needed modules, they all get bundled correctly, and 
 everything works.  But if a needed module is not installed on the 
 machine when pp is run to create the .exe, it seems that the module is 
 silently omitted from the .exe.  And then the .exe fails when executed, 
 reporting the missing module at that point in time.
 
 Is there any way to convince pp to produce an error or warning 
 diagnostic in such cases?

Yes: pp -c will report use Module () errors, and pp -x will also
do that, as well as reporting require Module errors.

Thanks,
/Autrijus/


pgpsW9q8rqMou.pgp
Description: PGP signature


Re: PAR does not include perlglob.exe on Win32

2004-08-14 Thread Autrijus Tang
On Sat, Aug 14, 2004 at 09:16:57PM +0100, Steve Pick wrote:
 I've noticed that applications that use the glob() function under 
 ActivePerl require an executable perlglob.exe (and possibly 
 perlglob.bat). From what I can tell, PAR does not include this 
 executable by default, and probably should.

IIRC, perlglob.exe is no longer needed in the recent releases of
ActivePerl 5.6.x and 5.8.x, and was largely a 5.005ism, replaced
by the core File::Glob module.  Evidence to the contrary welcome. :-)

Thanks,
/Autrijus/


pgpmjojH6Ue7w.pgp
Description: PGP signature


Re: Utility to reduce PAR file sizes

2004-07-22 Thread Autrijus Tang
 On Sun, 18 Jul 2004 17:43:45 -0700, Alan Stewart [EMAIL PROTECTED] wrote:
 I do a lot of little Tk apps with PAR, and although disk space is cheap, I sometimes
 have to send these by very slow means. My parsimonious soul doesn't like to send the
 same thing over and over, so here is a tool to remove redundant files from multiple 
 PAR
 applications.
 
 From the readme:
 
   Usage: pare [-l logfile] -u usedfile reducedfiles . . .

Whoa, very, very nice!

It will go right into contrib/.  I do wonder if there is a way to make
it part of PAR::Packer or pp, but my brain hadn't been able to come
up with a reasonable interface.  Suggestions?

Thanks,
/Autrijus/


Heads-up: PAR-0.85

2004-07-02 Thread Autrijus Tang
Sorry for the short update; I'm still travelling in Germany, and the network
connection has been spotty.  This is just a quick note to say that PAR-0.85
has just been uploaded, and http://par.perl.org/ updated.   Notable changes
including a noticably faster startup of executable files, as well as new tests
and fixes for -a and -A commands.  Prebuilt binaries against ActivePerl 5.8.4
and 5.6.1 are available as always on CPAN and http://aut.dyndns.org/par/.

Thanks,
/Autrijus/


Re: Problems with pp -c ...

2004-06-08 Thread Autrijus Tang
On Tue, Jun 08, 2004 at 03:03:43PM +0200, Roderich Schupp wrote:
 It's a bug in Module::ScanDeps (0.43 here). The following lines 
 (in Module::Scandeps::_make_rv) are obviously meant to
 clean up keys in %INC that are absolute pathnames
 (which is the case for *.ix and *.al files) by stripping
 any prefix that's in @INC. But the check m^/ for absoluteness
 only works for Unix. Fix:

Thanks, applied, will release soon.

/Autrijus/


pgpdQtCTz1BPF.pgp
Description: PGP signature


Re: Failed to load BioPerl modules

2004-06-02 Thread Autrijus Tang
On Tue, Jun 01, 2004 at 11:08:29AM +0100, Nathan Haigh wrote:
 If no format argument is given, the Bio::AlignIO module will attempt to
 guess the format from the file extension, otherwise it uses the supplied
 format to return Bio::Align::$format

Understood.  I have freshly uploaded a new version of Module::ScanDeps
to CPAN:

http://aut.dyndns.org/dist/Module-ScanDeps-0.43.tar.gz
MD5 (Module-ScanDeps-0.43.tar.gz) = 439d2254ea8162b6b1a5b830c533870b

I'd be grateful if you can download and install it, then re-try pp
with your program, and see if it correctly picks up all the dependencies.

Thanks!
/Autrijus/


pgpn6VCIvomuC.pgp
Description: PGP signature


Re: PAR question about packages

2004-06-01 Thread Autrijus Tang
On Tue, Jun 01, 2004 at 12:04:01PM -0400, Robert wrote:
 I run:  pp.bat -g $(FileNameExt) -o $(FileName).exe using SciTE
 
 It creates the EXE file but when I try and run the EXE I get an outline of
 the Tk window that disappears after a second.
 
 Any suggestions?

The PAR version, Perl version, and a short example program that demonstrates
the behaviour, please. :-)

Thanks,
/Autrijus/


pgpSc9xZisgEK.pgp
Description: PGP signature


Re: Failed to load BioPerl modules

2004-05-29 Thread Autrijus Tang
On Mon, May 24, 2004 at 01:19:54PM +0100, Nathan Haigh wrote:
 My script is written on a windows system, but it should also work on
 linux, it utilises the tk modules for a GUI, and the BioPerl modules for
 biology related stuff. When I try to run the executable, the GUI opens
 fine, but when it comes to using on of the bioperl modules, it fails to
 load it. On inspection of the zip file, the modules it fails to load are
 not included. After looking at the PAR tutorial at:
 http://www.autrijus.org/par-tutorial/slide023.html it would appear this is
 probably due to autoloading modules, hence fails to detect them.
 
 Using pp -M failed to resolve the issue, but I had to use require for
 them all to be included.

Greetings.  May I have a list of the modules that needed explicit require,
as well as the parent modules that auto-loads them, so I can fix it in the
next release of Module::ScanDeps?

Thanks,
/Autrijus/


pgpaKKAeFDuPV.pgp
Description: PGP signature


PAR 0.83 released.

2004-05-29 Thread Autrijus Tang
Here is PAR 0.83, the hug bunting release, freshly uploaded to CPAN:

http://aut.dyndns.org/dist/PAR-0.83.tar.gz
MD5 (PAR-0.83.tar.gz) = 97c2611b5ca0b5d015490525a14b17d5

Pre-built Win32 binaries may be downloaded from CPAN or from
http://aut.dyndns.org/par/.  If you downloaded the .par files
manually, you will also need to download and unpack PAR-0.83.tar.gz, put
the prebuilt .par file inside the unpacked PAR-0.83 directory, then type
perl Makefile.PL.

[Changes for 0.83 - May 29, 2004]

* New Features

- Revamped PAR::FAQ and sychronized with par.perl.org.

- In pp-generated programs, $0 is now set to the pathname leading
  to the invoked executable.  Use $ENV{PAR_0} instead to get the
  filename that contains the main perl program.

- Updated contrib/gui_pp/gpp to support PAR::Packer options.

* Bug Fixes

- Core XS modules, such as Data::Dumper, were skipped by pp.

- Fix t/2-pp.t for Cygwin by probing $Config{_exe} rather than uname().

- Scripts made by pp -P, when invoked as perl scriptname,
  should not search for the same-named programs in PATH.

- Correctly remove leading slash and drive letters from absolute
  filenames passed to pp -a.  Also normalized blackslahes to slashes.

- The PP_OPTS environment variable was not recognized.

- pp -a dirname;diralias was broken.

- pp -f and pp -F were broken.

Thanks,
/Autrijus/


pgpQ3gotClJ7S.pgp
Description: PGP signature


Re: PAR 0.83 released.

2004-05-29 Thread Autrijus Tang
On Sat, May 29, 2004 at 09:21:45PM +0300, Burak Gursoy wrote:
 http://aut.dyndns.org/par/ gives this: 
 Forbidden  You don't have permission to access /par/ on this server.

Thanks, fixed.

/Autrijus/


pgpVMdBUH4fyJ.pgp
Description: PGP signature


Re: Data::Dumper not added to the PAR file

2004-05-28 Thread Autrijus Tang
On Fri, May 28, 2004 at 02:24:34PM +0200, Murphy wrote:
 The command to produce PAR file was like below:
 
 pp -vvv -M Data::Dumper -f Bleach -C -B -o test test.pl
 
 Everything was fine if the perl was visible, but when I moved it to a
 different directory, then test executable produced such error
 message:
 
 Can't locate Data/Dumper.pm in @INC (@INC contains: 

Confirmed here.  Apparently this bug is specific to Data::Dumper.

I'll investigate this first thing in the morning, circa 10 hours from now.

Thanks,
/Autrijus/


pgpWGbMGRMAI0.pgp
Description: PGP signature


Re: Data::Dumper not added to the PAR file

2004-05-28 Thread Autrijus Tang
On Sat, May 29, 2004 at 01:55:26AM +0800, Autrijus Tang wrote:
  Can't locate Data/Dumper.pm in @INC (@INC contains: 
 Confirmed here.  Apparently this bug is specific to Data::Dumper.
 I'll investigate this first thing in the morning, circa 10 hours from now.

So, the transition of old pp into PAR::Packer had a glitch in it,
resulting in all core XS modules being skipped when packing files;
it's fixed in the repository.

This is a serious flaw, and I'll release 0.83 within the next 24 hours
because of this.  Thanks so much for reporting it!

Thanks,
/Autrijus/


pgpBp8k1xk8lZ.pgp
Description: PGP signature


Re: $0 does not contain a full path to the script

2004-05-26 Thread Autrijus Tang
On Wed, May 26, 2004 at 10:46:30AM +0200, Murphy wrote:
 I do wonder whether it will be best if we simply assign one of the two to $0.
 The reason it was not done before was (iirc) that assigning to $0 changes the
 displayed program name in ps, and (obviously) I'm not sure which of the two
 should be assigned to $0.
 
 Personally, I think that $ENV{PAR_PROGNAME} should be assigned to $0
 because the $ENV{PAR_0} can always be found in:
 
 ( split(:, $ENV{PATH}) )[0];

Hmm?  I fail to see how it can be obtained thus.  $ENV{PAR_0} contains the name
to the extracted script, like /tmp/par-autrijus/cache-xyz/f409617.pl.

The problem is there are two uses of $0.  One is used by Pod::Usage,
and assumes $0 is a perl script:

open MYSELF, $0;
my @code = MYSELF;
# ...assuming @code contains lines of perl code...

Another use thinks $0 is the program invoked by the user:

my $file = basedir($0)./file.txt;
# ...assuming $file exists in the same path as the invoked executable...

However, in a pp-generated executable, the first corresponds to $ENV{PAR_0},
and the second corresponds to $ENV{PAR_PROGNAME}.

 So I rather would expect to see the the par package name with the full path
 as it is normally done by the Perl in $0.

I am neutral (read: ambivalent) on this issue.  In any case it should be
better documented -- patches welcome, really -- but I'm curious about whether
there are people in favor of the first use case (assuming $0 is a perl script file,
containing the same lines as *main::DATA).  Anyone out there?

BTW, note that another idiom:
system($^X, $0, @new_arguments);

is partially supported if $0 is set to $ENV{PAR_0}, and if the target environment
does have perl installed.  But I'm not sure if it is desirable to support this.

Thanks,
/Autrijus/


pgpt64QMp2zHE.pgp
Description: PGP signature


Re: PP_OPTS does not working

2004-05-26 Thread Autrijus Tang
On Wed, May 26, 2004 at 02:08:05PM +0200, Murphy wrote:
 which I think is not correct, right? Maybe I misunderstood this
 option from man pp. :|

You did not.  It was broken in the transition to PAR::Packer.
Sigh.  Now fixed in the snapshot version.

BTW, are you willing to tell me your full name to be listed in
AUTHORS?  Or should I list it simply as Murphy? :-)

Thanks,
/Autrijus/


pgpfXv5swhiQ5.pgp
Description: PGP signature


Re: Making a par executable with filtered modules, but not standard ones

2004-05-26 Thread Autrijus Tang
On Wed, May 26, 2004 at 02:58:24PM +0200, Murphy wrote:
 Does anybody plan to implement such feature? If yes, then when
 (approximately) it will be available?

It will help if you can provide a concrete syntax suggesion -- i.e.
how do you envision to use such a feature with pp, should it become
available.

Thanks,
/Autrijus/


pgpF2iGPVCegt.pgp
Description: PGP signature


Re: bugreports: content of %ENV is lost in pp'd scripts

2004-05-25 Thread Autrijus Tang
On Fri, May 07, 2004 at 02:41:26PM +0500, Vlad Harchev wrote:
 I'm using perl-5.6.1 on rh7.3 on x86, par-0.80.
 When protecting this script:
 ---
 #!/usr/bin/perl
 foreach (keys %ENV) { print $_ is $ENV{$_}\n; }
 ---

This is confirmed, and is believed to be fixed in PAR 0.82, as part
of this entry in the changelog:

- On Non-Win32 platforms, perl 5.8.0 and earlier versions produced
  pp-generated executables that immediately segfaults.

I'd be happy if you can re-test this with PAR 0.82 and see if it has
been fixed indeed.

Thanks!
/Autrijus/


pgpicWQq8TJQr.pgp
Description: PGP signature


Re: any way to add arbitrary files to PAR (e.g. graphic or text files)?

2004-05-25 Thread Autrijus Tang
On Fri, May 07, 2004 at 03:04:15PM +0500, Vlad Harchev wrote:
 What is the official way of adding arbitrary files (not perl source - e.g.
 mylogo.png) to PAR files?
 
 I think it will greatly help if there was some 'pp' option to add arbitrary
 files to the PAR/binary.

Yes indeed.  Thanks to Edward Peschko, PAR 0.82 now has -a/--addfile
and -A/--addlist, two options designed to add arbitrary files and
directories to the PAR binary.  Enjoy! :-)

Thanks,
/Autrjius/


pgpO5J3EJL7yn.pgp
Description: PGP signature


Re: PAR 0.82 and error during pp

2004-05-25 Thread Autrijus Tang
On Tue, May 25, 2004 at 03:44:19PM +0200, Murphy wrote:
 I was just try to make a par executable with filtering using such
 command:
 pp -vvv -f Bleach -C -B -o ~/test_par ~/par_test.pl
 this gave me an error message like this:
 Can't locate object method appliy via package PAR::Filter at 
 /net/caladium/usr/people/piotr.nba/perl5.8.3/lib/site_perl/5.8.3/PAR/Packer.pm line 
 764.

Oops.  It is obviously a typo.  Changing the appliy in that line to apply and
it will work again.  My apologies, fixed in the snapshot version now.

Thanks,
/Autrijus/


pgpEmEsYHMprq.pgp
Description: PGP signature


Re: $0 does not contain a full path to the script

2004-05-25 Thread Autrijus Tang
On Tue, May 25, 2004 at 03:51:25PM +0200, Murphy wrote:
 then the output from test_par is like this:
 
 Location of the script: test_par
 
 which does not contain a full location of the script which was
 executed. Is there a workaround for this?

Yes, and it is $ENV{PAR_PROGNAME}.  However, if you need the perl script,
then it is $ENV{PAR_0}.  Both should probably be documented better.

I do wonder whether it will be best if we simply assign one of the two to $0.
The reason it was not done before was (iirc) that assigning to $0 changes the
displayed program name in ps, and (obviously) I'm not sure which of the two
should be assigned to $0.

Thanks,
/Autrijus/


pgp2ik4sMz1wO.pgp
Description: PGP signature


PAR 0.82 released.

2004-05-24 Thread Autrijus Tang
Here is PAR 0.82, the OO-pp release, freshly uploaded to CPAN:

http://aut.dyndns.org/dist/PAR-0.82.tar.gz
MD5 (PAR-0.82.tar.gz) = 72224c9b83e6b3b451862faeab2fb090

Pre-built Win32 binaries may be downloaded from CPAN and
http://aut.dyndns.org/par/.  If you downloaded the .par files manually,
you will need to download and unpack PAR-0.82.tar.gz, put the prebuilt .par
file inside the unpacked PAR-0.82 directory, then type perl Makefile.PL.

The reason for this release, a mere 24 hours after 0.81, is because I
received all-FAILs from CPAN testers due to an unfortunate MANIFEST
glitch.

Also, my conscience keeps biting me for not fulfilling my promise to
promote OOified pp into the default, so it is finally made good on
this release. :-)

[Changes for 0.82 - May 24, 2004]

* New Features

- New module PAR::Packer provides an OO interface to pp's
  functionality; pp is now merely a thin wrapper for it.

- New module App::Packer::PAR is a modified version of
  App::Packer, designed to work with PAR::Packer, and will
  hopefully be merged back to App::Packer.

- The old, procedural pp is moved to contrib/; end-users
  should notice no changes in pp's behaviour.

- New options pp -a and pp -A (--addfile/--addlist) provides
  ways to include extra files and directories in the package.

- The long option name for pp -M is changed from --add to
  --module.  The old name is still recognized but no longer
  documented.  Using pp -M to include non-library files
  is now deprecated; use pp -a instead.

- par.pl and parl now writes messages to STDOUT, instead of
  STDERR.  As a consequence, t/2-pp.t no longer prints extra
  warnings during make test.

* Bug fixes

- On Non-Win32 platforms, perl 5.8.0 and earlier versions produced
  pp-generated executables that immediately segfaults.

- Running pp-generated executables with absolute pathname failed
  on statically-built perls.

- Tests were failing due to a missing pipe_a_command.pm in MANIFEST.

- Add the missing myldr/win32.coff for building on Cygwin/MinGW.

- If the perl in path is different from the perl interpreter used
  for make test, t/2-pp.t is known to fail and is now skipped.

- Cygwin failed t/2-pp.t because parl is spelled as parl.exe there.

Thanks,
/Autrijus/


pgp8llMto4t3l.pgp
Description: PGP signature


Re: Running PAR generated exe problem

2004-05-22 Thread Autrijus Tang
On Wed, May 19, 2004 at 11:05:19PM +0800, Autrijus Tang wrote:
 On Wed, May 19, 2004 at 10:25:18AM -0400, the.noonings wrote:
  Bug!  Help needed!
 
 Duplicated here.  Seems to be a very old bug that involves a botched
 par_findprog() on non-Win32 systems.  Will look into it right after I wake up.

It has just been closed.  Turns out that par_findprog() clobbers the
char* passed into it, so $ENV{PATH} was truncated inappropriately.
This does not happen on Win32 because a win32-specific call supercedes
the clobbering parts.

Applying a strdup() around the argument has solved the problem.
Now I can finally release PAR 0.81.  Yay!

Thanks,
/Autrijus/


pgpJv6TvfqzFG.pgp
Description: PGP signature


Re: web server in Perl and framework for browser-based applications using PAR

2004-05-22 Thread Autrijus Tang
On Fri, May 21, 2004 at 02:29:02PM +, Vlad wrote:
 Just a note - we've successfully used PAR toolkit for our Stunnix Perl Web
 Server and framework for cross-platform browser-based applications written in 
 Perl (a nice concept that instead of using Tk or GTK for writing GUI for 
 application, one just has to create a dynamic web site that provides the same
 functionality, that is served by server running on user's computer).

Excellent.  It is a good concept, and I've also been using PAR to pack up
stand-alone http servers with HTML::Mason and DBD::SQLite here, with
good results.

Thanks for sharing your use of PAR with us.  Perhaps you could add a few lines
to the SuccessStory wiki page? ...wait, you've already done that.  Nice! :)

Cheers,
/Autrijus/


pgpM2xUzqHlZg.pgp
Description: PGP signature


PAR 0.81 released.

2004-05-22 Thread Autrijus Tang
Here is PAR 0.81, the not to be stopped by showstoppers release,
freshly uploaded to CPAN:

http://aut.dyndns.org/dist/PAR-0.81.tar.gz
MD5 (PAR-0.81.tar.gz) = 3ad86935815ee7b56bcd78b10e7cfcbf

Pre-built Win32 binaries may be downloaded from CPAN and
http://aut.dyndns.org/par/.  If you downloaded the .par files manually,
you will need to download and unpack PAR-0.81.tar.gz, put the prebuilt .par
file inside the unpacked PAR-0.81 directory, then type perl Makefile.PL.

I'd have to apologize to Edward Peschko because I still did not get
around to put OOified pp to this release, due to the high (and serious)
concentration of showstopping bugs left in 0.80.  As a result, 0.81 became
a bugfix, porting and maintainence only release, and all feature
developments will begin at 0.82, now all the showstoppers have been resolved.

...hmm, famous last words? ;-)

[Changes for 0.81 - May 23, 2004]

* New Features

- Regained support for Win9x, Cygwin and MinGW.

- PAR now supports 64-bit platforms, such as Tru64 and AIX.

- Cygwin and MinGW can now build EXEs with icons, too; MinGW can update
  the icons, but Cygwin cannot.

- Newly supported modules: Pod::Usage, DBIx::SearchBuilder,
  DBIx::ReportBuilder, SVK::Command, SVN::Core, and the ':encoding()'
  IO discipline.

* Bug fixes

- On non-Win32 systems, invoking pp-generated executable from PATH
  did not work.

- Standalone executables were clobbered by existing perl environments
  with an identical auto/IO libpath as the author's environment.

- Standalone executables did not work on systems with an unset
  dynamic load path environment variable (eg. LD_LIBRARY_PATH).

- pp -p -o multi.par 1.pl 2.pl; parl multi.par 1.pl now works.

- $ENV{PATH} and $ENV{TEMP} were truncated at first path delimiter.

- pp -f Bleach did not work for ActivePerl on Win32.

- Windows 9x systems were generating invalid cache directory names.

- $ENV{path} is also recognized as $ENV{PATH} for Win32.

Thanks,
/Autrijus/


pgpUp4SvUS269.pgp
Description: PGP signature


Re: par 0.81 failure

2004-05-22 Thread Autrijus Tang
On Sat, May 22, 2004 at 03:32:03PM -0400, the.noonings wrote:
 I will retry with
 http://aut.dyndns.org/dist/PAR-0.81.tar.gz

You need to manually download the .par file for your perl version from
http://aut.dyndns.org/par/PAR-0.81-MSWin32-x86-multi-thread-5.8.3.par
and put it under the extracted PAR-0.81/ directory.

  *** ExtUtils::AutoInstall configuration finished.
  Fetching 'PAR-0.81-MSWin32-x86-multi-thread-5.8.3.par' from
 www.cpan.org...
  Fetching failed:
  No compiler found, won't generate 'script/parl.exe'!

This means that the .par files had not yet propagated to CPAN mirrors.
It usually takes anywhere from 1 day to (at most) 1 week.

Thanks,
/Autrijus/


pgpos79zagI4b.pgp
Description: PGP signature


Re: PP generates some duff code with multithreading enabled

2004-05-08 Thread Autrijus Tang
On Sat, May 08, 2004 at 06:21:07PM +0100, Ed Wildgoose wrote:
 P.S. Autrijus, I will try to check it out myself, but in the latest 
 pre-release did you check in Alan Stewarts changes to fix the --icon 
 problem where it increases the file size?  I have just been retesting 
 his version and it does seem to work fine for me?

Have you tested for both 5.6.x and 5.8.x?  I have only tested 5.8.x
and it breaks here. :-/ 

Thanks,
/Autrijus/


pgp0.pgp
Description: PGP signature


Re: par.perl.org site no longer accessible

2004-05-05 Thread Autrijus Tang
On Mon, May 03, 2004 at 09:54:24AM -0400, the.noonings wrote:
 Same here
 - Original Message - 
 From: NYIMI Jose (BMB) [EMAIL PROTECTED]
 
 Tried
 http://par.perl.org
 
 Got :
 Forbidden
 You don't have permission to access /glob/ on this server.

Yes.  The /usr partition in the home server hosting all my web pages 
has been corrupted -- it utterly gave out life a while ago; unfortunately,
my laptop's hard disk has just decided to break at an earlier time, so even
though I do have mutual backup systems between the two computers, it's been
a nightmare which I am still engulfed in.

Earlier today I have restored par.perl.org back to service -- the timestamps
are all wrong, but otherwise the content seems fine.  PAR 0.81 will be
delayed for a few days, so I can process my backlog of mails and restore
the rest of my backup.  Sorry for this. :-/

Thanks,
/Autrijus/


pgp0.pgp
Description: PGP signature


Re: PAR 0.81 imminent; call for testers

2004-04-30 Thread Autrijus Tang
On Fri, Apr 30, 2004 at 08:25:56PM +, Autrijus Tang wrote:
 Please download the snapshot here:
 
 http://p4.elixus.org/snap/PAR.tar.gz

By the way, as a number of people have pointed out, the new
Module::ScanDeps is not yet propagated on CPAN, and can be
downloaded directly here:

http://aut.dyndns.org/dist/Module-ScanDeps-0.42.tar.gz

Thanks,
/Autrijus/


pgp0.pgp
Description: PGP signature


Re: PAR fails on Linux

2004-04-27 Thread Autrijus Tang
On Tue, Apr 27, 2004 at 11:24:54AM +0100, Ian Cass wrote:
 I've gone back through the old releases to see when this behaviour started
 to happen  I've found that PAR-0.79_97 works fine but PAR-0.79_99 is
 broken. I've also tested PAR-0.80_99 and that too is broken.

Can you test this?

http://search.cpan.org/~autrijus/PAR-0.79_98_0/

Thanks,
/Autrijus/


pgp0.pgp
Description: PGP signature


Re: --gui flag with stand-alone executables, and a small bug

2004-04-27 Thread Autrijus Tang
On Tue, Apr 27, 2004 at 11:40:17AM +1000, Owen Marshall wrote:
 I hope this is the right mailing list to send this to ...

Yes, it indeed is. :-)

snip long paragraphs of compliments that makes me blush

 However, I have noticed that when created with the --gui
 flag option, the application can no longer received STDOUT from other
 programs that are run within the script (which is something that I
 utilise in PerlPrimer).

Can you give a sample block of code that does this?  Will this suffice?

my $variable = `dir C:\*.*`;

 Another small bug I've noticed under Windows is that executables produced
 with PAR on a system with ActivePerl 5.8.3 die early in execution (and
 without any error message printed) when run on a system with an earlier
 version of ActivePerl (e.g. 5.8.0) installed.  This can be a bit
 disconcerting!

Indeed, and this is a bug I _think_ have been fixed in the snapshot
version, but I'll test it again to be sure.

Thanks!
/Autrijus/


pgp0.pgp
Description: PGP signature


Re: PAR unaligned access on Tru64 and some install issues

2004-04-27 Thread Autrijus Tang
On Tue, Apr 27, 2004 at 10:07:28PM +0200, Klewinghaus, Peter wrote:
 If the option -assume noaligned_objects is added to the parameter
 value of the CFLAGS parameter in ~/myldr/Makefile, PAR compiles
 smoothly. The binaries still execute with low performance, but do so
 without errors. Fixing the cause of the unaligned access would still
 be of great benefit, but the workaround is usable if performance is
 less important.

I see.  Thanks for the detective work!

 So, the following are the changes to ~myldr/Makefile (generated by
 perl Makefile.PL):

If no correct fix is found, do you think it is okay to include
them as the default flags for build PAR on Tru64?

If yes, I'd like to know what does $^O and $Config{'archname'} contain
on a typical Tru64 -- but of course, a patch against myldr/Makefile.PL
will be even more appreciated. :-)

Thanks,
/Autrijus/


pgp0.pgp
Description: PGP signature


Re: Can't install PAR on Win32 (cygwin)

2004-04-18 Thread Autrijus Tang
On Sun, Apr 18, 2004 at 01:53:51PM +0200, Laurent Perez wrote:
 I'm trying to install PAR on Win32 (cygwin, not activestate) from perl 
 -MCPAN -e shell, however problems happen :(, it seems to fail several tests 
 on t/2-pp.t automated_pp_test.pl, and prevents the make install since too 
 many errors roll up.

Hey, we lost cygwin support during the past few versions of PAR;
I had not tracked whether it's a problem due to recent cygwin/cygperl,
or if it's a problem with PAR.

Sadly, my laptop is broken and I will not be able to investigate this
until 72 hours from now. :-/

 I really like PAR (works fine on my *nix) but I need to produce a win32 
 .exe from my script, so I'm lost.

Any reason why ActivePerl (or self-compiled Perl using MingW / VC6)
would not work for your purpose?

Thanks,
/Autrijus/


pgp0.pgp
Description: PGP signature


Re: Comment. The first test of make test fails

2004-04-16 Thread Autrijus Tang
On Fri, Apr 16, 2004 at 06:56:39AM -0400, the.noonings wrote:
 I downloaded the newest SHA1.pm version 2.10 and it still fails with the
 Unknown cipher: SHA1 message.

You need Digest::SHA1, not SHA1.pm.

The test should probably be made more relaxed for such situations...

Thanks,
/Autrijus/


pgp0.pgp
Description: PGP signature


Re: pp -C and POSIX problems

2004-03-17 Thread Autrijus Tang
On Tue, Mar 16, 2004 at 07:27:31PM -0600, Mike Campbell wrote:
 I have just installed PAR .80 and am having problem when using a POSIX
 module. I have the following simple perl program to illustrate:

pp -C does not work with POSIX.pm; that's a known problem. :)

Expect it to be addressed sometime in the 0.8x series.  I've just added
this to the TODO file:

- POSIX.pm does not currently work with pp -C.  Need to change
  it to either use preemptive extraction, or extract under the
  appropriate directory.

Thanks,
/Autrijus/


pgp0.pgp
Description: PGP signature


Re: pp -C and POSIX problems

2004-03-17 Thread Autrijus Tang
Hmm, HTML-only mail. :-)

Anyway, sorry for being vague -- I meant that I'll address
this problem in 0.81.  And I doubt reverting to 0.79 will
help -- afaik it did not work with POSIX.pm either.

Also, Date::Format provides a pure-perl implementation of
strftime() -- http://search.cpan.org/dist/TimeDate/.

Thanks,
/Autrijus/


pgp0.pgp
Description: PGP signature


Re: Latest Snapshot compiles in cygwin bit parl.exe is too big

2004-03-17 Thread Autrijus Tang
On Wed, Mar 17, 2004 at 08:27:02AM -0500, TP Diffenbach wrote:
 Special pleading: any idea hwn the pre-built Windows executables based on
 this snapshot will be built?

Anyone with VC6 can build that with make par.

I only build prebuilt binaries with each PAR release.

I may be able to combine some bugfixes and do a 0.80_99 for you to test
in a few days...

Thanks,
/Autrijus/


pgp0.pgp
Description: PGP signature


Re: pp -i iconfile with Tk apps

2004-03-17 Thread Autrijus Tang
On Wed, Mar 17, 2004 at 05:43:24PM -0800, Alan Stewart wrote:
 If anyone out there is packing Tk apps, please try it out and let us
 know how it goes.  Please make the following patch at line 168 of pp,
 to accommodate Win32::Exe v0.07:

Win32::Exe 0.08 has just been released; no patch is required anymore
for pp to use it.  You can grab it from CPAN, or from my website:

http://aut.dyndns.org/Win32-Exe-0.08.tar.gz

Thanks,
/Autrijus/


pgp0.pgp
Description: PGP signature


Re: PAR 0.80 released!

2004-03-16 Thread Autrijus Tang
On Tue, Mar 16, 2004 at 12:26:26PM -0800, Edward S. Peschko wrote:
 cool, but what's the issue with making OOified pp not standard?

Nothing at all.  0.81 will _really_ have OOified pp shipped as
default.  It's just I'd like to get t/2-pp.t out first so we
can fix platform-specific bugs uncovered by it, so we can have a
reasonable chance of shipping OOified script/pp and be sure that
it works as well as before (by testing it with t/2-pp.t).

Thank,
/Autrijus/


pgp0.pgp
Description: PGP signature


Unit tests for pp incoporated.

2004-03-11 Thread Autrijus Tang
The snapshot version:
http://p4.elixus.org/snap/PAR.tar.gz

has just received the excellent t/2-pp.t test, which is a huge (6,000+
lines!) unit test for pp, contributed by Malcolm the. Noonings.

It covers most options offered by pp, and has uncovered at least four
subtle bugs in PAR/pp's implementation.

As it has passed on Win32, Linux, FreeBSD and MacOSX, I felt relatively
safe in its inclusion.  Please give it a try if possible -- no other
large changes will be going into the already much delayed 0.80 release,
which should be out sometime next week.

BTW, I'm sorry for lack of responses to the list.  I'm still processing
my massive (1000+) mail backlog; I'll get back to it eventually. :-)

Thanks,
/Autrijus/


signature.asc
Description: 	=?UTF-8?Q?=E9=80=99=E6=98=AF=E6=95=B8=E4=BD=8D=E5=8A=A0=E7=B0=BD?=	=?UTF-8?Q?=E7=9A=84=E9=83=B5?= =?UTF-8?Q?=E4=BB=B6?=


Re: Including resources in .exe

2004-03-09 Thread Autrijus Tang
On Tue, Mar 09, 2004 at 06:41:33AM -0500, Linn White wrote:
 I've managed to include some resources in my exe by adding the resources I
 want to parl.exe.  When I compile the .par into an exe, the resources are
 there, but when I run it, the background exe that runs in my cache does not
 have the resources in it.  Any body know how to fix this?

Currently you'd have to use pp -d and modify parldyn.exe's resources.

Thanks,
/Autrijus/


pgp0.pgp
Description: PGP signature


Re: apache::par can't work

2004-03-08 Thread Autrijus Tang
On Mon, Mar 08, 2004 at 03:12:40AM +0800, luke wrote:
 http://www.autrijus.org/par-tutorial/slide018a.html
 This command can not work in win32.

Hi luke.  I'm not exactly sure what your Apache version is;
whether it's compiled with mod_perl; and the situation of c:\web
setup.

Is it possible to describe them in more detail?  Alternatively,
you can also mail me in Traditional Chinese () privately
to sort things out. :)

Thanks,
/Autrijus/


Re: PAR 0.79_99 / a couple changes to par_init_env

2004-03-04 Thread Autrijus Tang
On Thu, Mar 04, 2004 at 10:17:17PM -0800, Alan Stewart wrote:
 I made a mistake in par.pl/_par_init_env line 715. It needs to be:
 elsif (!exists $ENV{PAR_GLOBAL_CLEAN}) {
 intead of:
 elsif (!$ENV{PAR_GLOBAL_CLEAN}) {

Strangely, I see

elsif (!$ENV{PAR_CLEAN}) {

on line 715.

 Also, in utils.c/par_init_env changes to a variable don't carry thru from static to 
 main when an existing env variable is set to a new value of the same length.

Please submit the whole file(s) to me, or as diff.exe -du patches...
:)

Thanks,
/Autrijus/


pgp0.pgp
Description: PGP signature


PAR 0.79_99 released!

2004-03-03 Thread Autrijus Tang
Here is PAR 0.79_99, the setenv forever release, freshly uploaded
to CPAN:

http://aut.dyndns.org/dist/PAR-0.79_99.tar.gz
MD5 (PAR-0.79_99.tar.gz) = 9251c658266cc4818f9eeb5e978ac67e

Pre-built Win32 binaries may be downloaded from CPAN and
http://aut.dyndns.org/par/.  As usual, you still need to download and
unpack PAR-0.79_99.tar.gz, put the prebuilt .par file inside the extracted
PAR-0.79_99 directory, then proceed to perl Makefile.PL.

This release fixed building on Linux/5.9.3, as well as other platforms with
faulty putenv() calls.  It also contains recursive-rmdir patch from Alan,
as well as better support for pp -L.

I'm still waiting for Macolm's test suite for 0.80, but this release seems to
be otherwise fine.

Again... Please test this revision, so 0.80 will seriously rock. :-)

Thanks!
/Autrijus/


signature.asc
Description: 	=?UTF-8?Q?=E9=80=99=E6=98=AF=E6=95=B8=E4=BD=8D=E5=8A=A0=E7=B0=BD?=	=?UTF-8?Q?=E7=9A=84=E9=83=B5?= =?UTF-8?Q?=E4=BB=B6?=


Re: Obfuscation/Hiding source code

2004-02-29 Thread Autrijus Tang
On Sun, Feb 29, 2004 at 06:18:50PM -0600, Ben Russell wrote:
 I want to create a PAR distribution of a perl script of mine, but I do
 not want the people that I distribute the script to to be able to
 retrieve my source code (at least not easily).

Obfuscate is your best bet.  Bleach merely confuses the user;
it and Bytecode may be added on top of Obfuscate for extra
obscurability, but Obfuscate is really the best we can do for now.

Thanks,
/Autrijus/


pgp0.pgp
Description: PGP signature


PAR 0.79_98 released!

2004-02-27 Thread Autrijus Tang
Here is PAR 0.79_98, the testing waters release, freshly
uploaded to CPAN:

http://aut.dyndns.org/dist/PAR-0.79_98.tar.gz
MD5 (PAR-0.79_98.tar.gz) = 71c28cf213540e6d9b9d5444d4aa7f1a

Pre-built Win32 binaries may be downloaded from CPAN and
http://aut.dyndns.org/par/.  As usual, you still need to download and
unpack PAR-0.79_98.tar.gz, put the prebuilt .par file inside the extracted
PAR-0.79_98 directory, then proceed to perl Makefile.PL.

There are, some known issues that prevented this release from becoming
0.80:

- IO.dll version incompatibility is still unresolved.
- Modifying Tk icons on ActivePerl 5.8.3 fails here.
- make all may not install dependencies first.  The workaround
  is to make config first.
- Linux with GCC3 reportedly segfaults; a backtrace will be appreciated.
  (To get a debug built, edit myldr/Makefile.PL to set the debug flag.)
- Rafael reports that 5.9.1 does not build cleanly, but it works fine
  on FreeBSD here, so it may or may not be a Linux-specific problem.

I expect a 0.79_99 with those issues resolved soon, and 0.80 shall follow
provided 0.79_99 does not introduce new regressions.  Also, I'd like to
merge in Macolm's excellent regression test suite for PAR during 0.79_99.

If Alan/Nicholas/Anybody manages to come up with recursive par_rmtmpdir()
implementation(s) for Win32/*nix, I'd be happy to merge them too.

So... Please test this revision, so 0.80 will seriously rock. :-)

[Changes for 0.80 - tentative]

* New Features

- Much better support for pp -i and pp -N (--icon/--info)
  using the Win32::Exe module.  You may now use EXE and DLL as
  icon files.

- If PAR_GLOBAL_CLEAN (-C, --clean) is not set, we now preemptively
  extracts files under the cache directory.  That made POSIX.pm
  and other modules that depends on %INC pointing to real files
  work correctly.

- Now uses SHA-1 to create temporary directories and files,
  instead of mtime.

- Verbosity level is now 1..3, not 0..5; pp -v now takes
  an optional integer, so pp -v input.pl is no longer an error.

- New flags -vv and -vvv, as shorthands for -v 2 and -v 3.

- The user-settable PAR_CLEAN and PAR_TEMP environment variables has
  been renamed to PAR_GLOBAL_CLEAN and PAR_GLOBAL_TEMP; the original
  variables is still preserved within the program.  This is so that a
  pp-generated program can exec() or system() another one without
  crippling its environment variables.

- File lookups are now case-insensitive on case-insensitive filesystems.

* Bug fixes

- pp -d (--dependent) prevented pp -C (--clean) from working.

- The pp -m (--multiarch) option was implemented incorrectly
  and thus broken.

- Many documentation tweaks.

- Previously, pp -M (--module) did not add the module itself,
  only its dependencies.

- Suppress a bogus warning when $ENV{$Config{ldlibpthname}} is empty.

- parl -v without Module::Signature installed could delete all
  files within the current directory.  Oops.

- On *nix systems, pp-generated executables erroneously linked to
  libperl even if pp -d (--dependent) is not set.

- Spurious =cut directives in source files is now handled gracefully
  by PAR::Filter::PodStrip.

Thanks!
/Autrijus/


signature.asc
Description: 	=?UTF-8?Q?=E9=80=99=E6=98=AF=E6=95=B8=E4=BD=8D=E5=8A=A0=E7=B0=BD?=	=?UTF-8?Q?=E7=9A=84=E9=83=B5?= =?UTF-8?Q?=E4=BB=B6?=


Re: Modules don't get included

2004-02-26 Thread Autrijus Tang
On Thu, Feb 26, 2004 at 09:35:06AM +0100, Roderich Schupp wrote:
 though this is not PAR's fault, here's a patch for PodStrip.pm 
 to strip such spurious =cut's:

Thanks, applied!

/Autrijus/


pgp0.pgp
Description: PGP signature


Re: parl -v

2004-02-24 Thread Autrijus Tang
On Tue, Feb 24, 2004 at 03:35:30PM -, Ian Cass wrote:
 I've spent 30mins looking at this  tracing what's happening.

And I'm very grateful for that.

 The only place I could find PAR_SPAWNED being added to the environment was
 in static.c, and even then it was wrapped in a #ifdef WIN32 (I'm using
 Linux).
 
 I guess the fix is to remove the following lines from main.c?
 
 if ( getenv(PAR_SPAWNED) == NULL ) {
 par_cleanup(stmpdir);
 }

No, not really, since after par.pl inside it is successfully run,
stmpdir should actually hold some value.

I have committed an emergency patch that checks for null pointers/
empty strings, as well as ensure the parent directory of stmpdir
always begin with par-, before nuking everything in it.

But I'm in middle of my sleep, and will resume it now.  Expect a
release once I get up...

Thanks,
/Autrijus/


pgp0.pgp
Description: PGP signature


Re: parl -v

2004-02-23 Thread Autrijus Tang
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
Ian Cass wrote:
| parl -v seems to delete all files in the current directory.
Ouch.  This is a serious problem.  I'll release a new PAR::Dist
once the bug is located.
But I cannot duplicate it here.  Can you add some print() in

/home/ian.cass/bitch/perl5.8.3/lib/site_perl/5.8.3/PAR/Dist.pm

line 444ish, to dump the value of $tmpdir?  It is generated by
line 439:
~my $tmpdir =
File::Temp::mkdtemp(File::Spec-catdir(File::Spec-tmpdir, parX))
or die $!;
I fail to see why it can end up with  or .. :-/

Thanks,
/Autrijus/
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.2.3 (FreeBSD)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD8DBQFAOlULtLPdNzw1AaARAgYTAJ40leNnLPgxq0vW8BouzON1VMx+bgCgo1ds
GkkaQbwNnWgaoiImvGnZ9Pg=
=4x78
-END PGP SIGNATURE-


Re: caching

2004-02-23 Thread Autrijus Tang
On Mon, Feb 23, 2004 at 06:27:04PM -0500, Jesse Schoch wrote:
 Does pp create a new cache for each program it compiles?

No, it reuses the same cache for parl.exe itself.

But each new program is likely to create a new cache directory
when run, that's true.

Thanks,
/Autrijus/


pgp0.pgp
Description: PGP signature


Re: Win32/IIPC.pm error

2004-02-23 Thread Autrijus Tang
On Mon, Feb 23, 2004 at 05:46:43PM -0700, Tony Wong (IT) wrote:
 Hi,
 I am getting below error when running a packaged exe.   The script
 itself doesn't exhibit such error.  The script uses Win32::Iproc.   Any
 advice?   Thanks.

As these modules are not on CPAN, I have no idea how they work. :-/

Can you provide the module sources and the script that triggers the
problem?

Thanks,
/Autrijus/


pgp0.pgp
Description: PGP signature


Re: a few doubts

2004-02-22 Thread Autrijus Tang
On Sun, Feb 22, 2004 at 03:57:52PM -0800, Alan Stewart wrote:
  H... so -C does not delete the temp dir recursively?
  -- fxn
 
 That was intentionally not done based on the assumption that PAR itself does not 
 create 
 any subdirs when using -C. All the extraction is flat.
 
 I know it was discussed. Autrijus, what was the reasoning for that again?

The reason was simply that no-one has offered a rm -rf C implementation
for both Win32 and non-Win32. :)

Thanks,
/Autrijus/


pgp0.pgp
Description: PGP signature


Re: A couple short questions

2004-02-21 Thread Autrijus Tang
On Sat, Feb 21, 2004 at 04:09:34PM -0800, Alan Stewart wrote:
 1. What's still on the TODO list before PAR 0.80 comes out?

Macolm Nooning's test suite.

Finish OO-ify pp.

 2. Does [EMAIL PROTECTED] have any limitations in receiving attachments, like maybe 
 no 
 binaries?

 2 or maybe 3 times I have sent email to [EMAIL PROTECTED] with zip file attachments, 
 CC'd to 
 Autrijus. He gets it (?directly?) and I get his reply directly and thru the mailing 
 list, but only his reply shows up on the list. Posts by me without attachments have 
 always made it to the list. I know others have gotten posts up with attachments, but 
 I 
 haven't noticed any zips.
 
 Secondarily, this is a test to see if I am still in the loop with the list. Could be 
 my 
 ISP :(

I don't know; cc'ed to Ask.

Although as a policy, largish binary attachments should probably be
posted as a link instead.

Also I read somewhere perl.org has responded to MyDoom by blocking all
zip attachments.  I do not know whether that is still true.

Thanks,
/Autrijus/


pgp0.pgp
Description: PGP signature


Re: exec problems

2004-02-21 Thread Autrijus Tang
On Sat, Feb 21, 2004 at 08:21:17PM -0500, Jesse Schoch wrote:
 I didn't see the updated archive, is it up on http://aut.dyndns.org/dist/

The snapshot is always on http://p4.elixus.org/snap/PAR.tar.gz
so please give it a try. :)

Thanks,
/Autrijus/


pgp0.pgp
Description: PGP signature


Re: A couple short questions

2004-02-21 Thread Autrijus Tang
On Sat, Feb 21, 2004 at 05:16:42PM -0800, Edward S. Peschko wrote:
 just wondering, but is the OO interface for pp going to survive 
 pretty much intact, or is there going to be some refactoring involved? 

Pretty much intact, at least that's my current plan, unless you
or someone else comes up with a better plan. :)

Thanks,
/Autrijus/


pgp0.pgp
Description: PGP signature


Re: Pb with PAR and Win32::Perm dll ?

2004-02-20 Thread Autrijus Tang
On Fri, Feb 20, 2004 at 09:35:48AM +0100, lala lala wrote:
 I have the solution thanks to Jean Louis Morel on fr.comp.lang.perl.
 In fact the dll is Perms.DLL wit DLL in capital letters.
 And so the bootstrap function of PAR in the the module Dynaloader fails 
 looking for Perms.dll in the table of dll which contains only Perms.DLL.
 And so the solution is just rename Perms.DLL in Perms.dll and do pp -o 
 my.exe my.pl ... and everything goes right ! ! !

Nice.  However I do consider this a PAR bug, although I don't yet
have time to fix it.  Can you add this problem/answer to the FAQ section
on http://par.perl.org/ so we can work on this later?

Thanks,
/Autrijus/


pgp0.pgp
Description: PGP signature


Re: Can't find par loader at C:\Perl\bin\pp line 694 error

2004-02-20 Thread Autrijus Tang
On Fri, Feb 20, 2004 at 04:38:20PM -0700, Tony Wong (IT) wrote:
 After finishing the par-0.79_97 installation, I got Can't find par
 loader at C:\Perl\bin\pp line 694 error when trying to package a
 script.This machine does not have VS or any other C compiler
 installed.Any advices on how to correct the problem?  Thank you.

Your machine also has no internet connection? :-/

Well, the best bet may be downloading the corresponding .par file
from http://aut.dyndns.org/par/ (according to your perl version),
put that .par file under the source directory PAR-0.79_97\ and
type perl Makefile.PL and nmake install again.

Thanks,
/Autrijus/


pgp0.pgp
Description: PGP signature


Re: msvcr71.dll error

2004-02-19 Thread Autrijus Tang
On Thu, Feb 19, 2004 at 04:28:58PM -0700, Tony Wong (IT) wrote:
 After I generated an exe from using the -o option and the ran the
 executable from another workstation, I got an pop up message that said
 This application has failed to start because MSVCR71.dll was not found.
 Re-installing the application may fix this problem.My perl code or
 any modules do not use MSVCR71.dll.   I checked around the net to see
 what msvcr71.dll was and it turned out it was .Net related.   Anybody
 know how to fix this?

You had VC.Net on your computer that installed PAR?  Well... Try
temporarily moving it away during installation, so it can use my
precompiled one (which used VC6).  Alternatively, use VC6 as your
vcvars32 instead of the VC.Net one.

 Also,  on that same computer that generated the executable I didn't get
 the error but got a different error, Can't locate loadable object for
 module Win32::Lanman.   I am using Lanman module.   Any advise is
 greatly appreciated.Thanks.

Try the experimental 0.79_97 version and see if it works?

/Autrijus/


pgp0.pgp
Description: PGP signature


Re: exec problems

2004-02-17 Thread Autrijus Tang
On Tue, Feb 17, 2004 at 10:25:25AM -0800, Alan Stewart wrote:
 The work-around I mentioned below is overkill and prevents having systems defaults 
 for 
 PAR_TEMP, PAR_CLEAN and PAR_DEBUG getting to the second exe.

Nice catch.

So all we have to do is to first copy the original envs into _PAR_TEMP
and _PAR_CLEAN, *then* modify them, so they apply to this exe only.
That way PAR_CLEAN/PAR_TEMP will not change and will be picked up
verbatim by the next .exe.

Patches welcome!

Thanks,
/Autrijus/


pgp0.pgp
Description: PGP signature


Re: exec problems

2004-02-17 Thread Autrijus Tang
On Tue, Feb 17, 2004 at 12:09:48PM -0800, Alan Stewart wrote:
 If the user wants system wide defaults, he/she sets SYS_PAR_xxx before running PAR 
 apps. The static.c or unspawned main.c/par.pl starts by deleting PAR_xxx and setting 
 them to any SYS_PAR_xxx, ignoring the incoming PAR_xxx. The rest of the code is 
 unchanged, including any user PAR scripts that have been written to look at PAR_xxx 
 variables already.

That is indeed a better idea.  But I think the name should be PAR_GLOBAL_TEMP
and PAR_GLOBAL_CLEAN, in analogy to Perl's CORE::GLOBAL::* variables.

 Less patching, but whaddya think?

I think go for it. :-)

Thanks,
/Autrijus/


pgp0.pgp
Description: PGP signature


Re: PAR 0.79_97 released!

2004-02-16 Thread Autrijus Tang
On Mon, Feb 16, 2004 at 12:24:39AM -0800, Alan Stewart wrote:
 Looks like it should be:
   perl -Iinc t/1-basic.t
 vice:
   perl -Ilib t/1-basic.t

I see.  Thanks, updated, will be in 0.05.

/Autrijus/


pgp0.pgp
Description: PGP signature


Re: PAR 0.79_97 released!

2004-02-16 Thread Autrijus Tang
On Mon, Feb 16, 2004 at 01:57:28AM -0800, Alan Stewart wrote:
 Looking at Exe.pm, if set_icons() retained the PathName for the icon group from the 
 original file rather than making it be /#RT_GROUP_ICON/#1/#0, and the icon file 
 from 
 the --icon option was also applied to Tk.dll before packing, even Tk programs would 
 show the new icon everywhere.

Good idea.  I have committed a change to Exe.pm so it retains the
original GroupIcon's PathName whereever possible -- you can get it at:

http://svn.elixus.org/repos/member/autrijus/Win32-Exe/lib/Win32/Exe.pm

I also gave Tk.dll a quite try, using wrestool (from icoutils) to dump
the modified image -- it seems that for some reason the string image
is corrupted (look for $str_image in Win32::Exe::Section::Resource),
as if the length or pointer is incorrectly calculated...

 I did a quick hack on 2-icon.t to see if modifying a .dll worked and it did, except 
 for 
 the icon PathName. If that sounds true, I'll give it the rest a shot...

Do give it a shot if you can, as I really cannot afford to spend more
tuits on Win32::Exe now. :-)

Thanks,
/Autrijus/


pgp0.pgp
Description: PGP signature


Re: PAR 0.79_97 released!

2004-02-16 Thread Autrijus Tang
On Mon, Feb 16, 2004 at 03:23:48PM -0800, Alan Stewart wrote:
 I am not sure what you meant. Was an iconfile extracted from Tk.dll
 with wrestool corrupted?

The resource names from Tk.dll got corrupted after a set_icon, resulting
in a bad DLL image that Win32 refused to load.

I'm surprised that it works for you, because it definitely breaks here.
Can you send over your Tk.dll and the icon file you used in a private
mail?  I suspect it was because the icon sizes were intact in your case,
so it did not corrupt the dll.

For now, I've committed your patch with an addition change:

  * The previous patch by Alan broke on my WinXP.
For now, limit it to only happen when $ENV{PP_TK_ICONFIX} is true.

This is a tepmorary measure, so PP_TK_ICONFIX won't be documented
until it's investigated more thoroughly.

Thanks,
/Autrijus/


pgp0.pgp
Description: PGP signature


PAR 0.79_97 released!

2004-02-15 Thread Autrijus Tang
After one week of addictive hacking --info and --icon support (and
neglecting real works), I present PAR 0.79_97, the death march release,
freshly uploaded to CPAN:

http://aut.dyndns.org/dist/PAR-0.79_97.tar.gz
MD5 (PAR-0.79_97.tar.gz) = 56bf29bb66b63dfeda0217e14dc4cad1

As of this writing, PAUSE does not work yet, so Win32 users also need
to download and install two extra distributions manually:

http://aut.dyndns.org/dist/Parse-Binary-0.04.tar.gz
MD5 (Parse-Binary-0.04.tar.gz) = c1fed20aea5cf32a698e31a7dc53542a

http://aut.dyndns.org/dist/Win32-Exe-0.04.tar.gz
MD5 (Win32-Exe-0.04.tar.gz) = b2f60472ee77f746c8a5d17dacc23a4e

Pre-built win32 binaries may be downloaded from CPAN and
http://aut.dyndns.org/par/.  As usual, you still need to download and
unpack PAR-0.79_97.tar.gz, put the prebuilt .par file inside the extracted
PAR-0.79_97 directory, then proceed to perl Makefile.PL.

Special thanks goes to Malcolm Nooning and Jouke Visser for testing.
Now I'll (again) be absent from the list for a few days to catch up
real works that will be due in $negative_number days... ;-)

* New Features

- Much better support for pp -i and pp -N (--icon/--info)
  using the Win32::Exe module.  You may now use EXE and DLL as
  icon files.

- If PAR_CLEAN (-C, --clean) is not set, we now preemptively
  extracts files under the cache directory.  That made POSIX.pm
  and other modules that depends on %INC pointing to real files
  work correctly.

- Now uses SHA-1 to create temporary directories and files,
  instead of mtime.

- Verbosity level is now 1..3, not 0..5; pp -v now takes
  an optional integer, so pp -v input.pl is no longer an error.

- New flags -vv and -vvv, as shorthands for -v 2 and -v 3.

* Bug fixes

- pp -d (--dependent) prevented pp -C (--clean) from working.

- The pp -m (--multiarch) option was implemented incorrectly
  and thus broken.

- Many documentation tweaks.

- Previously, pp -M (--module) did not add the module itself,
  only its dependencies.

- Suppress a bogus warning when $ENV{$Config{ldlibpthname}} is empty.

Thanks!
/Autrijus/


signature.asc
Description: 	=?UTF-8?Q?=E9=80=99=E6=98=AF=E6=95=B8=E4=BD=8D=E5=8A=A0=E7=B0=BD?=	=?UTF-8?Q?=E7=9A=84=E9=83=B5?= =?UTF-8?Q?=E4=BB=B6?=


Re: Pure Perl Gunzip

2004-02-14 Thread Autrijus Tang
On Sat, Feb 14, 2004 at 01:32:50PM +, Nicholas Clark wrote:
 Strictly do you need a pure perl gunzip (ie the gzopen etc part of the API)?
 Or is the inflateInit() etc part of the API all that you use?

I need whatever parts needed by Archive::Zip.

/Autrijus/


pgp0.pgp
Description: PGP signature


Re: First-time user questions...

2004-02-13 Thread Autrijus Tang
On Fri, Feb 13, 2004 at 09:43:03AM -0500, Mark A. Chalkley wrote:
 You may have the answer there.  On my system, with the same single-line script,
 pp and Perl2Exe create exes of 1,409,758 and 365,071 bytes.  So, my system's exe
 is 560k or so smaller than yours.

pp currently ships with 200k or so extra module files needed to get
Compress::Zlib and Archive::Zip to run.  This will be addressed after
PAR 0.80, now that I have a pure-perl gunzip contributed from Ton
Hospel.

Meanwhile, you may try to use

http://upx.sf.net/

to reduce the size of pp-generated .exe some more, though.

Thanks,
/Autrijus/


pgp0.pgp
Description: PGP signature


Pure Perl Gunzip

2004-02-13 Thread Autrijus Tang
Attached is Ton's version of gunzip.pl.  If anybody is looking for a
small project to work on, then I'd seriously appreciate if it can be
made API compatible with Compress::Zlib, perhaps as Compress::Zlib_PP
or Compress::Zlib::PurePerl.  It will then make PAR's bootstrapping
much simpler, as well as serving many other uses.

Thanks,
/Autrijus/


gunzip.pl
Description: Perl program


pgp0.pgp
Description: PGP signature


Re: First-time user questions...

2004-02-12 Thread Autrijus Tang
On Thu, Feb 12, 2004 at 11:14:04AM -0500, Mark A. Chalkley wrote:
 page.  I've packaged a short script that uses only CipherSaber and
 Compress::PPMd.  I packaged it using pp with no options (other than -o, of
 course).  Perl2Exe created an exe 471kb and pp's was 1528kb.  Obviously, I'm
 missing something, but the options listed in the pp html doc that would seem to
 matter appear to be enabled by default.  Where did I go wrong?

Tried pp -d?  That will reduce the footprint to on par with Perl2Exe.

Thanks,
/Autrijus/


pgp0.pgp
Description: PGP signature


Re: Using PAR with PDL module

2004-02-12 Thread Autrijus Tang
On Thu, Feb 12, 2004 at 12:49:50PM -0500, Eric Paulson wrote:
 Can't locate loadable object for module PDL::Core in @INC (@INC contains: 
 CODE(0x124faa8) CODE(0x12ea9ec) .) at ../blib/lib/PAR/Heavy.pm line 78
 Compilation failed in require at (eval 11) line 6.
 BEGIN failed--compilation aborted at (eval 11) line 6.
 BEGIN failed--compilation aborted at script/testscript.pl line 5.
 
 Looking through the output when I run pp -v 5, I can see that core.dll is 
 indeed added to the par file.

Where does it reside in the PAR file?  In the root as \core.dll, or in
the lib\auto\pdl\core\core.dll?

Thanks,
/Autrijus/


pgp0.pgp
Description: PGP signature


Re: Bad link

2004-02-03 Thread Autrijus Tang
 , 2004-02-02 23:37, the.noonings 
 The link 
 PAR::Intro: http://search.cpan.org/dist/PAR/lib/PAR/Intro.pod
 does not exist

Thanks, fixed in the svn repository.

/Autrijus/


signature.asc
Description: 	=?UTF-8?Q?=E9=80=99=E6=98=AF=E6=95=B8=E4=BD=8D=E5=8A=A0=E7=B0=BD?=	=?UTF-8?Q?=E7=9A=84=E9=83=B5?= =?UTF-8?Q?=E4=BB=B6?=


Re: [PATCH] Preemptive extraction

2004-02-03 Thread Autrijus Tang
 , 2004-02-03 07:25, Autrijus Tang 
 *** Help Wanted ***
 There is one gotcha though: the two par_rmtmpdir() functions in
 myldr/mktmpdir.c are not yet capable of clearing up $par_temp with
 subdirectories, as it was flat before this preemptive extraction
 patch.

I have thought about it a bit and decided to sidestep this problem, by
only preemptive extract libdirs when $ENV{PAR_CLEAN} is not set.  That
way we never need to clean up $par_temp.  Also, I've put things under
$par_temp/inc instead of $par_temp to avoid clobbering other temp
files.

So... Help no longer wanted for rm -rf in C, but definitely wanted to
test that the new preemptive extraction does not break existing
applications.

Also, I'm sorry for my lack of response to questions on the list. 
Taipei is unusually cold this winter and I've caught a bit cold, so I'm
operating under negative, nay, imaginary tuits here... :-)

Thanks,
/Autrijus/


signature.asc
Description: 	=?UTF-8?Q?=E9=80=99=E6=98=AF=E6=95=B8=E4=BD=8D=E5=8A=A0=E7=B0=BD?=	=?UTF-8?Q?=E7=9A=84=E9=83=B5?= =?UTF-8?Q?=E4=BB=B6?=


Re: [PATCH] Preemptive extraction

2004-02-02 Thread Autrijus Tang
 , 2004-01-31 12:17, Barrie Slaymaker  
 This patch preemptively extracts the contents of the .zip file and not
 unshift find_par on @INC.  This is necessary to, for instance, use
 POSIX on Unix platforms.  I think it would also address my older issues,
 but that's moot.

Applied with minor modifications, notably to rid of the
$preemptive_extraction_mode variable, and to retain the find_par hook in
@INC since it may well be used for other .par files by the same program.

The preemptive directories are unshifted into @INC so should be searched
earlier than the findpar hook.  But wait...

*** Help Wanted ***

There is one gotcha though: the two par_rmtmpdir() functions in
myldr/mktmpdir.c are not yet capable of clearing up $par_temp with
subdirectories, as it was flat before this preemptive extraction
patch.

Can you, or someone versed in C, help to write the equivalent of rm
-rf for them, and send me a patch?

Thanks,
/Autrijus/


signature.asc
Description: 	=?UTF-8?Q?=E9=80=99=E6=98=AF=E6=95=B8=E4=BD=8D=E5=8A=A0=E7=B0=BD?=	=?UTF-8?Q?=E7=9A=84=E9=83=B5?= =?UTF-8?Q?=E4=BB=B6?=


Re: Patch to PP

2004-01-30 Thread Autrijus Tang
On Fri, Jan 30, 2004 at 12:01:39PM -, Ian Cass wrote:
 The -l (--link) argument to pp generates an error if LD_LIBRARY_PATH does
 not exist. Can I therefore suggest a patch to 'sub _find_shlib' something
 similar to the following...

Thanks, applied.

/Autrijus/


Re: pp created executable randomly not running on winxp

2004-01-29 Thread Autrijus Tang
Corey Goldberg wrote:

There is one issue I am having
I am using ActiveState Perl 5.8 and PAR 0.75 (created from the Activestate PPD).
I compile my file like this:  pp -S -o foo.exe foo.pl
This was fixed long, long ago.  ActiveState PPD has now been updated to 
PAR 0.79 and you should also update accordingly. :-)

Thanks,
/Autrijus/


Re: environmental hook in PAR

2004-01-29 Thread Autrijus Tang
Alan Stewart wrote:
I haven't had time to study the new code yet, but a quick diff looks like there is an 
accidental insertion of text into line 1190 of App::Packer::Backend::PAR.pm.

In Edward's code it was:

wanted = sub {  push(@return, $File::Find::name) if (-f $_); }, 

and in the snapshot, it is:

wanted = sub {  push(@return, $File: 
//member/autrijus/PAR/lib/App/Packer/Backend/PAR.pm $_); }, 

Was there supposed to be a change here or not?
Oops, Perforce RCS tag expansion strikes again!

Fixed in depot by simply dropping $_. :-)

Thanks,
/Autrijus/


Re: Problems wih pp

2004-01-26 Thread Autrijus Tang
 alternative to perl2exe. I managed to download all needed packages and
 could install it without getting an error, but it still doesn't like
 me.

Actually, if you are using ActivePerl, this command:

ppm install PAR

should install a ready-to-use PAR 0.79 for you.

Thanks,
/Autrijus/


pgp0.pgp
Description: PGP signature


Re: new fixes for win32/previous perl versions

2004-01-24 Thread Autrijus Tang
 , 2004-01-21 15:02, Edward S. Peschko 
 On Tue, Jan 20, 2004 at 10:01:24PM -0800, Alan Stewart wrote:
  On 20 Jan 2004 at 17:46, Edward S. Peschko wrote:
   Attached is a modified Module::ScanDeps::DataFeed which makes
   -c and -n work on pre-5.8.3 perl (it uses a somewhat convoluted but
   back-portable way to get shared object filenames). 
   
  
  I didn't see an attachment ?!
 
 oops. one more try..

Thanks, applied (with heavy modifications), it will be in the next
version. :)

/Autrijus/


signature.asc
Description: 	=?UTF-8?Q?=E9=80=99=E6=98=AF=E6=95=B8=E4=BD=8D=E5=8A=A0=E7=B0=BD?=	=?UTF-8?Q?=E7=9A=84=E9=83=B5?= =?UTF-8?Q?=E4=BB=B6?=


Re: OO-ified pp; ppack

2004-01-19 Thread Autrijus Tang
Alan Stewart wrote:
Is there going to be a version 0.80 with the temp dir fixes soon, or are you going to 
make the shift to OO-ified PAR first?
I'm going to be offline (or rather, dialup only) for the Chinese New 
Year first... :-)

But I'll see if I can fix the cygwin issue this week, and release a 0.80 
based on that.  Any other things you'd like to see in .80?

Thanks,
/Autrijus/



Re: PAR-0.79 install fails on windows XP (Cygwin)

2004-01-19 Thread Autrijus Tang
Clint Harames wrote:
I've tried to install PAR with the cpan shell (perl -MCPAN -e shell) and
also with the make file.  Both methods fail in similar fashions.
I can confirm this.  Somehow /bin is lost from PATH.

An easy workaround is cp'ing everything in /bin into PAR-0.79/myldr/.
It should
I'll look into fixing this.
/Autrijus/


Re: par and perl version (5.8.?)

2004-01-17 Thread Autrijus Tang
Suresh Govindachar wrote:
Hello,
On my Win98 machine, perl -v outputs:
This is perl, v5.8.0 built for MSWin32-x86-multi-thread
(with 1 registered patch, see perl -V for more detail)
Can I use the latest par with that perl:
PAR-0.79-MSWin32-x86-multi-thread-5.8.2.par.zip
The .zip extension is redundant.  Please remove it. :-)

or do I need to upgrade to perl 5.8.2?
5.8.2 is recommended.  Using it with 5.8.0 may or may not work;
theoretically they should be binary compatible, but there may
be corner cases lying around somewhere.
Thanks,
/Autrijus/


Re: Final version of temp dir stuff ?

2004-01-13 Thread Autrijus Tang
 , 2004-01-12 03:28, Alan Stewart 
 When running pp -P, par.pl isn't executing any DLLs out of the temp dir; they are 
 executing out of the Perl tree. The reason the temp dir wasn't being deleted, in the 
 case I tried, is because @tmpfile was empty. The END block in par.pl is:

Thanks, committed.

 P.S.
 How about the modified tkpp with Clean and output window? Did that look OK?

I never received that particular patch.  Try mailing me again?

Thanks,
/Autrijus/


signature.asc
Description: 	=?UTF-8?Q?=E9=80=99=E6=98=AF=E6=95=B8=E4=BD=8D=E5=8A=A0=E7=B0=BD?=	=?UTF-8?Q?=E7=9A=84=E9=83=B5?= =?UTF-8?Q?=E4=BB=B6?=


Re: speed up option for par executables

2004-01-11 Thread Autrijus Tang
Alan Stewart wrote:
Of course, all this only affects standalone scripts from pp -P, not binaries with 
fast C code SHA1. If you assume that there is a local Perl installation being used to 
run the standalone script, it might be reasonable to assume that the Perl installation 
has Digest::SHA1 and go with the first changes to par.pl and Par.pm that I did. As 
noted in the SpamAssassin code, Digest::SHA1 is a lot faster than the pure Perl code. 
It's your choice...
Thanks so much.  However, I benchmarked a bit on my P4M machine, and a 
typical 1.2mb file actually takes 10 seconds to finish SHA1.  Since it 
is conceivable that Tk application can grow well beyond this size, I'm 
afraid that unless we find a faster pure-perl SHA1 implementation, I'll 
stick with your earlier patch that falls back to mtime.

P.S.
If you set PAR_CLEAN=1 and then run:
   pp -o tt.exe t.pl
the temp dir from the pp run is deleted, but if you run:
   pp -P -o tt.pl t.pl
a temp dir from the pp run is empty, but still there and is a temp-$pid type. I 
haven't looked for the cause of this.
Well, it's because the rmdir() call failed since there are still unfree 
DLLs in the temp directory, which automatically gets unlinked after the 
program ends.  I see no easy way around this, though. :-/

Thanks,
/Autrijus/


Re: speed up option for par executables

2004-01-11 Thread Autrijus Tang
Autrijus Tang wrote:
Alan Stewart wrote:
I'm afraid that unless we find a faster pure-perl SHA1 implementation,
I'll stick with your earlier patch that falls back to mtime.
...which has just been committed, but I reworked the logic significantly 
to reduce code duplication.

Also sha1.c had a bug that tested for #ifndef U8, where it should 
really be #ifndef U8TYPE.

Both should be in the snapshot version now.  If your holiday is still 
ongoing, please test it a bit. :-)

Thanks,
/Autrijus/


Re: speed up option for par executables

2004-01-10 Thread Autrijus Tang
 , 2004-01-11 06:36, Alan Stewart 
 Here is a patched par.pl and a patched Par.pm.

Woohoo!

 It will work if the .pm can be found in the local perl installation
 from which perl.exe is running. Of course mtime is still there as fallback.
 Is that good enough??

Well, there is a pure-perl SHA1 here:
http://search.cpan.org/src/JMASON/Mail-SpamAssassin-2.61/lib/Mail/SpamAssassin/SHA1.pm

It's just 3k, and I'm seriously tempted to duplicate this code twice
(inside par.pl and PAR.pm), so we can get a consistent
behaviour.  What do you folks think about that?

Thanks,
/Autrijus/



signature.asc
Description: 	=?UTF-8?Q?=E9=80=99=E6=98=AF=E6=95=B8=E4=BD=8D=E5=8A=A0=E7=B0=BD?=	=?UTF-8?Q?=E7=9A=84=E9=83=B5?= =?UTF-8?Q?=E4=BB=B6?=


Re: Compiled script can't find a library

2004-01-10 Thread Autrijus Tang
On Sun, Jan 11, 2004 at 02:53:54AM +, Andy Balaam wrote:
 C:\My Documentstest
 Can't load 'C:\WINDOWS\TEMP\par-Andy 
 Balaam\cache-1073784600\d65c0da7.dll' for m
 odule XML::Parser::Expat: load_file:One of the library files needed to 
 run this
 application cannot be found at 
 C:/perl/5.8.0/lib/MSWin32-x86-multi-thread/DynaLo
 ader.pm line 229.

Very weird.  I cannot duplicate it here at all.

Is there no pop-up message box complaining a certain DLL
cannot be found or so?

 Should I expect PAR to include library files at all?
 (The features page suggests to me that the answer is yes?)
 If yes, what am I doing wrong/how can I help to fix this problem?

Let's see.  If I remember correctly, libexpat is statically
compiled into Expat.dll, so it should really Just Work.

Please do the following:

1. Rename test.exe into test.zip
2. Open it with WinZip or WinRAR
3. Save the MANIFEST somewhere
4. Install ActivePerl 5.8.x on the Win98 machine
5. Install PAR on the Win98 machine
6. Make another .exe on the Win98 machine,
   using the same pp test.pl command.
7. Rename C:\Perl\ away and see if the executable runs.
8. If it does, rename it to .zip and compare its
   MANIFEST with the previously saved one.
9. If it does not, send the error message again
   on the list, and I'll try to find a Win9x machine
   to duplicate that error.

Thanks,
/Autrijus/


pgp0.pgp
Description: PGP signature


Re: PAR0.79 issues seen

2004-01-09 Thread Autrijus Tang
[EMAIL PROTECTED] wrote:
Thanks. So just to make my understabding complete, in both
 cases CGI.pm would be included

Correct.

however with -F it would be run through the filter? Is that correct?
Yes.

And I assume that applies to specific packages I include.
The core modules are never run through the filter - correct?
Incorrect.  -F applies to all modules included.  This is arguably
not the best logic -- better suggestions welcome.
Try this:
pp --clean -o x.exe xbook.pl
I'll try this but I am thinking this would cause more problems
 as one thread may try to cleanup what the other just created?

No, with --clean, when each instance is started, a new temp
directory is created and used, so there will be no conflicts.
And since this CGI is called a lot, would prefer to leave the
cache for speed - I'll let you know what happens tomorrow.
Do keep me posted, but I think the performance hit is minimal
anyway. :)
Thanks,
/Autrijus/


Re: Another sighting of Can't spawn parl.exe: No error at c:\Perl\bin\pp line 372

2004-01-09 Thread Autrijus Tang
?b , 2004-01-08 12:40, Barrie Slaymaker ?g?D?G
 Below is a quick patch to make --add actuall add the requested file(s)
 instead of merely scanning it for dependancies.

Wait, --add really works for me.  What file(s) failed to --add for you?
Are they .pm files?

 I'll need to tackle an extract all .pm and .pod modules to somewhere in
 @INC behavior to get my online help working (vcp help VCP::Foo scans
 @INC for VCP/Foo.{pm,pod} and POD::Texts it).  Any guidance about where
 to look, what to change?

I think one possible way is to force-assign the temp/cache file name
into the $INC{} hash, instead of their current value of CODE(abcdef). 
How to do that is left as an exercise for the list, or at least until I
get more tuits. :-)

Thanks,
/Autrijus/


signature.asc
Description: 	=?UTF-8?Q?=E9=80=99=E6=98=AF=E6=95=B8=E4=BD=8D=E5=8A=A0=E7=B0=BD?=	=?UTF-8?Q?=E7=9A=84=E9=83=B5?= =?UTF-8?Q?=E4=BB=B6?=


Re: speed up option for par executables

2004-01-09 Thread Autrijus Tang
?b , 2004-01-09 23:19, Alan Stewart ?g?D?G
 Attached is a version of mktmpdir.c (and a couple new files) that uses sha-1 to 
 create 
 a cache directory name instead of mtime. Also included is sha1test.c that prints the 
 sha-1 digest of argv[1] that you can compare to the cache dir name.

Very cool, I like it!  However, I cannot apply this patch, since it's
GPL code, and PAR must be kept within the Perl License.

Can you look at the source of SHA1.xs in Digest::SHA1 on CPAN, and see
if you can rework it into a sha1.c/sha1.h that PAR can use?  :-)

Thanks,
/Autrijus/


signature.asc
Description: 	=?UTF-8?Q?=E9=80=99=E6=98=AF=E6=95=B8=E4=BD=8D=E5=8A=A0=E7=B0=BD?=	=?UTF-8?Q?=E7=9A=84=E9=83=B5?= =?UTF-8?Q?=E4=BB=B6?=


PAR 0.79 released!

2004-01-08 Thread Autrijus Tang
Here is 0.79, the Double Double Negatives release, freshly uploaded to CPAN:

http://aut.dyndns.org/dist/PAR-0.79.tar.gz
MD5 (PAR-0.78.tar.gz) = e0b8481e47d3735a41aa97dd30038ec9

[Changes for 0.79 - January 8, 2004]

* Bug fixes

- Setting PAR_CLEAN had the reversed effect.  Oops.

- Dynamic libraries in cached directories was not detected
  properly, resulting in permission denied errors during
  certain race conditions.

Pre-built win32 binaries will be automatically downloaded from CPAN
by perl Makefile.PL in a few hours.  Before that time, you may download
it from  http://aut.dyndns.org/par/ and unpack PAR-0.79.tar.gz, put the
prebuilt .par file inside the extracted PAR-0.79 directory, then proceed to
perl Makefile.PL.

The binaries are built against ActivePerl 5.6.1.635 and 5.8.2.808; users
of older versions may need to upgrade their ActivePerl first.

Thanks,
/Autrijus/



signature.asc
Description: 	=?UTF-8?Q?=E9=80=99=E6=98=AF=E6=95=B8=E4=BD=8D=E5=8A=A0=E7=B0=BD?=	=?UTF-8?Q?=E7=9A=84=E9=83=B5?= =?UTF-8?Q?=E4=BB=B6?=


Re: PAR0.79 issues seen

2004-01-08 Thread Autrijus Tang
Deepak Khosla wrote:
1 questions and 2 comments/issues:
Q) Can someone please explain the difference between -f and -F?
-f deals with your scripts (xbook.pl etc)
-F deals with prerequisite modules (CGI.pm etc)
1) Now to filtering (I am on Win2K with perl 5.6.1):
pp -o x.exe xbook.pl
I wonder if this is a race or cleanup condition?
This did not happen with 0.76 (the last version I tested).
Try this:
pp --clean -o x.exe xbook.pl
3) So I tried using the Obfuscate filter.
Again the -f does not work
--
F:\pp -o x4.exe -f Obfuscate xbook.pl
Can't call method PADLIST on an undefined value at
M:/Perl/lib/B/Deparse.pm li
ne 1039, DATA line 1.
CHECK failed--call queue aborted, DATA line 1.
Cannot transform C:\WINNT\TEMP\PkknVFirKi (65280)
You are on 5.6.1, which has suboptimal support for
Obfuscate.  Upping to 5.8.x should solve this.
/Autrijus/


Re: PAR 0.78 released!

2004-01-07 Thread Autrijus Tang
Alan Stewart wrote:
Hate to keep talking to myself in public, but 
I changed Heavy.pm line 134 from:
print $fh $member-contents;
to:
my $contents = $member-contents; print $fh $contents;
and I get the correct filesize ! Very strange. I am using Archive::Zip 1.06 and 
Compress::Zlib 1.16.
Yes, it turns out that contents() has a wantarray in it, and
returns an extra status code when called in list context.  Oh well.
I have fixed it in the snapshot using
print $fh scalar $member-contents;
Also fixed is the filetest issue (should be testing -e $filename,
not -e $file), and the very embarrasing reversal of interpretation
of PAR_CLEAN environment, in utils.c ( ? 1 : 0 should really be
? 0 : 1).
Can you try out the snapshot version a bit?  If it works for you,
I'll release it intact as an emergency 0.79.
Thanks,
/Autrijus/


Re: PAR 0.77_99 released!

2004-01-06 Thread Autrijus Tang
 , 2004-01-06 05:48, Morbus Iff 
 So, at this point, I'll be doing some extended real-world use
 tests, but there's a very good chance that I'll be shipping the
 PAR built application in the next Win32 version of AmphetaDesk.

Yay!  Time to add to the SuccessStory node on par.perl.org? :-)

 Victory!

Thank you so much for offering constructive suggestions to PAR,
effectively driving the development of the previous two versions.

Cheers!
/Autrijus/


signature.asc
Description: 	=?UTF-8?Q?=E9=80=99=E6=98=AF=E6=95=B8=E4=BD=8D=E5=8A=A0=E7=B0=BD?=	=?UTF-8?Q?=E7=9A=84=E9=83=B5?= =?UTF-8?Q?=E4=BB=B6?=


PAR 0.78 released!

2004-01-06 Thread Autrijus Tang
Here is 0.78, the Clean Temp Cache release, freshly uploaded to CPAN:

http://aut.dyndns.org/dist/PAR-0.78.tar.gz
MD5 (PAR-0.78.tar.gz) = 6b2e677433679c834fa8c3af76b4b0c0

Pre-built win32 binaries will be automatically downloaded from CPAN
by perl Makefile.PL in a few hours.  Before that time, you may download
it from  http://aut.dyndns.org/par/ and unpack PAR-0.77.tar.gz, put the
prebuilt .par file inside the extracted PAR-0.77 directory, then proceed to
perl Makefile.PL.

The binaries are built against ActivePerl 5.6.1.635 and 5.8.2.808; users
of older versions may need to upgrade their ActivePerl first.

[Changes for 0.78 - January 7, 2004]

* New Features

- By default, executables generated by pp will now store
  extracted files in cache directories.  You may override
  this by setting the PAR_CLEAN environment variable to 1,
  or generate executables using pp -C.

- New pp -C (--clean) option to make the generated executable
  clean up temporary directories after each run.

- PAR_CLEARTEMP is renamed to PAR_CLEAN.

* Bug fixes

- On Win32, temporary directories containing shared libraries
  was not being properly cleaned up.

- If no suitable temporary directories are found, use the current
  directory (.) instead of the root directory (/).

Thanks,
/Autrijus/



signature.asc
Description: 	=?UTF-8?Q?=E9=80=99=E6=98=AF=E6=95=B8=E4=BD=8D=E5=8A=A0=E7=B0=BD?=	=?UTF-8?Q?=E7=9A=84=E9=83=B5?= =?UTF-8?Q?=E4=BB=B6?=


  1   2   >