Archives and Packages (was Re: Universal and binary builds)
Jordan K. Hubbard
jkh at apple.com
Sat Mar 28 12:44:51 PDT 2009
On Mar 28, 2009, at 12:16 PM, Jeff Johnson wrote:
>
> On Mar 28, 2009, at 2:59 PM, Jordan K. Hubbard wrote:
>>>
>>
>> I don't know if "popular" would be the word I would use. Neither
>> solution has ever actually been *completed* would be a more
>> accurate statement, so the resulting popularity of said solution is
>> impossible to gauge. The MacPorts project has always had a rather
>> lackluster attitude when it comes to the challenge of packaging up
>> and delivering software to end-users, but the fact remains that
>> most end-users just want to say "I want this, that and that other
>> thing over there - make it happen please!" with the minimum amount
>> of downloading/build time. If you look at FreeBSD ports, for
>> example, where it could easily be said that a "sophisticated
>> audience" is the target (FreeBSD's historical attempt to grab Linux
>> mind/marketshare notwithstanding), most users actually install
>> software by typing "pkg_add -r gimp" and letting the package
>> management system do the rest, they don't think of "cd /usr/ports/
>> graphics/gimp; make all; make install" as the most convenient/
>> desirable way of doing it, and why should they - the latter
>> approach takes at least 10X the time to complete.
>
> Um, what is your definition of "completed"?
My definition of "completed" from the perspective of "Packages
delivered by the MacPorts project using some hardware that Apple
donated for the purpose" would be:
1. Every time a port changes or is added to the collection, some
package-creation machinery behind the scenes fires up and creates a
reasonably universal package with, at a minimum, the default variants
selected.
2. Each package is the full, bit-for-bit equivalent to "port install",
assuming all the same defaults are used, for any given port. This
includes any and all run-time actions, of course, such as creating the
role user account for some database server.
3. The end-product of item #1 is available on The Intarweb somewhere,
for easy direct downloading and access through the software in item #4.
4. We provide both a command-line "pkg_add -r equivalent" and a Cocoa
front-end which allow end-users to quickly and easily ask for a
package install/upgrade, any and all dependencies for said package
also being transparently dealt with behind the scenes.
5. [Purely Optional "Nice to have"] Also support the notion of
requests, in the toolset for item #4, for specific variants of
packages, causing said packages to be built on-demand on the "package
server" and added to the cache. A heavy-weight prospect to start
with, for sure, but one which would also taper off as all of the most
popular package/variant combos were created and added to the package
cache. That would make the whole thing look even more like "f**king
magic" to the user.. ;-)
Again, I'm only suggesting that "steps 1-4" are mandatory here. You,
as an RPM guy, might also be tempted to say "RPM has that already!"
which, of course, would be both accurate and completely wrong since
this isn't about "a package format", this is about choosing a package
format (either existing or roll-our-own) and then doing the other 90%
of the work, which is entirely on the "service provision side." The
gist of my original message could even be re-stated as: "I'm not
interested in the 10%. That's comparatively trivial. Let's talk
about the remaining 90%, because that's what's required if there's
ever any hope of delivering a ``professional service'' to end-users."
- Jordan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-dev/attachments/20090328/06c60436/attachment-0001.html>
More information about the macports-dev
mailing list