Collection Format

Packages are Zip archives. They must be unpacked and installed in a directory tree in order for Boodler to read them. This is normally done by the Boodler package management tools, not by hand.

The Collection directory is arranged as follows:

A list of subdirectories, each with the name of a package. (com.eblong.zarf.weather, for example).

Each package subdirectory must contain a Versions file, listing the versions of the package that are installed. This is a simple text file, one line per version number. (Blank lines and lines beginning with # are ignored.)

The package subdirectory must then also contain further subdirectories, each named for a version number. These version subdirectories are packages; each one contains a Metadata file, etc. (See package format.)

Example layout:

* Collection
  * com.eblong.zarf.weather
    * Versions
    * 1.0
      * Metadata
      * ...
    * 1.5
      * Metadata
      * ...

The Versions file (Collection/com.eblong.zarf.weather/Versions) would look like:

# Package: a comment
1.0
1.5

The Case-Sensitivity Problem

Package names are always lower-case, so the package directory should be too. (On a mono-case file system, there will be no collisions.)

However, version numbers are case sensitive; 1.2.x and 1.2.X are different version numbers. This makes the version subdirectory a little tricky.

The solution: lower-case letters appear in the subdirectory name as-is. Upper-case letters are prefixed by a ^ character. So in this example, the subdirectories would be named 1.2.x and 1.2.^X.

(This ^ munging is not used in the Versions file. It only applies to version subdirectory names.)

Collection Format - last changed 2007-05-31 15:55 by Andrew Plotkin (zarf)