All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] icu: merge .inc into main recipe
@ 2020-06-23 21:08 Alexander Kanavin
  2020-06-23 21:08 ` [PATCH 2/2] icu: make filtered data generation optional, serial and off by default Alexander Kanavin
  2020-06-25 16:04 ` [OE-core] [PATCH 1/2] icu: merge .inc into main recipe Steve Sakoman
  0 siblings, 2 replies; 18+ messages in thread
From: Alexander Kanavin @ 2020-06-23 21:08 UTC (permalink / raw)
  To: openembedded-core; +Cc: Alexander Kanavin

Both parts are rather convoluted, so it is better to have them in a single file.

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 meta/recipes-support/icu/icu.inc     | 84 ---------------------------
 meta/recipes-support/icu/icu_67.1.bb | 85 +++++++++++++++++++++++++++-
 2 files changed, 84 insertions(+), 85 deletions(-)
 delete mode 100644 meta/recipes-support/icu/icu.inc

diff --git a/meta/recipes-support/icu/icu.inc b/meta/recipes-support/icu/icu.inc
deleted file mode 100644
index 6d9728903d..0000000000
--- a/meta/recipes-support/icu/icu.inc
+++ /dev/null
@@ -1,84 +0,0 @@
-SUMMARY = "International Component for Unicode libraries"
-DESCRIPTION = "The International Component for Unicode (ICU) is a mature, \
-portable set of C/C++ and Java libraries for Unicode support, software \
-internationalization (I18N) and globalization (G11N), giving applications the \
-same results on all platforms."
-HOMEPAGE = "http://site.icu-project.org/"
-
-LICENSE = "ICU"
-DEPENDS = "icu-native"
-DEPENDS_class-native = ""
-
-CVE_PRODUCT = "international_components_for_unicode"
-
-S = "${WORKDIR}/icu/source"
-SPDX_S = "${WORKDIR}/icu"
-STAGING_ICU_DIR_NATIVE = "${STAGING_DATADIR_NATIVE}/${BPN}/${PV}"
-
-BINCONFIG = "${bindir}/icu-config"
-
-ICU_MAJOR_VER = "${@d.getVar('PV').split('.')[0]}"
-
-inherit autotools pkgconfig binconfig multilib_script
-
-MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/icu-config"
-
-# ICU needs the native build directory as an argument to its --with-cross-build option when
-# cross-compiling. Taken the situation that different builds may share a common sstate-cache
-# into consideration, the native build directory needs to be staged.
-EXTRA_OECONF = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
-EXTRA_OECONF_class-native = ""
-EXTRA_OECONF_class-nativesdk = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
-
-EXTRA_OECONF_append_class-target = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' --with-data-packaging=archive', '', d)}"
-TARGET_CXXFLAGS_append = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' -DICU_DATA_DIR=\\""${datadir}/${BPN}/${PV}\\""', '', d)}"
-
-ASNEEDED = ""
-
-do_compile_prepend_class-target () {
-	# Make sure certain build host references do not end up being compiled
-	# in the image. This only affects libicutu and icu-dbg
-	sed  \
-	    -e 's,DU_BUILD=,DU_BUILD_unused=,g' \
-	    -e '/^CPPFLAGS.*/ s,--sysroot=${STAGING_DIR_TARGET},,g' \
-	    -i ${B}/tools/toolutil/Makefile
-}
-
-PREPROCESS_RELOCATE_DIRS = "${datadir}/${BPN}/${PV}"
-do_install_append_class-native() {
-	mkdir -p ${D}/${STAGING_ICU_DIR_NATIVE}/config
-	cp -r ${B}/config/icucross.mk ${D}/${STAGING_ICU_DIR_NATIVE}/config
-	cp -r ${B}/config/icucross.inc ${D}/${STAGING_ICU_DIR_NATIVE}/config
-	cp -r ${B}/lib ${D}/${STAGING_ICU_DIR_NATIVE}
-	cp -r ${B}/bin ${D}/${STAGING_ICU_DIR_NATIVE}
-	cp -r ${B}/tools ${D}/${STAGING_ICU_DIR_NATIVE}
-}
-
-do_install_append_class-target() {
-    # The native pkgdata can not generate the correct data file.
-    # Use icupkg to re-generate it.
-    if [ "${SITEINFO_ENDIANNESS}" = "be" ] ; then
-        rm -f ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
-        icupkg -tb ${S}/data/in/icudt${ICU_MAJOR_VER}l.dat ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
-    fi
-	
-	# Remove build host references...
-	sed -i  \
-	    -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
-	    -e 's|${DEBUG_PREFIX_MAP}||g' \
-	    -e 's:${HOSTTOOLS_DIR}/::g' \
-	    ${D}/${bindir}/icu-config ${D}/${libdir}/${BPN}/${PV}/Makefile.inc \
-	    ${D}/${libdir}/${BPN}/${PV}/pkgdata.inc
-}
-
-PACKAGES =+ "libicudata libicuuc libicui18n libicutu libicuio"
-
-FILES_${PN}-dev += "${libdir}/${BPN}/"
-
-FILES_libicudata = "${libdir}/libicudata.so.*"
-FILES_libicuuc = "${libdir}/libicuuc.so.*"
-FILES_libicui18n = "${libdir}/libicui18n.so.*"
-FILES_libicutu = "${libdir}/libicutu.so.*"
-FILES_libicuio = "${libdir}/libicuio.so.*"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-support/icu/icu_67.1.bb b/meta/recipes-support/icu/icu_67.1.bb
index 58638507c9..5814fa41bd 100644
--- a/meta/recipes-support/icu/icu_67.1.bb
+++ b/meta/recipes-support/icu/icu_67.1.bb
@@ -1,4 +1,87 @@
-require icu.inc
+SUMMARY = "International Component for Unicode libraries"
+DESCRIPTION = "The International Component for Unicode (ICU) is a mature, \
+portable set of C/C++ and Java libraries for Unicode support, software \
+internationalization (I18N) and globalization (G11N), giving applications the \
+same results on all platforms."
+HOMEPAGE = "http://site.icu-project.org/"
+
+LICENSE = "ICU"
+DEPENDS = "icu-native"
+DEPENDS_class-native = ""
+
+CVE_PRODUCT = "international_components_for_unicode"
+
+S = "${WORKDIR}/icu/source"
+SPDX_S = "${WORKDIR}/icu"
+STAGING_ICU_DIR_NATIVE = "${STAGING_DATADIR_NATIVE}/${BPN}/${PV}"
+
+BINCONFIG = "${bindir}/icu-config"
+
+ICU_MAJOR_VER = "${@d.getVar('PV').split('.')[0]}"
+
+inherit autotools pkgconfig binconfig multilib_script
+
+MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/icu-config"
+
+# ICU needs the native build directory as an argument to its --with-cross-build option when
+# cross-compiling. Taken the situation that different builds may share a common sstate-cache
+# into consideration, the native build directory needs to be staged.
+EXTRA_OECONF = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
+EXTRA_OECONF_class-native = ""
+EXTRA_OECONF_class-nativesdk = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
+
+EXTRA_OECONF_append_class-target = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' --with-data-packaging=archive', '', d)}"
+TARGET_CXXFLAGS_append = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' -DICU_DATA_DIR=\\""${datadir}/${BPN}/${PV}\\""', '', d)}"
+
+ASNEEDED = ""
+
+do_compile_prepend_class-target () {
+	# Make sure certain build host references do not end up being compiled
+	# in the image. This only affects libicutu and icu-dbg
+	sed  \
+	    -e 's,DU_BUILD=,DU_BUILD_unused=,g' \
+	    -e '/^CPPFLAGS.*/ s,--sysroot=${STAGING_DIR_TARGET},,g' \
+	    -i ${B}/tools/toolutil/Makefile
+}
+
+PREPROCESS_RELOCATE_DIRS = "${datadir}/${BPN}/${PV}"
+do_install_append_class-native() {
+	mkdir -p ${D}/${STAGING_ICU_DIR_NATIVE}/config
+	cp -r ${B}/config/icucross.mk ${D}/${STAGING_ICU_DIR_NATIVE}/config
+	cp -r ${B}/config/icucross.inc ${D}/${STAGING_ICU_DIR_NATIVE}/config
+	cp -r ${B}/lib ${D}/${STAGING_ICU_DIR_NATIVE}
+	cp -r ${B}/bin ${D}/${STAGING_ICU_DIR_NATIVE}
+	cp -r ${B}/tools ${D}/${STAGING_ICU_DIR_NATIVE}
+}
+
+do_install_append_class-target() {
+    # The native pkgdata can not generate the correct data file.
+    # Use icupkg to re-generate it.
+    if [ "${SITEINFO_ENDIANNESS}" = "be" ] ; then
+        rm -f ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
+        icupkg -tb ${S}/data/in/icudt${ICU_MAJOR_VER}l.dat ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
+    fi
+	
+	# Remove build host references...
+	sed -i  \
+	    -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
+	    -e 's|${DEBUG_PREFIX_MAP}||g' \
+	    -e 's:${HOSTTOOLS_DIR}/::g' \
+	    ${D}/${bindir}/icu-config ${D}/${libdir}/${BPN}/${PV}/Makefile.inc \
+	    ${D}/${libdir}/${BPN}/${PV}/pkgdata.inc
+}
+
+PACKAGES =+ "libicudata libicuuc libicui18n libicutu libicuio"
+
+FILES_${PN}-dev += "${libdir}/${BPN}/"
+
+FILES_libicudata = "${libdir}/libicudata.so.*"
+FILES_libicuuc = "${libdir}/libicuuc.so.*"
+FILES_libicui18n = "${libdir}/libicui18n.so.*"
+FILES_libicutu = "${libdir}/libicutu.so.*"
+FILES_libicuio = "${libdir}/libicuio.so.*"
+
+BBCLASSEXTEND = "native nativesdk"
 
 LIC_FILES_CHKSUM = "file://../LICENSE;md5=a3808a5b70071b07f87ff2205e4d75a0"
 
-- 
2.27.0


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 2/2] icu: make filtered data generation optional, serial and off by default
  2020-06-23 21:08 [PATCH 1/2] icu: merge .inc into main recipe Alexander Kanavin
@ 2020-06-23 21:08 ` Alexander Kanavin
  2020-06-23 22:02   ` [OE-core] " Khem Raj
  2020-06-25 16:04 ` [OE-core] [PATCH 1/2] icu: merge .inc into main recipe Steve Sakoman
  1 sibling, 1 reply; 18+ messages in thread
From: Alexander Kanavin @ 2020-06-23 21:08 UTC (permalink / raw)
  To: openembedded-core; +Cc: Alexander Kanavin

icu data generation was found to be racy, and causig AB failures;
making it serial and leaving it on is not an option as it regresses
to several minutes.

The specific bug is that rules.mk has:

LD_LIBRARY_PATH=../lib:../stubdata:../tools/ctestfw:$LD_LIBRARY_PATH  ../bin/gencnval -s . -d ./out/build/icudt66l mappings/convrtrs.txt

which creates a file and numerous rules like

LD_LIBRARY_PATH=../lib:../stubdata:../tools/ctestfw:$LD_LIBRARY_PATH  ../bin/genrb -s ./misc -d ./out/build/icudt67l -i ./out/build/icudt67l -k -q numberingSystems.txt

which quietly read it. There is no prerequisite for the former to complete first.

The race is extra complicated to fix as rules.mk is itself
generated through a custom in-tree python tool.

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 meta/recipes-support/icu/icu_67.1.bb | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-support/icu/icu_67.1.bb b/meta/recipes-support/icu/icu_67.1.bb
index 5814fa41bd..9e8091ba01 100644
--- a/meta/recipes-support/icu/icu_67.1.bb
+++ b/meta/recipes-support/icu/icu_67.1.bb
@@ -120,7 +120,11 @@ UPSTREAM_CHECK_URI = "https://github.com/unicode-org/icu/releases"
 
 EXTRA_OECONF_append_libc-musl = " ac_cv_func_strtod_l=no"
 
+PACKAGECONFIG ?= ""
+PACKAGECONFIG[make-icudata] = ",,,"
+
 do_make_icudata_class-target () {
+    ${@bb.utils.contains('PACKAGECONFIG', 'make-icudata', '', 'exit 0', d)}
     cd ${S}
     rm -rf data
     cp -a ${WORKDIR}/data .
@@ -135,7 +139,7 @@ do_make_icudata_class-target () {
     LDFLAGS='${BUILD_LDFLAGS}' \
     ICU_DATA_FILTER_FILE=${WORKDIR}/filter.json \
     ./runConfigureICU Linux --with-data-packaging=archive
-    oe_runmake ${PARALLEL_MAKE}
+    oe_runmake
     install -Dm644 ${S}/data/out/icudt${ICU_MAJOR_VER}l.dat ${S}/data/in/icudt${ICU_MAJOR_VER}l.dat
 }
 
-- 
2.27.0


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* Re: [OE-core] [PATCH 2/2] icu: make filtered data generation optional, serial and off by default
  2020-06-23 21:08 ` [PATCH 2/2] icu: make filtered data generation optional, serial and off by default Alexander Kanavin
@ 2020-06-23 22:02   ` Khem Raj
  0 siblings, 0 replies; 18+ messages in thread
From: Khem Raj @ 2020-06-23 22:02 UTC (permalink / raw)
  To: Alexander Kanavin, openembedded-core



On 6/23/20 2:08 PM, Alexander Kanavin wrote:
> icu data generation was found to be racy, and causig AB failures;
> making it serial and leaving it on is not an option as it regresses
> to several minutes.
> 
> The specific bug is that rules.mk has:
> 
> LD_LIBRARY_PATH=../lib:../stubdata:../tools/ctestfw:$LD_LIBRARY_PATH  ../bin/gencnval -s . -d ./out/build/icudt66l mappings/convrtrs.txt
> 
> which creates a file and numerous rules like
> 
> LD_LIBRARY_PATH=../lib:../stubdata:../tools/ctestfw:$LD_LIBRARY_PATH  ../bin/genrb -s ./misc -d ./out/build/icudt67l -i ./out/build/icudt67l -k -q numberingSystems.txt
> 
> which quietly read it. There is no prerequisite for the former to complete first.
> 
> The race is extra complicated to fix as rules.mk is itself
> generated through a custom in-tree python tool.
> 
> Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> ---
>  meta/recipes-support/icu/icu_67.1.bb | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/meta/recipes-support/icu/icu_67.1.bb b/meta/recipes-support/icu/icu_67.1.bb
> index 5814fa41bd..9e8091ba01 100644
> --- a/meta/recipes-support/icu/icu_67.1.bb
> +++ b/meta/recipes-support/icu/icu_67.1.bb
> @@ -120,7 +120,11 @@ UPSTREAM_CHECK_URI = "https://github.com/unicode-org/icu/releases"
>  
>  EXTRA_OECONF_append_libc-musl = " ac_cv_func_strtod_l=no"
>  
> +PACKAGECONFIG ?= ""
> +PACKAGECONFIG[make-icudata] = ",,,"

maybe calling it custom-icudata is appropriate. This option perhaps
should be enabled by default with a minimum filter, which is to enable
en_US perhaps, it helps integrate the external build processes that is
in place where systems depend on icudata and don't want all 20M of it in
image. It would be good for us to offer a tested way to custom build
this data.

but I am ok to live with this workaround until perhaps this issue is
fixed upstream amicably.

> +
>  do_make_icudata_class-target () {
> +    ${@bb.utils.contains('PACKAGECONFIG', 'make-icudata', '', 'exit 0', d)}
>      cd ${S}
>      rm -rf data
>      cp -a ${WORKDIR}/data .
> @@ -135,7 +139,7 @@ do_make_icudata_class-target () {
>      LDFLAGS='${BUILD_LDFLAGS}' \
>      ICU_DATA_FILTER_FILE=${WORKDIR}/filter.json \
>      ./runConfigureICU Linux --with-data-packaging=archive
> -    oe_runmake ${PARALLEL_MAKE}
> +    oe_runmake
>      install -Dm644 ${S}/data/out/icudt${ICU_MAJOR_VER}l.dat ${S}/data/in/icudt${ICU_MAJOR_VER}l.dat
>  }
>  
> 
> 
> 
> 

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [OE-core] [PATCH 1/2] icu: merge .inc into main recipe
  2020-06-23 21:08 [PATCH 1/2] icu: merge .inc into main recipe Alexander Kanavin
  2020-06-23 21:08 ` [PATCH 2/2] icu: make filtered data generation optional, serial and off by default Alexander Kanavin
@ 2020-06-25 16:04 ` Steve Sakoman
  2020-06-25 16:09   ` Alexander Kanavin
  1 sibling, 1 reply; 18+ messages in thread
From: Steve Sakoman @ 2020-06-25 16:04 UTC (permalink / raw)
  To: Alexander Kanavin; +Cc: Patches and discussions about the oe-core layer

Is this patch series suitable for dunfell as-is (the concern being the
contents of the version bump) or would a backport to 66.1 be
necessary?

Steve

