Mon Jul 04 10:04:59 2022: Request 143646 was acted upon. Transaction: Correspondence added by torsten.wer...@assyst.de Queue: PAR-Packer Subject: Antwort: [rt.cpan.org #143646] Problem using Win32::TieRegistry in script packed with pp on Windows Broken in: (no value) Severity: (no value) Owner: Nobody Requestors: torsten.wer...@assyst.de Status: open Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=143646 >
Hi Roderich, You ask for the installation method. Tests are included and successfully finished. We use a small script to prepare our perl environment. For Par::Packer we need a different icon. I replace pp.ico with my own one just before I compile the module. This results in the following process: require Win32::Unicode; require CPANPLUS; my $cb = CPANPLUS::Backend->new; my $conf = $cb->configure_object; my $module = $cb->module_tree('pp'); my $file=$module->fetch(); my $path=$module->extract(); Win32::Unicode::chdirW($path); my $source=sprintf("%s\\Resources\\assyst.ico",$Cwd); my $target=sprintf("%s\\myldr\\winres\\pp.ico",$path); unless(Win32::Unicode::unlinkW($target)) { print STDERR "Error deleting '$target': $^E\n"; exit 1; }; unless (Win32::Unicode::copyW($source,$target)) { print STDERR "Error copying '$source' -> '$target': $^E\n"; exit 1; } print "$target replaced\n"; my $icon=sprintf("%s\\lib\\PAR\\pp.ico",$path); unless (Win32::Unicode::copyW($source,$icon)) { print STDERR "Error copying '$source' -> '$icon': $^E\n"; exit 1; } print "$icon as patch flag created. It is not used for builds, it is a simple flag\n"; foreach $target (qw(init prepare create test install)) { my $result=$module->install(target => $target, force => 1); print "Result of $target: ",Dumper($result); return 0 unless $result; } return 1; I repeated the process to get the actual version of Par::Packer. Now I made the tests with PAR-Packer-1.055.tar.gz. The result is the same. I append the output of build process, it is too much to copy & paste. Tests are made and successfully finished. Here the output of unzip -l regtest.exe Archive: regtest.exe Length Date Time Name --------- ---------- ----- ---- 0 2022-07-04 15:56 lib/ 0 2022-07-04 15:56 script/ 831 2022-07-04 15:56 MANIFEST 219 2022-07-04 15:56 META.yml 25400 2022-07-04 15:56 lib/Carp.pm 3334 2022-07-04 15:56 lib/Config.pm 421 2021-01-24 16:01 lib/Config_git.pl 39917 2021-12-13 16:26 lib/Config_heavy.pl 10845 2022-07-04 15:56 lib/DynaLoader.pm 2380 2022-07-04 15:56 lib/Exporter.pm 6426 2022-07-04 15:56 lib/Exporter/Heavy.pm 1620 2022-07-04 15:56 lib/File/Glob.pm 2048 2022-07-04 15:56 lib/Tie/Hash.pm 48640 2022-07-04 15:56 lib/Win32/TieRegistry.pm 8683 2022-07-04 15:56 lib/Win32API/Registry.pm 3737 2015-02-14 13:13 lib/Win32API/Registry/cRegistry.pc 4084 2022-07-04 15:56 lib/XSLoader.pm 30208 2021-01-24 16:03 lib/auto/File/Glob/Glob.xs.dll 158208 2021-01-24 16:45 lib/auto/Win32API/Registry/Registry.xs.dll 1616 2022-07-04 15:56 lib/strict.pm 1157 2022-07-04 15:56 lib/vars.pm 26266 2022-07-04 15:56 lib/warnings.pm 497 2022-07-04 15:56 lib/warnings/register.pm 690 2022-07-04 15:56 script/main.pl 714 2022-07-04 15:56 script/regtest.pl --------- ------- 377941 25 files Here the whole output of installation: Install PAR::Packer C:\Users\Torsten\.cpanplus\5.32.1\build\5njnceijCr\PAR-Packer-1.055\myldr\winres\pp.ico replaced C:\Users\Torsten\.cpanplus\5.32.1\build\5njnceijCr\PAR-Packer-1.055\lib\PAR\pp.ico as patch flag created. It is not used for builds, it is a simple flag ==> MISSING Signature file! <== Result of init: $VAR1 = 1; ==> MISSING Signature file! <== Running [C:\Strawberry_5_32_1_1_64\perl\bin\perl.exe -MCPANPLUS::Internals::Utils::Autoflush C:\Users\Torsten\.cpanplus\5.32.1\build\5njnceijCr\PAR-Packer-1.055\Makefile.PL]... Checking if your kit is complete... Looks good Subroutine MY::postamble redefined at ./Makefile.PL line 232. # using "objdump" recursively to find DLLs needed by par.exe Generating a gmake-style Makefile Writing Makefile for PAR::Packer Writing MYMETA.yml and MYMETA.json Result of prepare: $VAR1 = 1; ==> MISSING Signature file! <== Running [C:\Strawberry_5_32_1_1_64\perl\bin\perl.exe -MCPANPLUS::Internals::Utils::Autoflush C:\Users\Torsten\.cpanplus\5.32.1\build\5njnceijCr\PAR-Packer-1.055\Makefile.PL]... Subroutine MY::postamble redefined at ./Makefile.PL line 232. # using "objdump" recursively to find DLLs needed by par.exe Generating a gmake-style Makefile Writing Makefile for PAR::Packer Writing MYMETA.yml and MYMETA.json Running [C:\STRAWB~1\c\bin\gmake.EXE test]... gmake[1]: Entering directory 'C:/Users/Torsten/.cpanplus/5.32.1/build/5njnceijCr/PAR-Packer-1.055/myldr' Makefile:868: warning: overriding recipe for target '.c.o' Makefile:340: warning: ignoring old recipe for target '.c.o' gmake[1]: Leaving directory 'C:/Users/Torsten/.cpanplus/5.32.1/build/5njnceijCr/PAR-Packer-1.055/myldr' gmake[1]: Entering directory 'C:/Users/Torsten/.cpanplus/5.32.1/build/5njnceijCr/PAR-Packer-1.055/myldr' Makefile:868: warning: overriding recipe for target '.c.o' Makefile:340: warning: ignoring old recipe for target '.c.o' No tests defined for myldr extension. gmake[1]: Leaving directory 'C:/Users/Torsten/.cpanplus/5.32.1/build/5njnceijCr/PAR-Packer-1.055/myldr' "C:\Strawberry_5_32_1_1_64\perl\bin\perl.exe" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib\lib', 'blib\arch')" t/*.t t/00-pod.t ............... skipped: Set environment variable PERL_TEST_POD=1 to test POD t/10-parl-generation.t ... ok C:\Users\Torsten\AppData\Local\Temp\VVvEketgtF syntax OK t/20-pp.t ................ ok # Please wait t/30-current_exec.t ...... ok t/40-packer_cd_option.t .. ok t/80-doublecolon.t ....... ok t/85-crt-glob.t .......... ok t/85-myfile.t ............ ok t/90-gh41.t .............. skipped: Test temporarily disabled # PAR_TEMP = C:\Users\Torsten\AppData\Local\Temp\qHvIDJUobe\par-546f727374656e\cache-aeff5e174cffb8156f9ff1f687ffcee6ddab915f # running C:\Users\Torsten\AppData\Local\Temp\qHvIDJUobe\packed.exe a second time # running C:\Users\Torsten\AppData\Local\Temp\qHvIDJUobe\packed.exe a third time t/90-rt101800.t .......... ok t/90-rt103861.t .......... ok t/90-rt104560.t .......... ok t/90-rt104635.t .......... ok t/90-rt122949.t .......... ok # running C:\Users\Torsten\AppData\Local\Temp\waisc9RkSm\packed.exe with PAR_TMPDIR=C:\Users\Torsten\AppData\Local\Temp\waisc9RkSm\t m p ... t/90-rt127064.t .......... ok t/90-rt129312.t .......... ok # found core module Carp in C:/Strawberry_5_32_1_1_64/perl/lib/Carp.pm # found core module Exporter in C:/Strawberry_5_32_1_1_64/perl/lib/Exporter.pm # found core module File::Glob in C:/Strawberry_5_32_1_1_64/perl/lib/File/Glob.pm # found core module List::Util in C:/Strawberry_5_32_1_1_64/perl/lib/List/Util.pm t/90-rt130685.t .......... ok t/90-rt59710.t ........... ok All tests successful. Files=18, Tests=243, 142 wallclock secs ( 0.08 usr + 0.05 sys = 0.12 CPU) Result: PASS Result of create: $VAR1 = 1; ==> MISSING Signature file! <== Running [C:\Strawberry_5_32_1_1_64\perl\bin\perl.exe -MCPANPLUS::Internals::Utils::Autoflush C:\Users\Torsten\.cpanplus\5.32.1\build\5njnceijCr\PAR-Packer-1.055\Makefile.PL]... Subroutine MY::postamble redefined at ./Makefile.PL line 232. # using "objdump" recursively to find DLLs needed by par.exe Generating a gmake-style Makefile Writing Makefile for PAR::Packer Writing MYMETA.yml and MYMETA.json Running [C:\STRAWB~1\c\bin\gmake.EXE test]... gmake[1]: Entering directory 'C:/Users/Torsten/.cpanplus/5.32.1/build/5njnceijCr/PAR-Packer-1.055/myldr' Makefile:872: warning: overriding recipe for target '.c.o' Makefile:344: warning: ignoring old recipe for target '.c.o' gmake[1]: Leaving directory 'C:/Users/Torsten/.cpanplus/5.32.1/build/5njnceijCr/PAR-Packer-1.055/myldr' gmake[1]: Entering directory 'C:/Users/Torsten/.cpanplus/5.32.1/build/5njnceijCr/PAR-Packer-1.055/myldr' Makefile:872: warning: overriding recipe for target '.c.o' Makefile:344: warning: ignoring old recipe for target '.c.o' No tests defined for myldr extension. gmake[1]: Leaving directory 'C:/Users/Torsten/.cpanplus/5.32.1/build/5njnceijCr/PAR-Packer-1.055/myldr' "C:\Strawberry_5_32_1_1_64\perl\bin\perl.exe" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib\lib', 'blib\arch')" t/*.t t/00-pod.t ............... skipped: Set environment variable PERL_TEST_POD=1 to test POD t/10-parl-generation.t ... ok C:\Users\Torsten\AppData\Local\Temp\EmNPQlDiV0 syntax OK t/20-pp.t ................ ok # Please wait t/30-current_exec.t ...... ok t/40-packer_cd_option.t .. ok t/80-doublecolon.t ....... ok t/85-crt-glob.t .......... ok t/85-myfile.t ............ ok t/90-gh41.t .............. skipped: Test temporarily disabled # PAR_TEMP = C:\Users\Torsten\AppData\Local\Temp\S8WSn6UiBk\par-546f727374656e\cache-fc98a90db3bfdc84c662ef9ad165876f365ad512 # running C:\Users\Torsten\AppData\Local\Temp\S8WSn6UiBk\packed.exe a second time # running C:\Users\Torsten\AppData\Local\Temp\S8WSn6UiBk\packed.exe a third time t/90-rt101800.t .......... ok t/90-rt103861.t .......... ok t/90-rt104560.t .......... ok t/90-rt104635.t .......... ok t/90-rt122949.t .......... ok # running C:\Users\Torsten\AppData\Local\Temp\mWXvWldCha\packed.exe with PAR_TMPDIR=C:\Users\Torsten\AppData\Local\Temp\mWXvWldCha\t m p ... t/90-rt127064.t .......... ok t/90-rt129312.t .......... ok # found core module Carp in C:/Strawberry_5_32_1_1_64/perl/lib/Carp.pm # found core module Exporter in C:/Strawberry_5_32_1_1_64/perl/lib/Exporter.pm # found core module File::Glob in C:/Strawberry_5_32_1_1_64/perl/lib/File/Glob.pm # found core module List::Util in C:/Strawberry_5_32_1_1_64/perl/lib/List/Util.pm t/90-rt130685.t .......... ok t/90-rt59710.t ........... ok All tests successful. Files=18, Tests=243, 141 wallclock secs ( 0.11 usr + 0.12 sys = 0.23 CPU) Result: PASS Result of install: $VAR1 = 1; Module found: yes, Patch found: yes Result of installing PAR::Packer: 1 Bye Torsten ---------------------------------------------------------------------- Dr. Ing. Torsten Werner | Product Manager plan.assyst E-Mail: torsten.wer...@assyst.de Assyst GmbH | Max-Planck-Str. 3 | 85609 Aschheim-Dornach Registration / Eintragung beim Amtsgericht München: HRB 180174 Managing Director / Geschäftsführer: Hans Peter Hiemer, Dr. Andreas Seidl www.assyst.de ---------------------------------------------------------------------- Von: "Roderich Schupp via RT" <bug-par-pac...@rt.cpan.org> An: torsten.wer...@assyst.de, Datum: 04.07.2022 15:10 Betreff: [rt.cpan.org #143646] Problem using Win32::TieRegistry in script packed with pp on Windows <URL: https://rt.cpan.org/Ticket/Display.html?id=143646 > Hi, note that we prefer the GitHub bug tracker nowadays (see the yellow section at the top of the page). Anyway: > pp 0.992 What's the version of your PAR::Packer? Did you build it yourself? Did you run "make test" and it passed? Can you post the output of (yes regtest.exe is also a zip file): unzip -l regtest.exe Cheers, Roderich