aboutsummaryrefslogtreecommitdiffstats
path: root/meta/classes/siteconfig.bbclass
diff options
context:
space:
mode:
Diffstat (limited to 'meta/classes/siteconfig.bbclass')
-rw-r--r--meta/classes/siteconfig.bbclass36
1 files changed, 17 insertions, 19 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 @@
-siteconfig_do_siteconfig() {
- if [ ! -d ${FILE_DIRNAME}/site_config ]; then
- exit 0
- fi
+python siteconfig_do_siteconfig () {
+ shared_state = sstate_state_fromvars(d)
+ if shared_state['name'] != 'populate-sysroot':
+ return
+ if not os.path.isdir(os.path.join(bb.data.getVar('FILE_DIRNAME', d, 1), 'site_config')):
+ bb.debug(1, "No site_config directory, skipping do_siteconfig")
+ return
+ bb.build.exec_func('do_siteconfig_gencache', d)
+ sstate_clean(shared_state, d)
+ sstate_install(shared_state, d)
+}
+
+siteconfig_do_siteconfig_gencache () {
mkdir ${WORKDIR}/site_config
gen-site-config ${FILE_DIRNAME}/site_config \
>${WORKDIR}/site_config/configure.ac
@@ -11,21 +20,10 @@ siteconfig_do_siteconfig() {
sed -n -e "/ac_cv_c_bigendian/p" -e "/ac_cv_sizeof_/p" \
-e "/ac_cv_type_/p" -e "/ac_cv_header_/p" -e "/ac_cv_func_/p" \
< ${PN}_cache > ${PN}_config
- mkdir -p ${SYSROOT_DESTDIR}${STAGING_DATADIR}/${TARGET_SYS}_config_site.d
- cp ${PN}_config ${SYSROOT_DESTDIR}${STAGING_DATADIR}/${TARGET_SYS}_config_site.d
+ mkdir -p ${SYSROOT_DESTDIR}${SITECONFIG_SYSROOTCACHE}
+ cp ${PN}_config ${SYSROOT_DESTDIR}${SITECONFIG_SYSROOTCACHE}
}
-# Ugly integration with sstate_task_postfunc for now. The normal package
-# sysroot components must be installed in order to generate the cache, but
-# the site cache must be generated before the staging archive is generated.
-python sstate_task_postfunc () {
- shared_state = sstate_state_fromvars(d)
- sstate_install(shared_state, d)
- if shared_state['name'] == 'populate-sysroot':
- bb.build.exec_func('do_siteconfig', d)
- sstate_clean(shared_state, d)
- sstate_install(shared_state, d)
- sstate_package(shared_state, d)
-}
+do_populate_sysroot[sstate-interceptfuncs] += "do_siteconfig "
-EXPORT_FUNCTIONS do_siteconfig
+EXPORT_FUNCTIONS do_siteconfig do_siteconfig_gencache