Re: MacPorts hosted mdmg

2015-03-15 Thread Craig Treleaven

At 12:15 PM +0100 3/15/15, Marko Käning wrote:

On 15 Mar 2015, at 00:02 , Bradley Giesbrecht  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
___
macports-dev mailing list
macports-dev@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-dev


Re: MacPorts hosted mdmg

2015-03-15 Thread Craig Treleaven

At 4:02 PM -0700 3/14/15, Bradley Giesbrecht wrote:

On Mar 14, 2015, at 2:26 PM, Marko Käning  wrote:
...
 Installing all these dependencies is only 
acceptable for techies like us, but a normal

 user will never bother to deal with all the hassle.


I think we have an opportunity to extend what 
MacPorts does well to include relocatable 
packages or mdmg packages in a way that third 
parties can build distributable packages 
untethered from MacPorts and Xcode. Gimp, 
Kdenlive, digiKam, Octave and many KDE "things" 
would sing praises to MacPorts.


I created mythtv-pkg.27 solely to facilitate 
creating an installer package.  Currently, 
MacPorts makes it possible to do something that 
would otherwise be much more difficult.  As 
Clemens pointed out, it would be really nice if 
post-activate actions were automatically 
converted to postflight scripts.  Better handling 
of launchd stuff would also be nice.  Neither of 
these things are show-stoppers, though.  One just 
has to provide clear user instructions for the 
bits that have to be done manually.


If we wanted to use the buildbots to assist with 
such packaging, I would think that we should add 
a directive to the appropriate portfiles that 
cause them to be packaged.  Packaging individual 
libraries would be of no value.  Packaging is 
valuable for those user-facing applications where 
upstream doesn't regularly produce dmg's.


Right now, I use Parallels to maintain several OS 
X environments to test building and deploying my 
Myth package.  Putting some of that load on the 
buildbots would be darn nice.  Especially making 
installers for each major OS version.  But I 
would still want to test on a virgin system 
before inflicting it on unsuspecting users.


Craig
___
macports-dev mailing list
macports-dev@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-dev


Re: MacPorts hosted mdmg

2015-03-15 Thread Marko Käning
On 15 Mar 2015, at 12:15 , Marko Käning  wrote:
>   /Library/Launch(Agents|Daemons)
>   [~]/Library/Application Support
>   ~/Library/Preferences/KDE
>   ~/Library/Caches
>   ~/.config
>   ~/.(cache|config)

I meant to write:

/Library/Launch(Agents|Daemons)
[~]/Library/Application Support
~/Library/Preferences/KDE
~/Library/Caches
~/.(cache|config|local)

=)


signature.asc
Description: Message signed with OpenPGP using GPGMail
___
macports-dev mailing list
macports-dev@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-dev


Re: MacPorts hosted mdmg

2015-03-15 Thread Marko Käning
Brad,

On 15 Mar 2015, at 00:02 , Bradley Giesbrecht  wrote:
> I think we have an opportunity to extend what MacPorts does well to include 
> relocatable
> packages or mdmg packages in a way that third parties can build distributable 
> packages
> untethered from MacPorts and Xcode. Gimp, Kdenlive, digiKam, Octave and many 
> KDE “things"
> would sing praises to MacPorts.

I fully concur with you, but I guess that must be a major undertaking…


Yet it would be really nice to have a feature like that!

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.

Greets,
Marko


signature.asc
Description: Message signed with OpenPGP using GPGMail
___
macports-dev mailing list
macports-dev@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-dev


Re: MacPorts hosted mdmg

2015-03-14 Thread Bradley Giesbrecht

On Mar 14, 2015, at 2:26 PM, Marko Käning  wrote:

> Brad,
> 
> On 14 Mar 2015, at 22:20 , Bradley Giesbrecht  wrote:
>> The users I am attempting to serve currently get nothing because installing 
>> Xcode, CLT, MacPorts and then installing deps with non-default variants 
>> before building the target (octave in this case) is beyond their 
>> capabilities or patience.
> 
> I absolutely can see where you are coming from… :-)
> 
> Did you read the thread entitled
> 
>  "A (non)success story of digiKam on OSX/MacPorts involving kde4-workspace 
> and qtcurve”
> 
> which I wrote this afternoon? Same thing!

Yes I did. Yes, same thing.

> Installing all these dependencies is only acceptable for techies like us, but 
> a normal
> user will never bother to deal with all the hassle.

I think we have an opportunity to extend what MacPorts does well to include 
relocatable packages or mdmg packages in a way that third parties can build 
distributable packages untethered from MacPorts and Xcode. Gimp, Kdenlive, 
digiKam, Octave and many KDE "things" would sing praises to MacPorts.

Regards,
Bradley Giesbrecht (pixilla)



signature.asc
Description: Message signed with OpenPGP using GPGMail
___
macports-dev mailing list
macports-dev@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-dev


Re: MacPorts hosted mdmg

2015-03-14 Thread Marko Käning
Brad,

On 14 Mar 2015, at 22:20 , Bradley Giesbrecht  wrote:
> The users I am attempting to serve currently get nothing because installing 
> Xcode, CLT, MacPorts and then installing deps with non-default variants 
> before building the target (octave in this case) is beyond their capabilities 
> or patience.

I absolutely can see where you are coming from… :-)

Did you read the thread entitled

  "A (non)success story of digiKam on OSX/MacPorts involving kde4-workspace and 
qtcurve”

which I wrote this afternoon? Same thing!

Installing all these dependencies is only acceptable for techies like us, but a 
normal
user will never bother to deal with all the hassle.

Greets,
Marko


