MacPorts hosted mdmg

Craig Treleaven ctreleaven at macports.org
Sun Mar 15 07:38:10 PDT 2015


At 12:15 PM +0100 3/15/15, Marko Käning wrote:
>On 15 Mar 2015, at 00:02 , Bradley Giesbrecht <pixilla at macports.org> wrote:
>...Imagine you want to ship, say, one of these 
>KDE games. They are nice and small, but need the
>whole background of KDE4/KF5 libs for them to function - of course.
>
>Instead of shipping KDE or KF5 as a whole with 
>each and every little game, it would be very
>nice to have a means to redistributeably install 
>a meta-port like kde4-workspace (as discussed
>in the before-mentioned parallel thread) which 
>then would include everything needed for properly
>running any KDE4 application.
>
>One would then have to ship only the meta-port 
>mdmv package and the several mdmg packages for
>the whatever KDE4 application.
>
>All these would - IDEALLY - have to be built in 
>such a way that they can coexist with an
>existing MacPorts installation, I suppose. This 
>does not only mean that the PREFIX shouldn't
>be /opt/local, but merely also that the 
>application's configuration data needs to be put 
>in
>location(s) separate from the standard ones used 
>by a normal MacPorts installŠ Think about
>
>	/Library/Launch(Agents|Daemons)
>	[~]/Library/Application Support
>	~/Library/Preferences/KDE
>	~/Library/Caches
>	~/.config
>	~/.(cache|config)
>
>and possibly quite a few others.
>
>Since this is even more complicated, for a start 
>I think, one would surely like to avoid such
>a coinstallable approach. However, not having it 
>would make testing pretty hard (if not even
>close to impossible), I am afraid.

I don't think there is any realistic way to do 
'additive' installers (ie install a bunch of base 
libraries with one installer and then install one 
or more apps that use those libraries).  I think 
it would be all too common for the user to 
install the base and one app at one time and 
then, months or years later, install another app 
only to find that it is broken due to base 
upgrades in between.

Another wrinkle that occurred to me is that mdmg 
installers sometimes need to be built with 
non-default variants.  For example, my standard 
invocation for Myth is:

sudo port -f mpkg mythtv-pkg.27 
+mariadb+mariadb55+python27+perl5_16+startupitem

I _have_  to specify 
+mariadb+mariadb55+startupitem or the MythTV 
package will be non-functional.  The 
+python27+perl5_16 ensures that I don't get 
copies of other versions of perl and python--thus 
reducing the size of the installer by about 20% 
(which is still ~400 MB).

I have to use the -f flag to make the horrendous 
hack in MacPort_daemondo succeed.  I'm hoping a 
GSOC student will figure out a clean fix for the 
issue.

Craig


More information about the macports-dev mailing list