Skip to content

States of releases files

monken edited this page Oct 10, 2011 · 5 revisions

A release and each file of that release have several "state" properties which allow to filter them depending on the use case. This document explains the exact meaning of each state. Each state is a binary property (i.e. is either true or false or null).

**This is a draft and hasn't been implemented yet **

installable (better name? anyone?)

On a release entity this means that the release includes modules that are listed in the 02packages.details.txt file.

On a file entity, this means that the file includes an installable module. This property can also be found in the module subproperty of the file document.

{
"installable":true,
"path":"lib/Moose.pm",
"module":[{
  "name":"Moose",
  "installable":true,
  ...
}],
...
}

installable and latest don't have the same value in some cases. For example, if a module was removed from a more recent release, the older version of that release/file will still have the installable bit set, but lost the latest bit.

This property changes over time

developer

True if the release/file is a dev release, false otherwise. Developer releases are never installable.

latest

This is the most recently uploaded version of this release/file. We differentiate between developer and normal releases. That means that two releases of the same distribution can have the latest bit set to true, if the normal release is followed by a more recent dev release. In any other case, they is only one release with the latest bit set to true.

This property changes over time

cpan

true means, the release / file is available on cpan mirrors. False means, that it is only available from the BackPAN.

indexed (applies only to files)

Derived from the no_index property of the META file. Generally you will only search for indexed files. Non-indexed files usually contain modules and documentation from the test suite or examples.

authorized

The 06perms.txt lists module names and authors, who are allowed to upload a new version of that module. If a release/file contains a module that has been uploaded by an unauthorized author, this bit will bet set to true. False otherwise.

Meta

Clone this wiki locally