On Jul 29, 2010, at 4:42 PM, Ryan Schmidt wrote:
> I think it would be a Herculean effort to go through all 7200+ ports that we
> have to make sure they're relocatable. It would take years. I think I can
> speak for most of us when I say we're not going to do that. If you or someone
> wants to do that you could certainly begin the process, but I have better
> things to do with my time.
I think this is a very pertinent point. While everything in MacPorts respects
${prefix} to the best of our knowledge, there are still permutations
(${applications_dir} for example) and enough annoying "you compiled it for
there, you better leave it there" issues in both applications and frameworks
that it's just really not worth advertising the setting of ${prefix} (et al) as
being something under the user's control.
This is also not a concept that should surprise or affront most users since
it's an article of faith on the platform that unless an application is
distributed as a relocatable bundle (AKA "drag install"), you can't really
control the location that the Installer is going to use and shouldn't generally
expect to (there are exceptions, but they're exceptions). This goes double for
things like Frameworks and plug-ins, which pretend to be relocatable but can
only really be relocated to a very specific set of locations (sometimes only
one) or they won't work, so they're effectively stapled in place too.
Of course, none of this precludes an "advanced deployment mode" for MacPorts on
sites that need it, where /opt/local is just a MacFUSE process which
automatically populates the hierarchy depending on some configurable search
path, say
"${USER}/MacPorts:/Volumes/localcache/MacPorts:/Network/Library/MacPorts" in
your typical academic environment. Since FUSE passes along credentials with
every request, you can easily expand $USER for the user actually asking, so my
/opt/local does not need to look anything like Joe's /opt/local, and I can
choose to install the bits under my own home directory or just fall back to
whatever the administrator has helpfully installed for site-wide use.
Should be a simple matter of coding , Mark, and MacFUSE is even in MacPorts
already, so there ya go! When can we see your first prototype? :-)
- Jordan
_______________________________________________
macports-dev mailing list
[email protected]
http://lists.macosforge.org/mailman/listinfo.cgi/macports-dev