On Tue, Jun 23, 2020 at 11:09 AM Alexander Kanavin
<alex.kanavin@gmail.com> wrote:
>
> Both parts are rather convoluted, so it is better to have them in a single file.
>
> Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> ---
>  meta/recipes-support/icu/icu.inc     | 84 ---------------------------
>  meta/recipes-support/icu/icu_67.1.bb | 85 +++++++++++++++++++++++++++-
>  2 files changed, 84 insertions(+), 85 deletions(-)
>  delete mode 100644 meta/recipes-support/icu/icu.inc
>
> diff --git a/meta/recipes-support/icu/icu.inc b/meta/recipes-support/icu/icu.inc
> deleted file mode 100644
> index 6d9728903d..0000000000
> --- a/meta/recipes-support/icu/icu.inc
> +++ /dev/null
> @@ -1,84 +0,0 @@
> -SUMMARY = "International Component for Unicode libraries"
> -DESCRIPTION = "The International Component for Unicode (ICU) is a mature, \
> -portable set of C/C++ and Java libraries for Unicode support, software \
> -internationalization (I18N) and globalization (G11N), giving applications the \
> -same results on all platforms."
> -HOMEPAGE = "http://site.icu-project.org/"
> -
> -LICENSE = "ICU"
> -DEPENDS = "icu-native"
> -DEPENDS_class-native = ""
> -
> -CVE_PRODUCT = "international_components_for_unicode"
> -
> -S = "${WORKDIR}/icu/source"
> -SPDX_S = "${WORKDIR}/icu"
> -STAGING_ICU_DIR_NATIVE = "${STAGING_DATADIR_NATIVE}/${BPN}/${PV}"
> -
> -BINCONFIG = "${bindir}/icu-config"
> -
> -ICU_MAJOR_VER = "${@d.getVar('PV').split('.')[0]}"
> -
> -inherit autotools pkgconfig binconfig multilib_script
> -
> -MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/icu-config"
> -
> -# ICU needs the native build directory as an argument to its --with-cross-build option when
> -# cross-compiling. Taken the situation that different builds may share a common sstate-cache
> -# into consideration, the native build directory needs to be staged.
> -EXTRA_OECONF = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
> -EXTRA_OECONF_class-native = ""
> -EXTRA_OECONF_class-nativesdk = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
> -
> -EXTRA_OECONF_append_class-target = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' --with-data-packaging=archive', '', d)}"
> -TARGET_CXXFLAGS_append = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' -DICU_DATA_DIR=\\""${datadir}/${BPN}/${PV}\\""', '', d)}"
> -
> -ASNEEDED = ""
> -
> -do_compile_prepend_class-target () {
> -       # Make sure certain build host references do not end up being compiled
> -       # in the image. This only affects libicutu and icu-dbg
> -       sed  \
> -           -e 's,DU_BUILD=,DU_BUILD_unused=,g' \
> -           -e '/^CPPFLAGS.*/ s,--sysroot=${STAGING_DIR_TARGET},,g' \
> -           -i ${B}/tools/toolutil/Makefile
> -}
> -
> -PREPROCESS_RELOCATE_DIRS = "${datadir}/${BPN}/${PV}"
> -do_install_append_class-native() {
> -       mkdir -p ${D}/${STAGING_ICU_DIR_NATIVE}/config
> -       cp -r ${B}/config/icucross.mk ${D}/${STAGING_ICU_DIR_NATIVE}/config
> -       cp -r ${B}/config/icucross.inc ${D}/${STAGING_ICU_DIR_NATIVE}/config
> -       cp -r ${B}/lib ${D}/${STAGING_ICU_DIR_NATIVE}
> -       cp -r ${B}/bin ${D}/${STAGING_ICU_DIR_NATIVE}
> -       cp -r ${B}/tools ${D}/${STAGING_ICU_DIR_NATIVE}
> -}
> -
> -do_install_append_class-target() {
> -    # The native pkgdata can not generate the correct data file.
> -    # Use icupkg to re-generate it.
> -    if [ "${SITEINFO_ENDIANNESS}" = "be" ] ; then
> -        rm -f ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
> -        icupkg -tb ${S}/data/in/icudt${ICU_MAJOR_VER}l.dat ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
> -    fi
> -
> -       # Remove build host references...
> -       sed -i  \
> -           -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
> -           -e 's|${DEBUG_PREFIX_MAP}||g' \
> -           -e 's:${HOSTTOOLS_DIR}/::g' \
> -           ${D}/${bindir}/icu-config ${D}/${libdir}/${BPN}/${PV}/Makefile.inc \
> -           ${D}/${libdir}/${BPN}/${PV}/pkgdata.inc
> -}
> -
> -PACKAGES =+ "libicudata libicuuc libicui18n libicutu libicuio"
> -
> -FILES_${PN}-dev += "${libdir}/${BPN}/"
> -
> -FILES_libicudata = "${libdir}/libicudata.so.*"
> -FILES_libicuuc = "${libdir}/libicuuc.so.*"
> -FILES_libicui18n = "${libdir}/libicui18n.so.*"
> -FILES_libicutu = "${libdir}/libicutu.so.*"
> -FILES_libicuio = "${libdir}/libicuio.so.*"
> -
> -BBCLASSEXTEND = "native nativesdk"
> diff --git a/meta/recipes-support/icu/icu_67.1.bb b/meta/recipes-support/icu/icu_67.1.bb
> index 58638507c9..5814fa41bd 100644
> --- a/meta/recipes-support/icu/icu_67.1.bb
> +++ b/meta/recipes-support/icu/icu_67.1.bb
> @@ -1,4 +1,87 @@
> -require icu.inc
> +SUMMARY = "International Component for Unicode libraries"
> +DESCRIPTION = "The International Component for Unicode (ICU) is a mature, \
> +portable set of C/C++ and Java libraries for Unicode support, software \
> +internationalization (I18N) and globalization (G11N), giving applications the \
> +same results on all platforms."
> +HOMEPAGE = "http://site.icu-project.org/"
> +
> +LICENSE = "ICU"
> +DEPENDS = "icu-native"
> +DEPENDS_class-native = ""
> +
> +CVE_PRODUCT = "international_components_for_unicode"
> +
> +S = "${WORKDIR}/icu/source"
> +SPDX_S = "${WORKDIR}/icu"
> +STAGING_ICU_DIR_NATIVE = "${STAGING_DATADIR_NATIVE}/${BPN}/${PV}"
> +
> +BINCONFIG = "${bindir}/icu-config"
> +
> +ICU_MAJOR_VER = "${@d.getVar('PV').split('.')[0]}"
> +
> +inherit autotools pkgconfig binconfig multilib_script
> +
> +MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/icu-config"
> +
> +# ICU needs the native build directory as an argument to its --with-cross-build option when
> +# cross-compiling. Taken the situation that different builds may share a common sstate-cache
> +# into consideration, the native build directory needs to be staged.
> +EXTRA_OECONF = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
> +EXTRA_OECONF_class-native = ""
> +EXTRA_OECONF_class-nativesdk = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
> +
> +EXTRA_OECONF_append_class-target = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' --with-data-packaging=archive', '', d)}"
> +TARGET_CXXFLAGS_append = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' -DICU_DATA_DIR=\\""${datadir}/${BPN}/${PV}\\""', '', d)}"
> +
> +ASNEEDED = ""
> +
> +do_compile_prepend_class-target () {
> +       # Make sure certain build host references do not end up being compiled
> +       # in the image. This only affects libicutu and icu-dbg
> +       sed  \
> +           -e 's,DU_BUILD=,DU_BUILD_unused=,g' \
> +           -e '/^CPPFLAGS.*/ s,--sysroot=${STAGING_DIR_TARGET},,g' \
> +           -i ${B}/tools/toolutil/Makefile
> +}
> +
> +PREPROCESS_RELOCATE_DIRS = "${datadir}/${BPN}/${PV}"
> +do_install_append_class-native() {
> +       mkdir -p ${D}/${STAGING_ICU_DIR_NATIVE}/config
> +       cp -r ${B}/config/icucross.mk ${D}/${STAGING_ICU_DIR_NATIVE}/config
> +       cp -r ${B}/config/icucross.inc ${D}/${STAGING_ICU_DIR_NATIVE}/config
> +       cp -r ${B}/lib ${D}/${STAGING_ICU_DIR_NATIVE}
> +       cp -r ${B}/bin ${D}/${STAGING_ICU_DIR_NATIVE}
> +       cp -r ${B}/tools ${D}/${STAGING_ICU_DIR_NATIVE}
> +}
> +
> +do_install_append_class-target() {
> +    # The native pkgdata can not generate the correct data file.
> +    # Use icupkg to re-generate it.
> +    if [ "${SITEINFO_ENDIANNESS}" = "be" ] ; then
> +        rm -f ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
> +        icupkg -tb ${S}/data/in/icudt${ICU_MAJOR_VER}l.dat ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
> +    fi
> +
> +       # Remove build host references...
> +       sed -i  \
> +           -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
> +           -e 's|${DEBUG_PREFIX_MAP}||g' \
> +           -e 's:${HOSTTOOLS_DIR}/::g' \
> +           ${D}/${bindir}/icu-config ${D}/${libdir}/${BPN}/${PV}/Makefile.inc \
> +           ${D}/${libdir}/${BPN}/${PV}/pkgdata.inc
> +}
> +
> +PACKAGES =+ "libicudata libicuuc libicui18n libicutu libicuio"
> +
> +FILES_${PN}-dev += "${libdir}/${BPN}/"
> +
> +FILES_libicudata = "${libdir}/libicudata.so.*"
> +FILES_libicuuc = "${libdir}/libicuuc.so.*"
> +FILES_libicui18n = "${libdir}/libicui18n.so.*"
> +FILES_libicutu = "${libdir}/libicutu.so.*"
> +FILES_libicuio = "${libdir}/libicuio.so.*"
> +
> +BBCLASSEXTEND = "native nativesdk"
>
>  LIC_FILES_CHKSUM = "file://../LICENSE;md5=a3808a5b70071b07f87ff2205e4d75a0"
>
> --
> 2.27.0
>
> 

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [OE-core] [PATCH 1/2] icu: merge .inc into main recipe
  2020-06-25 16:04 ` [OE-core] [PATCH 1/2] icu: merge .inc into main recipe Steve Sakoman
@ 2020-06-25 16:09   ` Alexander Kanavin
  2020-06-25 16:23     ` Steve Sakoman
  0 siblings, 1 reply; 18+ messages in thread
From: Alexander Kanavin @ 2020-06-25 16:09 UTC (permalink / raw)
  To: Steve Sakoman; +Cc: Patches and discussions about the oe-core layer

[-- Attachment #1: Type: text/plain, Size: 9363 bytes --]

I think you may have to recreate them by hand.

Alex

On Thu, 25 Jun 2020 at 18:04, Steve Sakoman <steve@sakoman.com> wrote:

> Is this patch series suitable for dunfell as-is (the concern being the
> contents of the version bump) or would a backport to 66.1 be
> necessary?
>
> Steve
>
> On Tue, Jun 23, 2020 at 11:09 AM Alexander Kanavin
> <alex.kanavin@gmail.com> wrote:
> >
> > Both parts are rather convoluted, so it is better to have them in a
> single file.
> >
> > Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> > ---
> >  meta/recipes-support/icu/icu.inc     | 84 ---------------------------
> >  meta/recipes-support/icu/icu_67.1.bb | 85 +++++++++++++++++++++++++++-
> >  2 files changed, 84 insertions(+), 85 deletions(-)
> >  delete mode 100644 meta/recipes-support/icu/icu.inc
> >
> > diff --git a/meta/recipes-support/icu/icu.inc
> b/meta/recipes-support/icu/icu.inc
> > deleted file mode 100644
> > index 6d9728903d..0000000000
> > --- a/meta/recipes-support/icu/icu.inc
> > +++ /dev/null
> > @@ -1,84 +0,0 @@
> > -SUMMARY = "International Component for Unicode libraries"
> > -DESCRIPTION = "The International Component for Unicode (ICU) is a
> mature, \
> > -portable set of C/C++ and Java libraries for Unicode support, software \
> > -internationalization (I18N) and globalization (G11N), giving
> applications the \
> > -same results on all platforms."
> > -HOMEPAGE = "http://site.icu-project.org/"
> > -
> > -LICENSE = "ICU"
> > -DEPENDS = "icu-native"
> > -DEPENDS_class-native = ""
> > -
> > -CVE_PRODUCT = "international_components_for_unicode"
> > -
> > -S = "${WORKDIR}/icu/source"
> > -SPDX_S = "${WORKDIR}/icu"
> > -STAGING_ICU_DIR_NATIVE = "${STAGING_DATADIR_NATIVE}/${BPN}/${PV}"
> > -
> > -BINCONFIG = "${bindir}/icu-config"
> > -
> > -ICU_MAJOR_VER = "${@d.getVar('PV').split('.')[0]}"
> > -
> > -inherit autotools pkgconfig binconfig multilib_script
> > -
> > -MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/icu-config"
> > -
> > -# ICU needs the native build directory as an argument to its
> --with-cross-build option when
> > -# cross-compiling. Taken the situation that different builds may share
> a common sstate-cache
> > -# into consideration, the native build directory needs to be staged.
> > -EXTRA_OECONF = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
> > -EXTRA_OECONF_class-native = ""
> > -EXTRA_OECONF_class-nativesdk =
> "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
> > -
> > -EXTRA_OECONF_append_class-target =
> "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', '
> --with-data-packaging=archive', '', d)}"
> > -TARGET_CXXFLAGS_append =
> "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', '
> -DICU_DATA_DIR=\\""${datadir}/${BPN}/${PV}\\""', '', d)}"
> > -
> > -ASNEEDED = ""
> > -
> > -do_compile_prepend_class-target () {
> > -       # Make sure certain build host references do not end up being
> compiled
> > -       # in the image. This only affects libicutu and icu-dbg
> > -       sed  \
> > -           -e 's,DU_BUILD=,DU_BUILD_unused=,g' \
> > -           -e '/^CPPFLAGS.*/ s,--sysroot=${STAGING_DIR_TARGET},,g' \
> > -           -i ${B}/tools/toolutil/Makefile
> > -}
> > -
> > -PREPROCESS_RELOCATE_DIRS = "${datadir}/${BPN}/${PV}"
> > -do_install_append_class-native() {
> > -       mkdir -p ${D}/${STAGING_ICU_DIR_NATIVE}/config
> > -       cp -r ${B}/config/icucross.mk
> ${D}/${STAGING_ICU_DIR_NATIVE}/config
> > -       cp -r ${B}/config/icucross.inc
> ${D}/${STAGING_ICU_DIR_NATIVE}/config
> > -       cp -r ${B}/lib ${D}/${STAGING_ICU_DIR_NATIVE}
> > -       cp -r ${B}/bin ${D}/${STAGING_ICU_DIR_NATIVE}
> > -       cp -r ${B}/tools ${D}/${STAGING_ICU_DIR_NATIVE}
> > -}
> > -
> > -do_install_append_class-target() {
> > -    # The native pkgdata can not generate the correct data file.
> > -    # Use icupkg to re-generate it.
> > -    if [ "${SITEINFO_ENDIANNESS}" = "be" ] ; then
> > -        rm -f ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
> > -        icupkg -tb ${S}/data/in/icudt${ICU_MAJOR_VER}l.dat
> ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
> > -    fi
> > -
> > -       # Remove build host references...
> > -       sed -i  \
> > -           -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
> > -           -e 's|${DEBUG_PREFIX_MAP}||g' \
> > -           -e 's:${HOSTTOOLS_DIR}/::g' \
> > -           ${D}/${bindir}/icu-config
> ${D}/${libdir}/${BPN}/${PV}/Makefile.inc \
> > -           ${D}/${libdir}/${BPN}/${PV}/pkgdata.inc
> > -}
> > -
> > -PACKAGES =+ "libicudata libicuuc libicui18n libicutu libicuio"
> > -
> > -FILES_${PN}-dev += "${libdir}/${BPN}/"
> > -
> > -FILES_libicudata = "${libdir}/libicudata.so.*"
> > -FILES_libicuuc = "${libdir}/libicuuc.so.*"
> > -FILES_libicui18n = "${libdir}/libicui18n.so.*"
> > -FILES_libicutu = "${libdir}/libicutu.so.*"
> > -FILES_libicuio = "${libdir}/libicuio.so.*"
> > -
> > -BBCLASSEXTEND = "native nativesdk"
> > diff --git a/meta/recipes-support/icu/icu_67.1.bb
> b/meta/recipes-support/icu/icu_67.1.bb
> > index 58638507c9..5814fa41bd 100644
> > --- a/meta/recipes-support/icu/icu_67.1.bb
> > +++ b/meta/recipes-support/icu/icu_67.1.bb
> > @@ -1,4 +1,87 @@
> > -require icu.inc
> > +SUMMARY = "International Component for Unicode libraries"
> > +DESCRIPTION = "The International Component for Unicode (ICU) is a
> mature, \
> > +portable set of C/C++ and Java libraries for Unicode support, software \
> > +internationalization (I18N) and globalization (G11N), giving
> applications the \
> > +same results on all platforms."
> > +HOMEPAGE = "http://site.icu-project.org/"
> > +
> > +LICENSE = "ICU"
> > +DEPENDS = "icu-native"
> > +DEPENDS_class-native = ""
> > +
> > +CVE_PRODUCT = "international_components_for_unicode"
> > +
> > +S = "${WORKDIR}/icu/source"
> > +SPDX_S = "${WORKDIR}/icu"
> > +STAGING_ICU_DIR_NATIVE = "${STAGING_DATADIR_NATIVE}/${BPN}/${PV}"
> > +
> > +BINCONFIG = "${bindir}/icu-config"
> > +
> > +ICU_MAJOR_VER = "${@d.getVar('PV').split('.')[0]}"
> > +
> > +inherit autotools pkgconfig binconfig multilib_script
> > +
> > +MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/icu-config"
> > +
> > +# ICU needs the native build directory as an argument to its
> --with-cross-build option when
> > +# cross-compiling. Taken the situation that different builds may share
> a common sstate-cache
> > +# into consideration, the native build directory needs to be staged.
> > +EXTRA_OECONF = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
> > +EXTRA_OECONF_class-native = ""
> > +EXTRA_OECONF_class-nativesdk =
> "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
> > +
> > +EXTRA_OECONF_append_class-target =
> "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', '
> --with-data-packaging=archive', '', d)}"
> > +TARGET_CXXFLAGS_append =
> "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', '
> -DICU_DATA_DIR=\\""${datadir}/${BPN}/${PV}\\""', '', d)}"
> > +
> > +ASNEEDED = ""
> > +
> > +do_compile_prepend_class-target () {
> > +       # Make sure certain build host references do not end up being
> compiled
> > +       # in the image. This only affects libicutu and icu-dbg
> > +       sed  \
> > +           -e 's,DU_BUILD=,DU_BUILD_unused=,g' \
> > +           -e '/^CPPFLAGS.*/ s,--sysroot=${STAGING_DIR_TARGET},,g' \
> > +           -i ${B}/tools/toolutil/Makefile
> > +}
> > +
> > +PREPROCESS_RELOCATE_DIRS = "${datadir}/${BPN}/${PV}"
> > +do_install_append_class-native() {
> > +       mkdir -p ${D}/${STAGING_ICU_DIR_NATIVE}/config
> > +       cp -r ${B}/config/icucross.mk
> ${D}/${STAGING_ICU_DIR_NATIVE}/config
> > +       cp -r ${B}/config/icucross.inc
> ${D}/${STAGING_ICU_DIR_NATIVE}/config
> > +       cp -r ${B}/lib ${D}/${STAGING_ICU_DIR_NATIVE}
> > +       cp -r ${B}/bin ${D}/${STAGING_ICU_DIR_NATIVE}
> > +       cp -r ${B}/tools ${D}/${STAGING_ICU_DIR_NATIVE}
> > +}
> > +
> > +do_install_append_class-target() {
> > +    # The native pkgdata can not generate the correct data file.
> > +    # Use icupkg to re-generate it.
> > +    if [ "${SITEINFO_ENDIANNESS}" = "be" ] ; then
> > +        rm -f ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
> > +        icupkg -tb ${S}/data/in/icudt${ICU_MAJOR_VER}l.dat
> ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
> > +    fi
> > +
> > +       # Remove build host references...
> > +       sed -i  \
> > +           -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
> > +           -e 's|${DEBUG_PREFIX_MAP}||g' \
> > +           -e 's:${HOSTTOOLS_DIR}/::g' \
> > +           ${D}/${bindir}/icu-config
> ${D}/${libdir}/${BPN}/${PV}/Makefile.inc \
> > +           ${D}/${libdir}/${BPN}/${PV}/pkgdata.inc
> > +}
> > +
> > +PACKAGES =+ "libicudata libicuuc libicui18n libicutu libicuio"
> > +
> > +FILES_${PN}-dev += "${libdir}/${BPN}/"
> > +
> > +FILES_libicudata = "${libdir}/libicudata.so.*"
> > +FILES_libicuuc = "${libdir}/libicuuc.so.*"
> > +FILES_libicui18n = "${libdir}/libicui18n.so.*"
> > +FILES_libicutu = "${libdir}/libicutu.so.*"
> > +FILES_libicuio = "${libdir}/libicuio.so.*"
> > +
> > +BBCLASSEXTEND = "native nativesdk"
> >
> >  LIC_FILES_CHKSUM =
> "file://../LICENSE;md5=a3808a5b70071b07f87ff2205e4d75a0"
> >
> > --
> > 2.27.0
> >
> > 
>

[-- Attachment #2: Type: text/html, Size: 12441 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [OE-core] [PATCH 1/2] icu: merge .inc into main recipe
  2020-06-25 16:09   ` Alexander Kanavin
@ 2020-06-25 16:23     ` Steve Sakoman
  2020-06-26 15:26       ` Steve Sakoman
  0 siblings, 1 reply; 18+ messages in thread
From: Steve Sakoman @ 2020-06-25 16:23 UTC (permalink / raw)
  To: Alexander Kanavin; +Cc: Patches and discussions about the oe-core layer

On Thu, Jun 25, 2020 at 6:09 AM Alexander Kanavin
<alex.kanavin@gmail.com> wrote:
>
> I think you may have to recreate them by hand.

OK, I'll put together a patch for the 66.1 recipe in dunfell that
implements the changes you have in the second patch of the series.  In
the interest of minimizing changes I'll keep the .inc file separate as
is.

Thanks for the quick response.

Steve

> On Thu, 25 Jun 2020 at 18:04, Steve Sakoman <steve@sakoman.com> wrote:
>>
>> Is this patch series suitable for dunfell as-is (the concern being the
>> contents of the version bump) or would a backport to 66.1 be
>> necessary?
>>
>> Steve
>>
>> On Tue, Jun 23, 2020 at 11:09 AM Alexander Kanavin
>> <alex.kanavin@gmail.com> wrote:
>> >
>> > Both parts are rather convoluted, so it is better to have them in a single file.
>> >
>> > Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
>> > ---
>> >  meta/recipes-support/icu/icu.inc     | 84 ---------------------------
>> >  meta/recipes-support/icu/icu_67.1.bb | 85 +++++++++++++++++++++++++++-
>> >  2 files changed, 84 insertions(+), 85 deletions(-)
>> >  delete mode 100644 meta/recipes-support/icu/icu.inc
>> >
>> > diff --git a/meta/recipes-support/icu/icu.inc b/meta/recipes-support/icu/icu.inc
>> > deleted file mode 100644
>> > index 6d9728903d..0000000000
>> > --- a/meta/recipes-support/icu/icu.inc
>> > +++ /dev/null
>> > @@ -1,84 +0,0 @@
>> > -SUMMARY = "International Component for Unicode libraries"
>> > -DESCRIPTION = "The International Component for Unicode (ICU) is a mature, \
>> > -portable set of C/C++ and Java libraries for Unicode support, software \
>> > -internationalization (I18N) and globalization (G11N), giving applications the \
>> > -same results on all platforms."
>> > -HOMEPAGE = "http://site.icu-project.org/"
>> > -
>> > -LICENSE = "ICU"
>> > -DEPENDS = "icu-native"
>> > -DEPENDS_class-native = ""
>> > -
>> > -CVE_PRODUCT = "international_components_for_unicode"
>> > -
>> > -S = "${WORKDIR}/icu/source"
>> > -SPDX_S = "${WORKDIR}/icu"
>> > -STAGING_ICU_DIR_NATIVE = "${STAGING_DATADIR_NATIVE}/${BPN}/${PV}"
>> > -
>> > -BINCONFIG = "${bindir}/icu-config"
>> > -
>> > -ICU_MAJOR_VER = "${@d.getVar('PV').split('.')[0]}"
>> > -
>> > -inherit autotools pkgconfig binconfig multilib_script
>> > -
>> > -MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/icu-config"
>> > -
>> > -# ICU needs the native build directory as an argument to its --with-cross-build option when
>> > -# cross-compiling. Taken the situation that different builds may share a common sstate-cache
>> > -# into consideration, the native build directory needs to be staged.
>> > -EXTRA_OECONF = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
>> > -EXTRA_OECONF_class-native = ""
>> > -EXTRA_OECONF_class-nativesdk = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
>> > -
>> > -EXTRA_OECONF_append_class-target = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' --with-data-packaging=archive', '', d)}"
>> > -TARGET_CXXFLAGS_append = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' -DICU_DATA_DIR=\\""${datadir}/${BPN}/${PV}\\""', '', d)}"
>> > -
>> > -ASNEEDED = ""
>> > -
>> > -do_compile_prepend_class-target () {
>> > -       # Make sure certain build host references do not end up being compiled
>> > -       # in the image. This only affects libicutu and icu-dbg
>> > -       sed  \
>> > -           -e 's,DU_BUILD=,DU_BUILD_unused=,g' \
>> > -           -e '/^CPPFLAGS.*/ s,--sysroot=${STAGING_DIR_TARGET},,g' \
>> > -           -i ${B}/tools/toolutil/Makefile
>> > -}
>> > -
>> > -PREPROCESS_RELOCATE_DIRS = "${datadir}/${BPN}/${PV}"
>> > -do_install_append_class-native() {
>> > -       mkdir -p ${D}/${STAGING_ICU_DIR_NATIVE}/config
>> > -       cp -r ${B}/config/icucross.mk ${D}/${STAGING_ICU_DIR_NATIVE}/config
>> > -       cp -r ${B}/config/icucross.inc ${D}/${STAGING_ICU_DIR_NATIVE}/config
>> > -       cp -r ${B}/lib ${D}/${STAGING_ICU_DIR_NATIVE}
>> > -       cp -r ${B}/bin ${D}/${STAGING_ICU_DIR_NATIVE}
>> > -       cp -r ${B}/tools ${D}/${STAGING_ICU_DIR_NATIVE}
>> > -}
>> > -
>> > -do_install_append_class-target() {
>> > -    # The native pkgdata can not generate the correct data file.
>> > -    # Use icupkg to re-generate it.
>> > -    if [ "${SITEINFO_ENDIANNESS}" = "be" ] ; then
>> > -        rm -f ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
>> > -        icupkg -tb ${S}/data/in/icudt${ICU_MAJOR_VER}l.dat ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
>> > -    fi
>> > -
>> > -       # Remove build host references...
>> > -       sed -i  \
>> > -           -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
>> > -           -e 's|${DEBUG_PREFIX_MAP}||g' \
>> > -           -e 's:${HOSTTOOLS_DIR}/::g' \
>> > -           ${D}/${bindir}/icu-config ${D}/${libdir}/${BPN}/${PV}/Makefile.inc \
>> > -           ${D}/${libdir}/${BPN}/${PV}/pkgdata.inc
>> > -}
>> > -
>> > -PACKAGES =+ "libicudata libicuuc libicui18n libicutu libicuio"
>> > -
>> > -FILES_${PN}-dev += "${libdir}/${BPN}/"
>> > -
>> > -FILES_libicudata = "${libdir}/libicudata.so.*"
>> > -FILES_libicuuc = "${libdir}/libicuuc.so.*"
>> > -FILES_libicui18n = "${libdir}/libicui18n.so.*"
>> > -FILES_libicutu = "${libdir}/libicutu.so.*"
>> > -FILES_libicuio = "${libdir}/libicuio.so.*"
>> > -
>> > -BBCLASSEXTEND = "native nativesdk"
>> > diff --git a/meta/recipes-support/icu/icu_67.1.bb b/meta/recipes-support/icu/icu_67.1.bb
>> > index 58638507c9..5814fa41bd 100644
>> > --- a/meta/recipes-support/icu/icu_67.1.bb
>> > +++ b/meta/recipes-support/icu/icu_67.1.bb
>> > @@ -1,4 +1,87 @@
>> > -require icu.inc
>> > +SUMMARY = "International Component for Unicode libraries"
>> > +DESCRIPTION = "The International Component for Unicode (ICU) is a mature, \
>> > +portable set of C/C++ and Java libraries for Unicode support, software \
>> > +internationalization (I18N) and globalization (G11N), giving applications the \
>> > +same results on all platforms."
>> > +HOMEPAGE = "http://site.icu-project.org/"
>> > +
>> > +LICENSE = "ICU"
>> > +DEPENDS = "icu-native"
>> > +DEPENDS_class-native = ""
>> > +
>> > +CVE_PRODUCT = "international_components_for_unicode"
>> > +
>> > +S = "${WORKDIR}/icu/source"
>> > +SPDX_S = "${WORKDIR}/icu"
>> > +STAGING_ICU_DIR_NATIVE = "${STAGING_DATADIR_NATIVE}/${BPN}/${PV}"
>> > +
>> > +BINCONFIG = "${bindir}/icu-config"
>> > +
>> > +ICU_MAJOR_VER = "${@d.getVar('PV').split('.')[0]}"
>> > +
>> > +inherit autotools pkgconfig binconfig multilib_script
>> > +
>> > +MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/icu-config"
>> > +
>> > +# ICU needs the native build directory as an argument to its --with-cross-build option when
>> > +# cross-compiling. Taken the situation that different builds may share a common sstate-cache
>> > +# into consideration, the native build directory needs to be staged.
>> > +EXTRA_OECONF = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
>> > +EXTRA_OECONF_class-native = ""
>> > +EXTRA_OECONF_class-nativesdk = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
>> > +
>> > +EXTRA_OECONF_append_class-target = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' --with-data-packaging=archive', '', d)}"
>> > +TARGET_CXXFLAGS_append = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' -DICU_DATA_DIR=\\""${datadir}/${BPN}/${PV}\\""', '', d)}"
>> > +
>> > +ASNEEDED = ""
>> > +
>> > +do_compile_prepend_class-target () {
>> > +       # Make sure certain build host references do not end up being compiled
>> > +       # in the image. This only affects libicutu and icu-dbg
>> > +       sed  \
>> > +           -e 's,DU_BUILD=,DU_BUILD_unused=,g' \
>> > +           -e '/^CPPFLAGS.*/ s,--sysroot=${STAGING_DIR_TARGET},,g' \
>> > +           -i ${B}/tools/toolutil/Makefile
>> > +}
>> > +
>> > +PREPROCESS_RELOCATE_DIRS = "${datadir}/${BPN}/${PV}"
>> > +do_install_append_class-native() {
>> > +       mkdir -p ${D}/${STAGING_ICU_DIR_NATIVE}/config
>> > +       cp -r ${B}/config/icucross.mk ${D}/${STAGING_ICU_DIR_NATIVE}/config
>> > +       cp -r ${B}/config/icucross.inc ${D}/${STAGING_ICU_DIR_NATIVE}/config
>> > +       cp -r ${B}/lib ${D}/${STAGING_ICU_DIR_NATIVE}
>> > +       cp -r ${B}/bin ${D}/${STAGING_ICU_DIR_NATIVE}
>> > +       cp -r ${B}/tools ${D}/${STAGING_ICU_DIR_NATIVE}
>> > +}
>> > +
>> > +do_install_append_class-target() {
>> > +    # The native pkgdata can not generate the correct data file.
>> > +    # Use icupkg to re-generate it.
>> > +    if [ "${SITEINFO_ENDIANNESS}" = "be" ] ; then
>> > +        rm -f ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
>> > +        icupkg -tb ${S}/data/in/icudt${ICU_MAJOR_VER}l.dat ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
>> > +    fi
>> > +
>> > +       # Remove build host references...
>> > +       sed -i  \
>> > +           -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
>> > +           -e 's|${DEBUG_PREFIX_MAP}||g' \
>> > +           -e 's:${HOSTTOOLS_DIR}/::g' \
>> > +           ${D}/${bindir}/icu-config ${D}/${libdir}/${BPN}/${PV}/Makefile.inc \
>> > +           ${D}/${libdir}/${BPN}/${PV}/pkgdata.inc
>> > +}
>> > +
>> > +PACKAGES =+ "libicudata libicuuc libicui18n libicutu libicuio"
>> > +
>> > +FILES_${PN}-dev += "${libdir}/${BPN}/"
>> > +
>> > +FILES_libicudata = "${libdir}/libicudata.so.*"
>> > +FILES_libicuuc = "${libdir}/libicuuc.so.*"
>> > +FILES_libicui18n = "${libdir}/libicui18n.so.*"
>> > +FILES_libicutu = "${libdir}/libicutu.so.*"
>> > +FILES_libicuio = "${libdir}/libicuio.so.*"
>> > +
>> > +BBCLASSEXTEND = "native nativesdk"
>> >
>> >  LIC_FILES_CHKSUM = "file://../LICENSE;md5=a3808a5b70071b07f87ff2205e4d75a0"
>> >
>> > --
>> > 2.27.0
>> >
>> > 

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [OE-core] [PATCH 1/2] icu: merge .inc into main recipe
  2020-06-25 16:23     ` Steve Sakoman
@ 2020-06-26 15:26       ` Steve Sakoman
  2020-06-26 15:47         ` Alexander Kanavin
  2020-06-26 15:49         ` Ross Burton
  0 siblings, 2 replies; 18+ messages in thread
From: Steve Sakoman @ 2020-06-26 15:26 UTC (permalink / raw)
  To: Alexander Kanavin
  Cc: Patches and discussions about the oe-core layer, Khem Raj

On Thu, Jun 25, 2020 at 6:23 AM Steve Sakoman <steve@sakoman.com> wrote:
>
> On Thu, Jun 25, 2020 at 6:09 AM Alexander Kanavin
> <alex.kanavin@gmail.com> wrote:
> >
> > I think you may have to recreate them by hand.
>
> OK, I'll put together a patch for the 66.1 recipe in dunfell that
> implements the changes you have in the second patch of the series.  In
> the interest of minimizing changes I'll keep the .inc file separate as
> is.

I recreated the patch for 66.1 and did a couple of quick local builds
and things looked fine.

On the autobuilder I get failures for edgerouter and mips.  I seem to
recall some discussion about this (perhaps on irc?) but can only find
one thread here on the list back when Khem's original patch went in.

Did you recall any issues like this?

Steve


