diff mbox series

nativesdk-libtool: sanitize the script, remove buildpaths

Message ID 20240716220940.3828246-1-denis@denix.org
State Accepted, archived
Commit f08df9adf290fb6cbebff24df6bbbbe8e5ce95e0
Headers show
Series nativesdk-libtool: sanitize the script, remove buildpaths | expand

Commit Message

Denys Dmytriyenko July 16, 2024, 10:09 p.m. UTC
From: Denys Dmytriyenko <denys@konsulko.com>

Copy the same sed command to sanitize libtool script from target recipe
to nativesdk one. Otherwise fails with buildpaths QA error:

ERROR: nativesdk-libtool-2.5.0-r0 do_package_qa: QA Issue: File /usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-pokysdk-linux/usr/bin/libtool in package nativesdk-libtool contains reference to TMPDIR [buildpaths]

Signed-off-by: Denys Dmytriyenko <denys@konsulko.com>
---
 .../libtool/nativesdk-libtool_2.5.0.bb               | 12 ++++++++++++
 1 file changed, 12 insertions(+)

Comments

Richard Purdie July 17, 2024, 6:29 a.m. UTC | #1
On Tue, 2024-07-16 at 18:09 -0400, Denys Dmytriyenko via lists.openembedded.org wrote:
> From: Denys Dmytriyenko <denys@konsulko.com>
> 
> Copy the same sed command to sanitize libtool script from target recipe
> to nativesdk one. Otherwise fails with buildpaths QA error:
> 
> ERROR: nativesdk-libtool-2.5.0-r0 do_package_qa: QA Issue: File /usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-pokysdk-linux/usr/bin/libtool in package nativesdk-libtool contains reference to TMPDIR [buildpaths]
> 
> Signed-off-by: Denys Dmytriyenko <denys@konsulko.com>
> ---
>  .../libtool/nativesdk-libtool_2.5.0.bb               | 12 ++++++++++++
>  1 file changed, 12 insertions(+)
> 
> diff --git a/meta/recipes-devtools/libtool/nativesdk-libtool_2.5.0.bb b/meta/recipes-devtools/libtool/nativesdk-libtool_2.5.0.bb
> index ddb60e717c..69de7a8e40 100644
> --- a/meta/recipes-devtools/libtool/nativesdk-libtool_2.5.0.bb
> +++ b/meta/recipes-devtools/libtool/nativesdk-libtool_2.5.0.bb
> @@ -13,6 +13,18 @@ do_install () {
>  	autotools_do_install
>  	install -d ${D}${bindir}/
>  	install -m 0755 libtool ${D}${bindir}/
> +
> +	sed -e 's@--sysroot=${STAGING_DIR_HOST}@@g' \
> +	    -e "s@${DEBUG_PREFIX_MAP}@@g" \
> +	    -e 's@${STAGING_DIR_HOST}@@g' \
> +	    -e 's@${STAGING_DIR_NATIVE}@@g' \
> +	    -e 's@^\(sys_lib_search_path_spec="\).*@\1${libdir} ${base_libdir}"@' \
> +	    -e 's@^\(compiler_lib_search_dirs="\).*@\1${libdir} ${base_libdir}"@' \
> +	    -e 's@^\(compiler_lib_search_path="\).*@\1${libdir} ${base_libdir}"@' \
> +	    -e 's@^\(predep_objects="\).*@\1"@' \
> +	    -e 's@^\(postdep_objects="\).*@\1"@' \
> +	    -e "s@${HOSTTOOLS_DIR}/@@g" \
> +	    -i ${D}${bindir}/libtool
>  }
>  
>  SYSROOT_PREPROCESS_FUNCS += "libtoolnativesdk_sysroot_preprocess"
> 

Rather than duplicate code, particularly long commands like this, it
should be moved to a function and called from both locations.

Cheers,

