All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] external-arm-toolchain: fix build when usrmege enabled
@ 2024-04-17 11:30 Vasyl Vavrychuk
  2024-04-17 11:30 ` [PATCH 1/3] external-arm-toolchain: wrap base_libdir vs libdir manipulations under usrmerge check Vasyl Vavrychuk
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Vasyl Vavrychuk @ 2024-04-17 11:30 UTC (permalink / raw)
  To: Ross Burton, Denys Dmytriyenko, meta-arm; +Cc: Vasyl Vavrychuk

Vasyl Vavrychuk (3):
  external-arm-toolchain: wrap base_libdir vs libdir manipulations under
    usrmerge check
  external-arm-toolchain: in libc.so GNU ld script use base_libdir
  external-arm-toolchain: remove ${base_libdir}/libpthread*.so from
    FILES:${PN}

 .../external-arm-toolchain.bb                 | 67 ++++++++++---------
 1 file changed, 34 insertions(+), 33 deletions(-)

-- 
2.40.0



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

* [PATCH 1/3] external-arm-toolchain: wrap base_libdir vs libdir manipulations under usrmerge check
  2024-04-17 11:30 [PATCH 0/3] external-arm-toolchain: fix build when usrmege enabled Vasyl Vavrychuk
@ 2024-04-17 11:30 ` Vasyl Vavrychuk
  2024-04-17 20:06   ` [meta-arm] " Denys Dmytriyenko
  2024-04-17 11:30 ` [PATCH 2/3] external-arm-toolchain: in libc.so GNU ld script use base_libdir Vasyl Vavrychuk
  2024-04-17 11:30 ` [PATCH 3/3] external-arm-toolchain: remove ${base_libdir}/libpthread*.so from FILES:${PN} Vasyl Vavrychuk
  2 siblings, 1 reply; 10+ messages in thread
From: Vasyl Vavrychuk @ 2024-04-17 11:30 UTC (permalink / raw)
  To: Ross Burton, Denys Dmytriyenko, meta-arm; +Cc: Vasyl Vavrychuk

With `usrmerge` disto feature `base_libdir` and `libdir` are the same,
so it does not make sense to:

* removing "duplicates" between them
* move files from `base_libdir` to `libdir`

This fixes build error

| mv: '.../tmp/work/cortexa15t2hf-neon-poky-linux-gnueabi/external-arm-toolchain/12.2.Rel1/image/usr/lib/libasan.a' and '.../tmp/work/cortexa15t2hf-neon-poky-linux-gnueabi/external-arm-toolchain/12.2.Rel1/image/usr/lib/libasan.a' are the same file

in case of `usrmerge` feature enabled.

Signed-off-by: Vasyl Vavrychuk <vvavrychuk@gmail.com>
---
 .../external-arm-toolchain.bb                 | 62 ++++++++++---------
 1 file changed, 32 insertions(+), 30 deletions(-)

diff --git a/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb
index fab17611..27aadffd 100644
--- a/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb
+++ b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb
@@ -135,37 +135,39 @@ do_install() {
 	ln -sf ../../lib/libm.so.6 ${D}${libdir}/libm.so
 	ln -sf ../../lib/libc_malloc_debug.so.0 ${D}${libdir}/libc_malloc_debug.so
 
-	# remove potential .so duplicates from base_libdir
-	# for all symlinks created above in libdir
-	rm -f ${D}${base_libdir}/librt.so
-	rm -f ${D}${base_libdir}/libcrypt.so
-	rm -f ${D}${base_libdir}/libresolv.so
-	rm -f ${D}${base_libdir}/libnss_hesiod.so
-	rm -f ${D}${base_libdir}/libutil.so
-	rm -f ${D}${base_libdir}/libBrokenLocale.so
-	rm -f ${D}${base_libdir}/libpthread.so
-	rm -f ${D}${base_libdir}/libthread_db.so
-	rm -f ${D}${base_libdir}/libanl.so
-	rm -f ${D}${base_libdir}/libdl.so
-	rm -f ${D}${base_libdir}/libnss_db.so
-	rm -f ${D}${base_libdir}/libnss_dns.so
-	rm -f ${D}${base_libdir}/libnss_files.so
-	rm -f ${D}${base_libdir}/libnss_compat.so
-	rm -f ${D}${base_libdir}/libm.so
-
-	# Move these completely to ${libdir} and delete duplicates in ${base_libdir}
-	for lib in asan hwasan atomic gfortran gomp itm lsan sanitizer stdc++ tsan ubsan; do
-		if [ -e ${D}${base_libdir}/lib${lib}.spec ] ; then
-			mv ${D}${base_libdir}/lib${lib}.spec ${D}${libdir}
-		fi
-		if [ -e ${D}${base_libdir}/lib${lib}.a ] ; then
-			mv ${D}${base_libdir}/lib${lib}.a ${D}${libdir}
-		fi
-		rm -f ${D}${base_libdir}/lib${lib}*
-	done
+	if ${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'false', 'true', d)}; then
+		# remove potential .so duplicates from base_libdir
+		# for all symlinks created above in libdir
+		rm -f ${D}${base_libdir}/librt.so
+		rm -f ${D}${base_libdir}/libcrypt.so
+		rm -f ${D}${base_libdir}/libresolv.so
+		rm -f ${D}${base_libdir}/libnss_hesiod.so
+		rm -f ${D}${base_libdir}/libutil.so
+		rm -f ${D}${base_libdir}/libBrokenLocale.so
+		rm -f ${D}${base_libdir}/libpthread.so
+		rm -f ${D}${base_libdir}/libthread_db.so
+		rm -f ${D}${base_libdir}/libanl.so
+		rm -f ${D}${base_libdir}/libdl.so
+		rm -f ${D}${base_libdir}/libnss_db.so
+		rm -f ${D}${base_libdir}/libnss_dns.so
+		rm -f ${D}${base_libdir}/libnss_files.so
+		rm -f ${D}${base_libdir}/libnss_compat.so
+		rm -f ${D}${base_libdir}/libm.so
+
+		# Move these completely to ${libdir} and delete duplicates in ${base_libdir}
+		for lib in asan hwasan atomic gfortran gomp itm lsan sanitizer stdc++ tsan ubsan; do
+			if [ -e ${D}${base_libdir}/lib${lib}.spec ] ; then
+				mv ${D}${base_libdir}/lib${lib}.spec ${D}${libdir}
+			fi
+			if [ -e ${D}${base_libdir}/lib${lib}.a ] ; then
+				mv ${D}${base_libdir}/lib${lib}.a ${D}${libdir}
+			fi
+			rm -f ${D}${base_libdir}/lib${lib}*
+		done
 
-	# Clean up duplicate libs that are both in base_libdir and libdir
-	rm -f ${D}${libdir}/libgcc*
+		# Clean up duplicate libs that are both in base_libdir and libdir
+		rm -f ${D}${libdir}/libgcc*
+	fi
 
 	# Besides ld-${EAT_VER_LIBC}.so, other libs can have duplicates like lib*-${EAT_VER_LIBC}.so
 	# Only remove them if both are regular files and are identical
-- 
2.40.0



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

* [PATCH 2/3] external-arm-toolchain: in libc.so GNU ld script use base_libdir
  2024-04-17 11:30 [PATCH 0/3] external-arm-toolchain: fix build when usrmege enabled Vasyl Vavrychuk
  2024-04-17 11:30 ` [PATCH 1/3] external-arm-toolchain: wrap base_libdir vs libdir manipulations under usrmerge check Vasyl Vavrychuk
