Skip to content

Fix compiler and CPAN tooling across legacy modules - #919

Merged
fglock merged 4 commits into
masterfrom
fix/git-repo-commits-tooling
Aug 11, 2026
Merged

Fix compiler and CPAN tooling across legacy modules#919
fglock merged 4 commits into
masterfrom
fix/git-repo-commits-tooling

Conversation

@fglock

@fglock fglock commented Aug 11, 2026

Copy link
Copy Markdown
Owner

Summary

  • Fix fork-open emulation for Git.pm helper calls, preserve captured child output, and propagate active @INC paths through Module::Build helpers.
  • Improve command-line -s handling, array last-index parsing, and timeout allocation for subprocess-heavy core tests.
  • Narrow the Class::DBI distropref so it cannot match Class::DBI::Search::Count.
  • Preserve numbered captures alongside named recursive regex groups, fixing NetAddr::IP AutoSplit output.
  • Match Perl's ties-to-even fixed-point sprintf behavior for Games::Ratings.
  • Return packed gethostbyname addresses correctly in scalar context and dispatch the opcode in the interpreter.

This unifies the original Git::Repo::Commits / Perl::Critic tooling work with the compiler and CPAN tooling fixes found while testing Class::DBI::Search::Count, Net::Radius::Server, String::Format, Games::Ratings, and their dependencies.

Validation

  • make — passed after the unified rebase
  • ./jcpan -t Git::Repo::Commits — 13/13 tests passed in the original PR validation
  • ./jcpan -t Class::DBI::Search::Count — 5 tests passed
  • ./jcpan -t String::Format — 21 tests passed
  • ./jcpan -t Games::Ratings — 123 tests passed
  • New regression tests — 16 assertions pass with system Perl and both PerlOnJava backends

Net::Radius::Server itself fails under clean system Perl on upstream strict subs constant errors. Authen::PAM also fails system-Perl configuration, and BerkeleyDB requires XS. Those user-approved ignore cases were not patched; the underlying AutoSplit/regex and scalar gethostbyname defects exposed by the dependency chain were fixed instead.

Final unified acceptance testing will be performed by the user.

fglock and others added 4 commits August 11, 2026 14:14
Preserve fork-open state while Git.pm redirects child filehandles, resume
through nested helper calls at the opening Perl frame, and attach captured
process output to the original filehandle. Also propagate active @inc paths
through Module::Build helper processes so generated scripts can load staged
dependencies such as B::Keywords.

Generated with [Codex](https://openai.com/codex)

Co-Authored-By: Codex <codex@openai.com>
Strip shell-protection quotes from -s assignments and parse `$#{@{...}}`
as an array last-index expression instead of hash access. This makes the
corresponding Perl compatibility tests pass without changing the tests.

Generated with [Codex](https://openai.com/codex)

Co-Authored-By: Codex <codex@openai.com>
Give io/through.t and io/crlf_through.t twice the configured per-test
timeout because their pipe matrix launches hundreds of child processes.
Keep the multiplier proportional to custom --timeout values and leave other
tests unchanged.

Generated with [Codex](https://openai.com/codex)

Co-Authored-By: Codex <codex@openai.com>
Narrow the Class::DBI distropref match, preserve numbered captures beside
named recursive regex groups, and make fixed-point sprintf rounding match
Perl's ties-to-even behavior.

Return packed gethostbyname addresses directly in scalar context and route
the opcode through the interpreter, removing the Socket fallback that hid
the incorrect scalar result.

Generated with [Codex](https://openai.com/codex)

Co-Authored-By: Codex <223018245+openai-codex[bot]@users.noreply.github.com>
@fglock
fglock force-pushed the fix/git-repo-commits-tooling branch 2 times, most recently from ed469ce to d2b8977 Compare August 11, 2026 12:18
@fglock fglock changed the title Fix CPAN tooling for Git::Repo::Commits and Perl::Critic Fix compiler and CPAN tooling across legacy modules Aug 11, 2026
@fglock
fglock merged commit b431a17 into master Aug 11, 2026
4 checks passed
@fglock
fglock deleted the fix/git-repo-commits-tooling branch August 11, 2026 12:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant