Package Components

PackMan version 0.8 and supports a new components system for packages. These will be available in packages created with a standards-version of 0.4 and above.
Backwards compatibility with all previous packages has been maintained, but a package will need to be upgraded to take advantage of the new functionality.

The new package "Components" field will allow a user installing a package to set the exact location they would like them to be installed to as well as the RISC OS boot options. 
They will be prompted with the location specified in the package, so there are no extra steps required over previous releases if they are happy to let the package choose the install location.

To provide users with this functionality existing packages will need to be upgraded. The steps to take are:
  1. Check if you need to upgrade the package at all. If the package has to be installed to a fixed location the user has no choice there is nothing to do.
  2. Update your package version in the control file. Unless you are updating the files as well you should just need to increment the riscpkg version (it should be after the last dash)
  3. Change the Standards-Version in the control file to 0.4.0
  4. Add a new field to the control file called "Components". Add the logical path to your application to this field with the options following it brackets. The options should be either just "Movable" or "Movable LookAt". Use "Movable LookAt" only if your program needs to be available before it is seen in a filer window. e.g. An application that edits or views specific file types or a command line utility wrapped in an application.
  5. Remove any sprites or sysvars in the current package. The functionality here is deprecated. If it is essential that they are loaded/set you are recommend to set the "LookAt" flag in the components field.
  6. Upload your new version of the package.
The latest version of my PackIt application supports the components field so you will be able to use that to upgrade your binary packages.

Note: You can have multiple components in a single package, just repeat the component logical paths and options with a comma between each entry.