> > On Thu, 25 Jun 2020 at 18:04, Steve Sakoman <steve@sakoman.com> wrote:
> >>
> >> Is this patch series suitable for dunfell as-is (the concern being the
> >> contents of the version bump) or would a backport to 66.1 be
> >> necessary?
> >>
> >> Steve
> >>
> >> On Tue, Jun 23, 2020 at 11:09 AM Alexander Kanavin
> >> <alex.kanavin@gmail.com> wrote:
> >> >
> >> > Both parts are rather convoluted, so it is better to have them in a single file.
> >> >
> >> > Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> >> > ---
> >> >  meta/recipes-support/icu/icu.inc     | 84 ---------------------------
> >> >  meta/recipes-support/icu/icu_67.1.bb | 85 +++++++++++++++++++++++++++-
> >> >  2 files changed, 84 insertions(+), 85 deletions(-)
> >> >  delete mode 100644 meta/recipes-support/icu/icu.inc
> >> >
> >> > diff --git a/meta/recipes-support/icu/icu.inc b/meta/recipes-support/icu/icu.inc
> >> > deleted file mode 100644
> >> > index 6d9728903d..0000000000
> >> > --- a/meta/recipes-support/icu/icu.inc
> >> > +++ /dev/null
> >> > @@ -1,84 +0,0 @@
> >> > -SUMMARY = "International Component for Unicode libraries"
> >> > -DESCRIPTION = "The International Component for Unicode (ICU) is a mature, \
> >> > -portable set of C/C++ and Java libraries for Unicode support, software \
> >> > -internationalization (I18N) and globalization (G11N), giving applications the \
> >> > -same results on all platforms."
> >> > -HOMEPAGE = "http://site.icu-project.org/"
> >> > -
> >> > -LICENSE = "ICU"
> >> > -DEPENDS = "icu-native"
> >> > -DEPENDS_class-native = ""
> >> > -
> >> > -CVE_PRODUCT = "international_components_for_unicode"
> >> > -
> >> > -S = "${WORKDIR}/icu/source"
> >> > -SPDX_S = "${WORKDIR}/icu"
> >> > -STAGING_ICU_DIR_NATIVE = "${STAGING_DATADIR_NATIVE}/${BPN}/${PV}"
> >> > -
> >> > -BINCONFIG = "${bindir}/icu-config"
> >> > -
> >> > -ICU_MAJOR_VER = "${@d.getVar('PV').split('.')[0]}"
> >> > -
> >> > -inherit autotools pkgconfig binconfig multilib_script
> >> > -
> >> > -MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/icu-config"
> >> > -
> >> > -# ICU needs the native build directory as an argument to its --with-cross-build option when
> >> > -# cross-compiling. Taken the situation that different builds may share a common sstate-cache
> >> > -# into consideration, the native build directory needs to be staged.
> >> > -EXTRA_OECONF = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
> >> > -EXTRA_OECONF_class-native = ""
> >> > -EXTRA_OECONF_class-nativesdk = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
> >> > -
> >> > -EXTRA_OECONF_append_class-target = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' --with-data-packaging=archive', '', d)}"
> >> > -TARGET_CXXFLAGS_append = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' -DICU_DATA_DIR=\\""${datadir}/${BPN}/${PV}\\""', '', d)}"
> >> > -
> >> > -ASNEEDED = ""
> >> > -
> >> > -do_compile_prepend_class-target () {
> >> > -       # Make sure certain build host references do not end up being compiled
> >> > -       # in the image. This only affects libicutu and icu-dbg
> >> > -       sed  \
> >> > -           -e 's,DU_BUILD=,DU_BUILD_unused=,g' \
> >> > -           -e '/^CPPFLAGS.*/ s,--sysroot=${STAGING_DIR_TARGET},,g' \
> >> > -           -i ${B}/tools/toolutil/Makefile
> >> > -}
> >> > -
> >> > -PREPROCESS_RELOCATE_DIRS = "${datadir}/${BPN}/${PV}"
> >> > -do_install_append_class-native() {
> >> > -       mkdir -p ${D}/${STAGING_ICU_DIR_NATIVE}/config
> >> > -       cp -r ${B}/config/icucross.mk ${D}/${STAGING_ICU_DIR_NATIVE}/config
> >> > -       cp -r ${B}/config/icucross.inc ${D}/${STAGING_ICU_DIR_NATIVE}/config
> >> > -       cp -r ${B}/lib ${D}/${STAGING_ICU_DIR_NATIVE}
> >> > -       cp -r ${B}/bin ${D}/${STAGING_ICU_DIR_NATIVE}
> >> > -       cp -r ${B}/tools ${D}/${STAGING_ICU_DIR_NATIVE}
> >> > -}
> >> > -
> >> > -do_install_append_class-target() {
> >> > -    # The native pkgdata can not generate the correct data file.
> >> > -    # Use icupkg to re-generate it.
> >> > -    if [ "${SITEINFO_ENDIANNESS}" = "be" ] ; then
> >> > -        rm -f ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
> >> > -        icupkg -tb ${S}/data/in/icudt${ICU_MAJOR_VER}l.dat ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
> >> > -    fi
> >> > -
> >> > -       # Remove build host references...
> >> > -       sed -i  \
> >> > -           -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
> >> > -           -e 's|${DEBUG_PREFIX_MAP}||g' \
> >> > -           -e 's:${HOSTTOOLS_DIR}/::g' \
> >> > -           ${D}/${bindir}/icu-config ${D}/${libdir}/${BPN}/${PV}/Makefile.inc \
> >> > -           ${D}/${libdir}/${BPN}/${PV}/pkgdata.inc
> >> > -}
> >> > -
> >> > -PACKAGES =+ "libicudata libicuuc libicui18n libicutu libicuio"
> >> > -
> >> > -FILES_${PN}-dev += "${libdir}/${BPN}/"
> >> > -
> >> > -FILES_libicudata = "${libdir}/libicudata.so.*"
> >> > -FILES_libicuuc = "${libdir}/libicuuc.so.*"
> >> > -FILES_libicui18n = "${libdir}/libicui18n.so.*"
> >> > -FILES_libicutu = "${libdir}/libicutu.so.*"
> >> > -FILES_libicuio = "${libdir}/libicuio.so.*"
> >> > -
> >> > -BBCLASSEXTEND = "native nativesdk"
> >> > diff --git a/meta/recipes-support/icu/icu_67.1.bb b/meta/recipes-support/icu/icu_67.1.bb
> >> > index 58638507c9..5814fa41bd 100644
> >> > --- a/meta/recipes-support/icu/icu_67.1.bb
> >> > +++ b/meta/recipes-support/icu/icu_67.1.bb
> >> > @@ -1,4 +1,87 @@
> >> > -require icu.inc
> >> > +SUMMARY = "International Component for Unicode libraries"
> >> > +DESCRIPTION = "The International Component for Unicode (ICU) is a mature, \
> >> > +portable set of C/C++ and Java libraries for Unicode support, software \
> >> > +internationalization (I18N) and globalization (G11N), giving applications the \
> >> > +same results on all platforms."
> >> > +HOMEPAGE = "http://site.icu-project.org/"
> >> > +
> >> > +LICENSE = "ICU"
> >> > +DEPENDS = "icu-native"
> >> > +DEPENDS_class-native = ""
> >> > +
> >> > +CVE_PRODUCT = "international_components_for_unicode"
> >> > +
> >> > +S = "${WORKDIR}/icu/source"
> >> > +SPDX_S = "${WORKDIR}/icu"
> >> > +STAGING_ICU_DIR_NATIVE = "${STAGING_DATADIR_NATIVE}/${BPN}/${PV}"
> >> > +
> >> > +BINCONFIG = "${bindir}/icu-config"
> >> > +
> >> > +ICU_MAJOR_VER = "${@d.getVar('PV').split('.')[0]}"
> >> > +
> >> > +inherit autotools pkgconfig binconfig multilib_script
> >> > +
> >> > +MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/icu-config"
> >> > +
> >> > +# ICU needs the native build directory as an argument to its --with-cross-build option when
> >> > +# cross-compiling. Taken the situation that different builds may share a common sstate-cache
> >> > +# into consideration, the native build directory needs to be staged.
> >> > +EXTRA_OECONF = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
> >> > +EXTRA_OECONF_class-native = ""
> >> > +EXTRA_OECONF_class-nativesdk = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
> >> > +
> >> > +EXTRA_OECONF_append_class-target = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' --with-data-packaging=archive', '', d)}"
> >> > +TARGET_CXXFLAGS_append = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' -DICU_DATA_DIR=\\""${datadir}/${BPN}/${PV}\\""', '', d)}"
> >> > +
> >> > +ASNEEDED = ""
> >> > +
> >> > +do_compile_prepend_class-target () {
> >> > +       # Make sure certain build host references do not end up being compiled
> >> > +       # in the image. This only affects libicutu and icu-dbg
> >> > +       sed  \
> >> > +           -e 's,DU_BUILD=,DU_BUILD_unused=,g' \
> >> > +           -e '/^CPPFLAGS.*/ s,--sysroot=${STAGING_DIR_TARGET},,g' \
> >> > +           -i ${B}/tools/toolutil/Makefile
> >> > +}
> >> > +
> >> > +PREPROCESS_RELOCATE_DIRS = "${datadir}/${BPN}/${PV}"
> >> > +do_install_append_class-native() {
> >> > +       mkdir -p ${D}/${STAGING_ICU_DIR_NATIVE}/config
> >> > +       cp -r ${B}/config/icucross.mk ${D}/${STAGING_ICU_DIR_NATIVE}/config
> >> > +       cp -r ${B}/config/icucross.inc ${D}/${STAGING_ICU_DIR_NATIVE}/config
> >> > +       cp -r ${B}/lib ${D}/${STAGING_ICU_DIR_NATIVE}
> >> > +       cp -r ${B}/bin ${D}/${STAGING_ICU_DIR_NATIVE}
> >> > +       cp -r ${B}/tools ${D}/${STAGING_ICU_DIR_NATIVE}
> >> > +}
> >> > +
> >> > +do_install_append_class-target() {
> >> > +    # The native pkgdata can not generate the correct data file.
> >> > +    # Use icupkg to re-generate it.
> >> > +    if [ "${SITEINFO_ENDIANNESS}" = "be" ] ; then
> >> > +        rm -f ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
> >> > +        icupkg -tb ${S}/data/in/icudt${ICU_MAJOR_VER}l.dat ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
> >> > +    fi
> >> > +
> >> > +       # Remove build host references...
> >> > +       sed -i  \
> >> > +           -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
> >> > +           -e 's|${DEBUG_PREFIX_MAP}||g' \
> >> > +           -e 's:${HOSTTOOLS_DIR}/::g' \
> >> > +           ${D}/${bindir}/icu-config ${D}/${libdir}/${BPN}/${PV}/Makefile.inc \
> >> > +           ${D}/${libdir}/${BPN}/${PV}/pkgdata.inc
> >> > +}
> >> > +
> >> > +PACKAGES =+ "libicudata libicuuc libicui18n libicutu libicuio"
> >> > +
> >> > +FILES_${PN}-dev += "${libdir}/${BPN}/"
> >> > +
> >> > +FILES_libicudata = "${libdir}/libicudata.so.*"
> >> > +FILES_libicuuc = "${libdir}/libicuuc.so.*"
> >> > +FILES_libicui18n = "${libdir}/libicui18n.so.*"
> >> > +FILES_libicutu = "${libdir}/libicutu.so.*"
> >> > +FILES_libicuio = "${libdir}/libicuio.so.*"
> >> > +
> >> > +BBCLASSEXTEND = "native nativesdk"
> >> >
> >> >  LIC_FILES_CHKSUM = "file://../LICENSE;md5=a3808a5b70071b07f87ff2205e4d75a0"
> >> >
> >> > --
> >> > 2.27.0
> >> >
> >> > 

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [OE-core] [PATCH 1/2] icu: merge .inc into main recipe
  2020-06-26 15:26       ` Steve Sakoman
@ 2020-06-26 15:47         ` Alexander Kanavin
  2020-06-26 15:58           ` Steve Sakoman
  2020-06-26 15:49         ` Ross Burton
  1 sibling, 1 reply; 18+ messages in thread
From: Alexander Kanavin @ 2020-06-26 15:47 UTC (permalink / raw)
  To: Steve Sakoman; +Cc: Khem Raj, Patches and discussions about the oe-core layer

[-- Attachment #1: Type: text/plain, Size: 11342 bytes --]

Can you link to the failures please?

On Fri 26. Jun 2020 at 17.27, Steve Sakoman <steve@sakoman.com> wrote:

> On Thu, Jun 25, 2020 at 6:23 AM Steve Sakoman <steve@sakoman.com> wrote:
> >
> > On Thu, Jun 25, 2020 at 6:09 AM Alexander Kanavin
> > <alex.kanavin@gmail.com> wrote:
> > >
> > > I think you may have to recreate them by hand.
> >
> > OK, I'll put together a patch for the 66.1 recipe in dunfell that
> > implements the changes you have in the second patch of the series.  In
> > the interest of minimizing changes I'll keep the .inc file separate as
> > is.
>
> I recreated the patch for 66.1 and did a couple of quick local builds
> and things looked fine.
>
> On the autobuilder I get failures for edgerouter and mips.  I seem to
> recall some discussion about this (perhaps on irc?) but can only find
> one thread here on the list back when Khem's original patch went in.
>
> Did you recall any issues like this?
>
> Steve
>
>
> > > On Thu, 25 Jun 2020 at 18:04, Steve Sakoman <steve@sakoman.com> wrote:
> > >>
> > >> Is this patch series suitable for dunfell as-is (the concern being the
> > >> contents of the version bump) or would a backport to 66.1 be
> > >> necessary?
> > >>
> > >> Steve
> > >>
> > >> On Tue, Jun 23, 2020 at 11:09 AM Alexander Kanavin
> > >> <alex.kanavin@gmail.com> wrote:
> > >> >
> > >> > Both parts are rather convoluted, so it is better to have them in a
> single file.
> > >> >
> > >> > Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> > >> > ---
> > >> >  meta/recipes-support/icu/icu.inc     | 84
> ---------------------------
> > >> >  meta/recipes-support/icu/icu_67.1.bb | 85
> +++++++++++++++++++++++++++-
> > >> >  2 files changed, 84 insertions(+), 85 deletions(-)
> > >> >  delete mode 100644 meta/recipes-support/icu/icu.inc
> > >> >
> > >> > diff --git a/meta/recipes-support/icu/icu.inc
> b/meta/recipes-support/icu/icu.inc
> > >> > deleted file mode 100644
> > >> > index 6d9728903d..0000000000
> > >> > --- a/meta/recipes-support/icu/icu.inc
> > >> > +++ /dev/null
> > >> > @@ -1,84 +0,0 @@
> > >> > -SUMMARY = "International Component for Unicode libraries"
> > >> > -DESCRIPTION = "The International Component for Unicode (ICU) is a
> mature, \
> > >> > -portable set of C/C++ and Java libraries for Unicode support,
> software \
> > >> > -internationalization (I18N) and globalization (G11N), giving
> applications the \
> > >> > -same results on all platforms."
> > >> > -HOMEPAGE = "http://site.icu-project.org/"
> > >> > -
> > >> > -LICENSE = "ICU"
> > >> > -DEPENDS = "icu-native"
> > >> > -DEPENDS_class-native = ""
> > >> > -
> > >> > -CVE_PRODUCT = "international_components_for_unicode"
> > >> > -
> > >> > -S = "${WORKDIR}/icu/source"
> > >> > -SPDX_S = "${WORKDIR}/icu"
> > >> > -STAGING_ICU_DIR_NATIVE = "${STAGING_DATADIR_NATIVE}/${BPN}/${PV}"
> > >> > -
> > >> > -BINCONFIG = "${bindir}/icu-config"
> > >> > -
> > >> > -ICU_MAJOR_VER = "${@d.getVar('PV').split('.')[0]}"
> > >> > -
> > >> > -inherit autotools pkgconfig binconfig multilib_script
> > >> > -
> > >> > -MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/icu-config"
> > >> > -
> > >> > -# ICU needs the native build directory as an argument to its
> --with-cross-build option when
> > >> > -# cross-compiling. Taken the situation that different builds may
> share a common sstate-cache
> > >> > -# into consideration, the native build directory needs to be
> staged.
> > >> > -EXTRA_OECONF = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
> > >> > -EXTRA_OECONF_class-native = ""
> > >> > -EXTRA_OECONF_class-nativesdk =
> "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
> > >> > -
> > >> > -EXTRA_OECONF_append_class-target =
> "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', '
> --with-data-packaging=archive', '', d)}"
> > >> > -TARGET_CXXFLAGS_append =
> "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', '
> -DICU_DATA_DIR=\\""${datadir}/${BPN}/${PV}\\""', '', d)}"
> > >> > -
> > >> > -ASNEEDED = ""
> > >> > -
> > >> > -do_compile_prepend_class-target () {
> > >> > -       # Make sure certain build host references do not end up
> being compiled
> > >> > -       # in the image. This only affects libicutu and icu-dbg
> > >> > -       sed  \
> > >> > -           -e 's,DU_BUILD=,DU_BUILD_unused=,g' \
> > >> > -           -e '/^CPPFLAGS.*/ s,--sysroot=${STAGING_DIR_TARGET},,g'
> \
> > >> > -           -i ${B}/tools/toolutil/Makefile
> > >> > -}
> > >> > -
> > >> > -PREPROCESS_RELOCATE_DIRS = "${datadir}/${BPN}/${PV}"
> > >> > -do_install_append_class-native() {
> > >> > -       mkdir -p ${D}/${STAGING_ICU_DIR_NATIVE}/config
> > >> > -       cp -r ${B}/config/icucross.mk
> ${D}/${STAGING_ICU_DIR_NATIVE}/config
> > >> > -       cp -r ${B}/config/icucross.inc
> ${D}/${STAGING_ICU_DIR_NATIVE}/config
> > >> > -       cp -r ${B}/lib ${D}/${STAGING_ICU_DIR_NATIVE}
> > >> > -       cp -r ${B}/bin ${D}/${STAGING_ICU_DIR_NATIVE}
> > >> > -       cp -r ${B}/tools ${D}/${STAGING_ICU_DIR_NATIVE}
> > >> > -}
> > >> > -
> > >> > -do_install_append_class-target() {
> > >> > -    # The native pkgdata can not generate the correct data file.
> > >> > -    # Use icupkg to re-generate it.
> > >> > -    if [ "${SITEINFO_ENDIANNESS}" = "be" ] ; then
> > >> > -        rm -f
> ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
> > >> > -        icupkg -tb ${S}/data/in/icudt${ICU_MAJOR_VER}l.dat
> ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
> > >> > -    fi
> > >> > -
> > >> > -       # Remove build host references...
> > >> > -       sed -i  \
> > >> > -           -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
> > >> > -           -e 's|${DEBUG_PREFIX_MAP}||g' \
> > >> > -           -e 's:${HOSTTOOLS_DIR}/::g' \
> > >> > -           ${D}/${bindir}/icu-config
> ${D}/${libdir}/${BPN}/${PV}/Makefile.inc \
> > >> > -           ${D}/${libdir}/${BPN}/${PV}/pkgdata.inc
> > >> > -}
> > >> > -
> > >> > -PACKAGES =+ "libicudata libicuuc libicui18n libicutu libicuio"
> > >> > -
> > >> > -FILES_${PN}-dev += "${libdir}/${BPN}/"
> > >> > -
> > >> > -FILES_libicudata = "${libdir}/libicudata.so.*"
> > >> > -FILES_libicuuc = "${libdir}/libicuuc.so.*"
> > >> > -FILES_libicui18n = "${libdir}/libicui18n.so.*"
> > >> > -FILES_libicutu = "${libdir}/libicutu.so.*"
> > >> > -FILES_libicuio = "${libdir}/libicuio.so.*"
> > >> > -
> > >> > -BBCLASSEXTEND = "native nativesdk"
> > >> > diff --git a/meta/recipes-support/icu/icu_67.1.bb
> b/meta/recipes-support/icu/icu_67.1.bb
> > >> > index 58638507c9..5814fa41bd 100644
> > >> > --- a/meta/recipes-support/icu/icu_67.1.bb
> > >> > +++ b/meta/recipes-support/icu/icu_67.1.bb
> > >> > @@ -1,4 +1,87 @@
> > >> > -require icu.inc
> > >> > +SUMMARY = "International Component for Unicode libraries"
> > >> > +DESCRIPTION = "The International Component for Unicode (ICU) is a
> mature, \
> > >> > +portable set of C/C++ and Java libraries for Unicode support,
> software \
> > >> > +internationalization (I18N) and globalization (G11N), giving
> applications the \
> > >> > +same results on all platforms."
> > >> > +HOMEPAGE = "http://site.icu-project.org/"
> > >> > +
> > >> > +LICENSE = "ICU"
> > >> > +DEPENDS = "icu-native"
> > >> > +DEPENDS_class-native = ""
> > >> > +
> > >> > +CVE_PRODUCT = "international_components_for_unicode"
> > >> > +
> > >> > +S = "${WORKDIR}/icu/source"
> > >> > +SPDX_S = "${WORKDIR}/icu"
> > >> > +STAGING_ICU_DIR_NATIVE = "${STAGING_DATADIR_NATIVE}/${BPN}/${PV}"
> > >> > +
> > >> > +BINCONFIG = "${bindir}/icu-config"
> > >> > +
> > >> > +ICU_MAJOR_VER = "${@d.getVar('PV').split('.')[0]}"
> > >> > +
> > >> > +inherit autotools pkgconfig binconfig multilib_script
> > >> > +
> > >> > +MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/icu-config"
> > >> > +
> > >> > +# ICU needs the native build directory as an argument to its
> --with-cross-build option when
> > >> > +# cross-compiling. Taken the situation that different builds may
> share a common sstate-cache
> > >> > +# into consideration, the native build directory needs to be
> staged.
> > >> > +EXTRA_OECONF = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
> > >> > +EXTRA_OECONF_class-native = ""
> > >> > +EXTRA_OECONF_class-nativesdk =
> "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
> > >> > +
> > >> > +EXTRA_OECONF_append_class-target =
> "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', '
> --with-data-packaging=archive', '', d)}"
> > >> > +TARGET_CXXFLAGS_append =
> "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', '
> -DICU_DATA_DIR=\\""${datadir}/${BPN}/${PV}\\""', '', d)}"
> > >> > +
> > >> > +ASNEEDED = ""
> > >> > +
> > >> > +do_compile_prepend_class-target () {
> > >> > +       # Make sure certain build host references do not end up
> being compiled
> > >> > +       # in the image. This only affects libicutu and icu-dbg
> > >> > +       sed  \
> > >> > +           -e 's,DU_BUILD=,DU_BUILD_unused=,g' \
> > >> > +           -e '/^CPPFLAGS.*/ s,--sysroot=${STAGING_DIR_TARGET},,g'
> \
> > >> > +           -i ${B}/tools/toolutil/Makefile
> > >> > +}
> > >> > +
> > >> > +PREPROCESS_RELOCATE_DIRS = "${datadir}/${BPN}/${PV}"
> > >> > +do_install_append_class-native() {
> > >> > +       mkdir -p ${D}/${STAGING_ICU_DIR_NATIVE}/config
> > >> > +       cp -r ${B}/config/icucross.mk
> ${D}/${STAGING_ICU_DIR_NATIVE}/config
> > >> > +       cp -r ${B}/config/icucross.inc
> ${D}/${STAGING_ICU_DIR_NATIVE}/config
> > >> > +       cp -r ${B}/lib ${D}/${STAGING_ICU_DIR_NATIVE}
> > >> > +       cp -r ${B}/bin ${D}/${STAGING_ICU_DIR_NATIVE}
> > >> > +       cp -r ${B}/tools ${D}/${STAGING_ICU_DIR_NATIVE}
> > >> > +}
> > >> > +
> > >> > +do_install_append_class-target() {
> > >> > +    # The native pkgdata can not generate the correct data file.
> > >> > +    # Use icupkg to re-generate it.
> > >> > +    if [ "${SITEINFO_ENDIANNESS}" = "be" ] ; then
> > >> > +        rm -f
> ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
> > >> > +        icupkg -tb ${S}/data/in/icudt${ICU_MAJOR_VER}l.dat
> ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
> > >> > +    fi
> > >> > +
> > >> > +       # Remove build host references...
> > >> > +       sed -i  \
> > >> > +           -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
> > >> > +           -e 's|${DEBUG_PREFIX_MAP}||g' \
> > >> > +           -e 's:${HOSTTOOLS_DIR}/::g' \
> > >> > +           ${D}/${bindir}/icu-config
> ${D}/${libdir}/${BPN}/${PV}/Makefile.inc \
> > >> > +           ${D}/${libdir}/${BPN}/${PV}/pkgdata.inc
> > >> > +}
> > >> > +
> > >> > +PACKAGES =+ "libicudata libicuuc libicui18n libicutu libicuio"
> > >> > +
> > >> > +FILES_${PN}-dev += "${libdir}/${BPN}/"
> > >> > +
> > >> > +FILES_libicudata = "${libdir}/libicudata.so.*"
> > >> > +FILES_libicuuc = "${libdir}/libicuuc.so.*"
> > >> > +FILES_libicui18n = "${libdir}/libicui18n.so.*"
> > >> > +FILES_libicutu = "${libdir}/libicutu.so.*"
> > >> > +FILES_libicuio = "${libdir}/libicuio.so.*"
> > >> > +
> > >> > +BBCLASSEXTEND = "native nativesdk"
> > >> >
> > >> >  LIC_FILES_CHKSUM =
> "file://../LICENSE;md5=a3808a5b70071b07f87ff2205e4d75a0"
> > >> >
> > >> > --
> > >> > 2.27.0
> > >> >
> > >> > 
>

[-- Attachment #2: Type: text/html, Size: 16572 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [OE-core] [PATCH 1/2] icu: merge .inc into main recipe
  2020-06-26 15:26       ` Steve Sakoman
  2020-06-26 15:47         ` Alexander Kanavin
@ 2020-06-26 15:49         ` Ross Burton
  2020-06-26 15:59           ` Steve Sakoman
  1 sibling, 1 reply; 18+ messages in thread
From: Ross Burton @ 2020-06-26 15:49 UTC (permalink / raw)
  To: Steve Sakoman
  Cc: Alexander Kanavin,
	Patches and discussions about the oe-core layer, Khem Raj

Failures in edgerouter and MIPS screams the big-endian thing again.
ICU is a disaster here, be warned.

Ross

On Fri, 26 Jun 2020 at 16:27, Steve Sakoman <steve@sakoman.com> wrote:
>
> On Thu, Jun 25, 2020 at 6:23 AM Steve Sakoman <steve@sakoman.com> wrote:
> >
> > On Thu, Jun 25, 2020 at 6:09 AM Alexander Kanavin
> > <alex.kanavin@gmail.com> wrote:
> > >
> > > I think you may have to recreate them by hand.
> >
> > OK, I'll put together a patch for the 66.1 recipe in dunfell that
> > implements the changes you have in the second patch of the series.  In
> > the interest of minimizing changes I'll keep the .inc file separate as
> > is.
>
> I recreated the patch for 66.1 and did a couple of quick local builds
> and things looked fine.
>
> On the autobuilder I get failures for edgerouter and mips.  I seem to
> recall some discussion about this (perhaps on irc?) but can only find
> one thread here on the list back when Khem's original patch went in.
>
> Did you recall any issues like this?
>
> Steve
>
>
> > > On Thu, 25 Jun 2020 at 18:04, Steve Sakoman <steve@sakoman.com> wrote:
> > >>
> > >> Is this patch series suitable for dunfell as-is (the concern being the
> > >> contents of the version bump) or would a backport to 66.1 be
> > >> necessary?
> > >>
> > >> Steve
> > >>
> > >> On Tue, Jun 23, 2020 at 11:09 AM Alexander Kanavin
> > >> <alex.kanavin@gmail.com> wrote:
> > >> >
> > >> > Both parts are rather convoluted, so it is better to have them in a single file.
> > >> >
> > >> > Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> > >> > ---
> > >> >  meta/recipes-support/icu/icu.inc     | 84 ---------------------------
> > >> >  meta/recipes-support/icu/icu_67.1.bb | 85 +++++++++++++++++++++++++++-
> > >> >  2 files changed, 84 insertions(+), 85 deletions(-)
> > >> >  delete mode 100644 meta/recipes-support/icu/icu.inc
> > >> >
> > >> > diff --git a/meta/recipes-support/icu/icu.inc b/meta/recipes-support/icu/icu.inc
> > >> > deleted file mode 100644
> > >> > index 6d9728903d..0000000000
> > >> > --- a/meta/recipes-support/icu/icu.inc
> > >> > +++ /dev/null
> > >> > @@ -1,84 +0,0 @@
> > >> > -SUMMARY = "International Component for Unicode libraries"
> > >> > -DESCRIPTION = "The International Component for Unicode (ICU) is a mature, \
> > >> > -portable set of C/C++ and Java libraries for Unicode support, software \
> > >> > -internationalization (I18N) and globalization (G11N), giving applications the \
> > >> > -same results on all platforms."
> > >> > -HOMEPAGE = "http://site.icu-project.org/"
> > >> > -
> > >> > -LICENSE = "ICU"
> > >> > -DEPENDS = "icu-native"
> > >> > -DEPENDS_class-native = ""
> > >> > -
> > >> > -CVE_PRODUCT = "international_components_for_unicode"
> > >> > -
> > >> > -S = "${WORKDIR}/icu/source"
> > >> > -SPDX_S = "${WORKDIR}/icu"
> > >> > -STAGING_ICU_DIR_NATIVE = "${STAGING_DATADIR_NATIVE}/${BPN}/${PV}"
> > >> > -
> > >> > -BINCONFIG = "${bindir}/icu-config"
> > >> > -
> > >> > -ICU_MAJOR_VER = "${@d.getVar('PV').split('.')[0]}"
> > >> > -
> > >> > -inherit autotools pkgconfig binconfig multilib_script
> > >> > -
> > >> > -MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/icu-config"
> > >> > -
> > >> > -# ICU needs the native build directory as an argument to its --with-cross-build option when
> > >> > -# cross-compiling. Taken the situation that different builds may share a common sstate-cache
> > >> > -# into consideration, the native build directory needs to be staged.
> > >> > -EXTRA_OECONF = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
> > >> > -EXTRA_OECONF_class-native = ""
> > >> > -EXTRA_OECONF_class-nativesdk = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
> > >> > -
> > >> > -EXTRA_OECONF_append_class-target = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' --with-data-packaging=archive', '', d)}"
> > >> > -TARGET_CXXFLAGS_append = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' -DICU_DATA_DIR=\\""${datadir}/${BPN}/${PV}\\""', '', d)}"
> > >> > -
> > >> > -ASNEEDED = ""
> > >> > -
> > >> > -do_compile_prepend_class-target () {
> > >> > -       # Make sure certain build host references do not end up being compiled
> > >> > -       # in the image. This only affects libicutu and icu-dbg
> > >> > -       sed  \
> > >> > -           -e 's,DU_BUILD=,DU_BUILD_unused=,g' \
> > >> > -           -e '/^CPPFLAGS.*/ s,--sysroot=${STAGING_DIR_TARGET},,g' \
> > >> > -           -i ${B}/tools/toolutil/Makefile
> > >> > -}
> > >> > -
> > >> > -PREPROCESS_RELOCATE_DIRS = "${datadir}/${BPN}/${PV}"
> > >> > -do_install_append_class-native() {
> > >> > -       mkdir -p ${D}/${STAGING_ICU_DIR_NATIVE}/config
> > >> > -       cp -r ${B}/config/icucross.mk ${D}/${STAGING_ICU_DIR_NATIVE}/config
> > >> > -       cp -r ${B}/config/icucross.inc ${D}/${STAGING_ICU_DIR_NATIVE}/config
> > >> > -       cp -r ${B}/lib ${D}/${STAGING_ICU_DIR_NATIVE}
> > >> > -       cp -r ${B}/bin ${D}/${STAGING_ICU_DIR_NATIVE}
> > >> > -       cp -r ${B}/tools ${D}/${STAGING_ICU_DIR_NATIVE}
> > >> > -}
> > >> > -
> > >> > -do_install_append_class-target() {
> > >> > -    # The native pkgdata can not generate the correct data file.
> > >> > -    # Use icupkg to re-generate it.
> > >> > -    if [ "${SITEINFO_ENDIANNESS}" = "be" ] ; then
> > >> > -        rm -f ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
> > >> > -        icupkg -tb ${S}/data/in/icudt${ICU_MAJOR_VER}l.dat ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
> > >> > -    fi
> > >> > -
> > >> > -       # Remove build host references...
> > >> > -       sed -i  \
> > >> > -           -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
> > >> > -           -e 's|${DEBUG_PREFIX_MAP}||g' \
> > >> > -           -e 's:${HOSTTOOLS_DIR}/::g' \
> > >> > -           ${D}/${bindir}/icu-config ${D}/${libdir}/${BPN}/${PV}/Makefile.inc \
> > >> > -           ${D}/${libdir}/${BPN}/${PV}/pkgdata.inc
> > >> > -}
> > >> > -
> > >> > -PACKAGES =+ "libicudata libicuuc libicui18n libicutu libicuio"
> > >> > -
> > >> > -FILES_${PN}-dev += "${libdir}/${BPN}/"
> > >> > -
> > >> > -FILES_libicudata = "${libdir}/libicudata.so.*"
> > >> > -FILES_libicuuc = "${libdir}/libicuuc.so.*"
> > >> > -FILES_libicui18n = "${libdir}/libicui18n.so.*"
> > >> > -FILES_libicutu = "${libdir}/libicutu.so.*"
> > >> > -FILES_libicuio = "${libdir}/libicuio.so.*"
> > >> > -
> > >> > -BBCLASSEXTEND = "native nativesdk"
> > >> > diff --git a/meta/recipes-support/icu/icu_67.1.bb b/meta/recipes-support/icu/icu_67.1.bb
> > >> > index 58638507c9..5814fa41bd 100644
> > >> > --- a/meta/recipes-support/icu/icu_67.1.bb
> > >> > +++ b/meta/recipes-support/icu/icu_67.1.bb
> > >> > @@ -1,4 +1,87 @@
> > >> > -require icu.inc
> > >> > +SUMMARY = "International Component for Unicode libraries"
> > >> > +DESCRIPTION = "The International Component for Unicode (ICU) is a mature, \
> > >> > +portable set of C/C++ and Java libraries for Unicode support, software \
> > >> > +internationalization (I18N) and globalization (G11N), giving applications the \
> > >> > +same results on all platforms."
> > >> > +HOMEPAGE = "http://site.icu-project.org/"
> > >> > +
> > >> > +LICENSE = "ICU"
> > >> > +DEPENDS = "icu-native"
> > >> > +DEPENDS_class-native = ""
> > >> > +
> > >> > +CVE_PRODUCT = "international_components_for_unicode"
> > >> > +
> > >> > +S = "${WORKDIR}/icu/source"
> > >> > +SPDX_S = "${WORKDIR}/icu"
> > >> > +STAGING_ICU_DIR_NATIVE = "${STAGING_DATADIR_NATIVE}/${BPN}/${PV}"
> > >> > +
> > >> > +BINCONFIG = "${bindir}/icu-config"
> > >> > +
> > >> > +ICU_MAJOR_VER = "${@d.getVar('PV').split('.')[0]}"
> > >> > +
> > >> > +inherit autotools pkgconfig binconfig multilib_script
> > >> > +
> > >> > +MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/icu-config"
> > >> > +
> > >> > +# ICU needs the native build directory as an argument to its --with-cross-build option when
> > >> > +# cross-compiling. Taken the situation that different builds may share a common sstate-cache
> > >> > +# into consideration, the native build directory needs to be staged.
> > >> > +EXTRA_OECONF = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
> > >> > +EXTRA_OECONF_class-native = ""
> > >> > +EXTRA_OECONF_class-nativesdk = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
> > >> > +
> > >> > +EXTRA_OECONF_append_class-target = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' --with-data-packaging=archive', '', d)}"
> > >> > +TARGET_CXXFLAGS_append = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' -DICU_DATA_DIR=\\""${datadir}/${BPN}/${PV}\\""', '', d)}"
> > >> > +
> > >> > +ASNEEDED = ""
> > >> > +
> > >> > +do_compile_prepend_class-target () {
> > >> > +       # Make sure certain build host references do not end up being compiled
> > >> > +       # in the image. This only affects libicutu and icu-dbg
> > >> > +       sed  \
> > >> > +           -e 's,DU_BUILD=,DU_BUILD_unused=,g' \
> > >> > +           -e '/^CPPFLAGS.*/ s,--sysroot=${STAGING_DIR_TARGET},,g' \
> > >> > +           -i ${B}/tools/toolutil/Makefile
> > >> > +}
> > >> > +
> > >> > +PREPROCESS_RELOCATE_DIRS = "${datadir}/${BPN}/${PV}"
> > >> > +do_install_append_class-native() {
> > >> > +       mkdir -p ${D}/${STAGING_ICU_DIR_NATIVE}/config
> > >> > +       cp -r ${B}/config/icucross.mk ${D}/${STAGING_ICU_DIR_NATIVE}/config
> > >> > +       cp -r ${B}/config/icucross.inc ${D}/${STAGING_ICU_DIR_NATIVE}/config
> > >> > +       cp -r ${B}/lib ${D}/${STAGING_ICU_DIR_NATIVE}
> > >> > +       cp -r ${B}/bin ${D}/${STAGING_ICU_DIR_NATIVE}
> > >> > +       cp -r ${B}/tools ${D}/${STAGING_ICU_DIR_NATIVE}
> > >> > +}
> > >> > +
> > >> > +do_install_append_class-target() {
> > >> > +    # The native pkgdata can not generate the correct data file.
> > >> > +    # Use icupkg to re-generate it.
> > >> > +    if [ "${SITEINFO_ENDIANNESS}" = "be" ] ; then
> > >> > +        rm -f ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
> > >> > +        icupkg -tb ${S}/data/in/icudt${ICU_MAJOR_VER}l.dat ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
> > >> > +    fi
> > >> > +
> > >> > +       # Remove build host references...
> > >> > +       sed -i  \
> > >> > +           -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
> > >> > +           -e 's|${DEBUG_PREFIX_MAP}||g' \
> > >> > +           -e 's:${HOSTTOOLS_DIR}/::g' \
> > >> > +           ${D}/${bindir}/icu-config ${D}/${libdir}/${BPN}/${PV}/Makefile.inc \
> > >> > +           ${D}/${libdir}/${BPN}/${PV}/pkgdata.inc
> > >> > +}
> > >> > +
> > >> > +PACKAGES =+ "libicudata libicuuc libicui18n libicutu libicuio"
> > >> > +
> > >> > +FILES_${PN}-dev += "${libdir}/${BPN}/"
> > >> > +
> > >> > +FILES_libicudata = "${libdir}/libicudata.so.*"
> > >> > +FILES_libicuuc = "${libdir}/libicuuc.so.*"
> > >> > +FILES_libicui18n = "${libdir}/libicui18n.so.*"
> > >> > +FILES_libicutu = "${libdir}/libicutu.so.*"
> > >> > +FILES_libicuio = "${libdir}/libicuio.so.*"
> > >> > +
> > >> > +BBCLASSEXTEND = "native nativesdk"
> > >> >
> > >> >  LIC_FILES_CHKSUM = "file://../LICENSE;md5=a3808a5b70071b07f87ff2205e4d75a0"
> > >> >
> > >> > --
> > >> > 2.27.0
> > >> >
> > >> >
> 

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [OE-core] [PATCH 1/2] icu: merge .inc into main recipe
  2020-06-26 15:47         ` Alexander Kanavin
@ 2020-06-26 15:58           ` Steve Sakoman
  0 siblings, 0 replies; 18+ messages in thread
