Skip to content

Package fails to build when using a web-based package source #14

Description

@countvajhula

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions