diff options
author | Robert Yang <liezhi.yang@windriver.com> | 2014-03-18 15:54:34 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-03-19 14:20:36 +0000 |
commit | 50683df81e1605ad7c03bc633aa55da7e97cfe62 (patch) | |
tree | 505c7bb36b6212dc5de5999e377040c6ef609f1e /meta/recipes-devtools/openjade | |
parent | a8fe5fd62fd98e33180f3de700ed01f9efb74a50 (diff) | |
download | openembedded-core-contrib-50683df81e1605ad7c03bc633aa55da7e97cfe62.tar.gz |
sgml-common-native: fix the generation of sgml-docbook.cat
There would be build errors if multiple builds use the same SSTATE_DIR,
and the builds use the different versions' docbook-sgml-dtd-native, the
problems are: we have multiple versions docbook-sgml-dtd-native:
docbook-sgml-dtd-3.1-native
docbook-sgml-dtd-4.1-native
docbook-sgml-dtd-4.5-native
And they depend on sgml-common-native which installs the file
sysroot/etc/sgml/sgml-docbook.cat, this file is also included in the
sstate cache file (.tar.gz), but both the 3 versions
docbook-sgml-dtd-native may update the
sysroot/ect/sgml/sgml-docbook.cat, and it is a hardlink to
SYSROOT_DESTDIR/etc/sgml/sgml-docbook.cat, so the sgml-docbook.cat in
the sstate cache file may contain the
docbook-sgml-dtd-<version>-native's info, and there would be errors when
we mirror the sstate-cache to another build which uses a different
version.
Now we exclude the sgml-docbook.cat from the ${D}, and generate
sysroot/ect/sgml/sgml-docbook.cat dynamically will fix the problem, both
the sgml-common-native and docbook-sgml-dtd-<version>-native can update
it it correctly.
The similar to docbook-dsssl-stylesheets-native and openjade-native.
[YOCTO #5994]
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/openjade')
-rw-r--r-- | meta/recipes-devtools/openjade/openjade-native_1.3.2.bb | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/meta/recipes-devtools/openjade/openjade-native_1.3.2.bb b/meta/recipes-devtools/openjade/openjade-native_1.3.2.bb index ccce421cf3..fa7aa62eb3 100644 --- a/meta/recipes-devtools/openjade/openjade-native_1.3.2.bb +++ b/meta/recipes-devtools/openjade/openjade-native_1.3.2.bb @@ -40,6 +40,7 @@ CFLAGS =+ "-I${S}/include" SSTATEPOSTINSTFUNCS += "openjade_sstate_postinst" SYSROOT_PREPROCESS_FUNCS += "openjade_sysroot_preprocess" +CLEANFUNCS += "openjade_sstate_clean" # configure.in needs to be reloacted to trigger reautoconf do_extraunpack () { @@ -97,3 +98,11 @@ openjade_sysroot_preprocess () { install -m 755 ${STAGING_BINDIR_NATIVE}/install-catalog ${SYSROOT_DESTDIR}${bindir_crossscripts}/install-catalog-openjade } +openjade_sstate_clean () { + # Ensure that the catalog file sgml-docbook.cat is properly + # updated when the package is removed from sstate cache. + files="${sysconfdir}/sgml/sgml-docbook.bak ${sysconfdir}/sgml/sgml-docbook.cat" + for f in $files; do + [ ! -f $f ] || sed -i '/\/sgml\/openjade-${PV}.cat/d' $f + done +} |