załącznik a – instrukcja w pigułce

Poniżej przedstawiono instrukcje w pigułce dla programistów korzystających z releng-tool. Szczegółowe informacje można znaleźć w poradniku dla programistów.

opcje konfiguracji

Opcje, które releng-tool czyta ze skryptu konfiguracyjnego projektu:

cache_ext = <function>
default_internal = bool
extensions = ['<extension>', '<extension>']
external_packages = ['<path>', '<path>']
license_header = '<data>'
override_extract_tools = {'<extension>': '<tool-path>'}
override_revisions = {'<pkg>': '<revision>'}
override_sites = {'<pkg>': '<site>'}
packages = ['<pkg>', '<pkg>', '<pkg>']
prerequisites = ['<tool>', '<tool>', '<tool>']
quirks = ['<quirk-id>']
sysroot_prefix = '<path>' # '/usr'
url_mirror = '<mirror-url>'

zmienne środowiskowe

Poniżej przedstawiono zmienne środowiskowe (i skryptu) dostępne dla kontekstu wywołane przez releng-tool (może się różnić w zależności od kontekstu):

BUILD_DIR
CACHE_DIR
DL_DIR
HOST_DIR
IMAGES_DIR
LICENSE_DIR
NJOBS
NJOBSCONF
OUTPUT_DIR
PKG_BUILD_DIR
PKG_BUILD_OUTPUT_DIR
PKG_CACHE_DIR
PKG_CACHE_FILE
PKG_DEFDIR
PKG_INTERNAL
PKG_NAME
PKG_REVISION
PKG_SITE
PKG_VERSION
PREFIX
RELENG_CLEAN
RELENG_DEBUG
RELENG_DEVMODE
RELENG_DISTCLEAN
RELENG_LOCALSRCS
RELENG_MRPROPER
RELENG_REBUILD
RELENG_RECONFIGURE
RELENG_REINSTALL
RELENG_VERBOSE
RELENG_VERSION
ROOT_DIR
STAGING_DIR
SYMBOLS_DIR
TARGET_DIR
<PKG_NAME>_BUILD_DIR
<PKG_NAME>_BUILD_OUTPUT_DIR
<PKG_NAME>_NAME
<PKG_NAME>_REVISION
<PKG_NAME>_VERSION

opcje pakietów

Opcje konfiguracyjne analizowane przez releng-tool dla zdefiniowania pakietu:

LIBFOO_AUTOTOOLS_AUTORECONF = bool
LIBFOO_BUILD_DEFS = {'FOO': 'BAR'}
LIBFOO_BUILD_ENV = {'FOO': 'BAR'}
LIBFOO_BUILD_OPTS = {'--option': 'value'} or ['--option', 'value']
LIBFOO_BUILD_SUBDIR = '<subdir>'
LIBFOO_CONF_DEFS = {'FOO': 'BAR'}
LIBFOO_CONF_ENV = {'FOO': 'BAR'}
LIBFOO_CONF_OPTS = {'--option': 'value'} or ['--option', 'value']
LIBFOO_DEPENDENCIES = ['<pkg>', '<pkg>']
LIBFOO_DEVMODE_IGNORE_CACHE = bool
LIBFOO_DEVMODE_REVISION = '<revision>'
LIBFOO_EXTENSION = '<extension>'
LIBFOO_EXTERNAL = bool
LIBFOO_EXTOPT = {'FOO': 'BAR'}
LIBFOO_EXTRACT_TYPE = 'ext-<extraction-extension>'
LIBFOO_FIXED_JOBS = int # >= 1
LIBFOO_GIT_CONFIG = {'FOO': 'BAR'}
LIBFOO_GIT_DEPTH = int # >= 0
LIBFOO_GIT_REFSPECS = ['<refspec>'] # e.g. pull
LIBFOO_GIT_SUBMODULES = bool
LIBFOO_GIT_VERIFY_REVISION = bool
LIBFOO_INSTALL_DEFS = {'FOO': 'BAR'}
LIBFOO_INSTALL_ENV = {'FOO': 'BAR'}
LIBFOO_INSTALL_OPTS = {'--option': 'value'} or ['--option', 'value']
LIBFOO_INSTALL_TYPE = '<install-type>' # host, images, staging, staging_and_target, target
LIBFOO_INTERNAL = bool
LIBFOO_NO_EXTRACTION = bool
LIBFOO_LICENSE = '<license>'  or ['<license>', '<license>']
LIBFOO_LICENSE_FILES = '<file>' or ['<file>', '<file>']
LIBFOO_PREFIX = '<path>' # '/usr'
LIBFOO_PYTHON_INTERPRETER = '<path>'
LIBFOO_REVISION = '<revision>'
LIBFOO_SKIP_REMOTE_CONFIG = bool
LIBFOO_SKIP_REMOTE_SCRIPTS = bool
LIBFOO_SITE = '<site>'
LIBFOO_STRIP_COUNT = int # >= 0
LIBFOO_TYPE = '<type>' # autotools, cmake, python, script, ext-<extension>
LIBFOO_VCS_TYPE = '<vcs-type>' # bzr, cvs, git, hg, local, none, scp, svn, url
LIBFOO_VERSION = '<version>'

script helpers

Funkcje dostępne dla skryptów wywoływanych przez releng-tool lub importowane przez from releng import *:

debug(msg, *args)
err(msg, *args)
log(msg, *args)
note(msg, *args)
releng_copy(src, dst, quiet=False, critical=True)
releng_env(key, value=None)
releng_execute(args, cwd=None, env=None, env_update=None, quiet=False, critical=True, poll=False, capture=None)
releng_execute_rv(command, args, cwd=None, env=None, env_update=None)
releng_exists(path, *args)
releng_exit(msg=None, code=None)
releng_expand(obj, kv=None)
releng_join(path, *args)
releng_mkdir(dir_, quiet=False)
releng_move(src, dst, quiet=False, critical=True)
releng_remove(path, quiet=False)
releng_tmpdir(dir_=None)
releng_touch(file)
releng_wd(dir_)
success(msg, *args)
verbose(msg, *args)
warn(msg, *args)

quirks

Quirk options used by releng-tool:

releng.cmake.disable_parallel_option
releng.disable_prerequisites_check
releng.disable_remote_configs
releng.disable_remote_scripts
releng.git.no_depth
releng.git.no_quick_fetch