diff options
Diffstat (limited to 'src/buildstream/data')
-rw-r--r-- | src/buildstream/data/bst | 21 | ||||
-rw-r--r-- | src/buildstream/data/build-all.sh.in | 40 | ||||
-rw-r--r-- | src/buildstream/data/build-module.sh.in | 43 | ||||
-rw-r--r-- | src/buildstream/data/projectconfig.yaml | 183 | ||||
-rw-r--r-- | src/buildstream/data/userconfig.yaml | 113 |
5 files changed, 400 insertions, 0 deletions
diff --git a/src/buildstream/data/bst b/src/buildstream/data/bst new file mode 100644 index 000000000..e38720f77 --- /dev/null +++ b/src/buildstream/data/bst @@ -0,0 +1,21 @@ +# BuildStream bash completion scriptlet. +# +# On systems which use the bash-completion module for +# completion discovery with bash, this can be installed at: +# +# pkg-config --variable=completionsdir bash-completion +# +# If BuildStream is not installed system wide, you can +# simply source this script to enable completions or append +# this script to your ~/.bash_completion file. +# +_bst_completion() { + local IFS=$' +' + COMPREPLY=( $( env COMP_WORDS="${COMP_WORDS[*]}" \ + COMP_CWORD=$COMP_CWORD \ + _BST_COMPLETION=complete $1 ) ) + return 0 +} + +complete -F _bst_completion -o nospace bst; diff --git a/src/buildstream/data/build-all.sh.in b/src/buildstream/data/build-all.sh.in new file mode 100644 index 000000000..bf5c9f880 --- /dev/null +++ b/src/buildstream/data/build-all.sh.in @@ -0,0 +1,40 @@ +#!/bin/sh +# +# DO NOT EDIT THIS FILE +# +# This is a build script generated by +# [BuildStream](https://wiki.gnome.org/Projects/BuildStream/). +# +# Builds all given modules using their respective scripts. + +set -eu + +echo "Buildstream native bootstrap script" + +export PATH='/usr/bin:/usr/sbin/:/sbin:/bin:/tools/bin:/tools/sbin' +export SRCDIR='./source' + +SUCCESS=false +CURRENT_MODULE='None' + +echo 'Setting up build environment...' + +except() {{ + if [ "$SUCCESS" = true ]; then + echo "Done!" + else + echo "Error building module ${{CURRENT_MODULE}}." + fi +}} +trap "except" EXIT + +for module in {modules}; do + CURRENT_MODULE="$module" + "$SRCDIR/build-$module" + + if [ -e /sbin/ldconfig ]; then + /sbin/ldconfig || true; + fi +done + +SUCCESS=true diff --git a/src/buildstream/data/build-module.sh.in b/src/buildstream/data/build-module.sh.in new file mode 100644 index 000000000..6e9ea4552 --- /dev/null +++ b/src/buildstream/data/build-module.sh.in @@ -0,0 +1,43 @@ +#!/bin/sh +# +# DO NOT EDIT THIS FILE +# +# This is a build script generated by +# [BuildStream](https://wiki.gnome.org/Projects/BuildStream/). +# +# Builds the module {name}. + +set -e + +# Prepare the build environment +echo 'Building {name}' + +if [ -d '{build_root}' ]; then + rm -rf '{build_root}' +fi + +if [ -d '{install_root}' ]; then + rm -rf '{install_root}' +fi + +mkdir -p '{build_root}' +mkdir -p '{install_root}' + +if [ -d "$SRCDIR/{name}/" ]; then + cp -a "$SRCDIR/{name}/." '{build_root}' +fi +cd '{build_root}' + +export PREFIX='{install_root}' + +export {variables} + +# Build the module +{commands} + +rm -rf '{build_root}' + +# Install the module +echo 'Installing {name}' + +(cd '{install_root}'; find . | cpio -umdp /) diff --git a/src/buildstream/data/projectconfig.yaml b/src/buildstream/data/projectconfig.yaml new file mode 100644 index 000000000..ee4055cf5 --- /dev/null +++ b/src/buildstream/data/projectconfig.yaml @@ -0,0 +1,183 @@ +# Default BuildStream project configuration. + + +# General configuration defaults +# + +# Require format version 0 +format-version: 0 + +# Elements are found at the project root +element-path: . + +# Store source references in element files +ref-storage: inline + +# Variable Configuration +# +variables: + # Path configuration, to be used in build instructions. + prefix: "/usr" + exec_prefix: "%{prefix}" + bindir: "%{exec_prefix}/bin" + sbindir: "%{exec_prefix}/sbin" + libexecdir: "%{exec_prefix}/libexec" + datadir: "%{prefix}/share" + sysconfdir: "/etc" + sharedstatedir: "%{prefix}/com" + localstatedir: "/var" + lib: "lib" + libdir: "%{prefix}/%{lib}" + debugdir: "%{libdir}/debug" + includedir: "%{prefix}/include" + docdir: "%{datadir}/doc" + infodir: "%{datadir}/info" + mandir: "%{datadir}/man" + + # Indicates the default build directory where input is + # normally staged + build-root: /buildstream/%{project-name}/%{element-name} + + # Indicates where the build system should look for configuration files + conf-root: . + + # Indicates the build installation directory in the sandbox + install-root: /buildstream-install + + # You need to override this with the commands specific for your system + strip-binaries: "" + + # Generic implementation for reproducible python builds + fix-pyc-timestamps: | + + find "%{install-root}" -name '*.pyc' -exec \ + dd if=/dev/zero of={} bs=1 count=4 seek=4 conv=notrunc ';' + +# Base sandbox environment, can be overridden by plugins +environment: + PATH: /usr/bin:/bin:/usr/sbin:/sbin + SHELL: /bin/sh + TERM: dumb + USER: tomjon + USERNAME: tomjon + LOGNAME: tomjon + LC_ALL: C + HOME: /tmp + TZ: UTC + + # For reproducible builds we use 2011-11-11 as a constant + SOURCE_DATE_EPOCH: 1320937200 + +# List of environment variables which should not be taken into +# account when calculating a cache key for a given element. +# +environment-nocache: [] + +# Configuration for the sandbox other than environment variables +# should go in 'sandbox'. This just contains the UID and GID that +# the user in the sandbox will have. Not all sandboxes will support +# changing the values. +sandbox: + build-uid: 0 + build-gid: 0 + +# Defaults for the 'split-rules' public data found on elements +# in the 'bst' domain. +# +split-rules: + + # The runtime domain includes whatever is needed for the + # built element to run, this includes stripped executables + # and shared libraries by default. + runtime: + - | + %{bindir} + - | + %{bindir}/* + - | + %{sbindir} + - | + %{sbindir}/* + - | + %{libexecdir} + - | + %{libexecdir}/* + - | + %{libdir}/lib*.so* + + # The devel domain includes additional things which + # you may need for development. + # + # By default this includes header files, static libraries + # and other metadata such as pkgconfig files, m4 macros and + # libtool archives. + devel: + - | + %{includedir} + - | + %{includedir}/** + - | + %{libdir}/lib*.a + - | + %{libdir}/lib*.la + - | + %{libdir}/pkgconfig/*.pc + - | + %{datadir}/pkgconfig/*.pc + - | + %{datadir}/aclocal/*.m4 + + # The debug domain includes debugging information stripped + # away from libraries and executables + debug: + - | + %{debugdir} + - | + %{debugdir}/** + + # The doc domain includes documentation + doc: + - | + %{docdir} + - | + %{docdir}/** + - | + %{infodir} + - | + %{infodir}/** + - | + %{mandir} + - | + %{mandir}/** + + # The locale domain includes translations etc + locale: + - | + %{datadir}/locale + - | + %{datadir}/locale/** + - | + %{datadir}/i18n + - | + %{datadir}/i18n/** + - | + %{datadir}/zoneinfo + - | + %{datadir}/zoneinfo/** + + +# Default behavior for `bst shell` +# +shell: + + # Command to run when `bst shell` does not provide a command + # + command: [ 'sh', '-i' ] + +# Defaults for bst commands +# +defaults: + + # Set default target elements to use when none are passed on the command line. + # If none are configured in the project, default to all project elements. + targets: [] diff --git a/src/buildstream/data/userconfig.yaml b/src/buildstream/data/userconfig.yaml new file mode 100644 index 000000000..34fd300d1 --- /dev/null +++ b/src/buildstream/data/userconfig.yaml @@ -0,0 +1,113 @@ +# Default BuildStream user configuration. + +# +# Work Directories +# +# +# Note that BuildStream forces the XDG Base Directory names +# into the environment if they are not already set, and allows +# expansion of '~' and environment variables when specifying +# paths. +# + +# Location to store sources +sourcedir: ${XDG_CACHE_HOME}/buildstream/sources + +# Root location for other directories in the cache +cachedir: ${XDG_CACHE_HOME}/buildstream + +# Location to store build logs +logdir: ${XDG_CACHE_HOME}/buildstream/logs + +# Default root location for workspaces, blank for no default set. +workspacedir: . + +# +# Cache +# +cache: + # Size of the artifact cache in bytes - BuildStream will attempt to keep the + # artifact cache within this size. + # If the value is suffixed with K, M, G or T, the specified memory size is + # parsed as Kilobytes, Megabytes, Gigabytes, or Terabytes (with the base + # 1024), respectively. + # Alternatively, a percentage value may be specified, which is taken relative + # to the isize of the file system containing the cache. + quota: infinity + + # Whether to pull build trees when downloading element artifacts + pull-buildtrees: False + + # Whether to cache build trees on artifact creation: + # + # always - Always cache artifact build tree content + # auto - Only cache build trees when necessary, e.g., for failed builds + # never - Never cache artifact build tree content. This is not recommended + # for normal users as this breaks core functionality such as + # debugging failed builds and may break additional functionality + # in future versions. + # + cache-buildtrees: auto + + +# +# Scheduler +# +scheduler: + + # Maximum number of simultaneous downloading tasks. + fetchers: 10 + + # Maximum number of simultaneous build tasks. + builders: 4 + + # Maximum number of simultaneous uploading tasks. + pushers: 4 + + # Maximum number of retries for network tasks. + network-retries: 2 + + # What to do when an element fails, if not running in + # interactive mode: + # + # continue - Continue queueing jobs as much as possible + # quit - Exit after all ongoing jobs complete + # terminate - Terminate any ongoing jobs and exit + # + on-error: quit + + +# +# Logging +# +logging: + + # The abbreviated cache key length to display in the UI + key-length: 8 + + # Whether to show extra detailed messages + verbose: True + + # Maximum number of lines to print from the + # end of a failing build log + error-lines: 20 + + # Maximum number of lines to print in a detailed + # message on the console or in the master log (the full + # messages are always recorded in the individual build + # logs) + message-lines: 20 + + # Whether to enable debugging messages + debug: False + + # Format string for printing the pipeline at startup, this + # also determines the default display format for `bst show` + element-format: | + + %{state: >12} %{full-key} %{name} %{workspace-dirs} + + # Format string for all log messages. + message-format: | + + [%{elapsed}][%{key}][%{element}] %{action} %{message} |