Skip to content

boinc@8.2.15: Fix extraction#18218

Merged
z-Fng merged 1 commit into
masterfrom
fix-boinc
Jul 3, 2026
Merged

boinc@8.2.15: Fix extraction#18218
z-Fng merged 1 commit into
masterfrom
fix-boinc

Conversation

@z-Fng

@z-Fng z-Fng commented Jul 3, 2026

Copy link
Copy Markdown
Member

Inspired by PR ScoopInstaller/Nonportable#593.

Matching logic is kept simple and intentionally unoptimized for performance.

Supersedes #17916
Closes #16602

  • Use conventional PR title: <manifest-name[@version]|chore>: <general summary of the pull request>
  • I have read the Contributing Guide

@coderabbitai

coderabbitai Bot commented Jul 3, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: e70bc596-37c9-45e7-a654-6c6590344545

📥 Commits

Reviewing files that changed from the base of the PR and between dbc2fc2 and 79e68f5.

📒 Files selected for processing (1)
  • bucket/boinc.json
🚧 Files skipped from review as they are similar to previous changes (1)
  • bucket/boinc.json

📝 Walkthrough

Walkthrough

The pull request modifies bucket/boinc.json to fix a decompression error in the BOINC 64bit installer. The previous isx-based extraction flow is replaced with a PowerShell pre_install step that scans the downloaded EXE for an MSI signature, writes boinc.msi, deletes the original archive, verifies the MSI exists, and then runs Expand-MsiArchive from "$dir\\boinc.msi" into Program Files 64\\BOINC. The top-level persist setting is also moved to a later position after shortcuts.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Sequence Diagram(s)

See hidden review stack artifact.

Related Issues: #16602

Suggested labels: bucket-update

Suggested reviewers: none identified

Poem
The MSI was hidden in bytes unseen,
Now scanned and written, clean and keen.
The old path's gone, the new one stays,
And persist moved down in tidy ways.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Out of Scope Changes check ⚠️ Warning The PR also reorders the persist property, which is unrelated to the extraction-fix objective. Remove the persist relocation or explain why it is necessary for the BOINC extraction fix.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title is concise, conventional, and clearly matches the manifest version bump and extraction fix.
Description check ✅ Passed The description includes the issue linkage, supersession note, and required checklist items, so it is mostly complete.
Linked Issues check ✅ Passed The extraction rewrite directly addresses the 64-bit Windows decompression failure described in #16602.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

All changes look good.

Wait for review from human collaborators.

boinc

  • Lint
  • Description
  • License
  • Hashes
  • Checkver
  • Autoupdate

Check the full log for details.

@z-Fng z-Fng mentioned this pull request Jul 3, 2026
2 tasks

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
bucket/boinc.json (1)

36-38: 🩺 Stability & Availability | 🔵 Trivial | ⚡ Quick win

Keep the downloaded EXE until MSI expansion succeeds.

If signature detection or Expand-MsiArchive fails, Line 36 has already removed the source artifact. Move cleanup after successful extraction so failed installs remain diagnosable.

Proposed cleanup ordering
-                    "Remove-Item -Path \"$dir\\$fname\" -Force",
                     "if (-not (Test-Path \"$dir\\$installerName\")) { throw 'Extracted archive not found' }",
-                    "Expand-MsiArchive -Path \"$dir\\$installerName\" -DestinationPath \"$dir\" -ExtractDir 'Program Files 64\\BOINC' -Removal"
+                    "Expand-MsiArchive -Path \"$dir\\$installerName\" -DestinationPath \"$dir\" -ExtractDir 'Program Files 64\\BOINC' -Removal",
+                    "Remove-Item -Path \"$dir\\$fname\" -Force"
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@bucket/boinc.json` around lines 36 - 38, The cleanup in the BOINC install
flow removes the downloaded EXE too early, before MSI expansion has succeeded,
which makes failures harder to diagnose. In the script block that contains
Remove-Item, Test-Path, and Expand-MsiArchive, move the deletion of the source
artifact to after Expand-MsiArchive completes successfully, and keep the
existing extraction/error checks in place so the downloaded installer remains
available when signature detection or extraction fails.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@bucket/boinc.json`:
- Around line 36-38: The cleanup in the BOINC install flow removes the
downloaded EXE too early, before MSI expansion has succeeded, which makes
failures harder to diagnose. In the script block that contains Remove-Item,
Test-Path, and Expand-MsiArchive, move the deletion of the source artifact to
after Expand-MsiArchive completes successfully, and keep the existing
extraction/error checks in place so the downloaded installer remains available
when signature detection or extraction fails.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 2a45ee96-0670-4068-95cc-35d212f53157

📥 Commits

Reviewing files that changed from the base of the PR and between 195a7f9 and dbc2fc2.

📒 Files selected for processing (1)
  • bucket/boinc.json

@z-Fng

z-Fng commented Jul 3, 2026

Copy link
Copy Markdown
Member Author

/verify

@github-actions

github-actions Bot commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

All changes look good.

Wait for review from human collaborators.

boinc

  • Lint
  • Description
  • License
  • Hashes
  • Checkver
  • Autoupdate

Check the full log for details.

@z-Fng z-Fng merged commit 68fc142 into master Jul 3, 2026
5 checks passed
@z-Fng z-Fng deleted the fix-boinc branch July 3, 2026 17:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

boinc@8.2.7: decompress error

1 participant