Specification Files
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:
PKGNAMEThe name of the packagePKGSECThe section/group/"genre" of the packagePKGDESThe brief description of the package
This file may also include the following variables:
PKGDEPThe mandatory runtime requirements/dependenciesBUILDDEPThe mandatory compile-time requirements/dependenciesPKGRECOMThe optional runtime requirements/dependencies (for enhancing UX or add new features)EPOCHThe 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:
VERThe version of the package, it might be not in semantic versioning scheme.
spec file SHOULD ONLY contain ONE of the following variables:
SRCSExpected 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:
CHKSUMSExpected format:<ALGO_NAME_1>::<HASH_VALUE_1> <ALGO_NAME_2>::<HASH_VALUE_2> ...If set,acbswill check the checksum of the source files against this value not available if the source is from VCS.[2]SUBDIRIf set,acbswill change to specified directory after finishing preparing the source files. (For a list of supported hashing algorithms, seeappendix)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, seeappendix)<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,acbswill 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>
- One parameter only:
-
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.
copy-repo: Automatically copy VCS metadata to the build directory.true: Copy VCS metadata prior to the building process, replacesacbs_copy_git.false: [Default] Do not copy VCS metadata. 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