1
0
mirror of https://git.yoctoproject.org/poky synced 2026-06-02 01:19:52 +00:00

siteinfo: add SITECONFIG_SYSROOTCACHE definition in place of hard-coded path

siteconfig: use SITECONFIG_SYSROOTCACHE and use sstate-interceptfuncs

Use the new sstate-interceptfuncs functionality to interpose do_siteconfig
between the sstate_install and package.

Signed-off-by: Jeff Polk <jeff.polk@windriver.com>
This commit is contained in:
Jeff Polk
2010-09-03 11:25:38 -06:00
committed by Richard Purdie
parent 27dd7f82c9
commit c3269e20bf
2 changed files with 19 additions and 21 deletions
+17 -19
View File
@@ -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