[MacPorts] #38265: selfupdate should fetch tarball over HTTP

MacPorts noreply at macports.org
Sat Jul 6 13:04:49 UTC 2024


#38265: selfupdate should fetch tarball over HTTP
--------------------------+--------------------------------
  Reporter:  raimue       |      Owner:  macports-tickets@…
      Type:  enhancement  |     Status:  closed
  Priority:  Normal       |  Milestone:  MacPorts Future
 Component:  base         |    Version:  2.1.3
Resolution:  fixed        |   Keywords:
      Port:               |
--------------------------+--------------------------------
Changes (by neverpanic):

 * status:  new => closed
 * resolution:   => fixed


Comment:

 In [changeset:"dd3acc4b974d274d922b705a9115ba1dc786104f/macports-base"
 dd3acc4b974d274d922b705a9115ba1dc786104f/macports-base] (master):
 {{{
 #!ConfigurableCommitTicketReference repository="macports-base"
 revision="dd3acc4b974d274d922b705a9115ba1dc786104f"
 macports1.0: Selfupdate using HTTP(S)

 Refactor the selfupdate package into smaller functions and switch to
 a control flow of:

  1. checking for newer versions by downloading a single URL
  2. downloading the new version using HTTP when available
  3. verifying the signature using EdDSA with ed25519 elliptic curve
     crypto with the help of OpenBSD's signify(1)
  4. Fall back to the old rsync method if the above fails.

 This allows us to automatically fall back to other mirrors should our
 main mirror not be available. We did not have this functionality
 available for our previous rsync-based mechanism.

 Additionally, the use of our standard curl wrapper enables displaying
 a progress bar for the download and automatically uses any proxies that
 might already be configured for HTTP.

 Since we currently do not have a standard mechanism to sign the source
 code tarballs uploaded to our distfiles server and github releases page
 (we only sign the tarball pushed to rsync), I've taken the liberty to
 introduce a new modern signature scheme for this channel – if we have to
 touch this anyway, we might as well use modern tools and algorithms.

 Co-authored-by: Joshua Root <jmr at macports.org>

 Closes: https://trac.macports.org/ticket/38265
 Closes: https://github.com/macports/macports-base/pull/184
 }}}

-- 
Ticket URL: <https://trac.macports.org/ticket/38265#comment:7>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list