Paths where packages are installed

This Window shows the paths where packages are installed by PackMan.

Each entry shows the Logical name of the path used in the package along with the location on disc it is mapped to.

The Show Definitions option button toggles the display between showing the path used and the definition of the path in the Paths file.

The Open button will open a filer window for the currently selected path. If the path contains the special "@" character it is not possible to open the path in this way so a message will be shown instead.

Changing the paths

The installation paths cannot be currently changes through the PackMan user interface so you have to use the following instructions if you wish to change them. This is not recommended for anything but the Apps and Manuals paths.

The file Choices:PackMan.Paths contains a list of mappings from logical to physical pathnames. Logical pathnames are those used within the package file. For example, System.310.Modules.CLib refers to a location within the active !System folder without making any assumption as to the physical location of that folder.

Each line of the paths file consists of a logical pathname, followed by an equals-sign, followed by a physical pathname. These components must be separated by whitespace. For example:

RiscPkg = <Packages$Dir>.Info.@
Apps = <Boot$Dir>.^.Apps
System = <System$Dir>
SysVars = <Packages$Dir>.SysVars

Comments are introduced by a hash character. Blank lines are ignored. Each logical and physical pathname acts as the root of a sub-tree and applies to any file within that sub-tree. If two or more logical pathnames match then the longest one is used. An at-sign is converted into the name of the package to which the file belongs, so the file RiscPkg.Control from the package Foo would become <Packages$Dir>.Info.Foo.Control.

In principle you are free to choose any mappings you wish and the package manager will act accordingly. In practice, the scope for doing so is fairly limited if you want installed packages to work afterwards. The best way to ensure correct behaviour is to refer to locations indirectly using system variables. For example, the mapping given above for System will work even if the system folder moves.

One path that is freely changable is Apps. This is where applications are installed, and there is no requirement for them to be placed in any particular location. However the location you choose should not be used for any other purpose: if you want to mix applications and user data in the same directory then create symbolic links to the applications.

If you supply a Paths file then it takes precedence over the default but does not necessarily replace it. Any paths that you do not specify will continue to use the default mapping.

Be aware that if you change the Paths file while there are packages installed, you must make corresponding changes to the physical filesystem (otherwise PackMan will not be able to perform upgrades correctly).

Warning: !PackMan and !RiscPkg have their own choices folder with their own copies of the Paths file. If you are using both programs on your system and change the paths you should ensure that Choices:PackMan.Paths and Choices:RiscPkg.Paths paths are the same.