Package fails to build when using a web-based package source
Nobody has claimed this yet.
- Dominant language
- Racket
- Stars
- 5
- Forks
- 10
- PR merge metrics
- No merged PRs in 30d
Description
Packages using a specific older version for a dependency via a valid package source format that relies on a web resource (i.e. hosted Git repo) fail to build on the package server, even though the packages themselves are in conformity with prescribed package management concepts.
The error reported by the package server is:
Querying Git references for qi-lib at git://github.com/countvajhula/qi.git?path=qi-lib#v1.0-maintenance
pkg: Contacting github.com
pkg: Network error; retrying after 0.1s
pkg: Contacting github.com
pkg: Network error; retrying after 0.2s
pkg: Contacting github.com
pkg: Network error; retrying after 0.4s
pkg: Contacting github.com
pkg: Network error; retrying after 0.8s
pkg: Contacting github.com
pkg: Network error; retrying after 1.6s
pkg: Contacting github.com
tcp-connect: host not found
hostname: github.com
port number: 443
system error: Temporary failure in name resolution; gai_err=-3
context...:
/home/root/racket/collects/openssl/mzssl.rkt:1935:0: do-ssl-connect
/home/root/racket/collects/racket/contract/private/arrow-val-first.rkt:555:3
/home/root/racket/collects/net/http-client.rkt:67:0: http-conn-open!
/home/root/racket/collects/net/http-client.rkt:274:0: http-conn-open
/home/root/racket/collects/racket/contract/private/arrow-val-first.rkt:555:3
/home/root/racket/collects/net/url.rkt:202:0: http://getpost-impure-port
/home/root/racket/collects/net/url.rkt:305:0: get-pure-port/headers
/home/root/racket/collects/racket/contract/private/arrow-val-first.rkt:555:3
/home/root/racket/collects/net/git-checkout.rkt:245:0: initial-connect
/home/root/racket/collects/net/git-checkout.rkt:55:2: retry-loop
/home/root/racket/collects/pkg/private/stage.rkt:62:2: lookup-normally
/home/root/racket/collects/pkg/private/stage.rkt:115:0: stage-package/info
/home/root/racket/collects/pkg/private/install.rkt:141:0: install-packages
/home/root/racket/collects/pkg/private/install.rkt:925:4
/home/root/racket/collects/racket/contract/private/arrow-val-first.rkt:555:3
/home/root/racket/collects/racket/file.rkt:763:8
...
The time is now Friday, June 17th, 2022 12:37:17am
This means that packages that use an officially supported dependency mechanism are incorrectly reported as broken, causing docs and all dependent packages to also be reported as broken.
For some context, the relation package is faced with the choice of either continuing to support legacy Racket code (7.8+) or drop support for <8.3. It could do the former by using a Git ref to a maintenance branch of one of its dependencies (Qi), but currently this runs into the present issue. The other option is to drop support for <8.3 which sweeps it under the rug, but seems a bit extreme.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the failure with a package source using a hosted Git repository and an older Git ref. Start with the stack-trace paths net/git-checkout.rkt and pkg/private/stage.rkt, then trace the package-server build flow. Done means supported web-based sources build successfully and are not reported as broken.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- git
- Domain
- backend, build-system
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100