summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/classes/siteconfig.bbclass36
-rw-r--r--meta/classes/siteinfo.bbclass4
2 files changed, 19 insertions, 21 deletions
diff --git a/meta/classes/siteconfig.bbclass b/meta/classes/siteconfig.bbclass
index 5311653bb5..2694f65de2 100644
--- a/meta/classes/siteconfig.bbclass
+++ b/meta/classes/siteconfig.bbclass
@@ -1,7 +1,16 @@
1siteconfig_do_siteconfig() { 1python siteconfig_do_siteconfig () {
2 if [ ! -d ${FILE_DIRNAME}/site_config ]; then 2 shared_state = sstate_state_fromvars(d)
3 exit 0 3 if shared_state['name'] != 'populate-sysroot':
4 fi 4 return
5 if not os.path.isdir(os.path.join(bb.data.getVar('FILE_DIRNAME', d, 1), 'site_config')):
6 bb.debug(1, "No site_config directory, skipping do_siteconfig")
7 return
8 bb.build.exec_func('do_siteconfig_gencache', d)
9 sstate_clean(shared_state, d)
10 sstate_install(shared_state, d)
11}
12
13siteconfig_do_siteconfig_gencache () {
5 mkdir ${WORKDIR}/site_config 14 mkdir ${WORKDIR}/site_config
6 gen-site-config ${FILE_DIRNAME}/site_config \ 15 gen-site-config ${FILE_DIRNAME}/site_config \
7 >${WORKDIR}/site_config/configure.ac 16 >${WORKDIR}/site_config/configure.ac
@@ -11,21 +20,10 @@ siteconfig_do_siteconfig() {
11 sed -n -e "/ac_cv_c_bigendian/p" -e "/ac_cv_sizeof_/p" \ 20 sed -n -e "/ac_cv_c_bigendian/p" -e "/ac_cv_sizeof_/p" \
12 -e "/ac_cv_type_/p" -e "/ac_cv_header_/p" -e "/ac_cv_func_/p" \ 21 -e "/ac_cv_type_/p" -e "/ac_cv_header_/p" -e "/ac_cv_func_/p" \
13 < ${PN}_cache > ${PN}_config 22 < ${PN}_cache > ${PN}_config
14 mkdir -p ${SYSROOT_DESTDIR}${STAGING_DATADIR}/${TARGET_SYS}_config_site.d 23 mkdir -p ${SYSROOT_DESTDIR}${SITECONFIG_SYSROOTCACHE}
15 cp ${PN}_config ${SYSROOT_DESTDIR}${STAGING_DATADIR}/${TARGET_SYS}_config_site.d 24 cp ${PN}_config ${SYSROOT_DESTDIR}${SITECONFIG_SYSROOTCACHE}
16} 25}
17 26
18# Ugly integration with sstate_task_postfunc for now. The normal package 27do_populate_sysroot[sstate-interceptfuncs] += "do_siteconfig "
19# sysroot components must be installed in order to generate the cache, but
20# the site cache must be generated before the staging archive is generated.
21python sstate_task_postfunc () {
22 shared_state = sstate_state_fromvars(d)
23 sstate_install(shared_state, d)
24 if shared_state['name'] == 'populate-sysroot':
25 bb.build.exec_func('do_siteconfig', d)
26 sstate_clean(shared_state, d)
27 sstate_install(shared_state, d)
28 sstate_package(shared_state, d)
29}
30 28
31EXPORT_FUNCTIONS do_siteconfig 29EXPORT_FUNCTIONS do_siteconfig do_siteconfig_gencache
diff --git a/meta/classes/siteinfo.bbclass b/meta/classes/siteinfo.bbclass
index 130fdc4cfb..df29097fb8 100644
--- a/meta/classes/siteinfo.bbclass
+++ b/meta/classes/siteinfo.bbclass
@@ -97,7 +97,7 @@ def siteinfo_get_files(d):
97 sitefiles += fname + " " 97 sitefiles += fname + " "
98 98
99 # Now check for siteconfig cache files 99 # Now check for siteconfig cache files
100 path_siteconfig = os.path.join(bb.data.getVar('STAGING_DATADIR', d, 1), bb.data.getVar('TARGET_SYS', d, 1) + "_config_site.d") 100 path_siteconfig = bb.data.getVar('SITECONFIG_SYSROOTCACHE', d, 1)
101 if os.path.isdir(path_siteconfig): 101 if os.path.isdir(path_siteconfig):
102 for i in os.listdir(path_siteconfig): 102 for i in os.listdir(path_siteconfig):
103 fname = os.path.join(path_siteconfig, i) 103 fname = os.path.join(path_siteconfig, i)
@@ -127,5 +127,5 @@ def siteinfo_get_bits(d):
127# 127#
128SITEINFO_ENDIANESS = "${@siteinfo_get_endianess(d)}" 128SITEINFO_ENDIANESS = "${@siteinfo_get_endianess(d)}"
129SITEINFO_BITS = "${@siteinfo_get_bits(d)}" 129SITEINFO_BITS = "${@siteinfo_get_bits(d)}"
130 130SITECONFIG_SYSROOTCACHE = "${STAGING_DATADIR}/${TARGET_SYS}_config_site.d"
131 131