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
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.)