-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathproject.conf
More file actions
187 lines (165 loc) · 3.97 KB
/
project.conf
File metadata and controls
187 lines (165 loc) · 3.97 KB
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
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
# Project name
name: endlessos
# The minimum BuildStream version
min-version: 2.0
# Where elements are stored
element-path: elements
# The uri to download built artifacts from for this project
artifacts:
- url: https://bstcache.endlessos.org
source-caches:
- url: https://gbm.gnome.org:11003
fatal-warnings:
- overlaps
(@):
- freedesktop-sdk.bst:include/runtime.yml
- include/aliases.yml
- include/eos_sb_signer.yml
- include/mirrors.yml
- include/shell.yml
# Options to specify for the project, these provide
# command line switches which control the behavior of
# conditional directives in the element.bst files.
#
options:
arch:
type: arch
description: Machine architecture
variable: arch
values:
- x86_64
toolbox:
type: bool
default: false
description: mount host resources similar to toolbox
x86_64_v3:
type: bool
description: Enable x86_64-v3 (EXPERIMENTAL)
default: false
signed_boot:
type: enum
description: Boot signing method
values:
- endless
- snakeoil
default: snakeoil
payg:
type: bool
description: Enable PAYG features
default: false
enable_eosdev:
type: bool
description: Create OSTree eosdev branch commit
default: false
# Some overrides to the default sandbox execution environment
#
environment:
LC_ALL: en_US.UTF-8
sandbox:
build-arch: '%{arch}'
# Some overrides to element configuration based on type
#
# Here we can set a project wide options for various build systems,
# e.g. we can add --disable-gtk-doc to every `./configure` line.
elements:
autotools:
variables:
conf-global: >-
--disable-static
--disable-Werror
--host=%{triplet}
--build=%{triplet}
--disable-dependency-tracking
remove-libtool-modules: true
remove-libtool-libraries: true
cmake:
variables:
cmake-global: >-
-DCMAKE_BUILD_TYPE=RelWithDebInfo
-DCMAKE_C_FLAGS_RELWITHDEBINFO="-DNDEBUG"
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="-DNDEBUG"
generator: Ninja
make-install: env DESTDIR="%{install-root}" cmake --install %{build-dir}
meson:
variables:
meson-global: --buildtype=plain --auto-features=enabled --wrap-mode=nodownload
filter:
config:
include-orphans: true
sources:
git_repo:
config:
ref-format: git-describe
cargo2:
config:
url: crates:crates
split-rules:
devel:
(>):
- '%{indep-libdir}/**/include'
- '%{indep-libdir}/**/include/**'
- '%{bindir}/*-config'
- '%{libdir}/cmake'
- '%{libdir}/cmake/**'
- '%{datadir}/cmake'
- '%{datadir}/cmake/**'
- '%{datadir}/gir-1.0'
- '%{datadir}/gir-1.0/**'
- '%{datadir}/vala*/vapi'
- '%{datadir}/vala*/vapi/**'
- '%{datadir}/installed-tests'
- '%{datadir}/installed-tests/**'
- '%{libexecdir}/installed-tests'
- '%{libexecdir}/installed-tests/**'
doc:
(>):
- '%{datadir}/gtk-doc/html'
- '%{datadir}/gtk-doc/html/**'
source:
- '%{sourcedir}'
- '%{sourcedir}/**'
vm:
- '%{datadir}/dbus-1/**'
variables:
branch: 'master'
branch-nice-name: Nightly #Should be %{branch} if not master
runstatedir: "/run"
(?):
- arch == "x86_64":
go-arch: "amd64"
systemd-arch: "x86-64"
(@):
- include/image-version.yml
plugins:
- origin: junction
junction: plugins/buildstream-plugins.bst
elements:
- autotools
- meson
- cmake
- make
sources:
- patch
- origin: junction
junction: plugins/buildstream-plugins-community.bst
elements:
- collect_manifest
- pyproject
sources:
- gen_cargo_lock
- cargo2
- git_module
- git_repo
- patch_queue
- zip
- origin: local
path: plugins
elements:
- collect_initial_scripts
- eos_sb_signer
junctions:
# We can declare these junctions as "internal" because we only use them for build dependencies
# Therefore we know they can't collide with elements in dependant projects.
internal:
- plugins/buildstream-plugins.bst
- plugins/buildstream-plugins-community.bst