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:
parent
27dd7f82c9
commit
c3269e20bf
|
@ -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
|
||||
|
|
|
@ -97,7 +97,7 @@ def siteinfo_get_files(d):
|
|||
sitefiles += fname + " "
|
||||
|
||||
# Now check for siteconfig cache files
|
||||
path_siteconfig = os.path.join(bb.data.getVar('STAGING_DATADIR', d, 1), bb.data.getVar('TARGET_SYS', d, 1) + "_config_site.d")
|
||||
path_siteconfig = bb.data.getVar('SITECONFIG_SYSROOTCACHE', d, 1)
|
||||
if os.path.isdir(path_siteconfig):
|
||||
for i in os.listdir(path_siteconfig):
|
||||
fname = os.path.join(path_siteconfig, i)
|
||||
|
@ -127,5 +127,5 @@ def siteinfo_get_bits(d):
|
|||
#
|
||||
SITEINFO_ENDIANESS = "${@siteinfo_get_endianess(d)}"
|
||||
SITEINFO_BITS = "${@siteinfo_get_bits(d)}"
|
||||
|
||||
SITECONFIG_SYSROOTCACHE = "${STAGING_DATADIR}/${TARGET_SYS}_config_site.d"
|
||||
|
||||
|
|
Loading…
Reference in New Issue