Opened 4 years ago

Closed 2 years ago

Last modified 3 months ago

#60608 closed enhancement (duplicate)

Update MacPorts base using HTTP

Reported by: neverpanic (Clemens Lang) Owned by: neverpanic (Clemens Lang)
Priority: Normal Milestone:
Component: base Version:
Keywords: Cc:
Port:

Description

In #60590, we again noticed that our current method to update MacPorts base source code via rsync is not optimal, since we do not have automatic fallbacks to other mirrors should our main mirror be unavailable.

Additionally, the use of rsync is (a) not transport encrypted, and (b) often requires special care for the proxy configuration, while the proxy configuration for HTTP is usually already set.

Syncing the entire source code via rsync and only then checking the current version in a file in the downloaded source tree is also rather slow, compared to directly checking the current version from some online source.

We should switch to using pure HTTP to check for the current version, and then download a tarball of the new version once it is available. Obviously, the signature checking that is currently in place will need to be kept.

Change History (4)

comment:2 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)

Thank you for suggesting this and especially for taking the time to write the code. I haven't had time to look at the code yet.

comment:3 Changed 2 years ago by jmroot (Joshua Root)

Milestone: MacPorts Future
Resolution: duplicate
Status: assignedclosed

comment:4 Changed 3 months ago by neverpanic (Clemens Lang)

In 5957e6d4fe15ece2830edf525f6fcbfff1526f0b/macports-base (master):

doc: Introduce release_version_urls and release_urls

To support updating MacPorts base via HTTP and avoiding the rsync
download (which we currently do not distribute over multiple mirrors
automatically), introduce two new multi-value configuration options
release_version_urls and release_urls, where the former is a list of URLs
to check for the current MacPorts release version, and the latter is
a list of template URLs where to download the source code for a given
MacPorts version.

See: #60608

Note: See TracTickets for help on using tickets.