port install v port mpkg | mdmg

Ryan Schmidt ryandesign at macports.org
Mon Aug 22 08:21:13 PDT 2016

On Aug 12, 2016, at 5:30 AM, Rainer Müller wrote:
>> My mythtv-pkg.27 is intended to be used to create an all-in-one
>> installer package for MythTV.  I have a VM with a custom prefix for
>> this.  The resulting mpkg needs daemondo, so I created the nasty hack
>> in MacPorts_daemondo.  However, mythtv-pkg.27 could be a nice
>> shortcut for a MacPorts user that wants to install a complete MythTV
>> system in one go.  In such case, they don’t need MacPorts_daemondo.
> One solution for this could be in base to automatically include daemondo
> in the mpkg when it is used by the port being packaged.

That would be acceptable.

> See portmpkg::make_dependency_list in src/package1.0/portmpkg.tcl [1]
> where the list of dependencies is generated. If the port to be packaged
> has a startupitem, additionally include MacPorts_daemondo in the result
> list.
> Of course MacPorts_daemondo itself would still be a hack and require
> force activation...

No, I would not have MacPorts add a dependency on the port MacPorts_daemondo. The MacPorts_daemondo port should not exist. If a user installs it, they will get a message that it cannot be activated, except by being forced. If the user forces the activation, it will replace a part of MacPorts base. If they uninstall the port, that part of MacPorts base will be removed. We do not want to give users the opportunity to get themselves into this situation.

Craig, until base is fixed to automatically include daemondo in pkgs when needed, can't you just add a post-pkg block that copies daemondo from the location where it was installed by MacPorts base, without needing a separate MacPorts_daemondo port?

More information about the macports-dev mailing list