Richard
Denys Dmytriyenko July 17, 2024, 5:16 p.m. UTC | #2
On Wed, Jul 17, 2024 at 07:29:45AM +0100, Richard Purdie wrote:
> On Tue, 2024-07-16 at 18:09 -0400, Denys Dmytriyenko via lists.openembedded.org wrote:
> > From: Denys Dmytriyenko <denys@konsulko.com>
> > 
> > Copy the same sed command to sanitize libtool script from target recipe
> > to nativesdk one. Otherwise fails with buildpaths QA error:
> > 
> > ERROR: nativesdk-libtool-2.5.0-r0 do_package_qa: QA Issue: File /usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-pokysdk-linux/usr/bin/libtool in package nativesdk-libtool contains reference to TMPDIR [buildpaths]
> > 
> > Signed-off-by: Denys Dmytriyenko <denys@konsulko.com>
> > ---
> >  .../libtool/nativesdk-libtool_2.5.0.bb               | 12 ++++++++++++
> >  1 file changed, 12 insertions(+)
> > 
> > diff --git a/meta/recipes-devtools/libtool/nativesdk-libtool_2.5.0.bb b/meta/recipes-devtools/libtool/nativesdk-libtool_2.5.0.bb
> > index ddb60e717c..69de7a8e40 100644
> > --- a/meta/recipes-devtools/libtool/nativesdk-libtool_2.5.0.bb
> > +++ b/meta/recipes-devtools/libtool/nativesdk-libtool_2.5.0.bb
> > @@ -13,6 +13,18 @@ do_install () {
> >  	autotools_do_install
> >  	install -d ${D}${bindir}/
> >  	install -m 0755 libtool ${D}${bindir}/
> > +
> > +	sed -e 's@--sysroot=${STAGING_DIR_HOST}@@g' \
> > +	    -e "s@${DEBUG_PREFIX_MAP}@@g" \
> > +	    -e 's@${STAGING_DIR_HOST}@@g' \
> > +	    -e 's@${STAGING_DIR_NATIVE}@@g' \
> > +	    -e 's@^\(sys_lib_search_path_spec="\).*@\1${libdir} ${base_libdir}"@' \
> > +	    -e 's@^\(compiler_lib_search_dirs="\).*@\1${libdir} ${base_libdir}"@' \
> > +	    -e 's@^\(compiler_lib_search_path="\).*@\1${libdir} ${base_libdir}"@' \
> > +	    -e 's@^\(predep_objects="\).*@\1"@' \
> > +	    -e 's@^\(postdep_objects="\).*@\1"@' \
> > +	    -e "s@${HOSTTOOLS_DIR}/@@g" \
> > +	    -i ${D}${bindir}/libtool
> >  }
> >  
> >  SYSROOT_PREPROCESS_FUNCS += "libtoolnativesdk_sysroot_preprocess"
> > 
> 
> Rather than duplicate code, particularly long commands like this, it
> should be moved to a function and called from both locations.

v2 submitted.
diff mbox series

Patch

diff --git a/meta/recipes-devtools/libtool/nativesdk-libtool_2.5.0.bb b/meta/recipes-devtools/libtool/nativesdk-libtool_2.5.0.bb
index ddb60e717c..69de7a8e40 100644
--- a/meta/recipes-devtools/libtool/nativesdk-libtool_2.5.0.bb
+++ b/meta/recipes-devtools/libtool/nativesdk-libtool_2.5.0.bb
@@ -13,6 +13,18 @@  do_install () {
 	autotools_do_install
 	install -d ${D}${bindir}/
 	install -m 0755 libtool ${D}${bindir}/
+
+	sed -e 's@--sysroot=${STAGING_DIR_HOST}@@g' \
+	    -e "s@${DEBUG_PREFIX_MAP}@@g" \
+	    -e 's@${STAGING_DIR_HOST}@@g' \
+	    -e 's@${STAGING_DIR_NATIVE}@@g' \
+	    -e 's@^\(sys_lib_search_path_spec="\).*@\1${libdir} ${base_libdir}"@' \
+	    -e 's@^\(compiler_lib_search_dirs="\).*@\1${libdir} ${base_libdir}"@' \
+	    -e 's@^\(compiler_lib_search_path="\).*@\1${libdir} ${base_libdir}"@' \
+	    -e 's@^\(predep_objects="\).*@\1"@' \
+	    -e 's@^\(postdep_objects="\).*@\1"@' \
+	    -e "s@${HOSTTOOLS_DIR}/@@g" \
+	    -i ${D}${bindir}/libtool
 }
 
 SYSROOT_PREPROCESS_FUNCS += "libtoolnativesdk_sysroot_preprocess"