blob: 348fda35736922cd3ea609fb2c65a1eace023188 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
|
# Default BuildStream project configuration.
# Variable Configuration
#
variables:
# Maximum number of parallel build processes within a given
# build, support for this is conditional on the element type
# and the build system used (any element using 'make' can
# implement this).
#
# Note: this value defaults to the number of cores available
max-jobs: 4
# 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/build
# Indicates the build installation directory in the sandbox
install-root: /buildstream/install
# Define some patterns which might be used in multiple
# elements
strip-binaries: |
find "%{install-root}" -type f \
'(' -perm -111 -o -name '*.so*' \
-o -name '*.cmxs' -o -name '*.node' ')' \
-exec sh -ec \
'read -n4 hdr <"$1" # check for elf header
if [ "$hdr" != "$(printf \\x7fELF)" ]; then
exit 0
fi
debugfile="%{install-root}%{debugdir}/$(basename "$1")"
mkdir -p "$(dirname "$debugfile")"
objcopy --only-keep-debug "$1" "$debugfile"
chmod 644 "$debugfile"
strip --remove-section=.comment --remove-section=.note --strip-unneeded "$1"
objcopy --add-gnu-debuglink "$debugfile" "$1"' - {} ';'
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, lets 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: []
# 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}/*
- |
%{sbindir}/*
- |
%{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/**
|