-
Notifications
You must be signed in to change notification settings - Fork 418
ruby4.0-net-http-persistent/4.0.8 package update #76989
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ruby4.0-net-http-persistent/4.0.8 package update #76989
Conversation
🩹 Build Failed: Patch Application Failed
Build Details
Root Cause Analysis 🔍All hunks in the patch file were rejected because the patch appears to be reversed or already applied. The patch system detected that the changes were already present in the source code, causing all 4 files (pool.rb, timed_stack_multi.rb, gemspec, and test file) to have their hunks ignored and saved as .rej files. The patch step uses 'set -e' which causes the shell to exit with status 1 when any command fails. 🔍 Build failure fix suggestionsFound similar build failures that have been fixed in the past and analyzed them to suggest a fix: Similar PRs with fixesSuggested ChangesFile: ruby4.0-net-http-persistent.yaml
Replacement: Content:
Replacement: Content:
Content: File: ruby4.0-net-http-persistent/support-connection_pool-3.0.patch
Replacement: Content: Click to expand fix analysisAnalysisLooking at the three similar fixes, there's a clear pattern: when patches fail to apply because they're "already applied" or "reversed", the solution is to update the package to a newer version where the patch is no longer needed, and then remove the patch file and patch step entirely. In Fix Example #0, the version was updated from 21.0.11 to 21.1.2 and the patch was updated. In Fix Example #1, Python was updated from 3.10.18 to 3.10.19 and the problematic gh-135462.patch was removed. In Fix Example #2, rubyzip was updated from 3.0.0 to 3.0.1 and the gh636.patch was completely removed along with the patch pipeline step. Click to expand fix explanationExplanationThis fix addresses the root cause of the patch failure. When a patch fails with "already applied" or "reversed" errors, it typically means the changes in the patch have been incorporated into the upstream codebase in a newer version. The upstream changelog shows that version 4.0.8 includes significant changes around CGI dependencies, which likely conflicts with or supersedes whatever the support-connection_pool-3.0.patch was trying to accomplish. By updating to a newer version (4.0.9 if available, or checking what the latest version is), the changes that the patch was trying to make are likely already included upstream. This follows the Wolfi principle of keeping packages up to date with upstream releases. The pattern from all three similar fixes shows this is the standard approach: update the version, update the commit hash, and remove the problematic patch entirely. Click to expand alternative approachesAlternative Approaches
Was this comment helpful? Please use 👍 or 👎 reactions on this comment. |
Commit: 66bf49c4cb990b7a5b2a38006bac05da7582796d