clarification re: Mac OS X standard directories inside a component’s hierarchy
clarification re: Mac OS X standard directories inside a component’s hierarchy
- Subject: clarification re: Mac OS X standard directories inside a component’s hierarchy
- From: justin blecher <email@hidden>
- Date: Wed, 26 Aug 2009 15:45:21 -0400
greetings everyone,
i'm new around these parts and currently wrestling with the concepts
and best practices for evaluating existing packages, repackaging
non-pkg installers, and rolling out InstaDMG-created images for < 30
macs i have the pleasure of [part-time] managing.
today my question centers around this quote:
Important: Never include Mac OS X standard directories inside a
component’s hierarchy. That is, do not reflect any standard part
of the Mac OS X file system (in any of the file system domains)
inside your component’s structure.
from: http://bit.ly/7xMuW (developer.apple.com docs)
i interpret that to mean that, at a minimum, /Applications, /Library,
and /System should never ever be included in the paths of the files
installed, which effectively means that a package install directory of
"/" is forbidden (assuming that files destined for the above folders
are being installed). do i have that correct?
if so, then a heckuva lot of packages seem to be packaged incorrectly.
(shock! horror!) apple seems to break the rules, but i guess they're
allowed to because they know their system/permissions fairly well. ;-)
assuming my interpretation is correct, below is a short list of
popular packages i examined found out in the wild intarwebs.
(apologies in advance for calling these out here by name, i'm just
trying to understand this stuff!)
some examples of [what look to be] well-targeted packages:
Adobe Flash Player.pkg
* target: /Library/Internet Plug-Ins
Remote Desktop Connection.mpkg (metapackage)
* targets: /Library/Application Support, /Applications
some examples of [what look to be] offenders:
Flip4Mac WMV.mpkg (metapackage)
* target : "/"
* should have had a bunch of component packages, each with their
own target directories:
* /Applications, /Library/Frameworks, /Library/Preference Panes,
/Library/QuickTime, /Library/Internet Plug-Ins
Shockwave_Installer_Full.pkg
* target: "/"
* should have had two components:
* DirectorShockwave.plugin (target: /Library/Internet Plug-Ins)
* Shockwave 11 folder (target: /Library/Application Support/Adobe)
- or would that be Adobe, with target of "/Library/Application Support" ?
Silverlight.pkg
* target: "/"
* should have had two components:
* Silverlight.plugin (target: /Library/Internet Plug-Ins)
* Silverlight folder (target: /Library/Application Support/Microsoft)
* or would that be Microsoft, with target of /Library/Application
Support? they have other apps that use /Library/Application
Support/Microsoft, which is not an OS X standard directory, so can we
get away with using /Library/Application Support?
here's my real questions:
* is my assumption/interpretaton -- anytime there are items that
belong in a "standard directory", a separate package must be made for
them, targeted to that standard directory -- correct?
* are my evaluations and suggestions for the fixing (hah!) the
offending packages on the right track? (not like i'm interested in
fixing them, i'm just trying to grok the concepts for my own
packages.)
* what is the definitive list of "Mac OS X standard directories", or
how can i generate it dynamically?
thanks for any/all insight,
-justin
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Installer-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden