summaryrefslogtreecommitdiffstats
path: root/meta/classes-recipe/populate_sdk_ext.bbclass
diff options
context:
space:
mode:
Diffstat (limited to 'meta/classes-recipe/populate_sdk_ext.bbclass')
-rw-r--r--meta/classes-recipe/populate_sdk_ext.bbclass26
1 files changed, 7 insertions, 19 deletions
diff --git a/meta/classes-recipe/populate_sdk_ext.bbclass b/meta/classes-recipe/populate_sdk_ext.bbclass
index 09d5e2aeb6..20dfdf02d4 100644
--- a/meta/classes-recipe/populate_sdk_ext.bbclass
+++ b/meta/classes-recipe/populate_sdk_ext.bbclass
@@ -40,7 +40,7 @@ ESDK_LOCALCONF_REMOVE ?= "CONF_VERSION \
40 TMPDIR \ 40 TMPDIR \
41 BB_SERVER_TIMEOUT \ 41 BB_SERVER_TIMEOUT \
42 " 42 "
43ESDK_CLASS_INHERIT_DISABLE ?= "buildhistory icecc" 43ESDK_CLASS_INHERIT_DISABLE ?= "buildhistory"
44SDK_UPDATE_URL ?= "" 44SDK_UPDATE_URL ?= ""
45 45
46SDK_TARGETS ?= "${PN}" 46SDK_TARGETS ?= "${PN}"
@@ -150,10 +150,8 @@ def create_filtered_tasklist(d, sdkbasepath, tasklistfile, conf_initpath):
150 with open(sdkbasepath + '/conf/local.conf', 'a') as f: 150 with open(sdkbasepath + '/conf/local.conf', 'a') as f:
151 # Force the use of sstate from the build system 151 # Force the use of sstate from the build system
152 f.write('\nSSTATE_DIR:forcevariable = "%s"\n' % d.getVar('SSTATE_DIR')) 152 f.write('\nSSTATE_DIR:forcevariable = "%s"\n' % d.getVar('SSTATE_DIR'))
153 f.write('SSTATE_MIRRORS:forcevariable = "file://universal/(.*) file://universal-4.9/\\1 file://universal-4.9/(.*) file://universal-4.8/\\1"\n')
154 # Ensure TMPDIR is the default so that clean_esdk_builddir() can delete it 153 # Ensure TMPDIR is the default so that clean_esdk_builddir() can delete it
155 f.write('TMPDIR:forcevariable = "${TOPDIR}/tmp"\n') 154 f.write('TMPDIR:forcevariable = "${TOPDIR}/tmp"\n')
156 f.write('TCLIBCAPPEND:forcevariable = ""\n')
157 # Drop uninative if the build isn't using it (or else NATIVELSBSTRING will 155 # Drop uninative if the build isn't using it (or else NATIVELSBSTRING will
158 # be different and we won't be able to find our native sstate) 156 # be different and we won't be able to find our native sstate)
159 if not bb.data.inherits_class('uninative', d): 157 if not bb.data.inherits_class('uninative', d):
@@ -290,6 +288,8 @@ def copy_uninative(d, baseoutpath):
290 return uninative_checksum 288 return uninative_checksum
291 289
292def write_local_conf(d, baseoutpath, derivative, core_meta_subdir, uninative_checksum): 290def write_local_conf(d, baseoutpath, derivative, core_meta_subdir, uninative_checksum):
291 import shutil
292
293 #check if custome templateconf path is set 293 #check if custome templateconf path is set
294 use_custom_templateconf = d.getVar('SDK_CUSTOM_TEMPLATECONF') 294 use_custom_templateconf = d.getVar('SDK_CUSTOM_TEMPLATECONF')
295 295
@@ -340,7 +340,6 @@ def write_local_conf(d, baseoutpath, derivative, core_meta_subdir, uninative_che
340 f.write('\n') 340 f.write('\n')
341 341
342 f.write('TMPDIR = "${TOPDIR}/tmp"\n') 342 f.write('TMPDIR = "${TOPDIR}/tmp"\n')
343 f.write('TCLIBCAPPEND = ""\n')
344 f.write('DL_DIR = "${TOPDIR}/downloads"\n') 343 f.write('DL_DIR = "${TOPDIR}/downloads"\n')
345 344
346 if bb.data.inherits_class('uninative', d): 345 if bb.data.inherits_class('uninative', d):
@@ -380,9 +379,6 @@ def write_local_conf(d, baseoutpath, derivative, core_meta_subdir, uninative_che
380 f.write('# Provide a flag to indicate we are in the EXT_SDK Context\n') 379 f.write('# Provide a flag to indicate we are in the EXT_SDK Context\n')
381 f.write('WITHIN_EXT_SDK = "1"\n\n') 380 f.write('WITHIN_EXT_SDK = "1"\n\n')
382 381
383 # Map gcc-dependent uninative sstate cache for installer usage
384 f.write('SSTATE_MIRRORS += " file://universal/(.*) file://universal-4.9/\\1 file://universal-4.9/(.*) file://universal-4.8/\\1"\n\n')
385
386 if d.getVar("PRSERV_HOST"): 382 if d.getVar("PRSERV_HOST"):
387 # Override this, we now include PR data, so it should only point ot the local database 383 # Override this, we now include PR data, so it should only point ot the local database
388 f.write('PRSERV_HOST = "localhost:0"\n\n') 384 f.write('PRSERV_HOST = "localhost:0"\n\n')
@@ -413,10 +409,6 @@ def write_local_conf(d, baseoutpath, derivative, core_meta_subdir, uninative_che
413 if os.path.exists(builddir + dest_stub): 409 if os.path.exists(builddir + dest_stub):
414 shutil.copyfile(builddir + dest_stub, baseoutpath + dest_stub) 410 shutil.copyfile(builddir + dest_stub, baseoutpath + dest_stub)
415 411
416 cachedir = os.path.join(baseoutpath, 'cache')
417 bb.utils.mkdirhier(cachedir)
418 bb.parse.siggen.copy_unitaskhashes(cachedir)
419
420 # If PR Service is in use, we need to export this as well 412 # If PR Service is in use, we need to export this as well
421 bb.note('Do we have a pr database?') 413 bb.note('Do we have a pr database?')
422 if d.getVar("PRSERV_HOST"): 414 if d.getVar("PRSERV_HOST"):
@@ -495,8 +487,8 @@ def prepare_locked_cache(d, baseoutpath, derivative, conf_initpath):
495 sstate_out = baseoutpath + '/sstate-cache' 487 sstate_out = baseoutpath + '/sstate-cache'
496 bb.utils.remove(sstate_out, True) 488 bb.utils.remove(sstate_out, True)
497 489
498 # uninative.bbclass sets NATIVELSBSTRING to 'universal%s' % oe.utils.host_gcc_version(d) 490 # uninative.bbclass sets NATIVELSBSTRING to 'universal'
499 fixedlsbstring = "universal%s" % oe.utils.host_gcc_version(d) if bb.data.inherits_class('uninative', d) else "" 491 fixedlsbstring = "universal" if bb.data.inherits_class('uninative', d) else ""
500 492
501 sdk_include_toolchain = (d.getVar('SDK_INCLUDE_TOOLCHAIN') == '1') 493 sdk_include_toolchain = (d.getVar('SDK_INCLUDE_TOOLCHAIN') == '1')
502 sdk_ext_type = d.getVar('SDK_EXT_TYPE') 494 sdk_ext_type = d.getVar('SDK_EXT_TYPE')
@@ -507,10 +499,6 @@ def prepare_locked_cache(d, baseoutpath, derivative, conf_initpath):
507 else: 499 else:
508 tasklistfn = None 500 tasklistfn = None
509 501
510 cachedir = os.path.join(baseoutpath, 'cache')
511 bb.utils.mkdirhier(cachedir)
512 bb.parse.siggen.copy_unitaskhashes(cachedir)
513
514 # Add packagedata if enabled 502 # Add packagedata if enabled
515 if d.getVar('SDK_INCLUDE_PKGDATA') == '1': 503 if d.getVar('SDK_INCLUDE_PKGDATA') == '1':
516 lockedsigs_base = d.getVar('WORKDIR') + '/locked-sigs-base.inc' 504 lockedsigs_base = d.getVar('WORKDIR') + '/locked-sigs-base.inc'
@@ -732,7 +720,7 @@ sdk_ext_postinst() {
732 echo "# Save and reset OECORE_NATIVE_SYSROOT as buildtools may change it" >> $env_setup_script 720 echo "# Save and reset OECORE_NATIVE_SYSROOT as buildtools may change it" >> $env_setup_script
733 echo "SAVED=\"\$OECORE_NATIVE_SYSROOT\"" >> $env_setup_script 721 echo "SAVED=\"\$OECORE_NATIVE_SYSROOT\"" >> $env_setup_script
734 echo ". $target_sdk_dir/buildtools/environment-setup*" >> $env_setup_script 722 echo ". $target_sdk_dir/buildtools/environment-setup*" >> $env_setup_script
735 echo "OECORE_NATIVE_SYSROOT=\"\$SAVED\"" >> $env_setup_script 723 echo "export OECORE_NATIVE_SYSROOT=\"\$SAVED\"" >> $env_setup_script
736 fi 724 fi
737 725
738 # Allow bitbake environment setup to be ran as part of this sdk. 726 # Allow bitbake environment setup to be ran as part of this sdk.
@@ -776,7 +764,7 @@ fakeroot python do_populate_sdk_ext() {
776 764
777 # FIXME hopefully we can remove this restriction at some point, but the eSDK 765 # FIXME hopefully we can remove this restriction at some point, but the eSDK
778 # can only be built for the primary (default) multiconfig 766 # can only be built for the primary (default) multiconfig
779 if d.getVar('BB_CURRENT_MC') != 'default': 767 if d.getVar('BB_CURRENT_MC') != '':
780 bb.fatal('The extensible SDK can currently only be built for the default multiconfig. Currently trying to build for %s.' % d.getVar('BB_CURRENT_MC')) 768 bb.fatal('The extensible SDK can currently only be built for the default multiconfig. Currently trying to build for %s.' % d.getVar('BB_CURRENT_MC'))
781 769
782 # eSDK dependencies don't use the traditional variables and things don't work properly if they are set 770 # eSDK dependencies don't use the traditional variables and things don't work properly if they are set