[MacPorts] #56055: Support creating MacPorts pkg/dmg by using 'pkg' and 'dmg' targets in the base builds system

MacPorts noreply at macports.org
Sat Dec 28 15:47:12 UTC 2024


#56055: Support creating MacPorts pkg/dmg by using 'pkg' and 'dmg' targets in the
base builds system
--------------------------+-----------------------------
  Reporter:  neverpanic   |      Owner:  ryandesign
      Type:  enhancement  |     Status:  accepted
  Priority:  Normal       |  Milestone:  MacPorts Future
 Component:  base         |    Version:
Resolution:               |   Keywords:
      Port:               |
--------------------------+-----------------------------

Comment (by ryandesign):

 My work in progress on this is very old by now but here are some of the
 goals I was working towards:

 * Use subpackages extensively.
   * Move `selfupdate` to a subpackage so that it can be disabled when
 installing MacPorts in CI (#57698).
   * Add subpackages to let the user choose their preferred mirror server
 (#49496).
   * Add a subpackage to let the user opt in to installing the mpstats
 port.
   * Gather the MacPorts pkgs produced on each OS version onto one machine,
 unpack them all, find their commonalities, and move those into a common
 pkg and their differences into OS-version-specific pkgs. Add all these
 pkgs into a single universal MacPorts pkg that auto-selects the right OS-
 version-specfic pkg. This way we can offer a single pkg that works on all
 OS versions (which is simpler for the user) while not needing to be very
 much larger than our old single-OS installers. In fact I had settled on
 two installers: one for 10.7 and later (new flat pkg format, for x86_64)
 and one for 10.6 and older (old bundle pkg format on a dmg, for ppc, i386,
 and x86_64).
 * Write a custom installer pane to better show the progress of the post-
 install script.
   * Have the installer run the post-install script in the background so
 the install step completes before the script does.
   * Have the script write progress information to a logfile. This is
 probably the most complicated part, since there are many optional steps in
 the script and each part takes a different amount of time.
   * In a subsequent custom installer pane, monitor the log file and use it
 to show our own progress bar.

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


More information about the macports-tickets mailing list