From: Steve Sakoman @ 2020-06-26 15:58 UTC (permalink / raw)
  To: Alexander Kanavin
  Cc: Khem Raj, Patches and discussions about the oe-core layer

On Fri, Jun 26, 2020 at 5:47 AM Alexander Kanavin
<alex.kanavin@gmail.com> wrote:
>
> Can you link to the failures please?

Yes, ppc failed too.

https://errors.yoctoproject.org/Errors/Details/417489/
https://errors.yoctoproject.org/Errors/Details/417486/
https://errors.yoctoproject.org/Errors/Details/417484/

Thanks for taking a look!

Steve
>
> On Fri 26. Jun 2020 at 17.27, Steve Sakoman <steve@sakoman.com> wrote:
>>
>> On Thu, Jun 25, 2020 at 6:23 AM Steve Sakoman <steve@sakoman.com> wrote:
>> >
>> > On Thu, Jun 25, 2020 at 6:09 AM Alexander Kanavin
>> > <alex.kanavin@gmail.com> wrote:
>> > >
>> > > I think you may have to recreate them by hand.
>> >
>> > OK, I'll put together a patch for the 66.1 recipe in dunfell that
>> > implements the changes you have in the second patch of the series.  In
>> > the interest of minimizing changes I'll keep the .inc file separate as
>> > is.
>>
>> I recreated the patch for 66.1 and did a couple of quick local builds
>> and things looked fine.
>>
>> On the autobuilder I get failures for edgerouter and mips.  I seem to
>> recall some discussion about this (perhaps on irc?) but can only find
>> one thread here on the list back when Khem's original patch went in.
>>
>> Did you recall any issues like this?
>>
>> Steve
>>
>>
>> > > On Thu, 25 Jun 2020 at 18:04, Steve Sakoman <steve@sakoman.com> wrote:
>> > >>
>> > >> Is this patch series suitable for dunfell as-is (the concern being the
>> > >> contents of the version bump) or would a backport to 66.1 be
>> > >> necessary?
>> > >>
>> > >> Steve
>> > >>
>> > >> On Tue, Jun 23, 2020 at 11:09 AM Alexander Kanavin
>> > >> <alex.kanavin@gmail.com> wrote:
>> > >> >
>> > >> > Both parts are rather convoluted, so it is better to have them in a single file.
>> > >> >
>> > >> > Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
>> > >> > ---
>> > >> >  meta/recipes-support/icu/icu.inc     | 84 ---------------------------
>> > >> >  meta/recipes-support/icu/icu_67.1.bb | 85 +++++++++++++++++++++++++++-
>> > >> >  2 files changed, 84 insertions(+), 85 deletions(-)
>> > >> >  delete mode 100644 meta/recipes-support/icu/icu.inc
>> > >> >
>> > >> > diff --git a/meta/recipes-support/icu/icu.inc b/meta/recipes-support/icu/icu.inc
>> > >> > deleted file mode 100644
>> > >> > index 6d9728903d..0000000000
>> > >> > --- a/meta/recipes-support/icu/icu.inc
>> > >> > +++ /dev/null
>> > >> > @@ -1,84 +0,0 @@
>> > >> > -SUMMARY = "International Component for Unicode libraries"
>> > >> > -DESCRIPTION = "The International Component for Unicode (ICU) is a mature, \
>> > >> > -portable set of C/C++ and Java libraries for Unicode support, software \
>> > >> > -internationalization (I18N) and globalization (G11N), giving applications the \
>> > >> > -same results on all platforms."
>> > >> > -HOMEPAGE = "http://site.icu-project.org/"
>> > >> > -
>> > >> > -LICENSE = "ICU"
>> > >> > -DEPENDS = "icu-native"
>> > >> > -DEPENDS_class-native = ""
>> > >> > -
>> > >> > -CVE_PRODUCT = "international_components_for_unicode"
>> > >> > -
>> > >> > -S = "${WORKDIR}/icu/source"
>> > >> > -SPDX_S = "${WORKDIR}/icu"
>> > >> > -STAGING_ICU_DIR_NATIVE = "${STAGING_DATADIR_NATIVE}/${BPN}/${PV}"
>> > >> > -
>> > >> > -BINCONFIG = "${bindir}/icu-config"
>> > >> > -
>> > >> > -ICU_MAJOR_VER = "${@d.getVar('PV').split('.')[0]}"
>> > >> > -
>> > >> > -inherit autotools pkgconfig binconfig multilib_script
>> > >> > -
>> > >> > -MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/icu-config"
>> > >> > -
>> > >> > -# ICU needs the native build directory as an argument to its --with-cross-build option when
>> > >> > -# cross-compiling. Taken the situation that different builds may share a common sstate-cache
>> > >> > -# into consideration, the native build directory needs to be staged.
>> > >> > -EXTRA_OECONF = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
>> > >> > -EXTRA_OECONF_class-native = ""
>> > >> > -EXTRA_OECONF_class-nativesdk = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
>> > >> > -
>> > >> > -EXTRA_OECONF_append_class-target = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' --with-data-packaging=archive', '', d)}"
>> > >> > -TARGET_CXXFLAGS_append = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' -DICU_DATA_DIR=\\""${datadir}/${BPN}/${PV}\\""', '', d)}"
>> > >> > -
>> > >> > -ASNEEDED = ""
>> > >> > -
>> > >> > -do_compile_prepend_class-target () {
>> > >> > -       # Make sure certain build host references do not end up being compiled
>> > >> > -       # in the image. This only affects libicutu and icu-dbg
>> > >> > -       sed  \
>> > >> > -           -e 's,DU_BUILD=,DU_BUILD_unused=,g' \
>> > >> > -           -e '/^CPPFLAGS.*/ s,--sysroot=${STAGING_DIR_TARGET},,g' \
>> > >> > -           -i ${B}/tools/toolutil/Makefile
>> > >> > -}
>> > >> > -
>> > >> > -PREPROCESS_RELOCATE_DIRS = "${datadir}/${BPN}/${PV}"
>> > >> > -do_install_append_class-native() {
>> > >> > -       mkdir -p ${D}/${STAGING_ICU_DIR_NATIVE}/config
>> > >> > -       cp -r ${B}/config/icucross.mk ${D}/${STAGING_ICU_DIR_NATIVE}/config
>> > >> > -       cp -r ${B}/config/icucross.inc ${D}/${STAGING_ICU_DIR_NATIVE}/config
>> > >> > -       cp -r ${B}/lib ${D}/${STAGING_ICU_DIR_NATIVE}
>> > >> > -       cp -r ${B}/bin ${D}/${STAGING_ICU_DIR_NATIVE}
>> > >> > -       cp -r ${B}/tools ${D}/${STAGING_ICU_DIR_NATIVE}
>> > >> > -}
>> > >> > -
>> > >> > -do_install_append_class-target() {
>> > >> > -    # The native pkgdata can not generate the correct data file.
>> > >> > -    # Use icupkg to re-generate it.
>> > >> > -    if [ "${SITEINFO_ENDIANNESS}" = "be" ] ; then
>> > >> > -        rm -f ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
>> > >> > -        icupkg -tb ${S}/data/in/icudt${ICU_MAJOR_VER}l.dat ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
>> > >> > -    fi
>> > >> > -
>> > >> > -       # Remove build host references...
>> > >> > -       sed -i  \
>> > >> > -           -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
>> > >> > -           -e 's|${DEBUG_PREFIX_MAP}||g' \
>> > >> > -           -e 's:${HOSTTOOLS_DIR}/::g' \
>> > >> > -           ${D}/${bindir}/icu-config ${D}/${libdir}/${BPN}/${PV}/Makefile.inc \
>> > >> > -           ${D}/${libdir}/${BPN}/${PV}/pkgdata.inc
>> > >> > -}
>> > >> > -
>> > >> > -PACKAGES =+ "libicudata libicuuc libicui18n libicutu libicuio"
>> > >> > -
>> > >> > -FILES_${PN}-dev += "${libdir}/${BPN}/"
>> > >> > -
>> > >> > -FILES_libicudata = "${libdir}/libicudata.so.*"
>> > >> > -FILES_libicuuc = "${libdir}/libicuuc.so.*"
>> > >> > -FILES_libicui18n = "${libdir}/libicui18n.so.*"
>> > >> > -FILES_libicutu = "${libdir}/libicutu.so.*"
>> > >> > -FILES_libicuio = "${libdir}/libicuio.so.*"
>> > >> > -
>> > >> > -BBCLASSEXTEND = "native nativesdk"
>> > >> > diff --git a/meta/recipes-support/icu/icu_67.1.bb b/meta/recipes-support/icu/icu_67.1.bb
>> > >> > index 58638507c9..5814fa41bd 100644
>> > >> > --- a/meta/recipes-support/icu/icu_67.1.bb
>> > >> > +++ b/meta/recipes-support/icu/icu_67.1.bb
>> > >> > @@ -1,4 +1,87 @@
>> > >> > -require icu.inc
>> > >> > +SUMMARY = "International Component for Unicode libraries"
>> > >> > +DESCRIPTION = "The International Component for Unicode (ICU) is a mature, \
>> > >> > +portable set of C/C++ and Java libraries for Unicode support, software \
>> > >> > +internationalization (I18N) and globalization (G11N), giving applications the \
>> > >> > +same results on all platforms."
>> > >> > +HOMEPAGE = "http://site.icu-project.org/"
>> > >> > +
>> > >> > +LICENSE = "ICU"
>> > >> > +DEPENDS = "icu-native"
>> > >> > +DEPENDS_class-native = ""
>> > >> > +
>> > >> > +CVE_PRODUCT = "international_components_for_unicode"
>> > >> > +
>> > >> > +S = "${WORKDIR}/icu/source"
>> > >> > +SPDX_S = "${WORKDIR}/icu"
>> > >> > +STAGING_ICU_DIR_NATIVE = "${STAGING_DATADIR_NATIVE}/${BPN}/${PV}"
>> > >> > +
>> > >> > +BINCONFIG = "${bindir}/icu-config"
>> > >> > +
>> > >> > +ICU_MAJOR_VER = "${@d.getVar('PV').split('.')[0]}"
>> > >> > +
>> > >> > +inherit autotools pkgconfig binconfig multilib_script
>> > >> > +
>> > >> > +MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/icu-config"
>> > >> > +
>> > >> > +# ICU needs the native build directory as an argument to its --with-cross-build option when
>> > >> > +# cross-compiling. Taken the situation that different builds may share a common sstate-cache
>> > >> > +# into consideration, the native build directory needs to be staged.
>> > >> > +EXTRA_OECONF = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
>> > >> > +EXTRA_OECONF_class-native = ""
>> > >> > +EXTRA_OECONF_class-nativesdk = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
>> > >> > +
>> > >> > +EXTRA_OECONF_append_class-target = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' --with-data-packaging=archive', '', d)}"
>> > >> > +TARGET_CXXFLAGS_append = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' -DICU_DATA_DIR=\\""${datadir}/${BPN}/${PV}\\""', '', d)}"
>> > >> > +
>> > >> > +ASNEEDED = ""
>> > >> > +
>> > >> > +do_compile_prepend_class-target () {
>> > >> > +       # Make sure certain build host references do not end up being compiled
>> > >> > +       # in the image. This only affects libicutu and icu-dbg
>> > >> > +       sed  \
>> > >> > +           -e 's,DU_BUILD=,DU_BUILD_unused=,g' \
>> > >> > +           -e '/^CPPFLAGS.*/ s,--sysroot=${STAGING_DIR_TARGET},,g' \
>> > >> > +           -i ${B}/tools/toolutil/Makefile
>> > >> > +}
>> > >> > +
>> > >> > +PREPROCESS_RELOCATE_DIRS = "${datadir}/${BPN}/${PV}"
>> > >> > +do_install_append_class-native() {
>> > >> > +       mkdir -p ${D}/${STAGING_ICU_DIR_NATIVE}/config
>> > >> > +       cp -r ${B}/config/icucross.mk ${D}/${STAGING_ICU_DIR_NATIVE}/config
>> > >> > +       cp -r ${B}/config/icucross.inc ${D}/${STAGING_ICU_DIR_NATIVE}/config
>> > >> > +       cp -r ${B}/lib ${D}/${STAGING_ICU_DIR_NATIVE}
>> > >> > +       cp -r ${B}/bin ${D}/${STAGING_ICU_DIR_NATIVE}
>> > >> > +       cp -r ${B}/tools ${D}/${STAGING_ICU_DIR_NATIVE}
>> > >> > +}
>> > >> > +
>> > >> > +do_install_append_class-target() {
>> > >> > +    # The native pkgdata can not generate the correct data file.
>> > >> > +    # Use icupkg to re-generate it.
>> > >> > +    if [ "${SITEINFO_ENDIANNESS}" = "be" ] ; then
>> > >> > +        rm -f ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
>> > >> > +        icupkg -tb ${S}/data/in/icudt${ICU_MAJOR_VER}l.dat ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
>> > >> > +    fi
>> > >> > +
>> > >> > +       # Remove build host references...
>> > >> > +       sed -i  \
>> > >> > +           -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
>> > >> > +           -e 's|${DEBUG_PREFIX_MAP}||g' \
>> > >> > +           -e 's:${HOSTTOOLS_DIR}/::g' \
>> > >> > +           ${D}/${bindir}/icu-config ${D}/${libdir}/${BPN}/${PV}/Makefile.inc \
>> > >> > +           ${D}/${libdir}/${BPN}/${PV}/pkgdata.inc
>> > >> > +}
>> > >> > +
>> > >> > +PACKAGES =+ "libicudata libicuuc libicui18n libicutu libicuio"
>> > >> > +
>> > >> > +FILES_${PN}-dev += "${libdir}/${BPN}/"
>> > >> > +
>> > >> > +FILES_libicudata = "${libdir}/libicudata.so.*"
>> > >> > +FILES_libicuuc = "${libdir}/libicuuc.so.*"
>> > >> > +FILES_libicui18n = "${libdir}/libicui18n.so.*"
>> > >> > +FILES_libicutu = "${libdir}/libicutu.so.*"
>> > >> > +FILES_libicuio = "${libdir}/libicuio.so.*"
>> > >> > +
>> > >> > +BBCLASSEXTEND = "native nativesdk"
>> > >> >
>> > >> >  LIC_FILES_CHKSUM = "file://../LICENSE;md5=a3808a5b70071b07f87ff2205e4d75a0"
>> > >> >
>> > >> > --
>> > >> > 2.27.0
>> > >> >
>> > >> > 

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [OE-core] [PATCH 1/2] icu: merge .inc into main recipe
  2020-06-26 15:49         ` Ross Burton
@ 2020-06-26 15:59           ` Steve Sakoman
  2020-06-26 18:48             ` Alexander Kanavin
  0 siblings, 1 reply; 18+ messages in thread
From: Steve Sakoman @ 2020-06-26 15:59 UTC (permalink / raw)
  To: Ross Burton
  Cc: Alexander Kanavin,
	Patches and discussions about the oe-core layer, Khem Raj

On Fri, Jun 26, 2020 at 5:49 AM Ross Burton <ross@burtonini.com> wrote:
>
> Failures in edgerouter and MIPS screams the big-endian thing again.
> ICU is a disaster here, be warned.

Good theory -- ppc failed too.

Steve

> On Fri, 26 Jun 2020 at 16:27, Steve Sakoman <steve@sakoman.com> wrote:
> >
> > On Thu, Jun 25, 2020 at 6:23 AM Steve Sakoman <steve@sakoman.com> wrote:
> > >
> > > On Thu, Jun 25, 2020 at 6:09 AM Alexander Kanavin
> > > <alex.kanavin@gmail.com> wrote:
> > > >
> > > > I think you may have to recreate them by hand.
> > >
> > > OK, I'll put together a patch for the 66.1 recipe in dunfell that
> > > implements the changes you have in the second patch of the series.  In
> > > the interest of minimizing changes I'll keep the .inc file separate as
> > > is.
> >
> > I recreated the patch for 66.1 and did a couple of quick local builds
> > and things looked fine.
> >
> > On the autobuilder I get failures for edgerouter and mips.  I seem to
> > recall some discussion about this (perhaps on irc?) but can only find
> > one thread here on the list back when Khem's original patch went in.
> >
> > Did you recall any issues like this?
> >
> > Steve
> >
> >
> > > > On Thu, 25 Jun 2020 at 18:04, Steve Sakoman <steve@sakoman.com> wrote:
> > > >>
> > > >> Is this patch series suitable for dunfell as-is (the concern being the
> > > >> contents of the version bump) or would a backport to 66.1 be
> > > >> necessary?
> > > >>
> > > >> Steve
> > > >>
> > > >> On Tue, Jun 23, 2020 at 11:09 AM Alexander Kanavin
> > > >> <alex.kanavin@gmail.com> wrote:
> > > >> >
> > > >> > Both parts are rather convoluted, so it is better to have them in a single file.
> > > >> >
> > > >> > Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> > > >> > ---
> > > >> >  meta/recipes-support/icu/icu.inc     | 84 ---------------------------
> > > >> >  meta/recipes-support/icu/icu_67.1.bb | 85 +++++++++++++++++++++++++++-
> > > >> >  2 files changed, 84 insertions(+), 85 deletions(-)
> > > >> >  delete mode 100644 meta/recipes-support/icu/icu.inc
> > > >> >
> > > >> > diff --git a/meta/recipes-support/icu/icu.inc b/meta/recipes-support/icu/icu.inc
> > > >> > deleted file mode 100644
> > > >> > index 6d9728903d..0000000000
> > > >> > --- a/meta/recipes-support/icu/icu.inc
> > > >> > +++ /dev/null
> > > >> > @@ -1,84 +0,0 @@
> > > >> > -SUMMARY = "International Component for Unicode libraries"
> > > >> > -DESCRIPTION = "The International Component for Unicode (ICU) is a mature, \
> > > >> > -portable set of C/C++ and Java libraries for Unicode support, software \
> > > >> > -internationalization (I18N) and globalization (G11N), giving applications the \
> > > >> > -same results on all platforms."
> > > >> > -HOMEPAGE = "http://site.icu-project.org/"
> > > >> > -
> > > >> > -LICENSE = "ICU"
> > > >> > -DEPENDS = "icu-native"
> > > >> > -DEPENDS_class-native = ""
> > > >> > -
> > > >> > -CVE_PRODUCT = "international_components_for_unicode"
> > > >> > -
> > > >> > -S = "${WORKDIR}/icu/source"
> > > >> > -SPDX_S = "${WORKDIR}/icu"
> > > >> > -STAGING_ICU_DIR_NATIVE = "${STAGING_DATADIR_NATIVE}/${BPN}/${PV}"
> > > >> > -
> > > >> > -BINCONFIG = "${bindir}/icu-config"
> > > >> > -
> > > >> > -ICU_MAJOR_VER = "${@d.getVar('PV').split('.')[0]}"
> > > >> > -
> > > >> > -inherit autotools pkgconfig binconfig multilib_script
> > > >> > -
> > > >> > -MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/icu-config"
> > > >> > -
> > > >> > -# ICU needs the native build directory as an argument to its --with-cross-build option when
> > > >> > -# cross-compiling. Taken the situation that different builds may share a common sstate-cache
> > > >> > -# into consideration, the native build directory needs to be staged.
> > > >> > -EXTRA_OECONF = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
> > > >> > -EXTRA_OECONF_class-native = ""
> > > >> > -EXTRA_OECONF_class-nativesdk = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
> > > >> > -
> > > >> > -EXTRA_OECONF_append_class-target = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' --with-data-packaging=archive', '', d)}"
> > > >> > -TARGET_CXXFLAGS_append = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' -DICU_DATA_DIR=\\""${datadir}/${BPN}/${PV}\\""', '', d)}"
> > > >> > -
> > > >> > -ASNEEDED = ""
> > > >> > -
> > > >> > -do_compile_prepend_class-target () {
> > > >> > -       # Make sure certain build host references do not end up being compiled
> > > >> > -       # in the image. This only affects libicutu and icu-dbg
> > > >> > -       sed  \
> > > >> > -           -e 's,DU_BUILD=,DU_BUILD_unused=,g' \
> > > >> > -           -e '/^CPPFLAGS.*/ s,--sysroot=${STAGING_DIR_TARGET},,g' \
> > > >> > -           -i ${B}/tools/toolutil/Makefile
> > > >> > -}
> > > >> > -
> > > >> > -PREPROCESS_RELOCATE_DIRS = "${datadir}/${BPN}/${PV}"
> > > >> > -do_install_append_class-native() {
> > > >> > -       mkdir -p ${D}/${STAGING_ICU_DIR_NATIVE}/config
> > > >> > -       cp -r ${B}/config/icucross.mk ${D}/${STAGING_ICU_DIR_NATIVE}/config
> > > >> > -       cp -r ${B}/config/icucross.inc ${D}/${STAGING_ICU_DIR_NATIVE}/config
> > > >> > -       cp -r ${B}/lib ${D}/${STAGING_ICU_DIR_NATIVE}
> > > >> > -       cp -r ${B}/bin ${D}/${STAGING_ICU_DIR_NATIVE}
> > > >> > -       cp -r ${B}/tools ${D}/${STAGING_ICU_DIR_NATIVE}
> > > >> > -}
> > > >> > -
> > > >> > -do_install_append_class-target() {
> > > >> > -    # The native pkgdata can not generate the correct data file.
> > > >> > -    # Use icupkg to re-generate it.
> > > >> > -    if [ "${SITEINFO_ENDIANNESS}" = "be" ] ; then
> > > >> > -        rm -f ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
> > > >> > -        icupkg -tb ${S}/data/in/icudt${ICU_MAJOR_VER}l.dat ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
> > > >> > -    fi
> > > >> > -
> > > >> > -       # Remove build host references...
> > > >> > -       sed -i  \
> > > >> > -           -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
> > > >> > -           -e 's|${DEBUG_PREFIX_MAP}||g' \
> > > >> > -           -e 's:${HOSTTOOLS_DIR}/::g' \
> > > >> > -           ${D}/${bindir}/icu-config ${D}/${libdir}/${BPN}/${PV}/Makefile.inc \
> > > >> > -           ${D}/${libdir}/${BPN}/${PV}/pkgdata.inc
> > > >> > -}
> > > >> > -
> > > >> > -PACKAGES =+ "libicudata libicuuc libicui18n libicutu libicuio"
> > > >> > -
> > > >> > -FILES_${PN}-dev += "${libdir}/${BPN}/"
> > > >> > -
> > > >> > -FILES_libicudata = "${libdir}/libicudata.so.*"
> > > >> > -FILES_libicuuc = "${libdir}/libicuuc.so.*"
> > > >> > -FILES_libicui18n = "${libdir}/libicui18n.so.*"
> > > >> > -FILES_libicutu = "${libdir}/libicutu.so.*"
> > > >> > -FILES_libicuio = "${libdir}/libicuio.so.*"
> > > >> > -
> > > >> > -BBCLASSEXTEND = "native nativesdk"
> > > >> > diff --git a/meta/recipes-support/icu/icu_67.1.bb b/meta/recipes-support/icu/icu_67.1.bb
> > > >> > index 58638507c9..5814fa41bd 100644
> > > >> > --- a/meta/recipes-support/icu/icu_67.1.bb
> > > >> > +++ b/meta/recipes-support/icu/icu_67.1.bb
> > > >> > @@ -1,4 +1,87 @@
> > > >> > -require icu.inc
> > > >> > +SUMMARY = "International Component for Unicode libraries"
> > > >> > +DESCRIPTION = "The International Component for Unicode (ICU) is a mature, \
> > > >> > +portable set of C/C++ and Java libraries for Unicode support, software \
> > > >> > +internationalization (I18N) and globalization (G11N), giving applications the \
> > > >> > +same results on all platforms."
> > > >> > +HOMEPAGE = "http://site.icu-project.org/"
> > > >> > +
> > > >> > +LICENSE = "ICU"
> > > >> > +DEPENDS = "icu-native"
> > > >> > +DEPENDS_class-native = ""
> > > >> > +
> > > >> > +CVE_PRODUCT = "international_components_for_unicode"
> > > >> > +
> > > >> > +S = "${WORKDIR}/icu/source"
> > > >> > +SPDX_S = "${WORKDIR}/icu"
> > > >> > +STAGING_ICU_DIR_NATIVE = "${STAGING_DATADIR_NATIVE}/${BPN}/${PV}"
> > > >> > +
> > > >> > +BINCONFIG = "${bindir}/icu-config"
> > > >> > +
> > > >> > +ICU_MAJOR_VER = "${@d.getVar('PV').split('.')[0]}"
> > > >> > +
> > > >> > +inherit autotools pkgconfig binconfig multilib_script
> > > >> > +
> > > >> > +MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/icu-config"
> > > >> > +
> > > >> > +# ICU needs the native build directory as an argument to its --with-cross-build option when
> > > >> > +# cross-compiling. Taken the situation that different builds may share a common sstate-cache
> > > >> > +# into consideration, the native build directory needs to be staged.
> > > >> > +EXTRA_OECONF = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
> > > >> > +EXTRA_OECONF_class-native = ""
> > > >> > +EXTRA_OECONF_class-nativesdk = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
> > > >> > +
> > > >> > +EXTRA_OECONF_append_class-target = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' --with-data-packaging=archive', '', d)}"
> > > >> > +TARGET_CXXFLAGS_append = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' -DICU_DATA_DIR=\\""${datadir}/${BPN}/${PV}\\""', '', d)}"
> > > >> > +
> > > >> > +ASNEEDED = ""
> > > >> > +
> > > >> > +do_compile_prepend_class-target () {
> > > >> > +       # Make sure certain build host references do not end up being compiled
> > > >> > +       # in the image. This only affects libicutu and icu-dbg
> > > >> > +       sed  \
> > > >> > +           -e 's,DU_BUILD=,DU_BUILD_unused=,g' \
> > > >> > +           -e '/^CPPFLAGS.*/ s,--sysroot=${STAGING_DIR_TARGET},,g' \
> > > >> > +           -i ${B}/tools/toolutil/Makefile
> > > >> > +}
> > > >> > +
> > > >> > +PREPROCESS_RELOCATE_DIRS = "${datadir}/${BPN}/${PV}"
> > > >> > +do_install_append_class-native() {
> > > >> > +       mkdir -p ${D}/${STAGING_ICU_DIR_NATIVE}/config
> > > >> > +       cp -r ${B}/config/icucross.mk ${D}/${STAGING_ICU_DIR_NATIVE}/config
> > > >> > +       cp -r ${B}/config/icucross.inc ${D}/${STAGING_ICU_DIR_NATIVE}/config
> > > >> > +       cp -r ${B}/lib ${D}/${STAGING_ICU_DIR_NATIVE}
> > > >> > +       cp -r ${B}/bin ${D}/${STAGING_ICU_DIR_NATIVE}
> > > >> > +       cp -r ${B}/tools ${D}/${STAGING_ICU_DIR_NATIVE}
> > > >> > +}
> > > >> > +
> > > >> > +do_install_append_class-target() {
> > > >> > +    # The native pkgdata can not generate the correct data file.
> > > >> > +    # Use icupkg to re-generate it.
> > > >> > +    if [ "${SITEINFO_ENDIANNESS}" = "be" ] ; then
> > > >> > +        rm -f ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
> > > >> > +        icupkg -tb ${S}/data/in/icudt${ICU_MAJOR_VER}l.dat ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
> > > >> > +    fi
> > > >> > +
> > > >> > +       # Remove build host references...
> > > >> > +       sed -i  \
> > > >> > +           -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
> > > >> > +           -e 's|${DEBUG_PREFIX_MAP}||g' \
> > > >> > +           -e 's:${HOSTTOOLS_DIR}/::g' \
> > > >> > +           ${D}/${bindir}/icu-config ${D}/${libdir}/${BPN}/${PV}/Makefile.inc \
> > > >> > +           ${D}/${libdir}/${BPN}/${PV}/pkgdata.inc
> > > >> > +}
> > > >> > +
> > > >> > +PACKAGES =+ "libicudata libicuuc libicui18n libicutu libicuio"
> > > >> > +
> > > >> > +FILES_${PN}-dev += "${libdir}/${BPN}/"
> > > >> > +
> > > >> > +FILES_libicudata = "${libdir}/libicudata.so.*"
> > > >> > +FILES_libicuuc = "${libdir}/libicuuc.so.*"
> > > >> > +FILES_libicui18n = "${libdir}/libicui18n.so.*"
> > > >> > +FILES_libicutu = "${libdir}/libicutu.so.*"
> > > >> > +FILES_libicuio = "${libdir}/libicuio.so.*"
> > > >> > +
> > > >> > +BBCLASSEXTEND = "native nativesdk"
> > > >> >
> > > >> >  LIC_FILES_CHKSUM = "file://../LICENSE;md5=a3808a5b70071b07f87ff2205e4d75a0"
> > > >> >
> > > >> > --
> > > >> > 2.27.0
> > > >> >
> > > >> >
> > 

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [OE-core] [PATCH 1/2] icu: merge .inc into main recipe
  2020-06-26 15:59           ` Steve Sakoman
