Re: PackageMaker command line/meta pkg/Panther
Re: PackageMaker command line/meta pkg/Panther
- Subject: Re: PackageMaker command line/meta pkg/Panther
- From: Stéphane Sudre <email@hidden>
- Date: Tue, 9 Nov 2004 21:26:23 +0100
On lundi, novembre 8, 2004, at 11:27 PM, John Rosasco wrote:
mkdir $HOME/build/
cp -R Meta/*.pkg $HOME/build/
mkdir $HOME/build/MyMetapackage.mpkg
mkdir $HOME/build/MyMetapackage/Contents
cp Info.plist $HOME/build/MyMetapackage/Contents/
##echo pmkrpkg1 > $HOME/build/MyMetapackage/Contents/PkgInfo ## As
this puts a 0, you need to copy a file instead
cp -R resources $HOME/build/MyMetapackage/Contents/Resources
cp Description.plist $HOME/build/MyMetapackage/Contents/Resources/
How is it that this can hide the packages ? Right now, given my
Info.plist file as
described above, it doesn't appear possible that these steps could
produce
a meta-package that would work with my Info.plist file or hide the
packages.
This is because it was just to give an idea ;)
To go into details, a metapackage once built looks like this:
MyMetapackage.mpkg -+- Contents -+- PkgInfo
|
+- Info.plist
|
+- Resources -+- Description.plist
|
+- [MyMetapackage.info]
|
+- [MyMetapackage.list]
|
+ ...
Items in [] are optional and used for Mac OS X < 10.1 compatibility
... represents .lproj folders, scripts, and additional resources
(background picture), etc...
So if you already have the Info.plist and the Description.plist file
and you don't care about 10.1 compatibility (which you wouldn't get
anyway using PackageMaker from the UI last time I checked), what you
just have to do is build the file hierarchy yourself.
Since you want to put the Packages in a .containedPkgs folder, your
hierarchy would look like this ("build" is a temporary folder I think
it's wise to create):
build -+- .containedPkgs -+- Your Packages
|
+- MyMetapackage.mpkg
As I'm not a king of shell scripts (but I think it can be done just via
a shell script):
1) Create the build folder
2) Create the .containedPkgs within the build folder
3) Copy your Packages in the .containedPkgs folder
4) Create the MyMetapackage.mpkg folder
5) Create the Contents folder within the MyMetapackage.mpkg folder
6) Copy a PkgInfo file from a Metapackage you built manually in the
Contents folder
7) Copy the Info.plist in the Contents folder
8) Copy the Resources folder in the Contents folder
9) Copy the Description.plist file in the Resources folder
Now, if you want the solution involving a 3rd party tool:
1) Download Iceberg on VersionTracker
2) Create a new Metapackage project
3) Add your documents, settings and all (if you have a .pmsm file, you
can import it to avoid steps 2 and 3).
4) Drag and Drop your built packages in the Components section
5) Save
6) Call from the command line: freeze
/the_path/to/your/Iceberg/Project.packproj
But I still think the shell solution is easier in your case if you
don't care about 10.1 compatibility.
Hope it helps.
--
Stephane
_______________________________________________
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