Skip to content

fix(build): fetch miniupnpc sources from miniupnp.free.fr - #8088

Open
knst wants to merge 1 commit into
dashpay:developfrom
knst:fix-miniupnpc-mirror
Open

knst wants to merge 1 commit into
dashpay:developfrom
knst:fix-miniupnpc-mirror

Conversation

@knst

@knst knst commented Nov 10, 2026

Copy link
Copy Markdown
Collaborator

Issue being fixed or feature implemented

curl: (28) Failed to connect to miniupnp.tuxfamily.org port 443 after 30002 ms: Timeout was reached
Fetching miniupnpc-2.2.7.tar.gz from http://dash-depends-sources.s3-website-us-west-2.amazonaws.com/
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0   570    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
curl: (22) The requested URL returned error: 404
make[1]: *** [funcs.mk:301: /home/runner/work/dash/dash/depends/sources/download-stamps/.stamp_fetched-miniupnpc-2.2.7-b0c3a27056840fd0ec9328a5a9bac3dc5e0ec6d2e8733349cf577b0aa1e70ac1.hash] Error 22
make[1]: Leaving directory '/home/runner/work/dash/dash/depends'

So apparently build with depends without cache can't succeed anymore.

What was done?

Point the package at the author's other mirror, http://miniupnp.free.fr, which serves the tarball with the expected hash. This is what Bitcoin Core did in bitcoin#30151 for the same outage but it had been reverted later by bitcoin core by mistake and never refixed, instead bitcoin core dropped miniupnpc altogether (bitcoin#31130), so there is no later upstream fix to backport.

How Has This Been Tested?

Can be tested by CI on #7939 when rebased on top of merged this PR

Breaking Changes

N/A

Checklist:

  • I have performed a self-review of my own code
  • I have made corresponding changes to the documentation
  • I have assigned this pull request to a milestone (if you have permission to set one)

https://miniupnp.tuxfamily.org does not answer any more, and the dash-depends-sources fallback bucket has no copy of miniupnpc-2.2.7.tar.gz, so `make -C depends download` fails and with it every CI job, since all build jobs wait for the "Cache depends sources" job.

Point the package at the author's other mirror, http://miniupnp.free.fr, which serves the tarball with the expected hash.
This is what Bitcoin Core did in bitcoin#30151 for the same outage but it had been reverted later by bitcoin core by mistake and never refixed, instead bitcoin core dropped miniupnpc altogether (bitcoin#31130), so there is no later upstream fix to backport.
@knst knst added this to the 24.1 milestone Nov 10, 2026
@chatgpt-codex-connector

Copy link
Copy Markdown
Codex Review Summary: ❌ Failed

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ❌ Failed 2026-11-10T11:34:07.422384Z
We couldn’t complete this review. Comment @codex review to try again.
abb199a PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits.
Repo admins can enable using credits for code reviews in their settings.

@coderabbitai

coderabbitai Bot commented Nov 10, 2026

Copy link
Copy Markdown

Explain Change →

No actionable comments were generated in the recent review.

Walkthrough

The miniupnpc download base URL changes from https://miniupnp.tuxfamily.org/files/ to http://miniupnp.free.fr/files/. The package version and other build settings remain unchanged.

Estimated code review effort: 1 (Trivial) | ~3 minutes

Merge Risk: Minimal · up to abb19

The mirror change has no established code defect. Update the PR title to pass validation.

Pre-merge checks: Passed 5

Check name Status Explanation
Title check Passed The title clearly identifies the build fix: fetching miniupnpc sources from the replacement mirror.
Description check Passed The description explains the failed download, the mirror change, and the reported testing plan.
Docstring Coverage Passed No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentat…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.)

Finishing Touches

Generate unit tests (beta)

  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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

Recent review info

Run configuration

  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Repository UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 038c311f-1e26-4cbd-8509-97ff52a97d1b
Commits

Reviewing files that changed from the base of the PR and between 98a7efa and abb199a.

Files selected for processing: 1

  • depends/packages/miniupnpc.mk

Included review availability: This review used your included allowance. Your plan provides up to 4 included reviews per hour; 2 remain after this review.

@thepastaclaw

thepastaclaw commented Nov 10, 2026 •

Copy link
Copy Markdown
Collaborator

⛔ Final review complete — 1 blocking finding(s) (commit abb199a) · triage: low

@thepastaclaw thepastaclaw left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Final validation — Phase 1 + Phase 2

The dependency mirror change is technically correct and preserves the existing filename and SHA-256 verification; the available depends and source-build checks are successful, with remaining source tests still in progress. However, the PR title uses the disallowed build scope, causing the mandatory title-validation check to fail, and the dependency documentation still points users to the unavailable mirror.

🔴 1 blocking | 🟡 1 suggestion(s)

2 finding(s) not shown inline (the lines are not part of this PR's diff)

🔴 Blocking: PR title scope build is not allowed by the mandatory title validator
.github/workflows/semantic-pull-request.yml:43-55

The PR title is fix(build): fetch miniupnpc sources from miniupnp.free.fr, but this workflow allows build only as a type (line 34), not as a scope. The configured semantic-pull-request action therefore rejects the title, as confirmed by the failed Validate PR title check and its unknown-scope annotation. Retitle the PR without the scope, for example build: fetch miniupnpc sources from miniupnp.free.fr, or update the workflow's allowed scopes before merging.

source: glm-5.3-flash (phase1-reviewer: general)

🟡 Suggestion: Update the documented MiniUPnPc mirror
doc/dependencies.md:43

The build configuration now fetches MiniUPnPc from http://miniupnp.free.fr/files/, while the dependency table still directs users to https://miniupnp.tuxfamily.org/, the unavailable mirror this PR is fixing. Keeping the documentation on the dead host leaves the documented dependency source inconsistent with the working build configuration.

| [MiniUPnPc](../depends/packages/miniupnpc.mk) | [link](http://miniupnp.free.fr/) | [2.2.7](https://github.com/bitcoin/bitcoin/pull/29707) | 2.1 | No |

source: glm-5.3-flash (phase1-reviewer: general); gpt-6.1-sol (phase2-reviewer: general, dash-core-commit-history)

Review provenance

Source: reviewer 1: glm-5.3-flash (agent: phase1-reviewer, role: general); reviewer 2: gpt-6.1-sol (agent: phase2-reviewer, role: general); reviewer 3: gpt-6.1-sol (agent: phase2-reviewer, role: dash-core-commit-history); final verifier: gpt-6.1-sol (agent: sol-verifier, role: final-verifier)

  • Triage: low by gpt-6.1-sol (effort low) — This is a small, self-contained build dependency URL change in depends/packages/miniupnpc.mk whose correctness can be readily confirmed by fetching the tarball and verifying its expected hash.
  • Phase 1 reviewers: glm-5.3-flash — general (completed, effort high); agent phase1-reviewer
  • Phase 1 model: glm-5.3-flash — zai quota: 5h 98% left, weekly 91% left; passed over gemini-3.8-flash-high (antigravity quota lookup failed)
  • Fresh verifier: gpt-6.1-sol — final-verifier; agent sol-verifier
  • Phase 2 reviewers: gpt-6.1-sol — general (completed, effort medium); agent phase2-reviewer, gpt-6.1-sol — dash-core-commit-history (completed, effort medium); agent phase2-reviewer
🤖 Prompt for all review comments with AI agents
These findings are from an automated code review (PastaClaw). How to work through them:
- Verify each finding against the code; fix only what is real, as narrowly as the finding.
- If a finding is wrong, decline it on its thread in one or two sentences; the bot answers once and stops.
- To defer one, link a tracking issue on its thread (or reply asking the bot to file one).
- Suggestions are optional: fix them forward in a later PR rather than pushing another round just for them.
- Address every current finding in one push: self-review the full diff first, and don't push piecemeal.
- Keep the PR's scope; don't grow it to satisfy hardening suggestions.
- Carried items were raised in an earlier round: read the thread first, and don't re-fix what you already fixed, declined or deferred there. Disputed and deferred items are already handled and are not listed.

In `.github/workflows/semantic-pull-request.yml`:
- [BLOCKING] .github/workflows/semantic-pull-request.yml:43-55: PR title scope `build` is not allowed by the mandatory title validator
  The PR title is `fix(build): fetch miniupnpc sources from miniupnp.free.fr`, but this workflow allows `build` only as a type (line 34), not as a scope. The configured semantic-pull-request action therefore rejects the title, as confirmed by the failed `Validate PR title` check and its unknown-scope annotation. Retitle the PR without the scope, for example `build: fetch miniupnpc sources from miniupnp.free.fr`, or update the workflow's allowed scopes before merging.

In `doc/dependencies.md`:
- [SUGGESTION] doc/dependencies.md:43: Update the documented MiniUPnPc mirror
  The build configuration now fetches MiniUPnPc from `http://miniupnp.free.fr/files/`, while the dependency table still directs users to `https://miniupnp.tuxfamily.org/`, the unavailable mirror this PR is fixing. Keeping the documentation on the dead host leaves the documented dependency source inconsistent with the working build configuration.

@thepastaclaw thepastaclaw added the pastaclaw:changes-requested thepastaclaw's latest review requested changes label Nov 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport-candidate-24.0.x pastaclaw:changes-requested thepastaclaw's latest review requested changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants