Architectural proposal
Jordan K. Hubbard
jkh at apple.com
Sun Mar 23 01:11:01 PDT 2008
On Mar 22, 2008, at 5:21 PM, Michelangelo wrote:
> MacPortsDaemon (“MaPoD”) is an additional layer above the existing
> MacPorts utilities and API that provides asynchronous access to
> MacPorts functionalities (and new ones) to upper layer clients. It’s
> based on a pluggable architecture.
Hmmm.
OK, so, I read through this description and I read through all the
scenarios, then I went back and read the message from start to finish
again, just to make sure I hadn't missed any of the subtle details,
and my conclusion was the same as the first time: An additional layer
to get what you want in the scenarios described sounds like over-
engineering.
All of the scenarios could just as easily be satisfied by another
Cocoa port front-end that does the Growl notifications and the UI and
everything else you've described. Such an application could also use
the existing port(1) infrastructure directly, no intermediate layer or
management daemon would be necessary to install / manage ports in the
manner you describe (some of your per-user scenarios aren't
particularly compelling, btw, seeing that macports pretty much assumes
a single global $prefix and starts to break once you retarget ports
piecemeal).
If you wanted this capability on the command line, then things become
a little different in design and scope, but you still don't need a
separate daemon or layer to accomplish something similar to shell job
control for multiple outstanding port operations.
Don't get me wrong, I think something which lets you manage multiple
in-flight operations and provides a good segregated status UI for
managing them all is a fine idea, I simply think that a single
application can accomplish those goals without needing to change or
substantially augment the ports infrastructure at all. Given how
limited a commodity time is, I also think that's a good thing.
- Jordan
More information about the macports-dev
mailing list