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