The docbook_sgml_dtd_sstate_postinst adds catalog file to /etc/sgml/sgml-docbook.cat, but the do_clean would not remove the file, which would cause unexpected errors since we have multiple versions of docbook-sgml-dtd:
docbook-sgml-dtd-3.1-native_3.1.bb docbook-sgml-dtd-4.1-native_4.1.bb docbook-sgml-dtd-4.5-native.bb If we run: $ bitbake docbook-sgml-dtd-4.1-native $ bitbake docbook-sgml-dtd-4.1-native -ccleansstate && bitbake docbook-sgml-dtd-3.1-native $ bitbake docbook-utils-native We would get this error: jade: cannot open "/path/to/etc/sgml/sgml-docbook-dtd-4.1.cat" (No such file or directory) make[2]: *** [sgmldiff.html] Error 1 Remove the catalog entry when do_clean will fix the problem. [YOCTO #5949] Signed-off-by: Robert Yang <[email protected]> --- .../docbook-sgml-dtd/docbook-sgml-dtd-native.inc | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/meta/recipes-devtools/docbook-sgml-dtd/docbook-sgml-dtd-native.inc b/meta/recipes-devtools/docbook-sgml-dtd/docbook-sgml-dtd-native.inc index 1b357b5..bf2affb 100644 --- a/meta/recipes-devtools/docbook-sgml-dtd/docbook-sgml-dtd-native.inc +++ b/meta/recipes-devtools/docbook-sgml-dtd/docbook-sgml-dtd-native.inc @@ -58,3 +58,13 @@ docbook_sgml_dtd_sysroot_preprocess () { install -m 755 ${STAGING_BINDIR_NATIVE}/install-catalog ${SYSROOT_DESTDIR}${bindir_crossscripts}/install-catalog-docbook-sgml-dtd-${DTD_VERSION} } +CLEANFUNCS += "docbook_sgml_dtd_sstate_clean" + +docbook_sgml_dtd_sstate_clean () { + # Ensure that the catalog file sgml-docbook.cat is properly + # updated when the package is removed from sstate cache. + if [ -s ${sysconfdir}/sgml/sgml-docbook.bak ]; then + sed -i '/'"\/sgml\/sgml-docbook-dtd-${DTD_VERSION}.cat"'/d' \ + ${sysconfdir}/sgml/sgml-docbook.bak + fi +} -- 1.7.10.4 -- _______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
