Packaging Policy: Control Files

Elysium GNU/Linux Packaging Policy
Chapter 2: Control Files

     The control file in Elysium GNU/Linux is XML-based, and has a very large feature set.

2.1 Global Fields

There are several global fields, most of which are required fields. The optional fields are URL, Source, Epoch, BuildDeps, and Patch. Name, Version, Release, and License are all required fields.
Name specifies the name to use for the source package. Version and Release are the version and release of the packages being created. These two fields only accept period-separated numeric values, and are described in more detail in Chapter 3: Version Numbering. License, the final required field is a list of Licenses that the user must agree to in order to install these packages. License is a special field, in that it can be overwritten on a package-specific level. Also, each item in the License field is translated to direct dependency of the package(s). Also, the License field is not required for a license package that is being created.
The URL field is optional and points to a location where the source may be found. It is usually an HTTP URL that points to a project's web site. The Source and Patch fields are lists of source tarballs and patch files from which to build the package(s).
BuildDeps is optional and specifies packages that should be installed before the package can be built. If these dependencies are not satisfied, no packages will be built, and the process will exit with an error.

2.2 Package Specific Fields

There are several package-specific fields to work with. The required fields are Name, Group, and Priority. License is required globally, but not may be omitted in the package-specific areas. If it does exist, it will override the global one. The optional fields are Files, Config, Depends, Suggests, Provides, Conflicts, and Replaces. If the Files field is empty, then Empulse will grab all the installed files that aren't in another package, and place them in the package with an empty Files list. Depends, Suggests, Provides, Conflicts, and Replaces are explained further in Chapter 5: Package Relationships. Config files are discussed further in Chapter 6: Configuration Files. Name is the name of the resulting package. Group is for grouping the package in the database and for installation/update applications. Priority is for use when installing removing packages, so that vital system packages are not removed by accident.

[ Back ] [ Top ] [ Next ]

Copyright © 2001-2002 Elysium GNU/Linux