@ 2020-06-26 18:48             ` Alexander Kanavin
  2020-06-26 18:56               ` Steve Sakoman
       [not found]               ` <161C2CF3A1F68DB5.16301@lists.openembedded.org>
  0 siblings, 2 replies; 18+ messages in thread
From: Alexander Kanavin @ 2020-06-26 18:48 UTC (permalink / raw)
  To: Steve Sakoman
  Cc: Ross Burton, Patches and discussions about the oe-core layer, Khem Raj

[-- Attachment #1: Type: text/plain, Size: 12726 bytes --]

Can you, for the sake of testing, upgrade icu to the same version as
master? Those failures do not seem to be happening there.

Alex

On Fri, 26 Jun 2020 at 17:59, Steve Sakoman <steve@sakoman.com> wrote:

> On Fri, Jun 26, 2020 at 5:49 AM Ross Burton <ross@burtonini.com> wrote:
> >
> > Failures in edgerouter and MIPS screams the big-endian thing again.
> > ICU is a disaster here, be warned.
>
> Good theory -- ppc failed too.
>
> Steve
>
> > On Fri, 26 Jun 2020 at 16:27, Steve Sakoman <steve@sakoman.com> wrote:
> > >
> > > On Thu, Jun 25, 2020 at 6:23 AM Steve Sakoman <steve@sakoman.com>
> wrote:
> > > >
> > > > On Thu, Jun 25, 2020 at 6:09 AM Alexander Kanavin
> > > > <alex.kanavin@gmail.com> wrote:
> > > > >
> > > > > I think you may have to recreate them by hand.
> > > >
> > > > OK, I'll put together a patch for the 66.1 recipe in dunfell that
> > > > implements the changes you have in the second patch of the series.
> In
> > > > the interest of minimizing changes I'll keep the .inc file separate
> as
> > > > is.
> > >
> > > I recreated the patch for 66.1 and did a couple of quick local builds
> > > and things looked fine.
> > >
> > > On the autobuilder I get failures for edgerouter and mips.  I seem to
> > > recall some discussion about this (perhaps on irc?) but can only find
> > > one thread here on the list back when Khem's original patch went in.
> > >
> > > Did you recall any issues like this?
> > >
> > > Steve
> > >
> > >
> > > > > On Thu, 25 Jun 2020 at 18:04, Steve Sakoman <steve@sakoman.com>
> wrote:
> > > > >>
> > > > >> Is this patch series suitable for dunfell as-is (the concern
> being the
> > > > >> contents of the version bump) or would a backport to 66.1 be
> > > > >> necessary?
> > > > >>
> > > > >> Steve
> > > > >>
> > > > >> On Tue, Jun 23, 2020 at 11:09 AM Alexander Kanavin
> > > > >> <alex.kanavin@gmail.com> wrote:
> > > > >> >
> > > > >> > Both parts are rather convoluted, so it is better to have them
> in a single file.
> > > > >> >
> > > > >> > Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> > > > >> > ---
> > > > >> >  meta/recipes-support/icu/icu.inc     | 84
> ---------------------------
> > > > >> >  meta/recipes-support/icu/icu_67.1.bb | 85
> +++++++++++++++++++++++++++-
> > > > >> >  2 files changed, 84 insertions(+), 85 deletions(-)
> > > > >> >  delete mode 100644 meta/recipes-support/icu/icu.inc
> > > > >> >
> > > > >> > diff --git a/meta/recipes-support/icu/icu.inc
> b/meta/recipes-support/icu/icu.inc
> > > > >> > deleted file mode 100644
> > > > >> > index 6d9728903d..0000000000
> > > > >> > --- a/meta/recipes-support/icu/icu.inc
> > > > >> > +++ /dev/null
> > > > >> > @@ -1,84 +0,0 @@
> > > > >> > -SUMMARY = "International Component for Unicode libraries"
> > > > >> > -DESCRIPTION = "The International Component for Unicode (ICU)
> is a mature, \
> > > > >> > -portable set of C/C++ and Java libraries for Unicode support,
> software \
> > > > >> > -internationalization (I18N) and globalization (G11N), giving
> applications the \
> > > > >> > -same results on all platforms."
> > > > >> > -HOMEPAGE = "http://site.icu-project.org/"
> > > > >> > -
> > > > >> > -LICENSE = "ICU"
> > > > >> > -DEPENDS = "icu-native"
> > > > >> > -DEPENDS_class-native = ""
> > > > >> > -
> > > > >> > -CVE_PRODUCT = "international_components_for_unicode"
> > > > >> > -
> > > > >> > -S = "${WORKDIR}/icu/source"
> > > > >> > -SPDX_S = "${WORKDIR}/icu"
> > > > >> > -STAGING_ICU_DIR_NATIVE =
> "${STAGING_DATADIR_NATIVE}/${BPN}/${PV}"
> > > > >> > -
> > > > >> > -BINCONFIG = "${bindir}/icu-config"
> > > > >> > -
> > > > >> > -ICU_MAJOR_VER = "${@d.getVar('PV').split('.')[0]}"
> > > > >> > -
> > > > >> > -inherit autotools pkgconfig binconfig multilib_script
> > > > >> > -
> > > > >> > -MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/icu-config"
> > > > >> > -
> > > > >> > -# ICU needs the native build directory as an argument to its
> --with-cross-build option when
> > > > >> > -# cross-compiling. Taken the situation that different builds
> may share a common sstate-cache
> > > > >> > -# into consideration, the native build directory needs to be
> staged.
> > > > >> > -EXTRA_OECONF = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
> > > > >> > -EXTRA_OECONF_class-native = ""
> > > > >> > -EXTRA_OECONF_class-nativesdk =
> "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
> > > > >> > -
> > > > >> > -EXTRA_OECONF_append_class-target =
> "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', '
> --with-data-packaging=archive', '', d)}"
> > > > >> > -TARGET_CXXFLAGS_append =
> "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', '
> -DICU_DATA_DIR=\\""${datadir}/${BPN}/${PV}\\""', '', d)}"
> > > > >> > -
> > > > >> > -ASNEEDED = ""
> > > > >> > -
> > > > >> > -do_compile_prepend_class-target () {
> > > > >> > -       # Make sure certain build host references do not end up
> being compiled
> > > > >> > -       # in the image. This only affects libicutu and icu-dbg
> > > > >> > -       sed  \
> > > > >> > -           -e 's,DU_BUILD=,DU_BUILD_unused=,g' \
> > > > >> > -           -e '/^CPPFLAGS.*/
> s,--sysroot=${STAGING_DIR_TARGET},,g' \
> > > > >> > -           -i ${B}/tools/toolutil/Makefile
> > > > >> > -}
> > > > >> > -
> > > > >> > -PREPROCESS_RELOCATE_DIRS = "${datadir}/${BPN}/${PV}"
> > > > >> > -do_install_append_class-native() {
> > > > >> > -       mkdir -p ${D}/${STAGING_ICU_DIR_NATIVE}/config
> > > > >> > -       cp -r ${B}/config/icucross.mk
> ${D}/${STAGING_ICU_DIR_NATIVE}/config
> > > > >> > -       cp -r ${B}/config/icucross.inc
> ${D}/${STAGING_ICU_DIR_NATIVE}/config
> > > > >> > -       cp -r ${B}/lib ${D}/${STAGING_ICU_DIR_NATIVE}
> > > > >> > -       cp -r ${B}/bin ${D}/${STAGING_ICU_DIR_NATIVE}
> > > > >> > -       cp -r ${B}/tools ${D}/${STAGING_ICU_DIR_NATIVE}
> > > > >> > -}
> > > > >> > -
> > > > >> > -do_install_append_class-target() {
> > > > >> > -    # The native pkgdata can not generate the correct data
> file.
> > > > >> > -    # Use icupkg to re-generate it.
> > > > >> > -    if [ "${SITEINFO_ENDIANNESS}" = "be" ] ; then
> > > > >> > -        rm -f
> ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
> > > > >> > -        icupkg -tb ${S}/data/in/icudt${ICU_MAJOR_VER}l.dat
> ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
> > > > >> > -    fi
> > > > >> > -
> > > > >> > -       # Remove build host references...
> > > > >> > -       sed -i  \
> > > > >> > -           -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
> > > > >> > -           -e 's|${DEBUG_PREFIX_MAP}||g' \
> > > > >> > -           -e 's:${HOSTTOOLS_DIR}/::g' \
> > > > >> > -           ${D}/${bindir}/icu-config
> ${D}/${libdir}/${BPN}/${PV}/Makefile.inc \
> > > > >> > -           ${D}/${libdir}/${BPN}/${PV}/pkgdata.inc
> > > > >> > -}
> > > > >> > -
> > > > >> > -PACKAGES =+ "libicudata libicuuc libicui18n libicutu libicuio"
> > > > >> > -
> > > > >> > -FILES_${PN}-dev += "${libdir}/${BPN}/"
> > > > >> > -
> > > > >> > -FILES_libicudata = "${libdir}/libicudata.so.*"
> > > > >> > -FILES_libicuuc = "${libdir}/libicuuc.so.*"
> > > > >> > -FILES_libicui18n = "${libdir}/libicui18n.so.*"
> > > > >> > -FILES_libicutu = "${libdir}/libicutu.so.*"
> > > > >> > -FILES_libicuio = "${libdir}/libicuio.so.*"
> > > > >> > -
> > > > >> > -BBCLASSEXTEND = "native nativesdk"
> > > > >> > diff --git a/meta/recipes-support/icu/icu_67.1.bb
> b/meta/recipes-support/icu/icu_67.1.bb
> > > > >> > index 58638507c9..5814fa41bd 100644
> > > > >> > --- a/meta/recipes-support/icu/icu_67.1.bb
> > > > >> > +++ b/meta/recipes-support/icu/icu_67.1.bb
> > > > >> > @@ -1,4 +1,87 @@
> > > > >> > -require icu.inc
> > > > >> > +SUMMARY = "International Component for Unicode libraries"
> > > > >> > +DESCRIPTION = "The International Component for Unicode (ICU)
> is a mature, \
> > > > >> > +portable set of C/C++ and Java libraries for Unicode support,
> software \
> > > > >> > +internationalization (I18N) and globalization (G11N), giving
> applications the \
> > > > >> > +same results on all platforms."
> > > > >> > +HOMEPAGE = "http://site.icu-project.org/"
> > > > >> > +
> > > > >> > +LICENSE = "ICU"
> > > > >> > +DEPENDS = "icu-native"
> > > > >> > +DEPENDS_class-native = ""
> > > > >> > +
> > > > >> > +CVE_PRODUCT = "international_components_for_unicode"
> > > > >> > +
> > > > >> > +S = "${WORKDIR}/icu/source"
> > > > >> > +SPDX_S = "${WORKDIR}/icu"
> > > > >> > +STAGING_ICU_DIR_NATIVE =
> "${STAGING_DATADIR_NATIVE}/${BPN}/${PV}"
> > > > >> > +
> > > > >> > +BINCONFIG = "${bindir}/icu-config"
> > > > >> > +
> > > > >> > +ICU_MAJOR_VER = "${@d.getVar('PV').split('.')[0]}"
> > > > >> > +
> > > > >> > +inherit autotools pkgconfig binconfig multilib_script
> > > > >> > +
> > > > >> > +MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/icu-config"
> > > > >> > +
> > > > >> > +# ICU needs the native build directory as an argument to its
> --with-cross-build option when
> > > > >> > +# cross-compiling. Taken the situation that different builds
> may share a common sstate-cache
> > > > >> > +# into consideration, the native build directory needs to be
> staged.
> > > > >> > +EXTRA_OECONF = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
> > > > >> > +EXTRA_OECONF_class-native = ""
> > > > >> > +EXTRA_OECONF_class-nativesdk =
> "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
> > > > >> > +
> > > > >> > +EXTRA_OECONF_append_class-target =
> "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', '
> --with-data-packaging=archive', '', d)}"
> > > > >> > +TARGET_CXXFLAGS_append =
> "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', '
> -DICU_DATA_DIR=\\""${datadir}/${BPN}/${PV}\\""', '', d)}"
> > > > >> > +
> > > > >> > +ASNEEDED = ""
> > > > >> > +
> > > > >> > +do_compile_prepend_class-target () {
> > > > >> > +       # Make sure certain build host references do not end up
> being compiled
> > > > >> > +       # in the image. This only affects libicutu and icu-dbg
> > > > >> > +       sed  \
> > > > >> > +           -e 's,DU_BUILD=,DU_BUILD_unused=,g' \
> > > > >> > +           -e '/^CPPFLAGS.*/
> s,--sysroot=${STAGING_DIR_TARGET},,g' \
> > > > >> > +           -i ${B}/tools/toolutil/Makefile
> > > > >> > +}
> > > > >> > +
> > > > >> > +PREPROCESS_RELOCATE_DIRS = "${datadir}/${BPN}/${PV}"
> > > > >> > +do_install_append_class-native() {
> > > > >> > +       mkdir -p ${D}/${STAGING_ICU_DIR_NATIVE}/config
> > > > >> > +       cp -r ${B}/config/icucross.mk
> ${D}/${STAGING_ICU_DIR_NATIVE}/config
> > > > >> > +       cp -r ${B}/config/icucross.inc
> ${D}/${STAGING_ICU_DIR_NATIVE}/config
> > > > >> > +       cp -r ${B}/lib ${D}/${STAGING_ICU_DIR_NATIVE}
> > > > >> > +       cp -r ${B}/bin ${D}/${STAGING_ICU_DIR_NATIVE}
> > > > >> > +       cp -r ${B}/tools ${D}/${STAGING_ICU_DIR_NATIVE}
> > > > >> > +}
> > > > >> > +
> > > > >> > +do_install_append_class-target() {
> > > > >> > +    # The native pkgdata can not generate the correct data
> file.
> > > > >> > +    # Use icupkg to re-generate it.
> > > > >> > +    if [ "${SITEINFO_ENDIANNESS}" = "be" ] ; then
> > > > >> > +        rm -f
> ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
> > > > >> > +        icupkg -tb ${S}/data/in/icudt${ICU_MAJOR_VER}l.dat
> ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
> > > > >> > +    fi
> > > > >> > +
> > > > >> > +       # Remove build host references...
> > > > >> > +       sed -i  \
> > > > >> > +           -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
> > > > >> > +           -e 's|${DEBUG_PREFIX_MAP}||g' \
> > > > >> > +           -e 's:${HOSTTOOLS_DIR}/::g' \
> > > > >> > +           ${D}/${bindir}/icu-config
> ${D}/${libdir}/${BPN}/${PV}/Makefile.inc \
> > > > >> > +           ${D}/${libdir}/${BPN}/${PV}/pkgdata.inc
> > > > >> > +}
> > > > >> > +
> > > > >> > +PACKAGES =+ "libicudata libicuuc libicui18n libicutu libicuio"
> > > > >> > +
> > > > >> > +FILES_${PN}-dev += "${libdir}/${BPN}/"
> > > > >> > +
> > > > >> > +FILES_libicudata = "${libdir}/libicudata.so.*"
> > > > >> > +FILES_libicuuc = "${libdir}/libicuuc.so.*"
> > > > >> > +FILES_libicui18n = "${libdir}/libicui18n.so.*"
> > > > >> > +FILES_libicutu = "${libdir}/libicutu.so.*"
> > > > >> > +FILES_libicuio = "${libdir}/libicuio.so.*"
> > > > >> > +
> > > > >> > +BBCLASSEXTEND = "native nativesdk"
> > > > >> >
> > > > >> >  LIC_FILES_CHKSUM =
> "file://../LICENSE;md5=a3808a5b70071b07f87ff2205e4d75a0"
> > > > >> >
> > > > >> > --
> > > > >> > 2.27.0
> > > > >> >
> > > > >> >
> > > 
>

[-- Attachment #2: Type: text/html, Size: 19455 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [OE-core] [PATCH 1/2] icu: merge .inc into main recipe
  2020-06-26 18:48             ` Alexander Kanavin
