Skip to content
undead robot edited this page Apr 20, 2017 · 6 revisions

The nail specification

A directory spec inside the nail has a special meaning. It should hold simple text files that represent bits of metadata about the nail, here's the list of all currently recognized files:

homepage

Should contain the URL.

authors

Should list all the authors and contributers one per line in the form of Author Name <[email protected]>

version

Should contain the nail version. The format is currently not enforced, but please consider the following:

codename

May contain the additional codename for the nail version.

description

Should contain the description of the nail. The first line should contain the short description, while the whole file is treated as the full description.

files

Should list all the files in the nail one per line, except these spec files.

executables

Should list executable files inside the bin/ directory one per line. These files will be symlinked into your PATH upon the nail installation.

tests

Should list all the runnable test files inside the test/ directory one per line. These files will be executed with make test command.

bash_version

(Reserved for future use)

dependencies

(Reserved for future use)

__NAILS_SPECS

__NAILS_SPECS is a special global hash that holds some information about encountered nails:

  • entries like [example:version] will hold the versions of the nails
  • entries like [example:path] will hold the directory paths of the nails

__NAILS_CURRENT

__NAILS_CURRENT is a special local hash that holds some information about the current nail:

  • [:name] will hold the name
  • [:path] will hold the directory path
  • [:version] will hold the version
Clone this wiki locally