aegis5
Meta-data file format
Overview
The files used by the aegis program all have the same format. Some of the files used by aegis are created and maintained by humans, and some are created an maintained by aegis itself. The various manual entries say which is which.
Lexical considerations
Names are any C identifier. Comments are C-style comments (or C++ or shell). Numbers are decimal, octal or hexadecimal, as for C constants. Whitespace (spaces, tabs and newlines) are ignored except in strings or as they serve to separate tokens.
Strings are C-style strings, and similar to C, sequential string constants are silently catenated together.
In addition, there is a style of @string@ which use at-signs (@) for quoting. Unlike the C style of string, newlines are allowed within these strings. To get an at-sign in such a string, double the at-sign. There is no other escape mechanism available.
Grammar
The format of all aegis files is described by a yacc (1) grammar.
%%file: field_list;
A file contains a field list.
field_list: /* empty */| field_list field;
A field list is zero or more fields.
field: NAME '=' value ';';
A field is set by giving a name and a value.
value: NAME| INTEGER| STRING| structure| list;
A value may be a member of an enumeration (NAME), or an integer constant, or a literal string. More complex values may be constructed from these simple values.
structure: '{' field_list '}';
A structure is a grouped list of fields.
list: '[' list_body ']';list_body: /* empty */| value_list| value_list ',';value_list: value| value_list ',' value
A list is a sequential list of values separated by commas. It may be empty, or it may have a trailing comma.
Semantics
The types of the values must match those in the definition of the file. See the relevant man pages for more information.
Files which are rewritten by aegis will lose any comments placed in them. When time fields are emitted by aegis they are usually followed by a human readable date in a comment.
Releases
9 releases since Debian 2.1 (Slink); the text changed 6 times.