PATH Contents > Frequently Asked Questions
Frequently Asked Questions

This document tries to answer or provide a solution to the most frequently asked questions.

Installation

Why do I have to restart my Macintosh at the end of the Iceberg Installation?

The restart is necessary because Iceberg is using a daemon which is running in the bootstrap context. This avoids to have to enter an admin password every time you want to build a project. This also allows building multiple projects at the same time.

Minimum Requirements

Why do I have to install the Developer tools in order to use Iceberg?

Iceberg requires the presence of the SplitForks tool which is included with the Developer Tools.

Without this tool, Iceberg can not split the forks of Carbon applications. If a Carbon application is using resources files which contain a Resource Fork, the Resource Fork will not be installed and the installation may not properly work.

Where can I get the Developer tools?

You can get the Developer tools many ways:

Features

Can I nest packages into a package to simplify remote installation via Apple Remote Desktop?

Iceberg can manage a metapackage and all its components in the same project.

If you need to group existing packages inside a metapackage, Iceberg makes this operation very easy:

1Open Iceberg.
2Choose File > New Project… .
3Select the Core Template > Metapackage template and click Next.
4Type the name of the project in the Project Name text field and click Finish.
5Choose View > Components.
6

Drag and drop packages and metapackages that need to be grouped into the Components pane list.

Note: Packages and metapackages can also be dropped in the Packages & metapackages column.
7Choose Project > Build to build the metapackage.

Is there a command line tool?

The command line tool freeze can be used to build a project from the shell.

1Launch the Terminal application.
2Type freeze
3Drag and drop the Iceberg project from the Finder to the Terminal window.
4

Launch the build by pressing Return.

Note: If you launch the tool with no arguments, the freeze usage will be displayed.

Example:
$ freeze
usage: freeze [-v] [-d ]  file ...
$ freeze /Users/peter/Documents/PackInstall/PackInstall.packproj

Creating the files archive

How can I install files into the Library folder of the current user?

Packages are not the best solution to install files in the home directory of the current logged user.

Yet, it's possible to work around this if you wish the user does not have to choose the destination folder (him|her)self.

Note: This solution only works if the all the files are to be installed in the home folder of the current user.

1Open Iceberg.
2Choose File > New Project… .
3Select the Core Template > Package template and click Next.
4Type the name of the project in the Project Name text field and click Finish.
5Choose View > Configurations.
6Check the following options Root Volume Only, Overwrite Directory Permissions and Follow Sylbolic Links.
7Choose View > Scripts.
8

Open TextEdit and type the following text in the new document:

#!/bin/sh

ln -s $HOME /private/tmp/CurrentUser

exit 0

9Choose File > Save.
10Save the document in your Iceberg project folder under the name ScriptPreflight.txt and quit TextEdit.
11Select the line named preflight in the Installation Scripts table and click on Choose… .
12Select the ScriptPreflight.txt file and click Choose.
13Check the checkbox for the preflight row.
14Choose View > Files.
15Select the / folder.
16Choose Archive > Show Info.
17Choose Archive > New Folder.
18Set the name of the folder to private, choose wheel from the Group pop-up menu and set the permissions to drwxr-xr-x.
19Choose Archive > New Folder.
20Set the name of the folder to tmp, choose wheel from the Group pop-up menu and set the permissions to drwxrwxrwt.
21Choose Archive > New Folder.
22Set the name of the folder to CurrentUser, choose admin from the Group pop-up menu and set the permissions to drwxrwxr-x.
23Add into the CurrentUser folder, the files you want to install, imagining this is the current user home folder.

How can I add files from the /bin folder?

On Mac OS X 10.2 (Jaguar):

1Select in the Files pane the folder in which you want to add files.
2Choose Archive > Add Files… .
3Go to the /bin folder.
4Select the files you want to add and click Add.
5Select the Reference Style to use for the files.

Note: The default Reference Style can be modified in the Preferences dialog.

6Click Add.

On Mac OS X 10.3 (Panther) and later:

1Select in the Files pane the folder in which you want to add files.
2Choose Archive > Add Files… .
3Press Command + Shift + G.
4Type the absolute path name /bin in the Go to the folder text field and click Go.
5Select the files you want to add and click Add.
6Select the Reference Style to use for the files.

Note: The default Reference Style can be modified in the Preferences dialog.

7Click Add.

The Files pane is showing a bunch of folders I don't need, how can I remove them?

It's not possible to remove these folders from the file hiearchy in the Files pane.

As long as you do not add a file or folder into these folders, they won't be part of the final file archive.

Note: Starting with the 1.0.1 release of Iceber, any folder which won't be part of the final archive is displayed dimmed. If this is not what you're seeing, think about updating your version of the software..

Why are custom icons not set for the folder within my package?

This is due to a bug in the SplitForks tool in Mac OS X 10.0-10.2.x. The bug has been fixed in Mac OS X 10.3.9. Any package build with with this version shall work ok.

If you're using a Mac OS X release prior to Mac OS X 10.3.9, you can work around this bug if you are sure the Developer tools are installed on the targeted machine:

1Add a postflight script to your package using the Scripts pane.
2

In this script, call the /Developer/Tools/SetFile tool with the following arguments -a C followed by the path of the folder to fix.

Important: This assumes that the final destination of the folder is known. If the package is relocatable, the final destination might not be known.

Example:
#!/bin/sh

/Developer/Tools/SetFile -a C "/Applications/Adobe Photoshop 7"

exit 0

How can I install different versions of an application depending on the Mac OS X version?

Attention : The InstallationCheck trick is only working for packages. If you want to do the same thing with a metapackage, you need to add an InstallationCheck script to every package of the metapackage.

1Create a new metapackage project.
2Choose View > Components.
3Choose Project > New Component… .
4Type the name of the package in the Component Name text field (add a suffix related to the OS version, this will help sorting the packages).
5Select the new package in the Packages & metapackages column.
6Choose View > Scripts.
7Using a text editor, write a script which decides whether the OS version is ok. The script shall be named InstallationCheck and the returned value shall be 0 if the package can be installed, 64 otherwise.
8In Iceberg, click Add… under the Addition Resources table.
9Select the InstallationCheck and click Add.
10Choose View > Files.
11Add the application you wish to install via this package.
12Select the Components row in the Packages & metapackages column.
13

To add a different version of the application for another version of Mac OS X, add a new package and start over from step 3.

Important: Do not forget to create an InstallationCheck script for each package.

Miscellaneous problems

Why is Iceberg slowing down the boot of my Macintosh?

This problem was fixed in version 1.0.1.

Note : If you're still experiencing this problem, you may still be using the 1.0 release of Iceberg. It would be a good idea to update the software so that you can benefit from new features and bug fixes.

Download and contact information

Where can I get the latest version of Iceberg?

The latest version of Iceberg is available at the following URL: http://s.sudre.free.fr/Software/Iceberg.html.

Who can I contact to report problems, send suggestions or provide a localization?

You can contact the author of this software ath the following e-mail address: s.sudre@free.fr

Where can I find additional information on the the package and metapckage format?

A rather complete documentation is available on the Apple Developer Site: Software Distribution.


Author : Stéphane Sudre