@ 2024-04-17 11:30 ` Vasyl Vavrychuk
  2024-04-17 20:12   ` [meta-arm] " Denys Dmytriyenko
  2024-04-17 11:30 ` [PATCH 3/3] external-arm-toolchain: remove ${base_libdir}/libpthread*.so from FILES:${PN} Vasyl Vavrychuk
  2 siblings, 1 reply; 10+ messages in thread
From: Vasyl Vavrychuk @ 2024-04-17 11:30 UTC (permalink / raw)
  To: Ross Burton, Denys Dmytriyenko, meta-arm; +Cc: Vasyl Vavrychuk

`base_libdir` gets replaced with `/lib` or `/usr/lib` depending on
`usrmerge` distro feature.

Signed-off-by: Vasyl Vavrychuk <vvavrychuk@gmail.com>
---
 .../external-arm-toolchain/external-arm-toolchain.bb          | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb
index 27aadffd..ab608128 100644
--- a/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb
+++ b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb
@@ -207,9 +207,9 @@ do_install() {
 	rm -rf ${D}${includedir}/rpcsvc/rquota.*
 
 	if [ -f ${D}${libdir}/libc.so ];then
-		sed -i -e "s# /${EAT_LIBDIR}/${EAT_TARGET_SYS}# ../../${EAT_LIBDIR}#g" -e "s# /usr/${EAT_LIBDIR}/# /usr/lib/#g" -e "s# /usr/${EAT_LIBDIR}/${EAT_TARGET_SYS}# .#g" -e "s# /${EAT_LIBDIR}/ld-linux# ../../${EAT_LIBDIR}/ld-linux#g" ${D}${libdir}/libc.so
+		sed -i -e "s# /${EAT_LIBDIR}/${EAT_TARGET_SYS}# ../../${EAT_LIBDIR}#g" -e "s# /usr/${EAT_LIBDIR}/# /usr/lib/#g" -e "s# /usr/${EAT_LIBDIR}/${EAT_TARGET_SYS}# .#g" -e "s# /${EAT_LIBDIR}/ld-linux# ../../${base_libdir}/ld-linux#g" ${D}${libdir}/libc.so
 		sed -i -e "s# /${EAT_LIBDIR}/libc.so.6# /lib/libc.so.6#g" ${D}${libdir}/libc.so
-		sed -i -e "s# /lib# ../../lib#g" -e "s# /usr/lib# .#g" ${D}${libdir}/libc.so
+		sed -i -e "s# /lib# ../../${base_libdir}#g" -e "s# /usr/lib# .#g" ${D}${libdir}/libc.so
 	fi
 
 	if [ -f ${D}${base_libdir}/libc.so ];then
-- 
2.40.0



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

* [PATCH 3/3] external-arm-toolchain: remove ${base_libdir}/libpthread*.so from FILES:${PN}
  2024-04-17 11:30 [PATCH 0/3] external-arm-toolchain: fix build when usrmege enabled Vasyl Vavrychuk
  2024-04-17 11:30 ` [PATCH 1/3] external-arm-toolchain: wrap base_libdir vs libdir manipulations under usrmerge check Vasyl Vavrychuk
  2024-04-17 11:30 ` [PATCH 2/3] external-arm-toolchain: in libc.so GNU ld script use base_libdir Vasyl Vavrychuk
@ 2024-04-17 11:30 ` Vasyl Vavrychuk
  2024-04-17 20:13   ` [meta-arm] " Denys Dmytriyenko
  2 siblings, 1 reply; 10+ messages in thread
From: Vasyl Vavrychuk @ 2024-04-17 11:30 UTC (permalink / raw)
  To: Ross Burton, Denys Dmytriyenko, meta-arm; +Cc: Vasyl Vavrychuk

When `usrmerge` distro feature is not enabled, then `${base_libdir}`
resolves to `/lib` and `/lib/libpthread*.so` does not match any files.
But, with `usrmerge` distro feature, `${base_libdir}` is `/usr/lib`, so
removed line leads to `/usr/lib/libpthread.so` symlink included in
`${PN}` which causes QA check failure.

Signed-off-by: Vasyl Vavrychuk <vvavrychuk@gmail.com>
---
 .../external-arm-toolchain/external-arm-toolchain.bb             | 1 -
 1 file changed, 1 deletion(-)

diff --git a/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb
index ab608128..f0955b29 100644
--- a/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb
+++ b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb
@@ -528,7 +528,6 @@ FILES:${PN} += "\
 	${base_libdir}/ld*.so.* \
 	${base_libdir}/ld-*.so \
 	${base_libdir}/libpthread*.so.* \
-	${base_libdir}/libpthread*.so \
 	${base_libdir}/libpthread-*.so \
 	${base_libdir}/libresolv*.so.* \
 	${base_libdir}/libresolv-*.so \
-- 
2.40.0



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

* Re: [meta-arm] [PATCH 1/3] external-arm-toolchain: wrap base_libdir vs libdir manipulations under usrmerge check
  2024-04-17 11:30 ` [PATCH 1/3] external-arm-toolchain: wrap base_libdir vs libdir manipulations under usrmerge check Vasyl Vavrychuk
