@@ -33,14 +33,15 @@ DISTRO = "poky-edison"
33
33
USER_CLASSES ?= "buildstats image-mklibs image-prelink"
34
34
PATCHRESOLVE = "noop"
35
35
CONF_VERSION = "1"
36
- EDISONREPO_TOP_DIR = "$my_dir "
36
+ EDISONREPO_TOP_DIR = "$top_repo_dir "
37
37
DL_DIR ?= "$my_dl_dir "
38
38
SSTATE_DIR ?= "$my_sstate_dir "
39
39
BUILDNAME = "$my_build_name "
40
40
LICENSE_FLAGS_WHITELIST += "commercial"
41
41
COPY_LIC_MANIFEST = "1"
42
42
COPY_LIC_DIRS = "1"
43
- FILESYSTEM_PERMS_TABLES = "$my_dir /device-software/meta-edison-distro/files/fs-perms.txt"
43
+ FILESYSTEM_PERMS_TABLES = "$top_repo_dir /device-software/meta-edison-distro/files/fs-perms.txt"
44
+ $extra_package_type
44
45
$extra_archiving
45
46
$extra_conf
46
47
EOF
@@ -69,11 +70,11 @@ BBLAYERS ?= " \\
69
70
$poky_dir /meta \\
70
71
$poky_dir /meta-yocto \\
71
72
$poky_dir /meta-yocto-bsp \\
72
- $my_dir /device-software/meta-edison \\
73
- $my_dir /device-software/meta-edison-distro \\
74
- $my_dir /device-software/meta-edison-middleware \\
75
- $my_dir /device-software/meta-edison-arduino \\
76
- $my_dir /device-software/meta-edison-devtools \\
73
+ $top_repo_dir /device-software/meta-edison \\
74
+ $top_repo_dir /device-software/meta-edison-distro \\
75
+ $top_repo_dir /device-software/meta-edison-middleware \\
76
+ $top_repo_dir /device-software/meta-edison-arduino \\
77
+ $top_repo_dir /device-software/meta-edison-devtools \\
77
78
$extra_layers
78
79
"
79
80
BBLAYERS_NON_REMOVABLE ?= " \\
@@ -116,7 +117,8 @@ function usage()
116
117
}
117
118
118
119
main () {
119
- my_dir=$( dirname $( dirname $( readlink -f $0 ) ) )
120
+ top_repo_dir=$( dirname $( dirname $( readlink -f $0 ) ) )
121
+ my_build_dir=$top_repo_dir
120
122
my_dl_dir=" \$ {TOPDIR}/downloads"
121
123
my_sstate_dir=" \$ {TOPDIR}/sstate-cache"
122
124
my_bb_number_thread=4
@@ -135,7 +137,7 @@ main() {
135
137
my_sdk_host=" $plat$arch "
136
138
137
139
my_mode=" external"
138
- if [ -d " $my_dir /linux-kernel" ]; then
140
+ if [ -d " $top_repo_dir /linux-kernel" ]; then
139
141
my_mode=" devenv"
140
142
fi
141
143
@@ -173,6 +175,9 @@ COPYLEFT_LICENSE_INCLUDE = 'GPL* LGPL*'
173
175
--build_name)
174
176
my_build_name=$VALUE
175
177
;;
178
+ --build_dir)
179
+ my_build_dir=$VALUE
180
+ ;;
176
181
-l | --list_sdk_hosts)
177
182
echo $all_sdk_hosts
178
183
exit
@@ -195,7 +200,7 @@ COPYLEFT_LICENSE_INCLUDE = 'GPL* LGPL*'
195
200
echo " We are building in devenv mode, i.e. with dependency on teamforge internal servers"
196
201
echo " and yocto recipes assuming local sources for some package."
197
202
echo " You can change this by passing the --mode=external option to this script."
198
- do_append_layer
203
+ do_append_layer $top_repo_dir /device-software/meta-edison-devenv
199
204
else
200
205
if [ " $my_mode " = " external" ]
201
206
then
@@ -228,38 +233,39 @@ COPYLEFT_LICENSE_INCLUDE = 'GPL* LGPL*'
228
233
;;
229
234
esac
230
235
231
- poky_dir=$my_dir /poky
236
+ poky_dir=$my_build_dir /poky
232
237
233
238
# Re-create the poky dir from archive
234
- echo " Extracting upstream Yocto tools in the poky/ directory from archive"
239
+ echo " Extracting upstream Yocto tools in the $poky_dir directory from archive"
235
240
rm -rf $poky_dir
236
- tar -xjf $my_dir /device-software/utils/poky-daisy-11.0.0 .tar.bz2
237
- mv poky-daisy-11.0.0 $poky_dir
241
+ tar -xjf $top_repo_dir /device-software/utils/poky-daisy-11.0.1 .tar.bz2
242
+ mv poky-daisy-11.0.1 $poky_dir
238
243
239
244
# Apply patch on top of it allowing to perform build in external source directory
240
245
# echo "Applying patch on it"
241
246
cd $poky_dir
242
- git apply --whitespace=nowarn $my_dir /device-software/utils/fix-gcc49-binutils.patch
243
- git apply $my_dir /device-software/utils/0001-kernel-kernel-yocto-fix-external-src-builds-when-S-B-poky-dora.patch
244
- git apply $my_dir /device-software/utils/gcc-Clean-up-configure_prepend-and-fix-for-mingw.patch
245
- git apply $my_dir /device-software/utils/sdk-populate-clean-broken-links.patch
246
- git apply $my_dir /device-software/utils/fix-sshd-varloglastlog-warning.patch
247
- git apply --whitespace=nowarn $my_dir /device-software/utils/0001-bash-fix-CVE-2014-6271.patch
248
- git apply --whitespace=nowarn $my_dir /device-software/utils/0002-bash-Fix-CVE-2014-7169.patch
247
+ git apply $top_repo_dir /device-software/utils/0001-kernel-kernel-yocto-fix-external-src-builds-when-S-B-poky-dora.patch
248
+ git apply $top_repo_dir /device-software/utils/sdk-populate-clean-broken-links.patch
249
+ git apply --whitespace=nowarn $top_repo_dir /device-software/utils/0001-bash-fix-CVE-2014-6271.patch
250
+ git apply --whitespace=nowarn $top_repo_dir /device-software/utils/0002-bash-Fix-CVE-2014-7169.patch
251
+ git apply $top_repo_dir /device-software/utils/0001-libarchive-avoid-dependency-on-e2fsprogs.patch
252
+ git apply --whitespace=nowarn $top_repo_dir /device-software/utils/0001-busybox-handle-syslog-related-files-properly.patch
253
+ git apply $top_repo_dir /device-software/utils/0001-openssh-avoid-screen-sessions-being-killed-on-discon.patch
254
+ git apply $top_repo_dir /device-software/utils/handle_bash_func.patch
249
255
250
256
mingw_dir=$poky_dir /meta-mingw
251
257
echo " Unpacking Mingw layer to poky/meta-mingw/ directory from archive"
252
258
mkdir -p $mingw_dir
253
- ( cd $mingw_dir && tar -xjf $my_dir /device-software/utils/mingw-daisy.tar.bz2)
259
+ ( cd $mingw_dir && tar -xjf $top_repo_dir /device-software/utils/mingw-daisy.tar.bz2)
254
260
255
261
darwin_dir=$poky_dir /meta-darwin
256
262
echo " Unpacking Darwin layer to poky/meta-darwin/ directory from archive"
257
263
mkdir -p $darwin_dir
258
- ( cd $darwin_dir && tar -xjf $my_dir /device-software/utils/darwin-daisy.tar.bz2)
264
+ ( cd $darwin_dir && tar -xjf $top_repo_dir /device-software/utils/darwin-daisy.tar.bz2)
259
265
260
266
if [[ $my_sdk_host == win* ]]
261
267
then
262
- do_append_layer $my_dir /device-software/meta-mingw
268
+ do_append_layer $top_repo_dir /device-software/meta-mingw
263
269
do_append_layer $mingw_dir
264
270
fi
265
271
@@ -269,9 +275,9 @@ COPYLEFT_LICENSE_INCLUDE = 'GPL* LGPL*'
269
275
fi
270
276
271
277
echo " Initializing yocto build environment"
272
- source oe-init-build-env $my_dir /build > /dev/null
278
+ source oe-init-build-env $my_build_dir /build > /dev/null
273
279
274
- yocto_conf_dir=$my_dir /build/conf
280
+ yocto_conf_dir=$my_build_dir /build/conf
275
281
276
282
echo " Setting up yocto configuration file (in build/conf/local.conf)"
277
283
do_bblayers_conf
@@ -280,6 +286,7 @@ COPYLEFT_LICENSE_INCLUDE = 'GPL* LGPL*'
280
286
echo " ** Success **"
281
287
echo " SDK will be generated for $my_sdk_host host"
282
288
echo " Now run these two commands to setup and build the flashable image:"
289
+ echo " cd $my_build_dir "
283
290
echo " source poky/oe-init-build-env"
284
291
echo " bitbake edison-image"
285
292
echo " *************"
0 commit comments