xmlcatalog.bbclass: execute xmlcatalog only if it's available
PATCH 1/1 xmlcatalog.bbclass: execute xmlcatalog only if it's available
In reply to Chen QiFor build-sysroots.bb, the xmlcatalog would not be in its staging directory. Causing the following error for eSDK.
ERROR: build-sysroots-1.0-r0 do_build_native_sysroot: Command '/PATH/TO/IMAGE/testsdkext/tmp/sysroots/x86_64/usr/bin/postinst-docbook-xml-dtd4-native-xmlcatalog' returned non-zero exit status 127.
ERROR: build-sysroots-1.0-r0 do_build_native_sysroot: Function failed: do_build_native_sysroot
The problem could be reproduced by the following steps.
1. Add in local.conf:
IMAGE_INSTALL_append = " btrfs-tools" DISTRO_FEATURES_append = " api-documentation" INHERIT += "testsdk"
2. bitbake core-image-minimal -c populate_sdk_ext
3. bitbake core-image-minimal -c testsdkext
--- meta/classes/xmlcatalog.bbclass | 2 ++ 1 file changed, 2 insertions(+)
meta/classes/xmlcatalog.bbclass +2 -0
@@ -5,6 +5,8 @@ XMLCATALOGS ?= "" SYSROOT_PREPROCESS_FUNCS_append = " xmlcatalog_sstate_postinst" xmlcatalog_complete() { + # In case of eSDK, build-sysroot does not have xmlcatalog in its staging directory. + [ "`which xmlcatalog`" = "" ] && exit 0 ROOTCATALOG="${STAGING_ETCDIR_NATIVE}/xml/catalog" if [ ! -f $ROOTCATALOG ]; then mkdir --parents $(dirname $ROOTCATALOG)
Signature · 1 line
1.9.1
cover xmlcatalog.bbclass: execute xmlcatalog only if it's available
*** BLURB HERE ***
The following changes since commit 4fd9ee4670293632cc0ca1e64b8833eb6014435d:
bitbake: bitbake: Add --skip-setscene option (2019-07-03 17:00:57 +0100)
are available in the git repository at:
git://git.pokylinux.org/poky-contrib ChenQi/xmlcatalog-esdk
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=ChenQi/xmlcatalog-esdk
Chen Qi (1):
xmlcatalog.bbclass: execute xmlcatalog only if it's available
meta/classes/xmlcatalog.bbclass | 2 ++ 1 file changed, 2 insertions(+)
Signature · 1 line
1.9.1
Quoted 24 lines · Chen Qi
For build-sysroots.bb, the xmlcatalog would not be in its staging directory. Causing the following error for eSDK.
ERROR: build-sysroots-1.0-r0
do_build_native_sysroot: Command '/PATH/TO/IMAGE/testsdkext/tmp/sysroots/x86_64/usr/bin/postinst-docbook-xml-dtd4-native-xmlcatalog' returned non-zero exit status 127.
ERROR: build-sysroots-1.0-r0do_build_native_sysroot: Function failed:do_build_native_sysrootThe problem could be reproduced by the following steps.
1. Add in local.conf:
IMAGE_INSTALL_append= " btrfs-tools"DISTRO_FEATURES_append= " api-documentation" INHERIT += "testsdk"
2. bitbake core-image-minimal -cpopulate_sdk_ext
3. bitbake core-image-minimal -c testsdkextSigned-off-by Chen Qi <[email protected]>--- meta/classes/xmlcatalog.bbclass | 2 ++ 1 file changed, 2 insertions(+)meta/classes/xmlcatalog.bbclass +0
-0
meta/classes/xmlcatalog.bbclass XMLCATALOGS ?= "" · line 12
Quoted 8 lines
meta/classes/xmlcatalog.bbclass +2
-0@@ -5,6 +5,8 @@ XMLCATALOGS ?= "" SYSROOT_PREPROCESS_FUNCS_append = " xmlcatalog_sstate_postinst" xmlcatalog_complete() { + # In case of eSDK, build-sysroot does not have xmlcatalog in its staging directory. + [ "`which xmlcatalog`" = "" ] && exit 0 ROOTCATALOG="${STAGING_ETCDIR_NATIVE}/xml/catalog" if [ ! -f $ROOTCATALOG ]; then mkdir --parents $(dirname $ROOTCATALOG)
This seems rather risky since it leaves the sysroot in an unexpected state and means that elsewhere in the code we now have to account for postinst scripts which may or may not have run.
Whilst this fixes a bug I worry it may open up a whole new class of even worse problems :(
Cheers,
Richard
We could just always install libxml2 into the SDK...
Quoted 41 lines · Chen Qi
For build-sysroots.bb, the xmlcatalog would not be in its staging directory. Causing the following error for eSDK.
ERROR: build-sysroots-1.0-r0
do_build_native_sysroot: Command '/PATH/TO/IMAGE/testsdkext/tmp/sysroots/x86_64/usr/bin/postinst-docbook-xml-dtd4-native-xmlcatalog' returned non-zero exit status 127.
ERROR: build-sysroots-1.0-r0do_build_native_sysroot: Function failed:do_build_native_sysrootThe problem could be reproduced by the following steps.
1. Add in local.conf:
IMAGE_INSTALL_append= " btrfs-tools"DISTRO_FEATURES_append= " api-documentation" INHERIT += "testsdk"
2. bitbake core-image-minimal -cpopulate_sdk_ext
3. bitbake core-image-minimal -c testsdkextSigned-off-by Chen Qi <[email protected]>--- meta/classes/xmlcatalog.bbclass | 2 ++ 1 file changed, 2 insertions(+)meta/classes/xmlcatalog.bbclass +2
-1@@ -5,6 +5,8 @@ XMLCATALOGS ?= "" SYSROOT_PREPROCESS_FUNCS_append = " xmlcatalog_sstate_postinst" xmlcatalog_complete() { + # In case of eSDK, build-sysroot does not have xmlcatalog in its staging directory. + [ "`which xmlcatalog`" = "" ] && exit 0 ROOTCATALOG="${STAGING_ETCDIR_NATIVE}/xml/catalog" if [ ! -f $ROOTCATALOG ]; then mkdir --parents $(dirname $ROOTCATALOG) --1.9.1
--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core
Quoted 1 line · Ross
We could just always install libxml2 into the SDK...
Good idea. I'll send out a new patch.
Quoted 41 lines · Chen Qi
Quoted 40 lines
For build-sysroots.bb, the xmlcatalog would not be in its staging directory. Causing the following error for eSDK.
ERROR: build-sysroots-1.0-r0
do_build_native_sysroot: Command '/PATH/TO/IMAGE/testsdkext/tmp/sysroots/x86_64/usr/bin/postinst-docbook-xml-dtd4-native-xmlcatalog' returned non-zero exit status 127.
ERROR: build-sysroots-1.0-r0do_build_native_sysroot: Function failed:do_build_native_sysrootThe problem could be reproduced by the following steps.
1. Add in local.conf:
IMAGE_INSTALL_append= " btrfs-tools"DISTRO_FEATURES_append= " api-documentation" INHERIT += "testsdk"
2. bitbake core-image-minimal -cpopulate_sdk_ext
3. bitbake core-image-minimal -c testsdkextSigned-off-by Chen Qi <[email protected]>--- meta/classes/xmlcatalog.bbclass | 2 ++ 1 file changed, 2 insertions(+)meta/classes/xmlcatalog.bbclass +2
-1@@ -5,6 +5,8 @@ XMLCATALOGS ?= "" SYSROOT_PREPROCESS_FUNCS_append = " xmlcatalog_sstate_postinst" xmlcatalog_complete() { + # In case of eSDK, build-sysroot does not have xmlcatalog in its staging directory. + [ "`which xmlcatalog`" = "" ] && exit 0 ROOTCATALOG="${STAGING_ETCDIR_NATIVE}/xml/catalog" if [ ! -f $ROOTCATALOG ]; then mkdir --parents $(dirname $ROOTCATALOG) --1.9.1
--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core