Opened 5 months ago
Closed 4 months ago
#70291 closed enhancement (worksforme)
Add portimage_mode to macports.conf on APFS builders
Reported by: | jmroot (Joshua Root) | Owned by: | admin@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | buildbot/mpbb | Version: | |
Keywords: | Cc: | ||
Port: |
Description
This will enable the performance improvements of #69555 for ports that are activated more than once. We could either use portimage_mode directory
and build the archive from the image directory during the gather_archives step, or use portimage_mode directory_and_archive
and delete the archive after uploading. The latter may have the drawback of keeping around unnecessary archives for ports that have already had their archive deployed and are installed later as a dependency, unless we add code to delete the archives in that situation.
Change History (2)
comment:1 Changed 4 months ago by ryandesign (Ryan Carsten Schmidt)
comment:2 Changed 4 months ago by jmroot (Joshua Root)
Resolution: | → worksforme |
---|---|
Status: | new → closed |
The default in MacPorts 2.10 will be to store port images as directories when they are stored on an APFS filesystem. This will probably cause inactive ports to use a little more space, since the files are only individually compressed with HFS compression rather than being packed into a tar file and bzipped. But because clonefile() is used when activating them, activating will use almost no extra space, will be far faster, and will cause far less SSD wear. Existing archives are only extracted when the associated port is activated, so there won't be a sudden increase in disk usage.
I added code to mpbb to create an archive in the gather-archives step if there isn't one in the port image location, so the default setting should actually be fine. We can revisit this if there turn out to be unforeseen issues.
If you want me to make a change on the build machines, please tell me exactly what you want changed. I don't know what this is about or what the implications of the change are. One of the main concerns on the build machines is available disk space, so if your proposal frees up disk space that would be good, and if it takes up more disk space then that will cause more ports to fail to build due to lack of disk space. The x86_64 macOS 13 and 14 build machines have ample free space so one of them could be used for an initial test.