Opened 16 months ago
Closed 4 months ago
#70606 closed enhancement (fixed)
Automatically publish base source releases to distfiles server
| Reported by: | jmroot (Joshua Root) | Owned by: | admin@… |
|---|---|---|---|
| Priority: | Normal | Milestone: | |
| Component: | server/hosting | Version: | |
| Keywords: | Cc: | ||
| Port: |
Description
Similar to #70365, downloading the source tarball for selfupdate from GitHub is not always possible. Older systems currently have to use the rsync fallback, so we'll need to ensure that new releases become available via plain HTTP in a timely fashion before we can remove that fallback.
Change History (5)
comment:1 follow-up: 2 Changed 16 months ago by ryandesign (Ryan Carsten Schmidt)
comment:2 Changed 16 months ago by jmroot (Joshua Root)
Replying to ryandesign:
Yes I agree with mirroring these files automatically but I would like to mirror all of the release assets not just the source tarball.
That's fine of course. :)
comment:3 Changed 15 months ago by ryandesign (Ryan Carsten Schmidt)
I've put the 2.10.0 and 2.10.1 files on the distfiles server manually for now.
comment:4 Changed 13 months ago by ryandesign (Ryan Carsten Schmidt)
The 2.10.2 files went up last month. The 2.10.3 and 2.10.4 files went up today.
To document the process I currently do manually:
In a web browser, visit https://github.com/macports/macports-base/releases. Click "Show All Assets". For each asset (except the two "Source Code" links at the bottom which are automatically generated by GitHub), click the asset to download it.
Find the date and time of the release. For example, to the left of the 2.10.4 release it currently says "yesterday". Mousing over "yesterday" reveals the actual release date in my local time, Oct 31, 2024, 6:41 PM CDT.
In the Terminal, go to the Downloads folder:
cd ~/Downloads
Delete the com.apple.quarantine and other extended attributes the browser added:
xattr -c MacPorts-*
The modification time of the files will have been set to the download time. Change it to the time the release was created:
touch -t 202410311841 MacPorts-*
Copy the files to the server:
scp -Cpr MacPorts-* xxx@build:/tmp
ssh to the server:
ssh xxx@build
Go to the /tmp directory:
cd /tmp
Change the ownership of the files to the buildbot user:
sudo chown buildbot:buildbot MacPorts-*
Move the files to the right directory:
sudo mv -v MacPorts-* /Volumes/RAID/opt/local/var/rsync/macports/distfiles/MacPorts/
comment:5 Changed 4 months ago by jmroot (Joshua Root)
| Resolution: | → fixed |
|---|---|
| Status: | new → closed |
This is implemented and seems to be working: https://github.com/macports/macports-base/blob/master/.github/workflows/mirror.yml
I'll close the ticket, though the results won't be visible until we switch the rsync origin over to the new server.

Yes I agree with mirroring these files automatically but I would like to mirror all of the release assets not just the source tarball.
For alpha/beta/rc releases the files should go in the testing folder.