@ 2020-06-26 18:56               ` Steve Sakoman
       [not found]               ` <161C2CF3A1F68DB5.16301@lists.openembedded.org>
  1 sibling, 0 replies; 18+ messages in thread
From: Steve Sakoman @ 2020-06-26 18:56 UTC (permalink / raw)
  To: Alexander Kanavin
  Cc: Ross Burton, Patches and discussions about the oe-core layer, Khem Raj

On Fri, Jun 26, 2020 at 8:48 AM Alexander Kanavin
<alex.kanavin@gmail.com> wrote:
>
> Can you, for the sake of testing, upgrade icu to the same version as master? Those failures do not seem to be happening there.

Yes, I'll give that a try with a local build first since the
autobuilder is undergoing normal maintenance.

Steve

> On Fri, 26 Jun 2020 at 17:59, Steve Sakoman <steve@sakoman.com> wrote:
>>
>> On Fri, Jun 26, 2020 at 5:49 AM Ross Burton <ross@burtonini.com> wrote:
>> >
>> > Failures in edgerouter and MIPS screams the big-endian thing again.
>> > ICU is a disaster here, be warned.
>>
>> Good theory -- ppc failed too.
>>
>> Steve
>>
>> > On Fri, 26 Jun 2020 at 16:27, Steve Sakoman <steve@sakoman.com> wrote:
>> > >
>> > > On Thu, Jun 25, 2020 at 6:23 AM Steve Sakoman <steve@sakoman.com> wrote:
>> > > >
>> > > > On Thu, Jun 25, 2020 at 6:09 AM Alexander Kanavin
>> > > > <alex.kanavin@gmail.com> wrote:
>> > > > >
>> > > > > I think you may have to recreate them by hand.
>> > > >
>> > > > OK, I'll put together a patch for the 66.1 recipe in dunfell that
>> > > > implements the changes you have in the second patch of the series.  In
>> > > > the interest of minimizing changes I'll keep the .inc file separate as
>> > > > is.
>> > >
>> > > I recreated the patch for 66.1 and did a couple of quick local builds
>> > > and things looked fine.
>> > >
>> > > On the autobuilder I get failures for edgerouter and mips.  I seem to
>> > > recall some discussion about this (perhaps on irc?) but can only find
>> > > one thread here on the list back when Khem's original patch went in.
>> > >
>> > > Did you recall any issues like this?
>> > >
>> > > Steve
>> > >
>> > >
>> > > > > On Thu, 25 Jun 2020 at 18:04, Steve Sakoman <steve@sakoman.com> wrote:
>> > > > >>
>> > > > >> Is this patch series suitable for dunfell as-is (the concern being the
>> > > > >> contents of the version bump) or would a backport to 66.1 be
>> > > > >> necessary?
>> > > > >>
>> > > > >> Steve
>> > > > >>
>> > > > >> On Tue, Jun 23, 2020 at 11:09 AM Alexander Kanavin
>> > > > >> <alex.kanavin@gmail.com> wrote:
>> > > > >> >
>> > > > >> > Both parts are rather convoluted, so it is better to have them in a single file.
>> > > > >> >
>> > > > >> > Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
>> > > > >> > ---
>> > > > >> >  meta/recipes-support/icu/icu.inc     | 84 ---------------------------
>> > > > >> >  meta/recipes-support/icu/icu_67.1.bb | 85 +++++++++++++++++++++++++++-
>> > > > >> >  2 files changed, 84 insertions(+), 85 deletions(-)
>> > > > >> >  delete mode 100644 meta/recipes-support/icu/icu.inc
>> > > > >> >
>> > > > >> > diff --git a/meta/recipes-support/icu/icu.inc b/meta/recipes-support/icu/icu.inc
>> > > > >> > deleted file mode 100644
>> > > > >> > index 6d9728903d..0000000000
>> > > > >> > --- a/meta/recipes-support/icu/icu.inc
>> > > > >> > +++ /dev/null
>> > > > >> > @@ -1,84 +0,0 @@
>> > > > >> > -SUMMARY = "International Component for Unicode libraries"
>> > > > >> > -DESCRIPTION = "The International Component for Unicode (ICU) is a mature, \
>> > > > >> > -portable set of C/C++ and Java libraries for Unicode support, software \
>> > > > >> > -internationalization (I18N) and globalization (G11N), giving applications the \
>> > > > >> > -same results on all platforms."
>> > > > >> > -HOMEPAGE = "http://site.icu-project.org/"
>> > > > >> > -
>> > > > >> > -LICENSE = "ICU"
>> > > > >> > -DEPENDS = "icu-native"
>> > > > >> > -DEPENDS_class-native = ""
>> > > > >> > -
>> > > > >> > -CVE_PRODUCT = "international_components_for_unicode"
>> > > > >> > -
>> > > > >> > -S = "${WORKDIR}/icu/source"
>> > > > >> > -SPDX_S = "${WORKDIR}/icu"
>> > > > >> > -STAGING_ICU_DIR_NATIVE = "${STAGING_DATADIR_NATIVE}/${BPN}/${PV}"
>> > > > >> > -
>> > > > >> > -BINCONFIG = "${bindir}/icu-config"
>> > > > >> > -
>> > > > >> > -ICU_MAJOR_VER = "${@d.getVar('PV').split('.')[0]}"
>> > > > >> > -
>> > > > >> > -inherit autotools pkgconfig binconfig multilib_script
>> > > > >> > -
>> > > > >> > -MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/icu-config"
>> > > > >> > -
>> > > > >> > -# ICU needs the native build directory as an argument to its --with-cross-build option when
>> > > > >> > -# cross-compiling. Taken the situation that different builds may share a common sstate-cache
>> > > > >> > -# into consideration, the native build directory needs to be staged.
>> > > > >> > -EXTRA_OECONF = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
>> > > > >> > -EXTRA_OECONF_class-native = ""
>> > > > >> > -EXTRA_OECONF_class-nativesdk = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
>> > > > >> > -
>> > > > >> > -EXTRA_OECONF_append_class-target = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' --with-data-packaging=archive', '', d)}"
>> > > > >> > -TARGET_CXXFLAGS_append = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' -DICU_DATA_DIR=\\""${datadir}/${BPN}/${PV}\\""', '', d)}"
>> > > > >> > -
>> > > > >> > -ASNEEDED = ""
>> > > > >> > -
>> > > > >> > -do_compile_prepend_class-target () {
>> > > > >> > -       # Make sure certain build host references do not end up being compiled
>> > > > >> > -       # in the image. This only affects libicutu and icu-dbg
>> > > > >> > -       sed  \
>> > > > >> > -           -e 's,DU_BUILD=,DU_BUILD_unused=,g' \
>> > > > >> > -           -e '/^CPPFLAGS.*/ s,--sysroot=${STAGING_DIR_TARGET},,g' \
>> > > > >> > -           -i ${B}/tools/toolutil/Makefile
>> > > > >> > -}
>> > > > >> > -
>> > > > >> > -PREPROCESS_RELOCATE_DIRS = "${datadir}/${BPN}/${PV}"
>> > > > >> > -do_install_append_class-native() {
>> > > > >> > -       mkdir -p ${D}/${STAGING_ICU_DIR_NATIVE}/config
>> > > > >> > -       cp -r ${B}/config/icucross.mk ${D}/${STAGING_ICU_DIR_NATIVE}/config
>> > > > >> > -       cp -r ${B}/config/icucross.inc ${D}/${STAGING_ICU_DIR_NATIVE}/config
>> > > > >> > -       cp -r ${B}/lib ${D}/${STAGING_ICU_DIR_NATIVE}
>> > > > >> > -       cp -r ${B}/bin ${D}/${STAGING_ICU_DIR_NATIVE}
>> > > > >> > -       cp -r ${B}/tools ${D}/${STAGING_ICU_DIR_NATIVE}
>> > > > >> > -}
>> > > > >> > -
>> > > > >> > -do_install_append_class-target() {
>> > > > >> > -    # The native pkgdata can not generate the correct data file.
>> > > > >> > -    # Use icupkg to re-generate it.
>> > > > >> > -    if [ "${SITEINFO_ENDIANNESS}" = "be" ] ; then
>> > > > >> > -        rm -f ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
>> > > > >> > -        icupkg -tb ${S}/data/in/icudt${ICU_MAJOR_VER}l.dat ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
>> > > > >> > -    fi
>> > > > >> > -
>> > > > >> > -       # Remove build host references...
>> > > > >> > -       sed -i  \
>> > > > >> > -           -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
>> > > > >> > -           -e 's|${DEBUG_PREFIX_MAP}||g' \
>> > > > >> > -           -e 's:${HOSTTOOLS_DIR}/::g' \
>> > > > >> > -           ${D}/${bindir}/icu-config ${D}/${libdir}/${BPN}/${PV}/Makefile.inc \
>> > > > >> > -           ${D}/${libdir}/${BPN}/${PV}/pkgdata.inc
>> > > > >> > -}
>> > > > >> > -
>> > > > >> > -PACKAGES =+ "libicudata libicuuc libicui18n libicutu libicuio"
>> > > > >> > -
>> > > > >> > -FILES_${PN}-dev += "${libdir}/${BPN}/"
>> > > > >> > -
>> > > > >> > -FILES_libicudata = "${libdir}/libicudata.so.*"
>> > > > >> > -FILES_libicuuc = "${libdir}/libicuuc.so.*"
>> > > > >> > -FILES_libicui18n = "${libdir}/libicui18n.so.*"
>> > > > >> > -FILES_libicutu = "${libdir}/libicutu.so.*"
>> > > > >> > -FILES_libicuio = "${libdir}/libicuio.so.*"
>> > > > >> > -
>> > > > >> > -BBCLASSEXTEND = "native nativesdk"
>> > > > >> > diff --git a/meta/recipes-support/icu/icu_67.1.bb b/meta/recipes-support/icu/icu_67.1.bb
>> > > > >> > index 58638507c9..5814fa41bd 100644
>> > > > >> > --- a/meta/recipes-support/icu/icu_67.1.bb
>> > > > >> > +++ b/meta/recipes-support/icu/icu_67.1.bb
>> > > > >> > @@ -1,4 +1,87 @@
>> > > > >> > -require icu.inc
>> > > > >> > +SUMMARY = "International Component for Unicode libraries"
>> > > > >> > +DESCRIPTION = "The International Component for Unicode (ICU) is a mature, \
>> > > > >> > +portable set of C/C++ and Java libraries for Unicode support, software \
>> > > > >> > +internationalization (I18N) and globalization (G11N), giving applications the \
>> > > > >> > +same results on all platforms."
>> > > > >> > +HOMEPAGE = "http://site.icu-project.org/"
>> > > > >> > +
>> > > > >> > +LICENSE = "ICU"
>> > > > >> > +DEPENDS = "icu-native"
>> > > > >> > +DEPENDS_class-native = ""
>> > > > >> > +
>> > > > >> > +CVE_PRODUCT = "international_components_for_unicode"
>> > > > >> > +
>> > > > >> > +S = "${WORKDIR}/icu/source"
>> > > > >> > +SPDX_S = "${WORKDIR}/icu"
>> > > > >> > +STAGING_ICU_DIR_NATIVE = "${STAGING_DATADIR_NATIVE}/${BPN}/${PV}"
>> > > > >> > +
>> > > > >> > +BINCONFIG = "${bindir}/icu-config"
>> > > > >> > +
>> > > > >> > +ICU_MAJOR_VER = "${@d.getVar('PV').split('.')[0]}"
>> > > > >> > +
>> > > > >> > +inherit autotools pkgconfig binconfig multilib_script
>> > > > >> > +
>> > > > >> > +MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/icu-config"
>> > > > >> > +
>> > > > >> > +# ICU needs the native build directory as an argument to its --with-cross-build option when
>> > > > >> > +# cross-compiling. Taken the situation that different builds may share a common sstate-cache
>> > > > >> > +# into consideration, the native build directory needs to be staged.
>> > > > >> > +EXTRA_OECONF = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
>> > > > >> > +EXTRA_OECONF_class-native = ""
>> > > > >> > +EXTRA_OECONF_class-nativesdk = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
>> > > > >> > +
>> > > > >> > +EXTRA_OECONF_append_class-target = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' --with-data-packaging=archive', '', d)}"
>> > > > >> > +TARGET_CXXFLAGS_append = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' -DICU_DATA_DIR=\\""${datadir}/${BPN}/${PV}\\""', '', d)}"
>> > > > >> > +
>> > > > >> > +ASNEEDED = ""
>> > > > >> > +
>> > > > >> > +do_compile_prepend_class-target () {
>> > > > >> > +       # Make sure certain build host references do not end up being compiled
>> > > > >> > +       # in the image. This only affects libicutu and icu-dbg
>> > > > >> > +       sed  \
>> > > > >> > +           -e 's,DU_BUILD=,DU_BUILD_unused=,g' \
>> > > > >> > +           -e '/^CPPFLAGS.*/ s,--sysroot=${STAGING_DIR_TARGET},,g' \
>> > > > >> > +           -i ${B}/tools/toolutil/Makefile
>> > > > >> > +}
>> > > > >> > +
>> > > > >> > +PREPROCESS_RELOCATE_DIRS = "${datadir}/${BPN}/${PV}"
>> > > > >> > +do_install_append_class-native() {
>> > > > >> > +       mkdir -p ${D}/${STAGING_ICU_DIR_NATIVE}/config
>> > > > >> > +       cp -r ${B}/config/icucross.mk ${D}/${STAGING_ICU_DIR_NATIVE}/config
>> > > > >> > +       cp -r ${B}/config/icucross.inc ${D}/${STAGING_ICU_DIR_NATIVE}/config
>> > > > >> > +       cp -r ${B}/lib ${D}/${STAGING_ICU_DIR_NATIVE}
>> > > > >> > +       cp -r ${B}/bin ${D}/${STAGING_ICU_DIR_NATIVE}
>> > > > >> > +       cp -r ${B}/tools ${D}/${STAGING_ICU_DIR_NATIVE}
>> > > > >> > +}
>> > > > >> > +
>> > > > >> > +do_install_append_class-target() {
>> > > > >> > +    # The native pkgdata can not generate the correct data file.
>> > > > >> > +    # Use icupkg to re-generate it.
>> > > > >> > +    if [ "${SITEINFO_ENDIANNESS}" = "be" ] ; then
>> > > > >> > +        rm -f ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
>> > > > >> > +        icupkg -tb ${S}/data/in/icudt${ICU_MAJOR_VER}l.dat ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
>> > > > >> > +    fi
>> > > > >> > +
>> > > > >> > +       # Remove build host references...
>> > > > >> > +       sed -i  \
>> > > > >> > +           -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
>> > > > >> > +           -e 's|${DEBUG_PREFIX_MAP}||g' \
>> > > > >> > +           -e 's:${HOSTTOOLS_DIR}/::g' \
>> > > > >> > +           ${D}/${bindir}/icu-config ${D}/${libdir}/${BPN}/${PV}/Makefile.inc \
>> > > > >> > +           ${D}/${libdir}/${BPN}/${PV}/pkgdata.inc
>> > > > >> > +}
>> > > > >> > +
>> > > > >> > +PACKAGES =+ "libicudata libicuuc libicui18n libicutu libicuio"
>> > > > >> > +
>> > > > >> > +FILES_${PN}-dev += "${libdir}/${BPN}/"
>> > > > >> > +
>> > > > >> > +FILES_libicudata = "${libdir}/libicudata.so.*"
>> > > > >> > +FILES_libicuuc = "${libdir}/libicuuc.so.*"
>> > > > >> > +FILES_libicui18n = "${libdir}/libicui18n.so.*"
>> > > > >> > +FILES_libicutu = "${libdir}/libicutu.so.*"
>> > > > >> > +FILES_libicuio = "${libdir}/libicuio.so.*"
>> > > > >> > +
>> > > > >> > +BBCLASSEXTEND = "native nativesdk"
>> > > > >> >
>> > > > >> >  LIC_FILES_CHKSUM = "file://../LICENSE;md5=a3808a5b70071b07f87ff2205e4d75a0"
>> > > > >> >
>> > > > >> > --
>> > > > >> > 2.27.0
>> > > > >> >
>> > > > >> >
>> > > 

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [OE-core] [PATCH 1/2] icu: merge .inc into main recipe
       [not found]               ` <161C2CF3A1F68DB5.16301@lists.openembedded.org>
@ 2020-06-26 19:34                 ` Steve Sakoman
  2020-06-26 20:26                   ` Alexander Kanavin
  0 siblings, 1 reply; 18+ messages in thread
From: Steve Sakoman @ 2020-06-26 19:34 UTC (permalink / raw)
  To: Steve Sakoman
  Cc: Alexander Kanavin, Ross Burton,
	Patches and discussions about the oe-core layer, Khem Raj

On Fri, Jun 26, 2020 at 8:56 AM Steve Sakoman via
lists.openembedded.org <steve=sakoman.com@lists.openembedded.org>
wrote:
>
> On Fri, Jun 26, 2020 at 8:48 AM Alexander Kanavin
> <alex.kanavin@gmail.com> wrote:
> >
> > Can you, for the sake of testing, upgrade icu to the same version as master? Those failures do not seem to be happening there.
>
> Yes, I'll give that a try with a local build first since the
> autobuilder is undergoing normal maintenance.

The local build succeeded, so the failure does seem to be related to
the earlier version.

Is an upgrade to the new version reasonable for dunfell, or are there
feature additions that would make it unsuitable?

Steve

> > On Fri, 26 Jun 2020 at 17:59, Steve Sakoman <steve@sakoman.com> wrote:
> >>
> >> On Fri, Jun 26, 2020 at 5:49 AM Ross Burton <ross@burtonini.com> wrote:
> >> >
> >> > Failures in edgerouter and MIPS screams the big-endian thing again.
> >> > ICU is a disaster here, be warned.
> >>
> >> Good theory -- ppc failed too.
> >>
> >> Steve
> >>
> >> > On Fri, 26 Jun 2020 at 16:27, Steve Sakoman <steve@sakoman.com> wrote:
> >> > >
> >> > > On Thu, Jun 25, 2020 at 6:23 AM Steve Sakoman <steve@sakoman.com> wrote:
> >> > > >
> >> > > > On Thu, Jun 25, 2020 at 6:09 AM Alexander Kanavin
> >> > > > <alex.kanavin@gmail.com> wrote:
> >> > > > >
> >> > > > > I think you may have to recreate them by hand.
> >> > > >
> >> > > > OK, I'll put together a patch for the 66.1 recipe in dunfell that
> >> > > > implements the changes you have in the second patch of the series.  In
> >> > > > the interest of minimizing changes I'll keep the .inc file separate as
> >> > > > is.
> >> > >
> >> > > I recreated the patch for 66.1 and did a couple of quick local builds
> >> > > and things looked fine.
> >> > >
> >> > > On the autobuilder I get failures for edgerouter and mips.  I seem to
> >> > > recall some discussion about this (perhaps on irc?) but can only find
> >> > > one thread here on the list back when Khem's original patch went in.
> >> > >
> >> > > Did you recall any issues like this?
> >> > >
> >> > > Steve
> >> > >
> >> > >
> >> > > > > On Thu, 25 Jun 2020 at 18:04, Steve Sakoman <steve@sakoman.com> wrote:
> >> > > > >>
> >> > > > >> Is this patch series suitable for dunfell as-is (the concern being the
> >> > > > >> contents of the version bump) or would a backport to 66.1 be
> >> > > > >> necessary?
> >> > > > >>
> >> > > > >> Steve
> >> > > > >>
> >> > > > >> On Tue, Jun 23, 2020 at 11:09 AM Alexander Kanavin
> >> > > > >> <alex.kanavin@gmail.com> wrote:
> >> > > > >> >
> >> > > > >> > Both parts are rather convoluted, so it is better to have them in a single file.
> >> > > > >> >
> >> > > > >> > Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> >> > > > >> > ---
> >> > > > >> >  meta/recipes-support/icu/icu.inc     | 84 ---------------------------
> >> > > > >> >  meta/recipes-support/icu/icu_67.1.bb | 85 +++++++++++++++++++++++++++-
> >> > > > >> >  2 files changed, 84 insertions(+), 85 deletions(-)
> >> > > > >> >  delete mode 100644 meta/recipes-support/icu/icu.inc
> >> > > > >> >
> >> > > > >> > diff --git a/meta/recipes-support/icu/icu.inc b/meta/recipes-support/icu/icu.inc
> >> > > > >> > deleted file mode 100644
> >> > > > >> > index 6d9728903d..0000000000
> >> > > > >> > --- a/meta/recipes-support/icu/icu.inc
> >> > > > >> > +++ /dev/null
> >> > > > >> > @@ -1,84 +0,0 @@
> >> > > > >> > -SUMMARY = "International Component for Unicode libraries"
> >> > > > >> > -DESCRIPTION = "The International Component for Unicode (ICU) is a mature, \
> >> > > > >> > -portable set of C/C++ and Java libraries for Unicode support, software \
> >> > > > >> > -internationalization (I18N) and globalization (G11N), giving applications the \
> >> > > > >> > -same results on all platforms."
> >> > > > >> > -HOMEPAGE = "http://site.icu-project.org/"
> >> > > > >> > -
> >> > > > >> > -LICENSE = "ICU"
> >> > > > >> > -DEPENDS = "icu-native"
> >> > > > >> > -DEPENDS_class-native = ""
> >> > > > >> > -
> >> > > > >> > -CVE_PRODUCT = "international_components_for_unicode"
> >> > > > >> > -
> >> > > > >> > -S = "${WORKDIR}/icu/source"
> >> > > > >> > -SPDX_S = "${WORKDIR}/icu"
> >> > > > >> > -STAGING_ICU_DIR_NATIVE = "${STAGING_DATADIR_NATIVE}/${BPN}/${PV}"
> >> > > > >> > -
> >> > > > >> > -BINCONFIG = "${bindir}/icu-config"
> >> > > > >> > -
> >> > > > >> > -ICU_MAJOR_VER = "${@d.getVar('PV').split('.')[0]}"
> >> > > > >> > -
> >> > > > >> > -inherit autotools pkgconfig binconfig multilib_script
> >> > > > >> > -
> >> > > > >> > -MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/icu-config"
> >> > > > >> > -
> >> > > > >> > -# ICU needs the native build directory as an argument to its --with-cross-build option when
> >> > > > >> > -# cross-compiling. Taken the situation that different builds may share a common sstate-cache
> >> > > > >> > -# into consideration, the native build directory needs to be staged.
> >> > > > >> > -EXTRA_OECONF = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
> >> > > > >> > -EXTRA_OECONF_class-native = ""
> >> > > > >> > -EXTRA_OECONF_class-nativesdk = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
> >> > > > >> > -
> >> > > > >> > -EXTRA_OECONF_append_class-target = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' --with-data-packaging=archive', '', d)}"
> >> > > > >> > -TARGET_CXXFLAGS_append = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' -DICU_DATA_DIR=\\""${datadir}/${BPN}/${PV}\\""', '', d)}"
> >> > > > >> > -
> >> > > > >> > -ASNEEDED = ""
> >> > > > >> > -
> >> > > > >> > -do_compile_prepend_class-target () {
> >> > > > >> > -       # Make sure certain build host references do not end up being compiled
> >> > > > >> > -       # in the image. This only affects libicutu and icu-dbg
> >> > > > >> > -       sed  \
> >> > > > >> > -           -e 's,DU_BUILD=,DU_BUILD_unused=,g' \
> >> > > > >> > -           -e '/^CPPFLAGS.*/ s,--sysroot=${STAGING_DIR_TARGET},,g' \
> >> > > > >> > -           -i ${B}/tools/toolutil/Makefile
> >> > > > >> > -}
> >> > > > >> > -
> >> > > > >> > -PREPROCESS_RELOCATE_DIRS = "${datadir}/${BPN}/${PV}"
> >> > > > >> > -do_install_append_class-native() {
> >> > > > >> > -       mkdir -p ${D}/${STAGING_ICU_DIR_NATIVE}/config
> >> > > > >> > -       cp -r ${B}/config/icucross.mk ${D}/${STAGING_ICU_DIR_NATIVE}/config
> >> > > > >> > -       cp -r ${B}/config/icucross.inc ${D}/${STAGING_ICU_DIR_NATIVE}/config
> >> > > > >> > -       cp -r ${B}/lib ${D}/${STAGING_ICU_DIR_NATIVE}
> >> > > > >> > -       cp -r ${B}/bin ${D}/${STAGING_ICU_DIR_NATIVE}
> >> > > > >> > -       cp -r ${B}/tools ${D}/${STAGING_ICU_DIR_NATIVE}
> >> > > > >> > -}
> >> > > > >> > -
> >> > > > >> > -do_install_append_class-target() {
> >> > > > >> > -    # The native pkgdata can not generate the correct data file.
> >> > > > >> > -    # Use icupkg to re-generate it.
> >> > > > >> > -    if [ "${SITEINFO_ENDIANNESS}" = "be" ] ; then
> >> > > > >> > -        rm -f ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
> >> > > > >> > -        icupkg -tb ${S}/data/in/icudt${ICU_MAJOR_VER}l.dat ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
> >> > > > >> > -    fi
> >> > > > >> > -
> >> > > > >> > -       # Remove build host references...
> >> > > > >> > -       sed -i  \
> >> > > > >> > -           -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
> >> > > > >> > -           -e 's|${DEBUG_PREFIX_MAP}||g' \
> >> > > > >> > -           -e 's:${HOSTTOOLS_DIR}/::g' \
> >> > > > >> > -           ${D}/${bindir}/icu-config ${D}/${libdir}/${BPN}/${PV}/Makefile.inc \
> >> > > > >> > -           ${D}/${libdir}/${BPN}/${PV}/pkgdata.inc
> >> > > > >> > -}
> >> > > > >> > -
> >> > > > >> > -PACKAGES =+ "libicudata libicuuc libicui18n libicutu libicuio"
> >> > > > >> > -
> >> > > > >> > -FILES_${PN}-dev += "${libdir}/${BPN}/"
> >> > > > >> > -
> >> > > > >> > -FILES_libicudata = "${libdir}/libicudata.so.*"
> >> > > > >> > -FILES_libicuuc = "${libdir}/libicuuc.so.*"
> >> > > > >> > -FILES_libicui18n = "${libdir}/libicui18n.so.*"
> >> > > > >> > -FILES_libicutu = "${libdir}/libicutu.so.*"
> >> > > > >> > -FILES_libicuio = "${libdir}/libicuio.so.*"
> >> > > > >> > -
> >> > > > >> > -BBCLASSEXTEND = "native nativesdk"
> >> > > > >> > diff --git a/meta/recipes-support/icu/icu_67.1.bb b/meta/recipes-support/icu/icu_67.1.bb
> >> > > > >> > index 58638507c9..5814fa41bd 100644
> >> > > > >> > --- a/meta/recipes-support/icu/icu_67.1.bb
> >> > > > >> > +++ b/meta/recipes-support/icu/icu_67.1.bb
> >> > > > >> > @@ -1,4 +1,87 @@
> >> > > > >> > -require icu.inc
> >> > > > >> > +SUMMARY = "International Component for Unicode libraries"
> >> > > > >> > +DESCRIPTION = "The International Component for Unicode (ICU) is a mature, \
> >> > > > >> > +portable set of C/C++ and Java libraries for Unicode support, software \
> >> > > > >> > +internationalization (I18N) and globalization (G11N), giving applications the \
> >> > > > >> > +same results on all platforms."
> >> > > > >> > +HOMEPAGE = "http://site.icu-project.org/"
> >> > > > >> > +
> >> > > > >> > +LICENSE = "ICU"
> >> > > > >> > +DEPENDS = "icu-native"
> >> > > > >> > +DEPENDS_class-native = ""
> >> > > > >> > +
> >> > > > >> > +CVE_PRODUCT = "international_components_for_unicode"
> >> > > > >> > +
> >> > > > >> > +S = "${WORKDIR}/icu/source"
> >> > > > >> > +SPDX_S = "${WORKDIR}/icu"
> >> > > > >> > +STAGING_ICU_DIR_NATIVE = "${STAGING_DATADIR_NATIVE}/${BPN}/${PV}"
> >> > > > >> > +
> >> > > > >> > +BINCONFIG = "${bindir}/icu-config"
> >> > > > >> > +
> >> > > > >> > +ICU_MAJOR_VER = "${@d.getVar('PV').split('.')[0]}"
> >> > > > >> > +
> >> > > > >> > +inherit autotools pkgconfig binconfig multilib_script
> >> > > > >> > +
> >> > > > >> > +MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/icu-config"
> >> > > > >> > +
> >> > > > >> > +# ICU needs the native build directory as an argument to its --with-cross-build option when
> >> > > > >> > +# cross-compiling. Taken the situation that different builds may share a common sstate-cache
> >> > > > >> > +# into consideration, the native build directory needs to be staged.
> >> > > > >> > +EXTRA_OECONF = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
> >> > > > >> > +EXTRA_OECONF_class-native = ""
> >> > > > >> > +EXTRA_OECONF_class-nativesdk = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
> >> > > > >> > +
> >> > > > >> > +EXTRA_OECONF_append_class-target = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' --with-data-packaging=archive', '', d)}"
> >> > > > >> > +TARGET_CXXFLAGS_append = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' -DICU_DATA_DIR=\\""${datadir}/${BPN}/${PV}\\""', '', d)}"
> >> > > > >> > +
> >> > > > >> > +ASNEEDED = ""
> >> > > > >> > +
> >> > > > >> > +do_compile_prepend_class-target () {
> >> > > > >> > +       # Make sure certain build host references do not end up being compiled
> >> > > > >> > +       # in the image. This only affects libicutu and icu-dbg
> >> > > > >> > +       sed  \
> >> > > > >> > +           -e 's,DU_BUILD=,DU_BUILD_unused=,g' \
> >> > > > >> > +           -e '/^CPPFLAGS.*/ s,--sysroot=${STAGING_DIR_TARGET},,g' \
> >> > > > >> > +           -i ${B}/tools/toolutil/Makefile
> >> > > > >> > +}
> >> > > > >> > +
> >> > > > >> > +PREPROCESS_RELOCATE_DIRS = "${datadir}/${BPN}/${PV}"
> >> > > > >> > +do_install_append_class-native() {
> >> > > > >> > +       mkdir -p ${D}/${STAGING_ICU_DIR_NATIVE}/config
> >> > > > >> > +       cp -r ${B}/config/icucross.mk ${D}/${STAGING_ICU_DIR_NATIVE}/config
> >> > > > >> > +       cp -r ${B}/config/icucross.inc ${D}/${STAGING_ICU_DIR_NATIVE}/config
> >> > > > >> > +       cp -r ${B}/lib ${D}/${STAGING_ICU_DIR_NATIVE}
> >> > > > >> > +       cp -r ${B}/bin ${D}/${STAGING_ICU_DIR_NATIVE}
> >> > > > >> > +       cp -r ${B}/tools ${D}/${STAGING_ICU_DIR_NATIVE}
> >> > > > >> > +}
> >> > > > >> > +
> >> > > > >> > +do_install_append_class-target() {
> >> > > > >> > +    # The native pkgdata can not generate the correct data file.
> >> > > > >> > +    # Use icupkg to re-generate it.
> >> > > > >> > +    if [ "${SITEINFO_ENDIANNESS}" = "be" ] ; then
> >> > > > >> > +        rm -f ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
> >> > > > >> > +        icupkg -tb ${S}/data/in/icudt${ICU_MAJOR_VER}l.dat ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
> >> > > > >> > +    fi
> >> > > > >> > +
> >> > > > >> > +       # Remove build host references...
> >> > > > >> > +       sed -i  \
> >> > > > >> > +           -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
> >> > > > >> > +           -e 's|${DEBUG_PREFIX_MAP}||g' \
> >> > > > >> > +           -e 's:${HOSTTOOLS_DIR}/::g' \
> >> > > > >> > +           ${D}/${bindir}/icu-config ${D}/${libdir}/${BPN}/${PV}/Makefile.inc \
> >> > > > >> > +           ${D}/${libdir}/${BPN}/${PV}/pkgdata.inc
> >> > > > >> > +}
> >> > > > >> > +
> >> > > > >> > +PACKAGES =+ "libicudata libicuuc libicui18n libicutu libicuio"
> >> > > > >> > +
> >> > > > >> > +FILES_${PN}-dev += "${libdir}/${BPN}/"
> >> > > > >> > +
> >> > > > >> > +FILES_libicudata = "${libdir}/libicudata.so.*"
> >> > > > >> > +FILES_libicuuc = "${libdir}/libicuuc.so.*"
> >> > > > >> > +FILES_libicui18n = "${libdir}/libicui18n.so.*"
> >> > > > >> > +FILES_libicutu = "${libdir}/libicutu.so.*"
> >> > > > >> > +FILES_libicuio = "${libdir}/libicuio.so.*"
> >> > > > >> > +
> >> > > > >> > +BBCLASSEXTEND = "native nativesdk"
> >> > > > >> >
> >> > > > >> >  LIC_FILES_CHKSUM = "file://../LICENSE;md5=a3808a5b70071b07f87ff2205e4d75a0"
> >> > > > >> >
> >> > > > >> > --
> >> > > > >> > 2.27.0
> >> > > > >> >
> >> > > > >> >
> >> > >
> 

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [OE-core] [PATCH 1/2] icu: merge .inc into main recipe
  2020-06-26 19:34                 ` Steve Sakoman
