Skip to content

qgis(-ltr): Add version 4.0.1-1 (3.44.9-1)#17662

Open
davidxuang wants to merge 6 commits into
ScoopInstaller:masterfrom
davidxuang:patch/qgis
Open

qgis(-ltr): Add version 4.0.1-1 (3.44.9-1)#17662
davidxuang wants to merge 6 commits into
ScoopInstaller:masterfrom
davidxuang:patch/qgis

Conversation

@davidxuang
Copy link
Copy Markdown
Contributor

@davidxuang davidxuang commented Apr 24, 2026

Closes #17661

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

Potential issues so far:
The postinstall script of qgis package will try to use regedit to register itself, so UAC will pop up in user install. User install may (or may not) need to be disabled.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 24, 2026

📝 Walkthrough

Walkthrough

This pull request adds four new Scoop bucket manifests for QGIS: qgis.json, qgis-ltr.json, qgis-grids.json, and qgis-ltr-grids.json. Each manifest pins an OSGeo4W MSI version, provides 64-bit download URLs and SHA256 hashes, sets extract_dir, declares OSGeo4W.bat as the entrypoint, and configures post_install/pre_uninstall hooks. All manifests include checkver entries that fetch QGIS configuration JSON and extract MSI versions with regex, plus autoupdate templates to construct MSI and checksum URLs and compute extract directories from semantic version components.

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 clearly identifies the main change: adding QGIS package manifests with versions 4.0.1-1 and 3.44.9-1, directly matching the PR objectives.
Linked Issues check ✅ Passed The PR adds four QGIS package manifests (qgis, qgis-ltr, qgis-grids, qgis-ltr-grids) with correct versions and download URLs that satisfy all stated objectives in issue #17661.
Out of Scope Changes check ✅ Passed All changes are directly scoped to adding QGIS package manifests as requested; no unrelated modifications detected.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description check ✅ Passed The PR description includes the required elements: an issue reference (Closes #17661), confirmed adherence to PR title conventions, and confirmation of reading the contributing guide. However, it lacks detailed context about the changes beyond a note about potential UAC issues.

✏️ 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.

davidxuang

This comment was marked as resolved.

Co-authored-by: Dawei Huang <davidxuang@live.com>
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
qgis.json (1)

19-19: Nit: escape the literal dot before msi in the checkver.regex.

([\\d.]+(-\\d+)?).msi uses an unescaped . as the separator before msi, which matches any character. Not a functional problem for the current upstream filename, but escaping tightens the match.

♻️ Proposed tightening
-        "regex": "/QGIS-OSGeo4W-([\\d.]+(-\\d+)?).msi"
+        "regex": "/QGIS-OSGeo4W-([\\d.]+(-\\d+)?)\\.msi"

Consider applying the same change in qgis-ltr.json, qgis-grids.json, and qgis-ltr-grids.json for consistency.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@qgis.json` at line 19, The regex in the checkver pattern currently uses an
unescaped dot before "msi" ("([\\d.]+(-\\d+)?).msi"), which matches any
character; update the pattern to escape the literal dot so it reads
"([\\d.]+(-\\d+)?)\.msi" to tighten the match, and apply the same change to the
corresponding patterns in qgis-ltr.json, qgis-grids.json, and
qgis-ltr-grids.json for consistency.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@qgis.json`:
- Line 19: The regex in the checkver pattern currently uses an unescaped dot
before "msi" ("([\\d.]+(-\\d+)?).msi"), which matches any character; update the
pattern to escape the literal dot so it reads "([\\d.]+(-\\d+)?)\.msi" to
tighten the match, and apply the same change to the corresponding patterns in
qgis-ltr.json, qgis-grids.json, and qgis-ltr-grids.json for consistency.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 2f87e920-2c2f-4d11-9e72-66572b2bf6e7

📥 Commits

Reviewing files that changed from the base of the PR and between 4bc98ac and 3e7099d.

📒 Files selected for processing (4)
  • qgis-grids.json
  • qgis-ltr-grids.json
  • qgis-ltr.json
  • qgis.json
✅ Files skipped from review due to trivial changes (2)
  • qgis-ltr-grids.json
  • qgis-ltr.json
🚧 Files skipped from review as they are similar to previous changes (1)
  • qgis-grids.json

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

🧹 Nitpick comments (2)
bucket/qgis.json (1)

19-19: Nit: same redundant inner capture group as in qgis-ltr.json.

For consistency and clarity, consider making the inner -\d+ group non-capturing (it is unused by Scoop's checkver):

♻️ Optional cleanup
-        "regex": "/QGIS-OSGeo4W-([\\d.]+(-\\d+)?)\\.msi"
+        "regex": "/QGIS-OSGeo4W-([\\d.]+(?:-\\d+)?)\\.msi"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@bucket/qgis.json` at line 19, The regex in the "regex" field currently
contains a redundant inner capturing group (-\d+) which is unused; update the
pattern in qgis.json (the "regex" value) to make that inner group non-capturing
(e.g., change (-\d+) to (?:-\d+)) so only the intended version capture remains.
bucket/qgis-ltr.json (1)

19-19: Nit: the inner (-\d+)? capture group is redundant.

The outer group ([\d.]+(-\d+)?) already captures the full version including the optional -N build suffix, and Scoop consumes only the first capture group as $version. The inner group is never referenced, so it can be made non-capturing for clarity.

♻️ Optional cleanup
-        "regex": "/QGIS-OSGeo4W-([\\d.]+(-\\d+)?)\\.msi"
+        "regex": "/QGIS-OSGeo4W-([\\d.]+(?:-\\d+)?)\\.msi"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@bucket/qgis-ltr.json` at line 19, The regex currently uses a redundant inner
capturing group "(-\d+)?" inside the value "\"regex\":
\"/QGIS-OSGeo4W-([\\d.]+(-\\d+)?)\\.msi\""; update it so the inner group is
non-capturing (e.g. "\"regex\": \"/QGIS-OSGeo4W-([\\d.]+(?:-\\d+)?)\\.msi\"") so
only the outer capture provides $version and the inner group is not separately
captured.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@bucket/qgis-ltr.json`:
- Line 19: The regex currently uses a redundant inner capturing group "(-\d+)?"
inside the value "\"regex\": \"/QGIS-OSGeo4W-([\\d.]+(-\\d+)?)\\.msi\""; update
it so the inner group is non-capturing (e.g. "\"regex\":
\"/QGIS-OSGeo4W-([\\d.]+(?:-\\d+)?)\\.msi\"") so only the outer capture provides
$version and the inner group is not separately captured.

In `@bucket/qgis.json`:
- Line 19: The regex in the "regex" field currently contains a redundant inner
capturing group (-\d+) which is unused; update the pattern in qgis.json (the
"regex" value) to make that inner group non-capturing (e.g., change (-\d+) to
(?:-\d+)) so only the intended version capture remains.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: b205eee5-6b44-450a-82d3-cac6621270cf

📥 Commits

Reviewing files that changed from the base of the PR and between 3e7099d and 8583833.

📒 Files selected for processing (4)
  • bucket/qgis-grids.json
  • bucket/qgis-ltr-grids.json
  • bucket/qgis-ltr.json
  • bucket/qgis.json
✅ Files skipped from review due to trivial changes (2)
  • bucket/qgis-grids.json
  • bucket/qgis-ltr-grids.json

* Use subfolders for start menus as the preremove will purge the entire folder
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.

[Request]: qgis

1 participant