Skip to content

portable-virtualbox@6.4.10.5.1.22: fixed download link, checkver and autoupdate#17954

Open
arvdk wants to merge 2 commits into
ScoopInstaller:masterfrom
arvdk:portable-virtualbox-checkver-fix
Open

portable-virtualbox@6.4.10.5.1.22: fixed download link, checkver and autoupdate#17954
arvdk wants to merge 2 commits into
ScoopInstaller:masterfrom
arvdk:portable-virtualbox-checkver-fix

Conversation

@arvdk

@arvdk arvdk commented Jun 1, 2026

Copy link
Copy Markdown
Contributor

Closes #1677

Fixed the first of 3 download links. The auto update was not implemented for the latter two, so added those. Since not all information was found on one webpage, I converted it to a script. Looks Ok now, although the 6 numbers do make a long version now.

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

@coderabbitai

coderabbitai Bot commented Jun 1, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

This pull request updates the Portable-VirtualBox manifest to migrate the primary download endpoint from HTTP to HTTPS and restructures version detection logic. The manifest now uses a PowerShell-based checkver script that extracts both the Portable-VirtualBox and bundled VirtualBox versions from filenames, queries the VirtualBox download index to retrieve build numbers, and auto-generates three HTTPS URL templates for the portable archive, VirtualBox executable, and extension pack. This addresses the non-standard versioning scheme where multiple VirtualBox versions are bundled with a single Portable-VirtualBox release.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main changes: fixing the download link and implementing checkver and autoupdate logic for the portable-virtualbox manifest.
Description check ✅ Passed The description includes a reference to the linked issue (#1677), explains the changes made (fixed download links, implemented autoupdate, converted to script), and confirms checklist items.
Linked Issues check ✅ Passed The PR directly addresses issue #1677 by implementing a script-based checkver that captures the full version string including VirtualBox sub-versions, enabling proper update detection.
Out of Scope Changes check ✅ Passed All changes in portable-virtualbox.json are directly related to fixing the download links, checkver, and autoupdate functionality as specified in issue #1677.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


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 and usage tips.

@arvdk

arvdk commented Jun 1, 2026

Copy link
Copy Markdown
Contributor Author

/verify

@github-actions

github-actions Bot commented Jun 1, 2026

Copy link
Copy Markdown
Contributor

All changes look good.

Wait for review from human collaborators.

portable-virtualbox

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

Check the full log for details.

@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/portable-virtualbox.json (1)

42-46: Run local manifest validation before merge.

Please validate this manifest end-to-end with:

  • scoop config debug true
  • scoop config gh_token <your-github-token>
  • .\bin\checkver.ps1 -App portable-virtualbox -f
  • .\bin\formatjson.ps1 -App portable-virtualbox
  • Install test(s): scoop install bucket/portable-virtualbox.json -a <architecture>

Reference docs:

As per coding guidelines, “Provide clear instructions for testing the manifest locally before submission” and include official contribution/wiki links.

🤖 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/portable-virtualbox.json` around lines 42 - 46, The manifest
bucket/portable-virtualbox.json contains the "url" array entries that must be
validated end-to-end before merge; run the local manifest validation and install
tests (enable debug and GH token, run checkver and formatjson, then attempt
scoop install) as described in the review: run scoop config debug true and scoop
config gh_token <token>, then .\bin\checkver.ps1 -App portable-virtualbox -f,
.\bin\formatjson.ps1 -App portable-virtualbox and finally test installation with
scoop install bucket/portable-virtualbox.json -a <architecture>; fix any
checkver/formatjson/install errors and update the "url" entries or version/build
variables ($matchVboxversion, $matchVboxbuild, $matchHead) in
portable-virtualbox.json accordingly, and add a note in the PR that you ran
these validation steps and linked the Scoop contribution/wiki docs.
🤖 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/portable-virtualbox.json`:
- Around line 42-46: The manifest bucket/portable-virtualbox.json contains the
"url" array entries that must be validated end-to-end before merge; run the
local manifest validation and install tests (enable debug and GH token, run
checkver and formatjson, then attempt scoop install) as described in the review:
run scoop config debug true and scoop config gh_token <token>, then
.\bin\checkver.ps1 -App portable-virtualbox -f, .\bin\formatjson.ps1 -App
portable-virtualbox and finally test installation with scoop install
bucket/portable-virtualbox.json -a <architecture>; fix any
checkver/formatjson/install errors and update the "url" entries or version/build
variables ($matchVboxversion, $matchVboxbuild, $matchHead) in
portable-virtualbox.json accordingly, and add a note in the PR that you ran
these validation steps and linked the Scoop contribution/wiki docs.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: e7aeff76-6de0-4b2a-a9f3-28a512f9d03e

📥 Commits

Reviewing files that changed from the base of the PR and between 080c49b and 32de184.

📒 Files selected for processing (1)
  • bucket/portable-virtualbox.json

arvdk added a commit to arvdk/Extras that referenced this pull request Jun 9, 2026
@arvdk

arvdk commented Jun 20, 2026

Copy link
Copy Markdown
Contributor Author

/verify

@github-actions

Copy link
Copy Markdown
Contributor

All changes look good.

Wait for review from human collaborators.

portable-virtualbox

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

Check the full log for details.

@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.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
bucket/portable-virtualbox.json (1)

24-36: ⚠️ Potential issue | 🔴 Critical

Critical issue: checkver script has undefined variable and logic error.

The checkver.script uses $page on line 26 before it's defined on line 30. In Scoop's sequential script execution, this causes an undefined variable error on the first -match operation. Additionally:

  1. Missing checkver.url — The field is absent entirely. Scoop typically requires this to provide initial page content to the script.
  2. Variable mismatch in autoupdate — The regex captures unnamed group 1 ([\\d.]+) and named groups vboxversion and vboxbuild, but autoupdate references $matchHead which doesn't correspond to any defined group.

Reorder the script to fetch the page before matching, add checkver.url to specify the initial URL, and verify the autoupdate variable names match the regex capture groups.

For testing, run:

.\bin\checkver.ps1 -App portable-virtualbox -f
🤖 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/portable-virtualbox.json` around lines 24 - 36, The checkver.script
array references the variable $page in the first -match operation before it is
defined by the Invoke-WebRequest call, causing an undefined variable error.
Reorder the script lines so that the Invoke-WebRequest line that fetches and
assigns content to $page executes before any -match operations that use it.
Additionally, add a checkver.url field to the checkver object to provide Scoop
with the initial URL for page content. Finally, verify that any autoupdate
section references variables that match the named capture groups in the regex
pattern (vboxversion and vboxbuild from the regex, not $matchHead which is
undefined).

Source: Coding guidelines

🤖 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.

Outside diff comments:
In `@bucket/portable-virtualbox.json`:
- Around line 24-36: The checkver.script array references the variable $page in
the first -match operation before it is defined by the Invoke-WebRequest call,
causing an undefined variable error. Reorder the script lines so that the
Invoke-WebRequest line that fetches and assigns content to $page executes before
any -match operations that use it. Additionally, add a checkver.url field to the
checkver object to provide Scoop with the initial URL for page content. Finally,
verify that any autoupdate section references variables that match the named
capture groups in the regex pattern (vboxversion and vboxbuild from the regex,
not $matchHead which is undefined).

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 2cc1aa6b-3a7b-4d4f-bb6d-fb386c2bf9b5

📥 Commits

Reviewing files that changed from the base of the PR and between 32de184 and 037ae0a.

📒 Files selected for processing (1)
  • bucket/portable-virtualbox.json

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.

portable-virtualbox: version does not reflect non standard versioning scheme of Portable-VirtualBox

1 participant