@ 2020-06-26 20:26                   ` Alexander Kanavin
  2020-06-26 21:46                     ` Steve Sakoman
  0 siblings, 1 reply; 18+ messages in thread
From: Alexander Kanavin @ 2020-06-26 20:26 UTC (permalink / raw)
  To: Steve Sakoman
  Cc: Ross Burton, Patches and discussions about the oe-core layer, Khem Raj

[-- Attachment #1: Type: text/plain, Size: 14983 bytes --]

Technically, there are. I am not qualified to comment on how destabilizing
they could be:
http://site.icu-project.org/download/67

Perhaps it is possible to bisect the code to identify the fix that can be
cherry picked:
https://github.com/unicode-org/icu/releases/tag/release-67-1

Alex

Alex

On Fri, 26 Jun 2020 at 21:35, Steve Sakoman <steve@sakoman.com> wrote:

> On Fri, Jun 26, 2020 at 8:56 AM Steve Sakoman via
> lists.openembedded.org <steve=sakoman.com@lists.openembedded.org>
> wrote:
> >
> > On Fri, Jun 26, 2020 at 8:48 AM Alexander Kanavin
> > <alex.kanavin@gmail.com> wrote:
> > >
> > > Can you, for the sake of testing, upgrade icu to the same version as
> master? Those failures do not seem to be happening there.
> >
> > Yes, I'll give that a try with a local build first since the
> > autobuilder is undergoing normal maintenance.
>
> The local build succeeded, so the failure does seem to be related to
> the earlier version.
>
> Is an upgrade to the new version reasonable for dunfell, or are there
> feature additions that would make it unsuitable?
>
> Steve
>
> > > On Fri, 26 Jun 2020 at 17:59, Steve Sakoman <steve@sakoman.com> wrote:
> > >>
> > >> On Fri, Jun 26, 2020 at 5:49 AM Ross Burton <ross@burtonini.com>
> wrote:
> > >> >
> > >> > Failures in edgerouter and MIPS screams the big-endian thing again.
> > >> > ICU is a disaster here, be warned.
> > >>
> > >> Good theory -- ppc failed too.
> > >>
> > >> Steve
> > >>
> > >> > On Fri, 26 Jun 2020 at 16:27, Steve Sakoman <steve@sakoman.com>
> wrote:
> > >> > >
> > >> > > On Thu, Jun 25, 2020 at 6:23 AM Steve Sakoman <steve@sakoman.com>
> wrote:
> > >> > > >
> > >> > > > On Thu, Jun 25, 2020 at 6:09 AM Alexander Kanavin
> > >> > > > <alex.kanavin@gmail.com> wrote:
> > >> > > > >
> > >> > > > > I think you may have to recreate them by hand.
> > >> > > >
> > >> > > > OK, I'll put together a patch for the 66.1 recipe in dunfell
> that
> > >> > > > implements the changes you have in the second patch of the
> series.  In
> > >> > > > the interest of minimizing changes I'll keep the .inc file
> separate as
> > >> > > > is.
> > >> > >
> > >> > > I recreated the patch for 66.1 and did a couple of quick local
> builds
> > >> > > and things looked fine.
> > >> > >
> > >> > > On the autobuilder I get failures for edgerouter and mips.  I
> seem to
> > >> > > recall some discussion about this (perhaps on irc?) but can only
> find
> > >> > > one thread here on the list back when Khem's original patch went
> in.
> > >> > >
> > >> > > Did you recall any issues like this?
> > >> > >
> > >> > > Steve
> > >> > >
> > >> > >
> > >> > > > > On Thu, 25 Jun 2020 at 18:04, Steve Sakoman <
> steve@sakoman.com> wrote:
> > >> > > > >>
> > >> > > > >> Is this patch series suitable for dunfell as-is (the concern
> being the
> > >> > > > >> contents of the version bump) or would a backport to 66.1 be
> > >> > > > >> necessary?
> > >> > > > >>
> > >> > > > >> Steve
> > >> > > > >>
> > >> > > > >> On Tue, Jun 23, 2020 at 11:09 AM Alexander Kanavin
> > >> > > > >> <alex.kanavin@gmail.com> wrote:
> > >> > > > >> >
> > >> > > > >> > Both parts are rather convoluted, so it is better to have
> them in a single file.
> > >> > > > >> >
> > >> > > > >> > Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> > >> > > > >> > ---
> > >> > > > >> >  meta/recipes-support/icu/icu.inc     | 84
> ---------------------------
> > >> > > > >> >  meta/recipes-support/icu/icu_67.1.bb | 85
> +++++++++++++++++++++++++++-
> > >> > > > >> >  2 files changed, 84 insertions(+), 85 deletions(-)
> > >> > > > >> >  delete mode 100644 meta/recipes-support/icu/icu.inc
> > >> > > > >> >
> > >> > > > >> > diff --git a/meta/recipes-support/icu/icu.inc
> b/meta/recipes-support/icu/icu.inc
> > >> > > > >> > deleted file mode 100644
> > >> > > > >> > index 6d9728903d..0000000000
> > >> > > > >> > --- a/meta/recipes-support/icu/icu.inc
> > >> > > > >> > +++ /dev/null
> > >> > > > >> > @@ -1,84 +0,0 @@
> > >> > > > >> > -SUMMARY = "International Component for Unicode libraries"
> > >> > > > >> > -DESCRIPTION = "The International Component for Unicode
> (ICU) is a mature, \
> > >> > > > >> > -portable set of C/C++ and Java libraries for Unicode
> support, software \
> > >> > > > >> > -internationalization (I18N) and globalization (G11N),
> giving applications the \
> > >> > > > >> > -same results on all platforms."
> > >> > > > >> > -HOMEPAGE = "http://site.icu-project.org/"
> > >> > > > >> > -
> > >> > > > >> > -LICENSE = "ICU"
> > >> > > > >> > -DEPENDS = "icu-native"
> > >> > > > >> > -DEPENDS_class-native = ""
> > >> > > > >> > -
> > >> > > > >> > -CVE_PRODUCT = "international_components_for_unicode"
> > >> > > > >> > -
> > >> > > > >> > -S = "${WORKDIR}/icu/source"
> > >> > > > >> > -SPDX_S = "${WORKDIR}/icu"
> > >> > > > >> > -STAGING_ICU_DIR_NATIVE =
> "${STAGING_DATADIR_NATIVE}/${BPN}/${PV}"
> > >> > > > >> > -
> > >> > > > >> > -BINCONFIG = "${bindir}/icu-config"
> > >> > > > >> > -
> > >> > > > >> > -ICU_MAJOR_VER = "${@d.getVar('PV').split('.')[0]}"
> > >> > > > >> > -
> > >> > > > >> > -inherit autotools pkgconfig binconfig multilib_script
> > >> > > > >> > -
> > >> > > > >> > -MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/icu-config"
> > >> > > > >> > -
> > >> > > > >> > -# ICU needs the native build directory as an argument to
> its --with-cross-build option when
> > >> > > > >> > -# cross-compiling. Taken the situation that different
> builds may share a common sstate-cache
> > >> > > > >> > -# into consideration, the native build directory needs to
> be staged.
> > >> > > > >> > -EXTRA_OECONF =
> "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
> > >> > > > >> > -EXTRA_OECONF_class-native = ""
> > >> > > > >> > -EXTRA_OECONF_class-nativesdk =
> "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
> > >> > > > >> > -
> > >> > > > >> > -EXTRA_OECONF_append_class-target =
> "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', '
> --with-data-packaging=archive', '', d)}"
> > >> > > > >> > -TARGET_CXXFLAGS_append =
> "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', '
> -DICU_DATA_DIR=\\""${datadir}/${BPN}/${PV}\\""', '', d)}"
> > >> > > > >> > -
> > >> > > > >> > -ASNEEDED = ""
> > >> > > > >> > -
> > >> > > > >> > -do_compile_prepend_class-target () {
> > >> > > > >> > -       # Make sure certain build host references do not
> end up being compiled
> > >> > > > >> > -       # in the image. This only affects libicutu and
> icu-dbg
> > >> > > > >> > -       sed  \
> > >> > > > >> > -           -e 's,DU_BUILD=,DU_BUILD_unused=,g' \
> > >> > > > >> > -           -e '/^CPPFLAGS.*/
> s,--sysroot=${STAGING_DIR_TARGET},,g' \
> > >> > > > >> > -           -i ${B}/tools/toolutil/Makefile
> > >> > > > >> > -}
> > >> > > > >> > -
> > >> > > > >> > -PREPROCESS_RELOCATE_DIRS = "${datadir}/${BPN}/${PV}"
> > >> > > > >> > -do_install_append_class-native() {
> > >> > > > >> > -       mkdir -p ${D}/${STAGING_ICU_DIR_NATIVE}/config
> > >> > > > >> > -       cp -r ${B}/config/icucross.mk
> ${D}/${STAGING_ICU_DIR_NATIVE}/config
> > >> > > > >> > -       cp -r ${B}/config/icucross.inc
> ${D}/${STAGING_ICU_DIR_NATIVE}/config
> > >> > > > >> > -       cp -r ${B}/lib ${D}/${STAGING_ICU_DIR_NATIVE}
> > >> > > > >> > -       cp -r ${B}/bin ${D}/${STAGING_ICU_DIR_NATIVE}
> > >> > > > >> > -       cp -r ${B}/tools ${D}/${STAGING_ICU_DIR_NATIVE}
> > >> > > > >> > -}
> > >> > > > >> > -
> > >> > > > >> > -do_install_append_class-target() {
> > >> > > > >> > -    # The native pkgdata can not generate the correct
> data file.
> > >> > > > >> > -    # Use icupkg to re-generate it.
> > >> > > > >> > -    if [ "${SITEINFO_ENDIANNESS}" = "be" ] ; then
> > >> > > > >> > -        rm -f
> ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
> > >> > > > >> > -        icupkg -tb
> ${S}/data/in/icudt${ICU_MAJOR_VER}l.dat
> ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
> > >> > > > >> > -    fi
> > >> > > > >> > -
> > >> > > > >> > -       # Remove build host references...
> > >> > > > >> > -       sed -i  \
> > >> > > > >> > -           -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
> > >> > > > >> > -           -e 's|${DEBUG_PREFIX_MAP}||g' \
> > >> > > > >> > -           -e 's:${HOSTTOOLS_DIR}/::g' \
> > >> > > > >> > -           ${D}/${bindir}/icu-config
> ${D}/${libdir}/${BPN}/${PV}/Makefile.inc \
> > >> > > > >> > -           ${D}/${libdir}/${BPN}/${PV}/pkgdata.inc
> > >> > > > >> > -}
> > >> > > > >> > -
> > >> > > > >> > -PACKAGES =+ "libicudata libicuuc libicui18n libicutu
> libicuio"
> > >> > > > >> > -
> > >> > > > >> > -FILES_${PN}-dev += "${libdir}/${BPN}/"
> > >> > > > >> > -
> > >> > > > >> > -FILES_libicudata = "${libdir}/libicudata.so.*"
> > >> > > > >> > -FILES_libicuuc = "${libdir}/libicuuc.so.*"
> > >> > > > >> > -FILES_libicui18n = "${libdir}/libicui18n.so.*"
> > >> > > > >> > -FILES_libicutu = "${libdir}/libicutu.so.*"
> > >> > > > >> > -FILES_libicuio = "${libdir}/libicuio.so.*"
> > >> > > > >> > -
> > >> > > > >> > -BBCLASSEXTEND = "native nativesdk"
> > >> > > > >> > diff --git a/meta/recipes-support/icu/icu_67.1.bb
> b/meta/recipes-support/icu/icu_67.1.bb
> > >> > > > >> > index 58638507c9..5814fa41bd 100644
> > >> > > > >> > --- a/meta/recipes-support/icu/icu_67.1.bb
> > >> > > > >> > +++ b/meta/recipes-support/icu/icu_67.1.bb
> > >> > > > >> > @@ -1,4 +1,87 @@
> > >> > > > >> > -require icu.inc
> > >> > > > >> > +SUMMARY = "International Component for Unicode libraries"
> > >> > > > >> > +DESCRIPTION = "The International Component for Unicode
> (ICU) is a mature, \
> > >> > > > >> > +portable set of C/C++ and Java libraries for Unicode
> support, software \
> > >> > > > >> > +internationalization (I18N) and globalization (G11N),
> giving applications the \
> > >> > > > >> > +same results on all platforms."
> > >> > > > >> > +HOMEPAGE = "http://site.icu-project.org/"
> > >> > > > >> > +
> > >> > > > >> > +LICENSE = "ICU"
> > >> > > > >> > +DEPENDS = "icu-native"
> > >> > > > >> > +DEPENDS_class-native = ""
> > >> > > > >> > +
> > >> > > > >> > +CVE_PRODUCT = "international_components_for_unicode"
> > >> > > > >> > +
> > >> > > > >> > +S = "${WORKDIR}/icu/source"
> > >> > > > >> > +SPDX_S = "${WORKDIR}/icu"
> > >> > > > >> > +STAGING_ICU_DIR_NATIVE =
> "${STAGING_DATADIR_NATIVE}/${BPN}/${PV}"
> > >> > > > >> > +
> > >> > > > >> > +BINCONFIG = "${bindir}/icu-config"
> > >> > > > >> > +
> > >> > > > >> > +ICU_MAJOR_VER = "${@d.getVar('PV').split('.')[0]}"
> > >> > > > >> > +
> > >> > > > >> > +inherit autotools pkgconfig binconfig multilib_script
> > >> > > > >> > +
> > >> > > > >> > +MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/icu-config"
> > >> > > > >> > +
> > >> > > > >> > +# ICU needs the native build directory as an argument to
> its --with-cross-build option when
> > >> > > > >> > +# cross-compiling. Taken the situation that different
> builds may share a common sstate-cache
> > >> > > > >> > +# into consideration, the native build directory needs to
> be staged.
> > >> > > > >> > +EXTRA_OECONF =
> "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
> > >> > > > >> > +EXTRA_OECONF_class-native = ""
> > >> > > > >> > +EXTRA_OECONF_class-nativesdk =
> "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
> > >> > > > >> > +
> > >> > > > >> > +EXTRA_OECONF_append_class-target =
> "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', '
> --with-data-packaging=archive', '', d)}"
> > >> > > > >> > +TARGET_CXXFLAGS_append =
> "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', '
> -DICU_DATA_DIR=\\""${datadir}/${BPN}/${PV}\\""', '', d)}"
> > >> > > > >> > +
> > >> > > > >> > +ASNEEDED = ""
> > >> > > > >> > +
> > >> > > > >> > +do_compile_prepend_class-target () {
> > >> > > > >> > +       # Make sure certain build host references do not
> end up being compiled
> > >> > > > >> > +       # in the image. This only affects libicutu and
> icu-dbg
> > >> > > > >> > +       sed  \
> > >> > > > >> > +           -e 's,DU_BUILD=,DU_BUILD_unused=,g' \
> > >> > > > >> > +           -e '/^CPPFLAGS.*/
> s,--sysroot=${STAGING_DIR_TARGET},,g' \
> > >> > > > >> > +           -i ${B}/tools/toolutil/Makefile
> > >> > > > >> > +}
> > >> > > > >> > +
> > >> > > > >> > +PREPROCESS_RELOCATE_DIRS = "${datadir}/${BPN}/${PV}"
> > >> > > > >> > +do_install_append_class-native() {
> > >> > > > >> > +       mkdir -p ${D}/${STAGING_ICU_DIR_NATIVE}/config
> > >> > > > >> > +       cp -r ${B}/config/icucross.mk
> ${D}/${STAGING_ICU_DIR_NATIVE}/config
> > >> > > > >> > +       cp -r ${B}/config/icucross.inc
> ${D}/${STAGING_ICU_DIR_NATIVE}/config
> > >> > > > >> > +       cp -r ${B}/lib ${D}/${STAGING_ICU_DIR_NATIVE}
> > >> > > > >> > +       cp -r ${B}/bin ${D}/${STAGING_ICU_DIR_NATIVE}
> > >> > > > >> > +       cp -r ${B}/tools ${D}/${STAGING_ICU_DIR_NATIVE}
> > >> > > > >> > +}
> > >> > > > >> > +
> > >> > > > >> > +do_install_append_class-target() {
> > >> > > > >> > +    # The native pkgdata can not generate the correct
> data file.
> > >> > > > >> > +    # Use icupkg to re-generate it.
> > >> > > > >> > +    if [ "${SITEINFO_ENDIANNESS}" = "be" ] ; then
> > >> > > > >> > +        rm -f
> ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
> > >> > > > >> > +        icupkg -tb
> ${S}/data/in/icudt${ICU_MAJOR_VER}l.dat
> ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
> > >> > > > >> > +    fi
> > >> > > > >> > +
> > >> > > > >> > +       # Remove build host references...
> > >> > > > >> > +       sed -i  \
> > >> > > > >> > +           -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
> > >> > > > >> > +           -e 's|${DEBUG_PREFIX_MAP}||g' \
> > >> > > > >> > +           -e 's:${HOSTTOOLS_DIR}/::g' \
> > >> > > > >> > +           ${D}/${bindir}/icu-config
> ${D}/${libdir}/${BPN}/${PV}/Makefile.inc \
> > >> > > > >> > +           ${D}/${libdir}/${BPN}/${PV}/pkgdata.inc
> > >> > > > >> > +}
> > >> > > > >> > +
> > >> > > > >> > +PACKAGES =+ "libicudata libicuuc libicui18n libicutu
> libicuio"
> > >> > > > >> > +
> > >> > > > >> > +FILES_${PN}-dev += "${libdir}/${BPN}/"
> > >> > > > >> > +
> > >> > > > >> > +FILES_libicudata = "${libdir}/libicudata.so.*"
> > >> > > > >> > +FILES_libicuuc = "${libdir}/libicuuc.so.*"
> > >> > > > >> > +FILES_libicui18n = "${libdir}/libicui18n.so.*"
> > >> > > > >> > +FILES_libicutu = "${libdir}/libicutu.so.*"
> > >> > > > >> > +FILES_libicuio = "${libdir}/libicuio.so.*"
> > >> > > > >> > +
> > >> > > > >> > +BBCLASSEXTEND = "native nativesdk"
> > >> > > > >> >
> > >> > > > >> >  LIC_FILES_CHKSUM =
> "file://../LICENSE;md5=a3808a5b70071b07f87ff2205e4d75a0"
> > >> > > > >> >
> > >> > > > >> > --
> > >> > > > >> > 2.27.0
> > >> > > > >> >
> > >> > > > >> >
> > >> > >
> > 
>

[-- Attachment #2: Type: text/html, Size: 24428 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [OE-core] [PATCH 1/2] icu: merge .inc into main recipe
  2020-06-26 20:26                   ` Alexander Kanavin
@ 2020-06-26 21:46                     ` Steve Sakoman
  2020-06-26 22:05                       ` Richard Purdie
  0 siblings, 1 reply; 18+ messages in thread
From: Steve Sakoman @ 2020-06-26 21:46 UTC (permalink / raw)
  To: Alexander Kanavin
  Cc: Ross Burton, Patches and discussions about the oe-core layer, Khem Raj

On Fri, Jun 26, 2020 at 10:26 AM Alexander Kanavin
<alex.kanavin@gmail.com> wrote:
>
> Technically, there are. I am not qualified to comment on how destabilizing they could be:
> http://site.icu-project.org/download/67
>
> Perhaps it is possible to bisect the code to identify the fix that can be cherry picked:
> https://github.com/unicode-org/icu/releases/tag/release-67-1

Agreed, too many changes to take for LTS.

I think I'm just going to live with the occasional autobuilder
failure.  This seems like way more work that it is worth :-)

Steve

> On Fri, 26 Jun 2020 at 21:35, Steve Sakoman <steve@sakoman.com> wrote:
>>
>> On Fri, Jun 26, 2020 at 8:56 AM Steve Sakoman via
>> lists.openembedded.org <steve=sakoman.com@lists.openembedded.org>
>> wrote:
>> >
>> > On Fri, Jun 26, 2020 at 8:48 AM Alexander Kanavin
>> > <alex.kanavin@gmail.com> wrote:
>> > >
>> > > Can you, for the sake of testing, upgrade icu to the same version as master? Those failures do not seem to be happening there.
>> >
>> > Yes, I'll give that a try with a local build first since the
>> > autobuilder is undergoing normal maintenance.
>>
>> The local build succeeded, so the failure does seem to be related to
>> the earlier version.
>>
>> Is an upgrade to the new version reasonable for dunfell, or are there
>> feature additions that would make it unsuitable?
>>
>> Steve
>>
>> > > On Fri, 26 Jun 2020 at 17:59, Steve Sakoman <steve@sakoman.com> wrote:
>> > >>
>> > >> On Fri, Jun 26, 2020 at 5:49 AM Ross Burton <ross@burtonini.com> wrote:
>> > >> >
>> > >> > Failures in edgerouter and MIPS screams the big-endian thing again.
>> > >> > ICU is a disaster here, be warned.
>> > >>
>> > >> Good theory -- ppc failed too.
>> > >>
>> > >> Steve
>> > >>
>> > >> > On Fri, 26 Jun 2020 at 16:27, Steve Sakoman <steve@sakoman.com> wrote:
>> > >> > >
>> > >> > > On Thu, Jun 25, 2020 at 6:23 AM Steve Sakoman <steve@sakoman.com> wrote:
>> > >> > > >
>> > >> > > > On Thu, Jun 25, 2020 at 6:09 AM Alexander Kanavin
>> > >> > > > <alex.kanavin@gmail.com> wrote:
>> > >> > > > >
>> > >> > > > > I think you may have to recreate them by hand.
>> > >> > > >
>> > >> > > > OK, I'll put together a patch for the 66.1 recipe in dunfell that
>> > >> > > > implements the changes you have in the second patch of the series.  In
>> > >> > > > the interest of minimizing changes I'll keep the .inc file separate as
>> > >> > > > is.
>> > >> > >
>> > >> > > I recreated the patch for 66.1 and did a couple of quick local builds
>> > >> > > and things looked fine.
>> > >> > >
>> > >> > > On the autobuilder I get failures for edgerouter and mips.  I seem to
>> > >> > > recall some discussion about this (perhaps on irc?) but can only find
>> > >> > > one thread here on the list back when Khem's original patch went in.
>> > >> > >
>> > >> > > Did you recall any issues like this?
>> > >> > >
>> > >> > > Steve
>> > >> > >
>> > >> > >
>> > >> > > > > On Thu, 25 Jun 2020 at 18:04, Steve Sakoman <steve@sakoman.com> wrote:
>> > >> > > > >>
>> > >> > > > >> Is this patch series suitable for dunfell as-is (the concern being the
>> > >> > > > >> contents of the version bump) or would a backport to 66.1 be
>> > >> > > > >> necessary?
>> > >> > > > >>
>> > >> > > > >> Steve
>> > >> > > > >>
>> > >> > > > >> On Tue, Jun 23, 2020 at 11:09 AM Alexander Kanavin
>> > >> > > > >> <alex.kanavin@gmail.com> wrote:
>> > >> > > > >> >
>> > >> > > > >> > Both parts are rather convoluted, so it is better to have them in a single file.
>> > >> > > > >> >
>> > >> > > > >> > Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
>> > >> > > > >> > ---
>> > >> > > > >> >  meta/recipes-support/icu/icu.inc     | 84 ---------------------------
>> > >> > > > >> >  meta/recipes-support/icu/icu_67.1.bb | 85 +++++++++++++++++++++++++++-
>> > >> > > > >> >  2 files changed, 84 insertions(+), 85 deletions(-)
>> > >> > > > >> >  delete mode 100644 meta/recipes-support/icu/icu.inc
>> > >> > > > >> >
>> > >> > > > >> > diff --git a/meta/recipes-support/icu/icu.inc b/meta/recipes-support/icu/icu.inc
>> > >> > > > >> > deleted file mode 100644
>> > >> > > > >> > index 6d9728903d..0000000000
>> > >> > > > >> > --- a/meta/recipes-support/icu/icu.inc
>> > >> > > > >> > +++ /dev/null
>> > >> > > > >> > @@ -1,84 +0,0 @@
>> > >> > > > >> > -SUMMARY = "International Component for Unicode libraries"
>> > >> > > > >> > -DESCRIPTION = "The International Component for Unicode (ICU) is a mature, \
>> > >> > > > >> > -portable set of C/C++ and Java libraries for Unicode support, software \
>> > >> > > > >> > -internationalization (I18N) and globalization (G11N), giving applications the \
>> > >> > > > >> > -same results on all platforms."
>> > >> > > > >> > -HOMEPAGE = "http://site.icu-project.org/"
>> > >> > > > >> > -
>> > >> > > > >> > -LICENSE = "ICU"
>> > >> > > > >> > -DEPENDS = "icu-native"
>> > >> > > > >> > -DEPENDS_class-native = ""
>> > >> > > > >> > -
>> > >> > > > >> > -CVE_PRODUCT = "international_components_for_unicode"
>> > >> > > > >> > -
>> > >> > > > >> > -S = "${WORKDIR}/icu/source"
>> > >> > > > >> > -SPDX_S = "${WORKDIR}/icu"
>> > >> > > > >> > -STAGING_ICU_DIR_NATIVE = "${STAGING_DATADIR_NATIVE}/${BPN}/${PV}"
>> > >> > > > >> > -
>> > >> > > > >> > -BINCONFIG = "${bindir}/icu-config"
>> > >> > > > >> > -
>> > >> > > > >> > -ICU_MAJOR_VER = "${@d.getVar('PV').split('.')[0]}"
>> > >> > > > >> > -
>> > >> > > > >> > -inherit autotools pkgconfig binconfig multilib_script
>> > >> > > > >> > -
>> > >> > > > >> > -MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/icu-config"
>> > >> > > > >> > -
>> > >> > > > >> > -# ICU needs the native build directory as an argument to its --with-cross-build option when
>> > >> > > > >> > -# cross-compiling. Taken the situation that different builds may share a common sstate-cache
>> > >> > > > >> > -# into consideration, the native build directory needs to be staged.
>> > >> > > > >> > -EXTRA_OECONF = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
>> > >> > > > >> > -EXTRA_OECONF_class-native = ""
>> > >> > > > >> > -EXTRA_OECONF_class-nativesdk = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
>> > >> > > > >> > -
>> > >> > > > >> > -EXTRA_OECONF_append_class-target = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' --with-data-packaging=archive', '', d)}"
>> > >> > > > >> > -TARGET_CXXFLAGS_append = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' -DICU_DATA_DIR=\\""${datadir}/${BPN}/${PV}\\""', '', d)}"
>> > >> > > > >> > -
>> > >> > > > >> > -ASNEEDED = ""
>> > >> > > > >> > -
>> > >> > > > >> > -do_compile_prepend_class-target () {
>> > >> > > > >> > -       # Make sure certain build host references do not end up being compiled
>> > >> > > > >> > -       # in the image. This only affects libicutu and icu-dbg
>> > >> > > > >> > -       sed  \
>> > >> > > > >> > -           -e 's,DU_BUILD=,DU_BUILD_unused=,g' \
>> > >> > > > >> > -           -e '/^CPPFLAGS.*/ s,--sysroot=${STAGING_DIR_TARGET},,g' \
>> > >> > > > >> > -           -i ${B}/tools/toolutil/Makefile
>> > >> > > > >> > -}
>> > >> > > > >> > -
>> > >> > > > >> > -PREPROCESS_RELOCATE_DIRS = "${datadir}/${BPN}/${PV}"
>> > >> > > > >> > -do_install_append_class-native() {
>> > >> > > > >> > -       mkdir -p ${D}/${STAGING_ICU_DIR_NATIVE}/config
>> > >> > > > >> > -       cp -r ${B}/config/icucross.mk ${D}/${STAGING_ICU_DIR_NATIVE}/config
>> > >> > > > >> > -       cp -r ${B}/config/icucross.inc ${D}/${STAGING_ICU_DIR_NATIVE}/config
>> > >> > > > >> > -       cp -r ${B}/lib ${D}/${STAGING_ICU_DIR_NATIVE}
>> > >> > > > >> > -       cp -r ${B}/bin ${D}/${STAGING_ICU_DIR_NATIVE}
>> > >> > > > >> > -       cp -r ${B}/tools ${D}/${STAGING_ICU_DIR_NATIVE}
>> > >> > > > >> > -}
>> > >> > > > >> > -
>> > >> > > > >> > -do_install_append_class-target() {
>> > >> > > > >> > -    # The native pkgdata can not generate the correct data file.
>> > >> > > > >> > -    # Use icupkg to re-generate it.
>> > >> > > > >> > -    if [ "${SITEINFO_ENDIANNESS}" = "be" ] ; then
>> > >> > > > >> > -        rm -f ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
>> > >> > > > >> > -        icupkg -tb ${S}/data/in/icudt${ICU_MAJOR_VER}l.dat ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
>> > >> > > > >> > -    fi
>> > >> > > > >> > -
>> > >> > > > >> > -       # Remove build host references...
>> > >> > > > >> > -       sed -i  \
>> > >> > > > >> > -           -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
>> > >> > > > >> > -           -e 's|${DEBUG_PREFIX_MAP}||g' \
>> > >> > > > >> > -           -e 's:${HOSTTOOLS_DIR}/::g' \
>> > >> > > > >> > -           ${D}/${bindir}/icu-config ${D}/${libdir}/${BPN}/${PV}/Makefile.inc \
>> > >> > > > >> > -           ${D}/${libdir}/${BPN}/${PV}/pkgdata.inc
>> > >> > > > >> > -}
>> > >> > > > >> > -
>> > >> > > > >> > -PACKAGES =+ "libicudata libicuuc libicui18n libicutu libicuio"
>> > >> > > > >> > -
>> > >> > > > >> > -FILES_${PN}-dev += "${libdir}/${BPN}/"
>> > >> > > > >> > -
>> > >> > > > >> > -FILES_libicudata = "${libdir}/libicudata.so.*"
>> > >> > > > >> > -FILES_libicuuc = "${libdir}/libicuuc.so.*"
>> > >> > > > >> > -FILES_libicui18n = "${libdir}/libicui18n.so.*"
>> > >> > > > >> > -FILES_libicutu = "${libdir}/libicutu.so.*"
>> > >> > > > >> > -FILES_libicuio = "${libdir}/libicuio.so.*"
>> > >> > > > >> > -
>> > >> > > > >> > -BBCLASSEXTEND = "native nativesdk"
>> > >> > > > >> > diff --git a/meta/recipes-support/icu/icu_67.1.bb b/meta/recipes-support/icu/icu_67.1.bb
>> > >> > > > >> > index 58638507c9..5814fa41bd 100644
>> > >> > > > >> > --- a/meta/recipes-support/icu/icu_67.1.bb
>> > >> > > > >> > +++ b/meta/recipes-support/icu/icu_67.1.bb
>> > >> > > > >> > @@ -1,4 +1,87 @@
>> > >> > > > >> > -require icu.inc
>> > >> > > > >> > +SUMMARY = "International Component for Unicode libraries"
>> > >> > > > >> > +DESCRIPTION = "The International Component for Unicode (ICU) is a mature, \
>> > >> > > > >> > +portable set of C/C++ and Java libraries for Unicode support, software \
>> > >> > > > >> > +internationalization (I18N) and globalization (G11N), giving applications the \
>> > >> > > > >> > +same results on all platforms."
>> > >> > > > >> > +HOMEPAGE = "http://site.icu-project.org/"
>> > >> > > > >> > +
>> > >> > > > >> > +LICENSE = "ICU"
>> > >> > > > >> > +DEPENDS = "icu-native"
>> > >> > > > >> > +DEPENDS_class-native = ""
>> > >> > > > >> > +
>> > >> > > > >> > +CVE_PRODUCT = "international_components_for_unicode"
>> > >> > > > >> > +
>> > >> > > > >> > +S = "${WORKDIR}/icu/source"
>> > >> > > > >> > +SPDX_S = "${WORKDIR}/icu"
>> > >> > > > >> > +STAGING_ICU_DIR_NATIVE = "${STAGING_DATADIR_NATIVE}/${BPN}/${PV}"
>> > >> > > > >> > +
>> > >> > > > >> > +BINCONFIG = "${bindir}/icu-config"
>> > >> > > > >> > +
>> > >> > > > >> > +ICU_MAJOR_VER = "${@d.getVar('PV').split('.')[0]}"
>> > >> > > > >> > +
>> > >> > > > >> > +inherit autotools pkgconfig binconfig multilib_script
>> > >> > > > >> > +
>> > >> > > > >> > +MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/icu-config"
>> > >> > > > >> > +
>> > >> > > > >> > +# ICU needs the native build directory as an argument to its --with-cross-build option when
>> > >> > > > >> > +# cross-compiling. Taken the situation that different builds may share a common sstate-cache
>> > >> > > > >> > +# into consideration, the native build directory needs to be staged.
>> > >> > > > >> > +EXTRA_OECONF = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
>> > >> > > > >> > +EXTRA_OECONF_class-native = ""
>> > >> > > > >> > +EXTRA_OECONF_class-nativesdk = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
>> > >> > > > >> > +
>> > >> > > > >> > +EXTRA_OECONF_append_class-target = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' --with-data-packaging=archive', '', d)}"
>> > >> > > > >> > +TARGET_CXXFLAGS_append = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' -DICU_DATA_DIR=\\""${datadir}/${BPN}/${PV}\\""', '', d)}"
>> > >> > > > >> > +
>> > >> > > > >> > +ASNEEDED = ""
>> > >> > > > >> > +
>> > >> > > > >> > +do_compile_prepend_class-target () {
>> > >> > > > >> > +       # Make sure certain build host references do not end up being compiled
>> > >> > > > >> > +       # in the image. This only affects libicutu and icu-dbg
>> > >> > > > >> > +       sed  \
>> > >> > > > >> > +           -e 's,DU_BUILD=,DU_BUILD_unused=,g' \
>> > >> > > > >> > +           -e '/^CPPFLAGS.*/ s,--sysroot=${STAGING_DIR_TARGET},,g' \
>> > >> > > > >> > +           -i ${B}/tools/toolutil/Makefile
>> > >> > > > >> > +}
>> > >> > > > >> > +
>> > >> > > > >> > +PREPROCESS_RELOCATE_DIRS = "${datadir}/${BPN}/${PV}"
>> > >> > > > >> > +do_install_append_class-native() {
>> > >> > > > >> > +       mkdir -p ${D}/${STAGING_ICU_DIR_NATIVE}/config
>> > >> > > > >> > +       cp -r ${B}/config/icucross.mk ${D}/${STAGING_ICU_DIR_NATIVE}/config
>> > >> > > > >> > +       cp -r ${B}/config/icucross.inc ${D}/${STAGING_ICU_DIR_NATIVE}/config
>> > >> > > > >> > +       cp -r ${B}/lib ${D}/${STAGING_ICU_DIR_NATIVE}
>> > >> > > > >> > +       cp -r ${B}/bin ${D}/${STAGING_ICU_DIR_NATIVE}
>> > >> > > > >> > +       cp -r ${B}/tools ${D}/${STAGING_ICU_DIR_NATIVE}
>> > >> > > > >> > +}
>> > >> > > > >> > +
>> > >> > > > >> > +do_install_append_class-target() {
>> > >> > > > >> > +    # The native pkgdata can not generate the correct data file.
>> > >> > > > >> > +    # Use icupkg to re-generate it.
>> > >> > > > >> > +    if [ "${SITEINFO_ENDIANNESS}" = "be" ] ; then
>> > >> > > > >> > +        rm -f ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
>> > >> > > > >> > +        icupkg -tb ${S}/data/in/icudt${ICU_MAJOR_VER}l.dat ${D}/${datadir}/${BPN}/${PV}/icudt${ICU_MAJOR_VER}b.dat
>> > >> > > > >> > +    fi
>> > >> > > > >> > +
>> > >> > > > >> > +       # Remove build host references...
>> > >> > > > >> > +       sed -i  \
>> > >> > > > >> > +           -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
>> > >> > > > >> > +           -e 's|${DEBUG_PREFIX_MAP}||g' \
>> > >> > > > >> > +           -e 's:${HOSTTOOLS_DIR}/::g' \
>> > >> > > > >> > +           ${D}/${bindir}/icu-config ${D}/${libdir}/${BPN}/${PV}/Makefile.inc \
>> > >> > > > >> > +           ${D}/${libdir}/${BPN}/${PV}/pkgdata.inc
>> > >> > > > >> > +}
>> > >> > > > >> > +
>> > >> > > > >> > +PACKAGES =+ "libicudata libicuuc libicui18n libicutu libicuio"
>> > >> > > > >> > +
>> > >> > > > >> > +FILES_${PN}-dev += "${libdir}/${BPN}/"
>> > >> > > > >> > +
>> > >> > > > >> > +FILES_libicudata = "${libdir}/libicudata.so.*"
>> > >> > > > >> > +FILES_libicuuc = "${libdir}/libicuuc.so.*"
>> > >> > > > >> > +FILES_libicui18n = "${libdir}/libicui18n.so.*"
>> > >> > > > >> > +FILES_libicutu = "${libdir}/libicutu.so.*"
>> > >> > > > >> > +FILES_libicuio = "${libdir}/libicuio.so.*"
>> > >> > > > >> > +
>> > >> > > > >> > +BBCLASSEXTEND = "native nativesdk"
>> > >> > > > >> >
>> > >> > > > >> >  LIC_FILES_CHKSUM = "file://../LICENSE;md5=a3808a5b70071b07f87ff2205e4d75a0"
>> > >> > > > >> >
>> > >> > > > >> > --
>> > >> > > > >> > 2.27.0
>> > >> > > > >> >
>> > >> > > > >> >
>> > >> > >
>> >
>
> 

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [OE-core] [PATCH 1/2] icu: merge .inc into main recipe
  2020-06-26 21:46                     ` Steve Sakoman
@ 2020-06-26 22:05                       ` Richard Purdie
  2020-06-26 22:17                         ` Steve Sakoman
  0 siblings, 1 reply; 18+ messages in thread
From: Richard Purdie @ 2020-06-26 22:05 UTC (permalink / raw)
  To: Steve Sakoman, Alexander Kanavin
  Cc: Ross Burton, Patches and discussions about the oe-core layer, Khem Raj

On Fri, 2020-06-26 at 11:46 -1000, Steve Sakoman wrote:
> On Fri, Jun 26, 2020 at 10:26 AM Alexander Kanavin
> <alex.kanavin@gmail.com> wrote:
> > Technically, there are. I am not qualified to comment on how
> > destabilizing they could be:
> > http://site.icu-project.org/download/67
> > 
> > Perhaps it is possible to bisect the code to identify the fix that
> > can be cherry picked:
> > https://github.com/unicode-org/icu/releases/tag/release-67-1
> 
> Agreed, too many changes to take for LTS.
> 
> I think I'm just going to live with the occasional autobuilder
> failure.  This seems like way more work that it is worth :-)

I think its simpler. Look at the original implementation patch:

http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=72a56c2bd02d32382260d4f4fd14ab4c8d4cb8f4

specifically this bit:

            file://fix-install-manx.patch \
-           file://0001-Fix-big-endian-build.patch \
+           file://0001-Fix-big-endian-build.patch;apply=no \
            file://0001-icu-Added-armeb-support.patch \

I think the apply=no needs to be toggled depending on the PACKAGECONFIG?

Cheers,

Richard



^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [OE-core] [PATCH 1/2] icu: merge .inc into main recipe
  2020-06-26 22:05                       ` Richard Purdie
@ 2020-06-26 22:17                         ` Steve Sakoman
  0 siblings, 0 replies; 18+ messages in thread
From: Steve Sakoman @ 2020-06-26 22:17 UTC (permalink / raw)
  To: Richard Purdie
  Cc: Alexander Kanavin, Ross Burton,
	Patches and discussions about the oe-core layer, Khem Raj

On Fri, Jun 26, 2020 at 12:05 PM Richard Purdie
<richard.purdie@linuxfoundation.org> wrote:
>
> On Fri, 2020-06-26 at 11:46 -1000, Steve Sakoman wrote:
> > On Fri, Jun 26, 2020 at 10:26 AM Alexander Kanavin
> > <alex.kanavin@gmail.com> wrote:
> > > Technically, there are. I am not qualified to comment on how
> > > destabilizing they could be:
> > > http://site.icu-project.org/download/67
> > >
> > > Perhaps it is possible to bisect the code to identify the fix that
> > > can be cherry picked:
> > > https://github.com/unicode-org/icu/releases/tag/release-67-1
> >
> > Agreed, too many changes to take for LTS.
> >
> > I think I'm just going to live with the occasional autobuilder
> > failure.  This seems like way more work that it is worth :-)
>
> I think its simpler. Look at the original implementation patch:
>
> http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=72a56c2bd02d32382260d4f4fd14ab4c8d4cb8f4
>
> specifically this bit:
>
>             file://fix-install-manx.patch \
> -           file://0001-Fix-big-endian-build.patch \
> +           file://0001-Fix-big-endian-build.patch;apply=no \
>             file://0001-icu-Added-armeb-support.patch \
>
> I think the apply=no needs to be toggled depending on the PACKAGECONFIG?

