Specification Files¶
defines¶
Defines files are expected to exist in :/autobuild/
. defines
files are usually
processed by autobuild
script, however acbs
also use this file to determine
the building order of a given set of packages.
defines
file MUST contain the following variables:
PKGNAME
The name of the packagePKGSEC
The section/group/”genre” of the packagePKGDES
The brief description of the package
This file may also include the following variables:
PKGDEP
The mandatory runtime requirements/dependenciesBUILDDEP
The mandatory compile-time requirements/dependenciesPKGRECOM
The optional runtime requirements/dependencies (for enhancing UX or add new features)EPOCH
The epoch version number of the package
This file might also include autobuild
specific controlling values.
Consult Autobuild3 for more information.
spec¶
Specification (spec) files are expected to exist in :/
(root of the top project folder).
defines
files are solely processed by acbs
to fetch source files and control
acbs
how to transfer controls to autobuild
.
spec
file MUST contain the following variables:
VER
The version of the package, it might be not in semantic versioning scheme.
spec
file SHOULD ONLY contain ONE of the following variables:
SRCS
Expected format:<VCS_NAME_1>::<OPTIONS_1>::<URI_1> <VCS_NAME_2>::<URI_2> ...
See footnote 1 for details about particular behavior.DUMMYSRC
(Bool) If set to 1, indicates this package does not require source files or source files processing cannot be handled well by current version ofacbs
.
spec
file may also contain the following variables:
CHKSUMS
Expected format:<ALGO_NAME_1>::<HASH_VALUE_1> <ALGO_NAME_2>::<HASH_VALUE_2> ...
If set,acbs
will check the checksum of the source files against this value not available if the source is from VCS. 2SUBDIR
If set,acbs
will change to specified directory after finishing preparing the source files. (For a list of supported hashing algorithms, see Appendix)SRCTBL
(String) [Deprecated] If set, indicates this package requires “zipped” or archived source files.<VCS_NAME>SRC
[Deprecated] If set, indicates required source files for this package are in a version controlled repository. (For a list of supported VCS systems, see Appendix)<VCS_NAME>BRCH
[Deprecated] If set, indicates required branch of the repository for the package.<VCS_NAME>COMMIT
[Deprecated] If set, indicates required commit/revision of the repository for the package.CHKSUM
[Deprecated] Expected format:<ALGO_NAME>::<HASH_VALUE>
If set,acbs
will check the checksum of the source file against this value can be omitted if the source is from VCS.
Details about the SRCS
format:
- Each source specification in the array accepts one, two or three parameters:
One parameter only:
<URL>
Two parameters:
<VCS_NAME>::<URL>
Three parameters:
<VCS_NAME>::<OPTIONS>::<URL>
- Currently supported options:
branch
: Name of the branchcommit
: Commit hashrename
: Rename the source file (including extension name if any)submodule
: Automatically fetch submodules in the repository.true
: Fetch submodules but not recursively (submodules in the submodules are not fetched).false
: Do not fetch submodules.recursive
: [Default] Fetch submodules recursively.
repo-copy
: Automatically copy the VCS repository to the build directory.true
: Copy the VCS repository prior to the building process, replacesacbs_copy_git
.false
: [Default] Do not copy the VCS repository. However you can still useacbs_copy_git
.
To specify multiple options, you can join the options with semicolons (;
) like this:
SRCS="git::rename=lmms-git;commit=94363be::https://github.com/LMMS/lmms"
The snippet above will make acbs
rename the source directory to lmms-git
and checkout the commit 94363be
.
- 1
Example:
SRCS="git::git://github.com/AOSC-Dev/acbs git::https://github.com/AOSC-Dev/acbs"
This will make
acbs
to download two sets of source files- 2
Example:
CHKSUMS="sha1::a9c55882c935300bec93e209f1ec8a21f75638b7 sha256::4ccdbbd95d4aef058502c8ee07b1abb490f5ef4a4d6ff711440facd0b8eded33"
This will make
acbs
to check two sets of source files