* [PATCH] poky/package: Prevent perform_packagecopy from removing /sysroot-only
@ 2022-03-23 23:03 russ.dill
2022-03-24 0:31 ` [poky] " Peter Kjellerstedt
0 siblings, 1 reply; 2+ messages in thread
From: russ.dill @ 2022-03-23 23:03 UTC (permalink / raw)
To: Poky; +Cc: Diego Sueiro
The files in /sysroot-only are intended to make it into the
recipes sysroot output, but not into the package. However, if
do_package is run before do_populate_sysroot, the files are
removed.
Use a smaller hammer to avoid copying the files into the package so
they are still around when do_populate_sysroot runs.
Signed-off-by: Russ Dill <russ.dill@nikolamotor.com>
---
meta/classes/package.bbclass | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index 985dfacd09..c0e9b4dbca 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -428,7 +428,6 @@ def splitstaticdebuginfo(file, dvar,
debugstaticdir, debugstaticlibdir, debugsta
# return a mapping of files:debugsources
import stat
- import shutil
src = file[len(dvar):]
dest = debugstaticlibdir + os.path.dirname(src) + debugstaticdir
+ "/" + os.path.basename(src) + debugstaticappend
@@ -811,15 +810,10 @@ python perform_packagecopy () {
dest = d.getVar('D')
dvar = d.getVar('PKGD')
- # Remove ${D}/sysroot-only if present
- sysroot_only = os.path.join(dest, 'sysroot-only')
- if cpath.exists(sysroot_only) and cpath.isdir(sysroot_only):
- shutil.rmtree(sysroot_only)
-
# Start by package population by taking a copy of the installed
# files to operate on
# Preserve sparse files and hard links
- cmd = 'tar -cf - -C %s -p -S . | tar -xf - -C %s' % (dest, dvar)
+ cmd = 'tar --exclude=./sysroot-only -cf - -C %s -p -S . | tar -xf
- -C %s' % (dest, dvar)
subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT)
# replace RPATHs for the nativesdk binaries, to make them relocatable
--
2.25.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [poky] [PATCH] poky/package: Prevent perform_packagecopy from removing /sysroot-only
2022-03-23 23:03 [PATCH] poky/package: Prevent perform_packagecopy from removing /sysroot-only russ.dill
@ 2022-03-24 0:31 ` Peter Kjellerstedt
0 siblings, 0 replies; 2+ messages in thread
From: Peter Kjellerstedt @ 2022-03-24 0:31 UTC (permalink / raw)
To: Russ Dill, Poky; +Cc: Diego Sueiro
> -----Original Message-----
> From: poky@lists.yoctoproject.org <poky@lists.yoctoproject.org> On Behalf
> Of Russ Dill
> Sent: den 24 mars 2022 00:04
> To: Poky@lists.yoctoproject.org
> Cc: Diego Sueiro <diego.sueiro@arm.com>
> Subject: [poky] [PATCH] poky/package: Prevent perform_packagecopy from removing /sysroot-only
* Don't prefix the subject with "poky/". And for bbclasses it is
better to use the full filename as prefix, i.e.,
"package.bbclass: ..." to distinguish them from recipe names.
* These patches belong on the openembedded-core@lists.openembedded.org
mailing list.
* Your mailer is mangling the patches, introducing newlines that
makes it impossible to apply the patches without manually
removing the extra newlines.
>
> The files in /sysroot-only are intended to make it into the
> recipes sysroot output, but not into the package. However, if
> do_package is run before do_populate_sysroot, the files are
> removed.
>
> Use a smaller hammer to avoid copying the files into the package so
> they are still around when do_populate_sysroot runs.
>
> Signed-off-by: Russ Dill <russ.dill@nikolamotor.com>
> ---
> meta/classes/package.bbclass | 8 +-------
> 1 file changed, 1 insertion(+), 7 deletions(-)
>
> diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
> index 985dfacd09..c0e9b4dbca 100644
> --- a/meta/classes/package.bbclass
> +++ b/meta/classes/package.bbclass
> @@ -428,7 +428,6 @@ def splitstaticdebuginfo(file, dvar,
> debugstaticdir, debugstaticlibdir, debugsta
> # return a mapping of files:debugsources
>
> import stat
> - import shutil
>
> src = file[len(dvar):]
> dest = debugstaticlibdir + os.path.dirname(src) + debugstaticdir
> + "/" + os.path.basename(src) + debugstaticappend
> @@ -811,15 +810,10 @@ python perform_packagecopy () {
> dest = d.getVar('D')
> dvar = d.getVar('PKGD')
>
> - # Remove ${D}/sysroot-only if present
> - sysroot_only = os.path.join(dest, 'sysroot-only')
> - if cpath.exists(sysroot_only) and cpath.isdir(sysroot_only):
> - shutil.rmtree(sysroot_only)
> -
> # Start by package population by taking a copy of the installed
> # files to operate on
> # Preserve sparse files and hard links
> - cmd = 'tar -cf - -C %s -p -S . | tar -xf - -C %s' % (dest, dvar)
> + cmd = 'tar --exclude=./sysroot-only -cf - -C %s -p -S . | tar -xf
> - -C %s' % (dest, dvar)
> subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT)
>
> # replace RPATHs for the nativesdk binaries, to make them relocatable
> --
> 2.25.1
//Peter
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2022-03-24 0:31 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-23 23:03 [PATCH] poky/package: Prevent perform_packagecopy from removing /sysroot-only russ.dill
2022-03-24 0:31 ` [poky] " Peter Kjellerstedt
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.