I'll give this a try on Monday.  Thanks for pointing that out!

Steve

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2020-06-26 22:17 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-23 21:08 [PATCH 1/2] icu: merge .inc into main recipe Alexander Kanavin
2020-06-23 21:08 ` [PATCH 2/2] icu: make filtered data generation optional, serial and off by default Alexander Kanavin
2020-06-23 22:02   ` [OE-core] " Khem Raj
2020-06-25 16:04 ` [OE-core] [PATCH 1/2] icu: merge .inc into main recipe Steve Sakoman
2020-06-25 16:09   ` Alexander Kanavin
2020-06-25 16:23     ` Steve Sakoman
2020-06-26 15:26       ` Steve Sakoman
2020-06-26 15:47         ` Alexander Kanavin
2020-06-26 15:58           ` Steve Sakoman
2020-06-26 15:49         ` Ross Burton
2020-06-26 15:59           ` Steve Sakoman
2020-06-26 18:48             ` Alexander Kanavin
2020-06-26 18:56               ` Steve Sakoman
     [not found]               ` <161C2CF3A1F68DB5.16301@lists.openembedded.org>
2020-06-26 19:34                 ` Steve Sakoman
2020-06-26 20:26                   ` Alexander Kanavin
2020-06-26 21:46                     ` Steve Sakoman
2020-06-26 22:05                       ` Richard Purdie
2020-06-26 22:17                         ` Steve Sakoman

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.