signature.asc
Description: Message signed with OpenPGP using GPGMail
___
macports-dev mailing list
macports-dev@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-dev


Re: MacPorts hosted mdmg

2015-03-14 Thread Bradley Giesbrecht

On Mar 14, 2015, at 12:18 PM, Rainer Müller  wrote:

> On 2015-03-14 14:44, Clemens Lang wrote:
>> - On 14 Mar, 2015, at 02:04, Bradley Giesbrecht pixi...@macports.org 
>> wrote:
>> 
>>> Has there been a discussion about having the MacPorts buildbots also build 
>>> mdmg
>>> files?
>>> 
>>> This may require a lot of resources so perhaps mdmg could be run for some
>>> percentage of requested ports using mpstats?
> 
> Not all ports will work when installed as mdmg. The main problem would
> be that post-activate scripts are not converted to postflight scripts.
> 
> There once was a dp_lite (DarwinPorts Lite) to extract a minimal runtime
> to be included in standalone installers.
> 
> As we now ship Tcl with base, we probably even had to include a Tcl
> interpreter. Our code base is also not organized to isolate a few
> commands. As post-activate scripts might run any command, I guess we
> would end up with almost everything anyway...
> 
>> What would be your use case for that? If you are looking for packages you can
>> install without installing MacPorts, I'd argue it's a bad idea to have our
>> buildbots generate those, because of the prefix conflict.
> 
> Even when using a different prefix (ignoring all user confusion), this
> would give the wrong impression of being an officially supported method
> of installation. Users do not get any upgrade path with mdmg packages.

The users I am attempting to serve currently get nothing because installing 
Xcode, CLT, MacPorts and then installing deps with non-default variants before 
building the target (octave in this case) is beyond their capabilities or 
patience.

Regards,
Bradley Giesbrecht (pixilla)



signature.asc
Description: Message signed with OpenPGP using GPGMail
___
macports-dev mailing list
macports-dev@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-dev


Re: MacPorts hosted mdmg

2015-03-14 Thread Rainer Müller
On 2015-03-14 14:44, Clemens Lang wrote:
> - On 14 Mar, 2015, at 02:04, Bradley Giesbrecht pixi...@macports.org 
> wrote:
> 
>> Has there been a discussion about having the MacPorts buildbots also build 
>> mdmg
>> files?
>>
>> This may require a lot of resources so perhaps mdmg could be run for some
>> percentage of requested ports using mpstats?

Not all ports will work when installed as mdmg. The main problem would
be that post-activate scripts are not converted to postflight scripts.

There once was a dp_lite (DarwinPorts Lite) to extract a minimal runtime
to be included in standalone installers.

As we now ship Tcl with base, we probably even had to include a Tcl
interpreter. Our code base is also not organized to isolate a few
commands. As post-activate scripts might run any command, I guess we
would end up with almost everything anyway...

> What would be your use case for that? If you are looking for packages you can
> install without installing MacPorts, I'd argue it's a bad idea to have our
> buildbots generate those, because of the prefix conflict.

Even when using a different prefix (ignoring all user confusion), this
would give the wrong impression of being an officially supported method
of installation. Users do not get any upgrade path with mdmg packages.

Rainer
___
macports-dev mailing list
macports-dev@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-dev


Re: MacPorts hosted mdmg [eom]

2015-03-14 Thread Bradley Giesbrecht
On Mar 14, 2015, at 6:44 AM, Clemens Lang  wrote:

> Hi,
> 
> - On 14 Mar, 2015, at 02:04, Bradley Giesbrecht pixi...@macports.org 
> wrote:
> 
>> Has there been a discussion about having the MacPorts buildbots also build 
>> mdmg
>> files?
>> 
>> This may require a lot of resources so perhaps mdmg could be run for some
>> percentage of requested ports using mpstats?
> 
> What would be your use case for that? If you are looking for packages you can
> install without installing MacPorts,

Yes.

> I'd argue it's a bad idea to have our
> buildbots generate those, because of the prefix conflict.

And I'd agree though there are groups of consumers (sciences) that would likely 
never install MacPorts if they could use installers.

This is not the best use of MacPorts resources. I quash my idea.


Regards,
Bradley Giesbrecht (pixilla)



signature.asc
Description: Message signed with OpenPGP using GPGMail
___
macports-dev mailing list
macports-dev@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-dev


Re: MacPorts hosted mdmg

2015-03-14 Thread Clemens Lang
Hi,

- On 14 Mar, 2015, at 02:04, Bradley Giesbrecht pixi...@macports.org wrote:

> Has there been a discussion about having the MacPorts buildbots also build 
> mdmg
> files?
> 
> This may require a lot of resources so perhaps mdmg could be run for some
> percentage of requested ports using mpstats?

What would be your use case for that? If you are looking for packages you can
install without installing MacPorts, I'd argue it's a bad idea to have our
buildbots generate those, because of the prefix conflict.

See http://guide.macports.org/#using.binaries.binary-packages and
http://trac.macports.org/wiki/ProblemHotlist#xmlwf.

-- 
Clemens Lang
___
macports-dev mailing list
macports-dev@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-dev


MacPorts hosted mdmg

2015-03-13 Thread Bradley Giesbrecht
Has there been a discussion about having the MacPorts buildbots also build mdmg 
files?

This may require a lot of resources so perhaps mdmg could be run for some 
percentage of requested ports using mpstats?

Another idea may be to add a logged in buildbot user to manually schedule an 
mdmg build, thoughts?


Regards,
Bradley Giesbrecht (pixilla)



signature.asc
Description: Message signed with OpenPGP using GPGMail
___
macports-dev mailing list
macports-dev@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-dev