@ 2024-04-17 20:06   ` Denys Dmytriyenko
  0 siblings, 0 replies; 10+ messages in thread
From: Denys Dmytriyenko @ 2024-04-17 20:06 UTC (permalink / raw)
  To: Vasyl Vavrychuk; +Cc: Ross Burton, Denys Dmytriyenko, meta-arm

On Wed, Apr 17, 2024 at 02:30:40PM +0300, Vasyl Vavrychuk wrote:
> With `usrmerge` disto feature `base_libdir` and `libdir` are the same,
> so it does not make sense to:
> 
> * removing "duplicates" between them
> * move files from `base_libdir` to `libdir`
> 
> This fixes build error
> 
> | mv: '.../tmp/work/cortexa15t2hf-neon-poky-linux-gnueabi/external-arm-toolchain/12.2.Rel1/image/usr/lib/libasan.a' and '.../tmp/work/cortexa15t2hf-neon-poky-linux-gnueabi/external-arm-toolchain/12.2.Rel1/image/usr/lib/libasan.a' are the same file
> 
> in case of `usrmerge` feature enabled.
> 
> Signed-off-by: Vasyl Vavrychuk <vvavrychuk@gmail.com>

Acked-by: Denys Dmytriyenko <denys@konsulko.com>


> ---
>  .../external-arm-toolchain.bb                 | 62 ++++++++++---------
>  1 file changed, 32 insertions(+), 30 deletions(-)
> 
> diff --git a/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb
> index fab17611..27aadffd 100644
> --- a/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb
> +++ b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb
> @@ -135,37 +135,39 @@ do_install() {
>  	ln -sf ../../lib/libm.so.6 ${D}${libdir}/libm.so
>  	ln -sf ../../lib/libc_malloc_debug.so.0 ${D}${libdir}/libc_malloc_debug.so
>  
> -	# remove potential .so duplicates from base_libdir
> -	# for all symlinks created above in libdir
> -	rm -f ${D}${base_libdir}/librt.so
> -	rm -f ${D}${base_libdir}/libcrypt.so
> -	rm -f ${D}${base_libdir}/libresolv.so
> -	rm -f ${D}${base_libdir}/libnss_hesiod.so
> -	rm -f ${D}${base_libdir}/libutil.so
> -	rm -f ${D}${base_libdir}/libBrokenLocale.so
> -	rm -f ${D}${base_libdir}/libpthread.so
> -	rm -f ${D}${base_libdir}/libthread_db.so
> -	rm -f ${D}${base_libdir}/libanl.so
> -	rm -f ${D}${base_libdir}/libdl.so
> -	rm -f ${D}${base_libdir}/libnss_db.so
> -	rm -f ${D}${base_libdir}/libnss_dns.so
> -	rm -f ${D}${base_libdir}/libnss_files.so
> -	rm -f ${D}${base_libdir}/libnss_compat.so
> -	rm -f ${D}${base_libdir}/libm.so
> -
> -	# Move these completely to ${libdir} and delete duplicates in ${base_libdir}
> -	for lib in asan hwasan atomic gfortran gomp itm lsan sanitizer stdc++ tsan ubsan; do
> -		if [ -e ${D}${base_libdir}/lib${lib}.spec ] ; then
> -			mv ${D}${base_libdir}/lib${lib}.spec ${D}${libdir}
> -		fi
> -		if [ -e ${D}${base_libdir}/lib${lib}.a ] ; then
> -			mv ${D}${base_libdir}/lib${lib}.a ${D}${libdir}
> -		fi
> -		rm -f ${D}${base_libdir}/lib${lib}*
> -	done
> +	if ${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'false', 'true', d)}; then
> +		# remove potential .so duplicates from base_libdir
> +		# for all symlinks created above in libdir
> +		rm -f ${D}${base_libdir}/librt.so
> +		rm -f ${D}${base_libdir}/libcrypt.so
> +		rm -f ${D}${base_libdir}/libresolv.so
> +		rm -f ${D}${base_libdir}/libnss_hesiod.so
> +		rm -f ${D}${base_libdir}/libutil.so
> +		rm -f ${D}${base_libdir}/libBrokenLocale.so
> +		rm -f ${D}${base_libdir}/libpthread.so
> +		rm -f ${D}${base_libdir}/libthread_db.so
> +		rm -f ${D}${base_libdir}/libanl.so
> +		rm -f ${D}${base_libdir}/libdl.so
> +		rm -f ${D}${base_libdir}/libnss_db.so
> +		rm -f ${D}${base_libdir}/libnss_dns.so
> +		rm -f ${D}${base_libdir}/libnss_files.so
> +		rm -f ${D}${base_libdir}/libnss_compat.so
> +		rm -f ${D}${base_libdir}/libm.so
> +
> +		# Move these completely to ${libdir} and delete duplicates in ${base_libdir}
> +		for lib in asan hwasan atomic gfortran gomp itm lsan sanitizer stdc++ tsan ubsan; do
> +			if [ -e ${D}${base_libdir}/lib${lib}.spec ] ; then
> +				mv ${D}${base_libdir}/lib${lib}.spec ${D}${libdir}
> +			fi
> +			if [ -e ${D}${base_libdir}/lib${lib}.a ] ; then
> +				mv ${D}${base_libdir}/lib${lib}.a ${D}${libdir}
> +			fi
> +			rm -f ${D}${base_libdir}/lib${lib}*
> +		done
>  
> -	# Clean up duplicate libs that are both in base_libdir and libdir
> -	rm -f ${D}${libdir}/libgcc*
> +		# Clean up duplicate libs that are both in base_libdir and libdir
> +		rm -f ${D}${libdir}/libgcc*
> +	fi
>  
>  	# Besides ld-${EAT_VER_LIBC}.so, other libs can have duplicates like lib*-${EAT_VER_LIBC}.so
>  	# Only remove them if both are regular files and are identical
> -- 
> 2.40.0


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

* Re: [meta-arm] [PATCH 2/3] external-arm-toolchain: in libc.so GNU ld script use base_libdir
  2024-04-17 11:30 ` [PATCH 2/3] external-arm-toolchain: in libc.so GNU ld script use base_libdir Vasyl Vavrychuk
