Source Package Format 2.0
Chapter 1 - About this Manual
A source package consists of software source code, a build system, and package metadata. From it is built one or more binary packages, which can be installed into an operating system.
1.2 Changes Since Version 1.0
Following is a summary of differences between versions 1.0 and 2.0 of this source package format:
- The platform configuration file list is now split between two files.
platconf lists build-time configuration files, and
<binpkg>.pkg/platconf lists run-time configuration files.
- As a result, the platform configuration file lists now have a simpler syntax that does not include the type of configuration file.
- It is now easy to determine whether individual binary packages are platform-specific.
- The source package hierarchy has been clarified to to indicate whether each file is required.
- Additionally, certain files are now only required by a certain step in the build process, allowing them to be dynamically generated.
- Packages without any sources (such as pure metapackages) are now explicitly allowed.
- Maintainer scripts are now explained.
- The set of required
build makefile targets has been changed.
- The amount of redundant information in source packages is reduced by not requiring the
build file to list all binary packages.
- The user can choose to build all binary packages, only architecture-independent binary packages, or only architecture-independent binary packages. See § 1.3 for rationale behind this design.
- The source package version is no longer included in
- It is already given in the most recent entry in
- The version identifier syntax now encodes information about source archive repacks and non-trunk distribution uploads.
- The syntax has been made strict to make parsing simple and deterministic.
Package control fields have been removed, as the information they provided is provided elsewhere.
- Source package names are now given only in the
- Binary package names are now given only in the names of
- Platform names are no longer specified in the
- They are now specified in a new
- Wildcard binary architecture strings are now supported.
- Binary package
install files are no longer required, as not all packages provide data files.
This specification applies both to source packages and to the package building tools that interact with them.
source package directory
package building work area, work area
package building tool