* Thu Jan 14 2021 Tina Müller <timueller+perl@suse.de>
- updated to 1.052
see /usr/share/doc/packages/perl-PAR-Packer/Changes
1.052 2021-01-13
- add note that --filter and __DATA__ are incompatible (cf. #36, #39)
- change bugtracker to GitHub issues
- when embedding FILEs, normalize paths in @INC
- code cleanup:
- rename _tempfile() to _save_as()
- there is no $PAR::Heavy::ModuleCache, so make it a "my" variable
- consistent formatting in outs() calls
- demystify reading <$fh> with $/ = \$number: use "read $fh, $buf, $number" instead
- use "open $fh, '<:raw', ..." instead of "open $fh, '<', ...; binmode($fh);"
- make error messages more consistent
- make extract-embedded.pl more robust
- t/90-rt129312.t fails when Archive::Unzip::Burst is used
* Mon Nov 30 2020 Tina Müller <timueller+perl@suse.de>
- updated to 1.051
see /usr/share/doc/packages/perl-PAR-Packer/Changes
1.051 2020-11-29
- Fix #27: "pp -u broken in perl 5.32"
ignore "pp -u ..." (with a warning) for Perl >= 5.31.6
- Fix #25: unexpected interaction between pp options "--compile" and "--module Foo::"
scan_deps_runtime() is called for all detected Foo:: modules, but
modules by themselves are typically not suitable for dynamic scanning
(causing lots of spurious warnings for "--compile").
- cleanup argv handling in myldr/main.c
- placate cperl ("Attempt to change hash while iterating over it.")
* Thu Mar 19 2020 <timueller+perl@suse.de>
- updated to 1.050
see /usr/share/doc/packages/perl-PAR-Packer/Changes
1.050 2020-03-18
- Rethink use of Filter::PodStrip.
Do not add directives
[#]line 1 "file"
to packed modules except for "embdeded" files.
We still add these directives to "embedded" files as these are extracted
with mangled names which makes it hard to make sense of warn() or die() messages
caused by them. These are all core modules and don't reference __FILE__.
This should make use of __FILE__ in packed modules work without
workarounds. __FILE__ is typically used to refer to installed non-module
resources, e.g.
[#] MIME::Types
my $db = File::Spec->catfile(dirname(__FILE__), 'types.db');
[#] Mozilla::CA
my $ca_file = File::Spec->catfile(dirname(__FILE__), "CA", "cacert.pem");
[#] Mojo::File (__FILE__ used implicitly by caller())
sub curfile { __PACKAGE__->new(Cwd::realpath((caller)[1])) }
Hence, remove known workarounds from Filter::PatchContent and add a test.
- Fix RT#130685: core module detection doesn't work with -Duserelocatableinc
Original patch by Frank.Lichtenheld@Sophos.com, thanx!
Added a test for this.
* Thu Aug 29 2019 Tina Mueller <tina.mueller@suse.com>
- Remove 50ff73f26855151910e039b8480473024ae08b8a.patch
(not needed anymore)
* Sat Jun 01 2019 Stephan Kulow <coolo@suse.com>
- updated to 1.049
see /usr/share/doc/packages/perl-PAR-Packer/Changes
1.049 2019-05-31
- Fix RT#129312: Code signing for OSX
Avoid Archive::Zip::Archive error "can't find EOCD signature" for pp'ed
executables with lots of stuff appended (e.g. by OSX codesign).
Note: This requires the corresponding fix in PAR in 1.016,
hence bump its required version.
Add a test by appending 512 kB to a pp'ed executable.
- Fix issue GitHub#15 (doesn't build with a relocatable version of perl)
If the perl used to build PAR::Packer is a relocatable perl,
i.e. it was build with -Duserelocatableinc, then myldr/par will
also be relocatable. Hence, the automagical default @INC for myldr/par
is something like ("myldr/../lib/5.x.y",
"myldr/../lib/site_perl/5.x.y", ...) which won't find any modules.
* Tue Apr 30 2019 Stephan Kulow <coolo@suse.com>
- updated to 1.048
see /usr/share/doc/packages/perl-PAR-Packer/Changes
1.048 2019-04-29
- Fix RT#129312: Code signing for OSX
Apply pull request from Philip Kime, adds a small program that will fix up
an executable generated by pp so that MacOS codesigning will accept it,
see contrib/pp_osx_codesign_fix/pp_osx_codesign_fix.c
Since codesigning will append currently ~180 KB to an executable, increase the
offsets from the end of the file where Archive::Zip and PAR::Packer will
look for their respective signatures.
- Fix GitHub issue #12: sha1.c warnings due to inconsistent USE_64_BIT_INT
Do not "inline" sha1.c (into main.c and boot.c vi mktmp.c), instead
just link to it. There's no reason that callers of
sha_init/sha_update/sha_final should know about the implementation of SHA_INFO.
myldr/sha1.c: stop including perl.h etc, instead pass the necessary #define's
via the compile command
- Fix GitHub issue #13: `par.exe -b` failure with Portable::Config
Note to users of Strawberry Perl *portable* installations:
There's a bad interaction between a Strawberry *portable* installation if you
also have a *standard* Strawberry installation installed in C:\strawberry.
Under certain conditions, parl created by the portable installation
may have have a built-in @INC of [ C:\strawberry\perl\lib, C:\strawberry\perl\site\lib,
C:\strawberry\perl\vendor\lib ], i.e. pointing to the *standard* installation.
This will cause it to load modules from the *standard* installation. If the versions
of the two installations are different, this may cause weird failures.
- Always require Digest::SHA, remove ugly alternatives
- Make "pp -e 0" work, apparently nobody noticed
* Wed Apr 03 2019 Stephan Kulow <coolo@suse.com>
- updated to 1.047
see /usr/share/doc/packages/perl-PAR-Packer/Changes
1.047 2018-08-19
Disable failing test cases in (Windows only) test t/90-rt122949.t
Add .SEQUENTIAL to force non-parallel build when using dmake (e.g. on Windows)
1.046 2018-08-18
- Fix RT#126280: 90-rt122949.t fails when "Use Unicode UTF-8 for worldwide language support" is enabled
- Fix https://github.com/rschupp/PAR-Packer/issues/7 "Parallel build rules dependancy problem"
Instead of fighting GNU make and EUMM, just punt and add a .NOTPARALLEL
target. Yeah, I know that this is specific to GNU make (though some
other make implementations support it, too).
- Add bugtracker to META.yml
1.045 2018-06-12
- Fix RT#125503: Fix build with 64-bit perl-5.28.0
Merged patch by Steve Hay, thanks!
1.044 2018-06-06
- Cope with the fact that PL_statbuf is gone since Perl 5.27.x.
This breaks PAR::Packer on systems where Perl's "Stat_t" is not
the same as "struct stat", notably Windows.
- Extract-embedded.pl: list (but not extract) the embedded files
if no directory is given
- Use the long option name "--link" in messages (as "-l" may easily be
confused with "-I" when view in a sans serif font).
1.043 2018-04-03
- Fix test failures on Windows
1.042 2018-04-02
- Fix PAR-Packer#5 "unintended glob expansion on strawberry win32?"
On Windows using Mingw set _CRT_glob=0 also in parl (the custom
Perl interpreter).
- Fix RT #124445 "Par-Packer 'falsifies' PerlTk server() and Win32 GetOSName() and GetOSVersion() output on Windows 10"
Add <compatibility> section to pp.manifest
(cf. https://msdn.microsoft.com/en-us/library/windows/desktop/dn481241(v=vs.85).aspx)
to make par.exe "Windows 10 aware".
- Add dependencies on stuff in myldr/winres to myldr/Makefile
- Fix parallel make: install modules into blib *before* recursing into "myldr"
1.041 2017-11-08
- Fix problem with --link libraries on MacOS
- libraries where packed into the wrong location in the zip
- hence they were not extracted into the cache area where they could
be found via DYLD_LIBRARY_PATH
- hence the packed executable either couldn't find them or found incompatible
versions outside the cache area
- reported by Phil Kime
1.040 2017-10-21
- no changes to modules and scripts, only fixes for configure, build and test
- require a version of IPC::Run3 that gets shell quoting on Windows right
- restructure how we find the files to embed into boot.c
- avoid an error with newer gcc: "error: 'for' loop initial declarations
are only allowed in C99 or C11 mode"
- fix tests when running without "." in @INC even (even in tests)
* Sun Oct 08 2017 coolo@suse.com
- remove -test subspec (which ignored errors in make check anyway)
- add 50ff73f26855151910e039b8480473024ae08b8a.patch to fix tests
with latest perl
* Sun Oct 08 2017 coolo@suse.com
- updated to 1.039
see /usr/share/doc/packages/perl-PAR-Packer/Changes
1.039 2017-09-28
- Brown paper bag: add missing t/utils.pl
1.038 2017-09-27
- Fix "RT#122949: PAR-Packer-1.37 executables split arguments containing whitespace"
- on Windows, quote elements of argv array passed to spawnvp();
algorithm stolen from Win32::ShellQuote.
- introduce helper t/utils.pl to streamline tests
- require IPC::Run3 for test
- make test work with "dot-less" perl and PERL_USE_UNSAFE_INC=0
1.037 2017-05-28
- Fix RT#121268 for PAR-Packer: error installing PAR-Packer on windows10 ( 64Bit )
- on Windows, make dl_findfile() search first in the directory containing
the perl executable (to avoid erroneous hits in other members of PATH)
- Fix RT#120038: [PATCH] Fix build for VS2015 (VC++ 14)
and merge pull request from Steve Hay (shay@cpan.org)
- makes PAR::Packer work with VisualStudio 2015. Thanks, Steve!
- Fix RT#120041: --exclude gets confused by missing modules
- guard against Module::ScanDeps::_find_in_inc() returning ()
- Fail early when packing with a version of Perl
that's different frome the one PAR::Packer was built with.
Scenario: User has built and installed PAR::Packer (or got it
pre-packaged), then installs a newer version of Perl, then does
pp -o foo.exe foo.pl
But running foo.exe then fails with
foo.exe
C:\Users\jon\AppData\Local\Temp\parlzcPb.exe: Perl lib version (5.24.1) doesn't match executable 'perl.exe' version (5.24.0) at C:/Perl64/lib/Config.pm line 62.
Compilation failed in require at C:/Perl64/lib/Errno.pm line 10.
...
C:\Perl64\site in/pp: Failed to extract a parl from 'PAR::StrippedPARL::Static' to file 'C:\Users\jon\AppData\Local\Temp\parl3swwQJc.exe' at C:/Perl64/site/lib/PAR/Packer.pm line 1184, <DATA> line 1.
Now, pp will fail and with a more useful message.
- Switch from Module::Install to ExtUtils::MakeMaker
- Rewrite the library search (for "pp --link ...")
- start with $Config{libpth} which is *not* the runtime loader (e.g.
ld.so on Linux) search path, but rather the linker (ld) search path -
but it's the best guess without having to grok /etc/ld.so.conf
- augment that with $ENV{LD_LIBRARY_PATH} or similar
- Rework how we determine the name under which a library should be installed
- use objdump (on Linux and other ELF-based OS) and otool on Darwin
- fall back to "chasing symlinks" otherwise
- Remove PAR_ARGV_*, PAR_ARGC stuff from script/par.pl and myldr/boot.c.
- Dunno what problem this obscure way of passing the command line arguments
from a packed executable to the custom Perl interpreter was intended
to fix, but arguments pass just fine through execvp (or spawnvp)
to perl_parse.
- Only set the environment variable for the shared library search path
(e.g. LD_LIBRARY_PATH) that is relevant for the operating system
that we're running on
- Use DynaLoader::dl_findfile to locate DLLs instead of homegrown stuff.
- Remove "par_base" - prebuilt .par's haven't been available for ages
Version: 1.036-bp150.2.7
* Wed Feb 01 2017 josef.moellers@suse.com
- Update to 1.036:
- Fix RT#118094: Race condition exists when building cache for pp built executables
- guard against concurrent extraction attempts
- bump "requires" on PAR to a version with additional guards
- Fix RT#118903: Does not install when '.' is not in @INC
- apply patch from Graham Ollis (PLICEASE), thanks!
- make the Module::Install stuff work in the "author" case
NOTE: "use lib '.'" does *not* work in this case
- Move to GitHub. Thanks, OpenFoundry, for years of service.
- add Perl_5 LICENSE file, make "repository" point to GitHub
- always refer to the included LICENSE file
- point bug reports to bug-par-packer@rt.cpan.org
- add an empty file "inc/.author/.keep" as Git doesn't track empty
directories
- Fix RT #118053: Problem with packed perl archive for biber on 64-bit Cygwin
- embed cygcrypt-0.dll since it isn't (anymore) in the set of
default Cygwin packages
- Upgrade to Module::Install 1.17
- Update to 1.035:
- Fix RT#116254: Compilation error under strawberry perl 5.24 x64
s/PP_VERSION/PAR_PACKER_VERSION/ as Strawberry Perl also defines
PP_VERSION (in c/x86_64-w64-mingw32/include/wincrypt.h)
- Update to 1.034:
- Fix RT#116056: Fixes for Cygwin build of PAR::Packer
- detect whether we're using a 32-bit or 64-bit perl
- fix elision of "-l<perl lib>" from $static_ldflags
- add $static_ldflags back to $boot_ldflags
- Add information to packed executable about which version
of PAR::Packer was used to build it (suggested by Johan Vromans):
- accessible from the packaged Perl script as $PAR::Packer::VERSION
- by looking for the string "Packed by PAR::Packer ..." in the executable
itself (using "strings exe | grep ..." or the like)
- Use ldd on cygwin, too
- NOTE: a "system lib" on cygwin is either in /usr/bin
or a Windows "system lib"
* Fri Jun 17 2016 thb@libreoffice.org
- Update to 1.033:
- Fix RT#114229: v1.32 still won't install on strawberry perl v5.22.2
- Drop the "re-exec myself" in myldr/internals.c
- Really suppress generation of myldr/MYMETA.* and don't install
man pages for myldr/{Dynamic,Static}.pm
- Update to 1.032:
- Unbreak PAR::Packer for Perl 5.23.9 and higher
- Fix RT#114155: Makefile.PL error - not loading ExtUtils::MakeMaker
- extract-embedded.pl: show starting offset of embedded files
- Update to 1.031:
- Fix RT#113618: Strange issue with not packing libperl.dylib
- Implement namespace options for "-M" like ActiveState's perlapp
- Fix RT#113463: Fix spelling error in manpage
- Update to 1.030:
- Fix RT#111455: unable to use -x and -u with pp
- Fix RT#110480: Unpacking exe: File exists
- Fix RT#111896: PAR Question Solaris 10
- file2c.pl: switch back from array of unsiged to (hex encoded) strings.
- Skip a test if Archive::Unzip::Burst is detected (this messes up expected
mtimes for extracted files).
- Make a test work with early versions of Perl 5.8.x (x < 9) that have a bug
with compiled regexes and the /m modifier.
- Update to 1.029:
- Add option "-u" ("--unicode") to pp to explicitly package Unicode support
- Remove all references to http://par.perl.org/, doesn't exist anymore
- Remove Internals::PAR::CLEARSTACK
- Update to 1.028:
- Fix RT#109123: v1.027 tests are not passed under windows
- Update to 1.027:
- Add option -M Foo::Bar:: to pp (note the trailing double colon)
- Fix RT#109110: Incompatible with Module::ScanDeps 1.20
- Update to 1.026:
- Fix RT#101800: [PATCH] Reinstate files to inc dir if deleted by external process
- Find the "\nPAR.pm\n" signature in a .par (or packed executable)
- Fix RT#104635 for PAR-Packer: IO error the first time an executable built by the packer
- Fix RT#104509: Problem signing PAR file,
and RT#104560: [PATCH] list added files in manifest
- Make MIME::Types work "out of the box"
- Bump requirement on PAR (for the fix for RT #103861), add a test.
- Update tkpp ito 1.5:
- Make pp fail when an unknown option is encountered.
- Remove PAR::Packer::_append_parl(), not called anywhere.
- Add license; update repository OpenFoundry repository URL
- Update to 1.025:
- Fix PAR::Packer "make test" problem with Strawberry Portable
- Fix for PAR-Packer 1.024 with a nonstandard libperl.so name
Patch from markus.jansen@ericsson.com, thanks!
- Fix #101662: Prevent shared libs from being cached in memory on AIX
Applied patch from Thoke@northpeak.org, thanks.
Note: this is one half of the fix, the other is in PAR
- Update to 1.024:
- Fix RT #99231: Problem with PAR::Packer 1.022 on Perl 5.20.1 and earlier
- Update to 1.023:
- Fix RT #99231: Problem with PAR::Packer 1.022 on Perl 5.20.1 and earlier
- Fix RT #63939: The behaviour of "pp --link ..." is subtly different between OSX and Linux
- Bump required version of Module::ScanDeps,
makes t/90-rt59710.t pass again on perl 5.21.x
- die if a requested shared library (option -l) can't be found.
- Add a patch rule so that Mozilla::CA finds its (extracted) cacert.pem file.
- Upgrade to Module::Install 1.14.
- Update to 1.022:
- Fix RT#98955: installation fails | Can't locate String/ShellQuote.pm
- Simply enclose the filenames in double quotes, should work on both
* nix and Windows in all reasonable scenarios.
- Drop incorrectly specified 'Digital signature support' "feature": simply
"recommends" the required modules.
- Update to 1.021:
- Fix #98791: PAR-Packer fails to build with DWIMPerl/Strawberry Perl due to unquoted path name
- Update to 1.020:
- Implement option --xargs for pp
- Update to Module::Install 1.10
- Update to 1.019:
- Fix RT #96288: PAR::Packer unable to build under Win32/ActivePerl v5.14.2
RT #96739: "bsd_glob" is not defined on perl 5.14.x and earlier
RT #97018 (Issue while upgrading PAR::Packer )
- Fix RT #59224 (make error with version 1.006 on aix 5.3)
- Update documentation wrt the name of the cache directory.
- Update to 1.018:
- [DJIBEL] tkpp 1.4 : Since PAR::Packer 1.015, tkpp doesn't work
- Use bsd_glob() instead of glob() to avoid problems with patterns that
contain whitespace
- Fix RT #93008: install failure with ubuntu / puppet
* Tue May 13 2014 tbehrens@suse.com
- Update to 1.017:
RT #84588: OSX: incorrect detection of gcc (unsupported option '-static-libgcc')
merged with:
- RT #90198: PAR::Packer fails to compile in Mac OS X 10.9 Mavericks
- RT #91086: PAR-Packer-1.016 fails to install on OSX)
clang on OSX pretends to be gcc, but doesn't implement gcc's option "-static-libgcc"
- use this option only on Windows (when using the MingW toolchain).
Drop a test that was using Inline::C just to wrap native execvp().
- It caused failures on CPAN Testers (if accidentally Inline was
installed) that were unrelated to PAR::Packer.
- Update to 1.016:
RT #90870: Segmentation fault (core dumped) (MooX::Options)
- any "die" in a packed executable causes the executable to segfault
(at least on Linux and Perl 5.18.1)
- remove a line from XS code that sets an internal perl variable
* Wed Nov 13 2013 pth@suse.de
- Update to 1.015:
RT #82916: Terminating during unpack results in corrupted cache,
failure on next start
- apply (slightly modified) patch from shutton@pobox.com, thanks!
RT #88297 (-M crashes pp if option contains backslashes)
- _add_file(): do _not_ use $zip->memberNamed(...) to refer to the
just added Archive::Zip::Member; instead use the
return value of $zip->addFile or $zip->addString
minor changes
- use File::Spec::Functions, get rid of ugly File::Spec->... calls
- set $pre_res using catfile() instead of hardcoding a backslash;
this might help on Cygwin
- fix -Mblib option for run_with_inc.pl: we want the blib in the top
level directory
* Thu Sep 05 2013 mls@suse.de
- add libperl_requires, as we link against libperl and thus
need a specific version of perl
* Thu Jan 10 2013 ro@suse.de
- update to 1.014
* tkpp 1.3 : --addfile option in GUI updated :
* Bug fixes, etc.
- update to 1.013
* New version of Tkpp (Version 1.2) (cf. RT #69517)
* Bug fixes, etc.
- update to 1.012
* Bug fixes, etc.
- update to 1.011
* Bug fixes, etc.
* Wed May 23 2012 cfarrell@suse.com
- license update: GPL-1.0+ or Artistic-1.0
SPDX syntax (http://www.spdx.org/licenses)
* Thu Jul 14 2011 pth@suse.de
- Update to 1.010
* Bug fixes, etc.
- Adapt for changes in XSloader.pm (>= 0.14)
The old rule in PatchContent.pm no longer works with this version;
this effectively disables how PAR::Packer intercepts loading of DLLs.
Add a new rule for the code in recent XSloader.pm.
NOTE: This problem affected all users of Perl >= 5.14.0 as this
was the first stable release to include XSLoader 0.14.
Also affected: Strawberry (at least) 5.12.3 which also comes
with XSLoader 0.14.
- RT #67681: can't write file
During packing several temp files are created in the user's
working directory - this will fail if the working directory is read-only.
Fix up all calls to File::Temp::tempfile with TMPDIR => 1
and drop the bogus check whether cwd is writable.
NOTE: test 32 of t/20-pp.t may fail. I have received conflicting reports
about this, but just wanted to make a release to get wider coverage.
* Sun May 01 2011 coolo@opensuse.org
- updated to 1.009
* Bug fixes, etc.
- RT #53463: PAR::Packer 1.002 on HPUX 11.23 PA-RISC issue
(HPUX) patch from Lars-Gunnar Taube
- add SHLIB_PATH to ld_path_keys in myldr/mktmpdir.c
- call "chatr +s enable ..." on the extracted custom perl
- RT #65535: Unable to run perl script packaged with pp under cygwin
on another Windows XP installation
- lib/PAR/Filter/PatchContent.pm: patch AutoLoader.pm to add "cygwin"
to the list of "is_dosish" $^O identifiers; otherwise
AutoLoader::find_filename() will mangle filenames that start with
a drive letter
- script/par.pl: use PAR::Filter::PatchContent to patch any modules
embedded in the packed excutable; this supersedes the ad hoc
patching of XSLoader.pm and will now also patch AutoLoader.pm
- myldr/Makefile.PL: when generating $parl_exe or $parldy_exe make
sure that we use the PAR::* modules (e.g PAR::Filter::PatchContent)
from the build environment rather than a possibly
installed older version
- "Fix" #64485: pp PodStrip module included
document how to inhibit pod stripping (copied from PAR.pm POD)
- bump required Module::ScanDeps to 1.01 (hopefully fixes failures
in t/90-rt59710.t with Perl 5.13.x)
- reworked the build system a bit to fix recurring problems with dmake
on Windows and parallel makes in general:
- copy myldr/{parl,parldyn} to blib/scripts from myldr/Makefile
- myldr/Makefile was completely handcrafted; try to generate it
using standard ExtUtils::MakeMaker tools as much as possible
- generate myldr/{Dynamic,Static}.pm from templates {Dynamic,Static}.in
- rename static.c to boot.c
- add "configure_requires" for ExtUtils::Embed
- pick up some POD spelling fixes from Debian
(thanks, Jonathan Yu <jawnsy@cpan.org>)
* Tue Nov 23 2010 pth@suse.de
- Package as bz2 to have it build on SLE10.
* Tue Nov 23 2010 pth@suse.de
- initial package 1.008
* created by cpanspec 1.78
- BuildRequire perl(Test::Pod).
- Don't run multiple instances of make as Makefile can't cope with it.
- Create a separate spec for running the tests.