@ 2024-04-17 20:12   ` Denys Dmytriyenko
  2024-04-18 13:54     ` Vasyl Vavrychuk
  0 siblings, 1 reply; 10+ messages in thread
From: Denys Dmytriyenko @ 2024-04-17 20:12 UTC (permalink / raw)
  To: Vasyl Vavrychuk; +Cc: Ross Burton, Denys Dmytriyenko, meta-arm

On Wed, Apr 17, 2024 at 02:30:41PM +0300, Vasyl Vavrychuk wrote:
> `base_libdir` gets replaced with `/lib` or `/usr/lib` depending on
> `usrmerge` distro feature.
> 
> Signed-off-by: Vasyl Vavrychuk <vvavrychuk@gmail.com>
> ---
>  .../external-arm-toolchain/external-arm-toolchain.bb          | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb
> index 27aadffd..ab608128 100644
> --- a/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb
> +++ b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb
> @@ -207,9 +207,9 @@ do_install() {
>  	rm -rf ${D}${includedir}/rpcsvc/rquota.*
>  
>  	if [ -f ${D}${libdir}/libc.so ];then
> -		sed -i -e "s# /${EAT_LIBDIR}/${EAT_TARGET_SYS}# ../../${EAT_LIBDIR}#g" -e "s# /usr/${EAT_LIBDIR}/# /usr/lib/#g" -e "s# /usr/${EAT_LIBDIR}/${EAT_TARGET_SYS}# .#g" -e "s# /${EAT_LIBDIR}/ld-linux# ../../${EAT_LIBDIR}/ld-linux#g" ${D}${libdir}/libc.so
> +		sed -i -e "s# /${EAT_LIBDIR}/${EAT_TARGET_SYS}# ../../${EAT_LIBDIR}#g" -e "s# /usr/${EAT_LIBDIR}/# /usr/lib/#g" -e "s# /usr/${EAT_LIBDIR}/${EAT_TARGET_SYS}# .#g" -e "s# /${EAT_LIBDIR}/ld-linux# ../../${base_libdir}/ld-linux#g" ${D}${libdir}/libc.so

Here ^^^ it's not clear why only the last of the sed replacements gets 
updated, not all of them?


>  		sed -i -e "s# /${EAT_LIBDIR}/libc.so.6# /lib/libc.so.6#g" ${D}${libdir}/libc.so
> -		sed -i -e "s# /lib# ../../lib#g" -e "s# /usr/lib# .#g" ${D}${libdir}/libc.so
> +		sed -i -e "s# /lib# ../../${base_libdir}#g" -e "s# /usr/lib# .#g" ${D}${libdir}/libc.so
>  	fi
>  
>  	if [ -f ${D}${base_libdir}/libc.so ];then
> -- 
> 2.40.0
> 


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

* Re: [meta-arm] [PATCH 3/3] external-arm-toolchain: remove ${base_libdir}/libpthread*.so from FILES:${PN}
  2024-04-17 11:30 ` [PATCH 3/3] external-arm-toolchain: remove ${base_libdir}/libpthread*.so from FILES:${PN} Vasyl Vavrychuk
@ 2024-04-17 20:13   ` Denys Dmytriyenko
  0 siblings, 0 replies; 10+ messages in thread
From: Denys Dmytriyenko @ 2024-04-17 20:13 UTC (permalink / raw)
  To: Vasyl Vavrychuk; +Cc: Ross Burton, Denys Dmytriyenko, meta-arm

On Wed, Apr 17, 2024 at 02:30:42PM +0300, Vasyl Vavrychuk wrote:
> When `usrmerge` distro feature is not enabled, then `${base_libdir}`
> resolves to `/lib` and `/lib/libpthread*.so` does not match any files.
> But, with `usrmerge` distro feature, `${base_libdir}` is `/usr/lib`, so
> removed line leads to `/usr/lib/libpthread.so` symlink included in
> `${PN}` which causes QA check failure.
> 
> Signed-off-by: Vasyl Vavrychuk <vvavrychuk@gmail.com>

Acked-by: Denys Dmytriyenko <denys@konsulko.com>


> ---
>  .../external-arm-toolchain/external-arm-toolchain.bb             | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb
> index ab608128..f0955b29 100644
> --- a/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb
> +++ b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb
> @@ -528,7 +528,6 @@ FILES:${PN} += "\
>  	${base_libdir}/ld*.so.* \
>  	${base_libdir}/ld-*.so \
>  	${base_libdir}/libpthread*.so.* \
> -	${base_libdir}/libpthread*.so \
>  	${base_libdir}/libpthread-*.so \
>  	${base_libdir}/libresolv*.so.* \
>  	${base_libdir}/libresolv-*.so \
> -- 
> 2.40.0


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

* Re: [meta-arm] [PATCH 2/3] external-arm-toolchain: in libc.so GNU ld script use base_libdir
  2024-04-17 20:12   ` [meta-arm] " Denys Dmytriyenko
@ 2024-04-18 13:54     ` Vasyl Vavrychuk
  2024-04-18 15:57       ` Denys Dmytriyenko
  0 siblings, 1 reply; 10+ messages in thread
From: Vasyl Vavrychuk @ 2024-04-18 13:54 UTC (permalink / raw)
  To: Denys Dmytriyenko; +Cc: Ross Burton, Denys Dmytriyenko, meta-arm

On Wed, Apr 17, 2024 at 11:12 PM Denys Dmytriyenko <denis@denix.org> wrote:
>
> On Wed, Apr 17, 2024 at 02:30:41PM +0300, Vasyl Vavrychuk wrote:
> > -             sed -i -e "s# /${EAT_LIBDIR}/${EAT_TARGET_SYS}# ../../${EAT_LIBDIR}#g" -e "s# /usr/${EAT_LIBDIR}/# /usr/lib/#g" -e "s# /usr/${EAT_LIBDIR}/${EAT_TARGET_SYS}# .#g" -e "s# /${EAT_LIBDIR}/ld-linux# ../../${EAT_LIBDIR}/ld-linux#g" ${D}${libdir}/libc.so
> > +             sed -i -e "s# /${EAT_LIBDIR}/${EAT_TARGET_SYS}# ../../${EAT_LIBDIR}#g" -e "s# /usr/${EAT_LIBDIR}/# /usr/lib/#g" -e "s# /usr/${EAT_LIBDIR}/${EAT_TARGET_SYS}# .#g" -e "s# /${EAT_LIBDIR}/ld-linux# ../../${base_libdir}/ld-linux#g" ${D}${libdir}/libc.so
>
> Here ^^^ it's not clear why only the last of the sed replacements gets
> updated, not all of them?

1. `/${EAT_LIBDIR}/${EAT_TARGET_SYS}` path is not used in libc.so in
Arm GNU Toolchain v13.2.Rel1 in targets "arm-none-linux-gnueabihf" and
"aarch64-none-linux-gnu". I am not sure in which versions for ARM or
Linaro toolchain this path was used in libc.so. Should I replace it
blindly?
2. Rest two expressions replace input string to "/usr/lib" or ".", so
they are not affected by usrmerge.


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

* Re: [meta-arm] [PATCH 2/3] external-arm-toolchain: in libc.so GNU ld script use base_libdir
  2024-04-18 13:54     ` Vasyl Vavrychuk
@ 2024-04-18 15:57       ` Denys Dmytriyenko
  2024-04-29 13:54         ` Jon Mason
  0 siblings, 1 reply; 10+ messages in thread
From: Denys Dmytriyenko @ 2024-04-18 15:57 UTC (permalink / raw)
  To: Vasyl Vavrychuk; +Cc: Ross Burton, Denys Dmytriyenko, meta-arm

On Thu, Apr 18, 2024 at 04:54:05PM +0300, Vasyl Vavrychuk wrote:
> On Wed, Apr 17, 2024 at 11:12 PM Denys Dmytriyenko <denis@denix.org> wrote:
> >
> > On Wed, Apr 17, 2024 at 02:30:41PM +0300, Vasyl Vavrychuk wrote:
> > > -             sed -i -e "s# /${EAT_LIBDIR}/${EAT_TARGET_SYS}# ../../${EAT_LIBDIR}#g" -e "s# /usr/${EAT_LIBDIR}/# /usr/lib/#g" -e "s# /usr/${EAT_LIBDIR}/${EAT_TARGET_SYS}# .#g" -e "s# /${EAT_LIBDIR}/ld-linux# ../../${EAT_LIBDIR}/ld-linux#g" ${D}${libdir}/libc.so
> > > +             sed -i -e "s# /${EAT_LIBDIR}/${EAT_TARGET_SYS}# ../../${EAT_LIBDIR}#g" -e "s# /usr/${EAT_LIBDIR}/# /usr/lib/#g" -e "s# /usr/${EAT_LIBDIR}/${EAT_TARGET_SYS}# .#g" -e "s# /${EAT_LIBDIR}/ld-linux# ../../${base_libdir}/ld-linux#g" ${D}${libdir}/libc.so
> >
> > Here ^^^ it's not clear why only the last of the sed replacements gets
> > updated, not all of them?
> 
> 1. `/${EAT_LIBDIR}/${EAT_TARGET_SYS}` path is not used in libc.so in
> Arm GNU Toolchain v13.2.Rel1 in targets "arm-none-linux-gnueabihf" and
> "aarch64-none-linux-gnu". I am not sure in which versions for ARM or
> Linaro toolchain this path was used in libc.so. Should I replace it
> blindly?

Yeah, this list has grown with different versions of the toolchain, where 
almost every new version required a slightly different adjustment in the 
past.

And the external toolchain recipe was always trying to be version agnostic 
and work with a wide range of toolchain versions.

But I guess we could simplify the list of supported versions to what is 
currently available for download - I see that 11.x and 12.x are supported 
now. 

Can you please check if libc.so is the same in those versions? If so, we 
can potentially drop all other sed mods from here. Thanks.


> 2. Rest two expressions replace input string to "/usr/lib" or ".", so
> they are not affected by usrmerge.

-- 
Denys


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

* Re: [meta-arm] [PATCH 2/3] external-arm-toolchain: in libc.so GNU ld script use base_libdir
  2024-04-18 15:57       ` Denys Dmytriyenko
@ 2024-04-29 13:54         ` Jon Mason
  0 siblings, 0 replies; 10+ messages in thread
From: Jon Mason @ 2024-04-29 13:54 UTC (permalink / raw)
  To: Denys Dmytriyenko
  Cc: Vasyl Vavrychuk, Ross Burton, Denys Dmytriyenko, meta-arm

On Thu, Apr 18, 2024 at 11:57:38AM -0400, Denys Dmytriyenko wrote:
> On Thu, Apr 18, 2024 at 04:54:05PM +0300, Vasyl Vavrychuk wrote:
> > On Wed, Apr 17, 2024 at 11:12 PM Denys Dmytriyenko <denis@denix.org> wrote:
> > >
> > > On Wed, Apr 17, 2024 at 02:30:41PM +0300, Vasyl Vavrychuk wrote:
> > > > -             sed -i -e "s# /${EAT_LIBDIR}/${EAT_TARGET_SYS}# ../../${EAT_LIBDIR}#g" -e "s# /usr/${EAT_LIBDIR}/# /usr/lib/#g" -e "s# /usr/${EAT_LIBDIR}/${EAT_TARGET_SYS}# .#g" -e "s# /${EAT_LIBDIR}/ld-linux# ../../${EAT_LIBDIR}/ld-linux#g" ${D}${libdir}/libc.so
> > > > +             sed -i -e "s# /${EAT_LIBDIR}/${EAT_TARGET_SYS}# ../../${EAT_LIBDIR}#g" -e "s# /usr/${EAT_LIBDIR}/# /usr/lib/#g" -e "s# /usr/${EAT_LIBDIR}/${EAT_TARGET_SYS}# .#g" -e "s# /${EAT_LIBDIR}/ld-linux# ../../${base_libdir}/ld-linux#g" ${D}${libdir}/libc.so
> > >
> > > Here ^^^ it's not clear why only the last of the sed replacements gets
> > > updated, not all of them?
> > 
> > 1. `/${EAT_LIBDIR}/${EAT_TARGET_SYS}` path is not used in libc.so in
> > Arm GNU Toolchain v13.2.Rel1 in targets "arm-none-linux-gnueabihf" and
> > "aarch64-none-linux-gnu". I am not sure in which versions for ARM or
> > Linaro toolchain this path was used in libc.so. Should I replace it
> > blindly?
> 
> Yeah, this list has grown with different versions of the toolchain, where 
> almost every new version required a slightly different adjustment in the 
> past.
> 
> And the external toolchain recipe was always trying to be version agnostic 
> and work with a wide range of toolchain versions.
> 
> But I guess we could simplify the list of supported versions to what is 
> currently available for download - I see that 11.x and 12.x are supported 
> now. 
> 
> Can you please check if libc.so is the same in those versions? If so, we 
> can potentially drop all other sed mods from here. Thanks.

meta-arm is going to release very, very soon.  If this series should
go in, then this needs to get wrapped up ASAP.

Vasyl, can you check about libc.so (per Denys's question/comment
above, and possibly do another version if his suggestion is correct)? 

Thanks,
Jon

> 
> 
> > 2. Rest two expressions replace input string to "/usr/lib" or ".", so
> > they are not affected by usrmerge.
> 
> -- 
> Denys
> 


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

end of thread, other threads:[~2024-04-29 13:54 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-17 11:30 [PATCH 0/3] external-arm-toolchain: fix build when usrmege enabled Vasyl Vavrychuk
2024-04-17 11:30 ` [PATCH 1/3] external-arm-toolchain: wrap base_libdir vs libdir manipulations under usrmerge check Vasyl Vavrychuk
2024-04-17 20:06   ` [meta-arm] " Denys Dmytriyenko
2024-04-17 11:30 ` [PATCH 2/3] external-arm-toolchain: in libc.so GNU ld script use base_libdir Vasyl Vavrychuk
2024-04-17 20:12   ` [meta-arm] " Denys Dmytriyenko
2024-04-18 13:54     ` Vasyl Vavrychuk
2024-04-18 15:57       ` Denys Dmytriyenko
2024-04-29 13:54         ` Jon Mason
2024-04-17 11:30 ` [PATCH 3/3] external-arm-toolchain: remove ${base_libdir}/libpthread*.so from FILES:${PN} Vasyl Vavrychuk
2024-04-17 20:13   ` [meta-arm] " Denys Dmytriyenko

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.