Monday 6th April 2026
Local Packages
Updated perl-ExtUtils-ParseXS to 3.63:
Allow 'length(foo)' to work with any 'foo' type that has 'SvPV_nolen()' or similar in its typemap, not just that it maps to T_PV
Use static, not STATIC
Rewrite perlxs.pod
- Finish refactoring to use an Abstract Syntax Tree (AST) internally
- Improve warning and error messages
- Improve test coverage
Reorganise t/
Updated perl-Net-Daemon to 0.52:
- Bug fixes:
Fix dead $RegExpLock that was never acquired in ithreads mode; the lock variable existed but was never actually locked before regexp compilation, leaving ithreads unprotected; also fix share() call to pass explicit ref for runtime-loaded prototype (GH#33)
Fix ithreads auto-detection to gate on Perl 5.10+ and exclude Windows; on Perl 5.8.x threads::shared is never loaded, making lock() a no-op; on Windows, DuplicateHandle() corrupts Winsock sockets - WSADuplicateSocket() is required instead (GH#19, GH#30, GH#50)
Correct $eventId hash key typo in Log.pm that prevented event IDs from being logged (GH#36)
Fix Done() call in test server Loop method - was called without arguments, preventing proper server shutdown (GH#38)
Clean up stale test artifacts (log, ndtest.cnt) (GH#40)
Harden ReadConfigFile against $@ contamination and $! errors (GH#44)
Skip pidfile write when pidfile option is not set, preventing spurious empty pidfile creation (GH#45)
Close cloned listening socket in ithreads handler threads; Perl ithreads dup every open handle into new threads; on Windows closing these at thread exit invalidated the parent's handle; also re-add Windows skip with root-cause documentation (GH#19, GH#30, GH#46)
Address CPAN testers failures in t/reap.t and t/fork.t (GH#48)
Skip ithread-detach.t on Perl < 5.10 (GH#49)
Verify privilege drop succeeded in Bind(); assigning to $>/$) silently fails without permission - the daemon would continue running as root (GH#51)
Use POSIX::setuid/setgid for permanent privilege drop in Bind(); the previous $< = ($> = $user) left saved-set-user-ID as root, allowing a compromised process to regain privileges (GH#55)
- Improvements:
Modernize open() calls to 3-arg form with lexical filehandles throughout the codebase (GH#41)
- Maintenance:
Fix POD typos and remove outdated alpha warning (GH#37)
Fix stale --mode=threads references and config example syntax in documentation (GH#39)
Update ancient FSF address in Net::Daemon::Test copyright (GH#34, GH#35)
Convert server tests from raw TAP to Test::More (GH#42)
Convert ithreads tests to Test::More and fix Test.pm fd leak (GH#43)
Convert remaining tests (loop.t, loop-child.t, unix_clients.t, forkm.t) to Test::More (GH#47)
Updated perl-Pod-Simple to 3.48: