All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/6] glibc: Separate locale files to their own sstate task
@ 2017-02-06 15:52 Richard Purdie
  2017-02-06 15:52 ` [PATCH 2/6] staging: Don't put ptest files into the sysroot Richard Purdie
                   ` (4 more replies)
  0 siblings, 5 replies; 9+ messages in thread
From: Richard Purdie @ 2017-02-06 15:52 UTC (permalink / raw)
  To: openembedded-core

Putting the locale and script files into the sysroot for use by their
specific recipes used to be a simple way to share the files. With RSS,
we don't want to copy these into many different recipes so put these
files in their own sstate task.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 meta/recipes-core/glibc/glibc-collateral.inc |  2 +-
 meta/recipes-core/glibc/glibc-initial.inc    |  7 +------
 meta/recipes-core/glibc/glibc-locale.inc     |  2 +-
 meta/recipes-core/glibc/glibc-package.inc    | 30 +++++++++++++++++-----------
 meta/recipes-core/glibc/glibc-scripts.inc    |  2 +-
 5 files changed, 22 insertions(+), 21 deletions(-)

diff --git a/meta/recipes-core/glibc/glibc-collateral.inc b/meta/recipes-core/glibc/glibc-collateral.inc
index 6b32e4a..37f27ca 100644
--- a/meta/recipes-core/glibc/glibc-collateral.inc
+++ b/meta/recipes-core/glibc/glibc-collateral.inc
@@ -15,7 +15,7 @@ deltask do_patch
 do_configure[noexec] = "1"
 do_compile[noexec] = "1"
 
-do_install[depends] += "virtual/${MLPREFIX}libc:do_populate_sysroot"
+do_install[depends] += "virtual/${MLPREFIX}libc:do_stash_locale"
 
 COMPATIBLE_HOST_libc-musl_class-target = "null"
 COMPATIBLE_HOST_libc-uclibc_class-target = "null"
diff --git a/meta/recipes-core/glibc/glibc-initial.inc b/meta/recipes-core/glibc/glibc-initial.inc
index 7380bdb..f94603c 100644
--- a/meta/recipes-core/glibc/glibc-initial.inc
+++ b/meta/recipes-core/glibc/glibc-initial.inc
@@ -43,7 +43,7 @@ do_install () {
 	fi
 }
 
-do_install_locale() {
+do_stash_locale() {
 	:
 }
 
@@ -51,9 +51,4 @@ do_siteconfig () {
 	:
 }
 
-# We don't install any scripts so there is nothing to evacuate
-do_evacuate_scripts () {
-	:
-}
-
 inherit nopackages
diff --git a/meta/recipes-core/glibc/glibc-locale.inc b/meta/recipes-core/glibc/glibc-locale.inc
index 50b191c..9c99741 100644
--- a/meta/recipes-core/glibc/glibc-locale.inc
+++ b/meta/recipes-core/glibc/glibc-locale.inc
@@ -66,7 +66,7 @@ DESCRIPTION_localedef = "glibc: compile locale definition files"
 FILES_${MLPREFIX}glibc-gconv = "${libdir}/gconv/*"
 FILES_localedef = "${bindir}/localedef"
 
-LOCALETREESRC = "${STAGING_INCDIR}/glibc-locale-internal-${MULTIMACH_TARGET_SYS}"
+LOCALETREESRC = "${STAGING_DIR}-components/${PACKAGE_ARCH}/glibc-stash-locale"
 
 do_install () {
 	mkdir -p ${D}${bindir} ${D}${datadir} ${D}${libdir}
diff --git a/meta/recipes-core/glibc/glibc-package.inc b/meta/recipes-core/glibc/glibc-package.inc
index 481a00e..557b958 100644
--- a/meta/recipes-core/glibc/glibc-package.inc
+++ b/meta/recipes-core/glibc/glibc-package.inc
@@ -145,8 +145,11 @@ do_install_append_aarch64 () {
 	fi
 }
 
-do_install_locale () {
-	dest=${D}/${includedir}/glibc-locale-internal-${MULTIMACH_TARGET_SYS}
+LOCALESTASH = "${WORKDIR}/stashed-locale"
+bashscripts = "mtrace sotruss xtrace"
+
+do_stash_locale () {
+	dest=${LOCALESTASH}
 	install -d ${dest}${base_libdir} ${dest}${bindir} ${dest}${libdir} ${dest}${datadir}
 	if [ "${base_libdir}" != "${libdir}" ]; then
 		cp -fpPR ${D}${base_libdir}/* ${dest}${base_libdir}
@@ -166,14 +169,8 @@ do_install_locale () {
 	cp -fpPR ${D}${datadir}/* ${dest}${datadir}
 	rm -rf ${D}${datadir}/locale/
 	cp -fpPR ${WORKDIR}/SUPPORTED ${dest}
-}
-
-addtask do_install_locale after do_install before do_populate_sysroot do_package
 
-bashscripts = "mtrace sotruss xtrace"
-
-do_evacuate_scripts () {
-	target=${D}${includedir}/glibc-scripts-internal-${MULTIMACH_TARGET_SYS}
+	target=${dest}/scripts
 	mkdir -p $target
 	for i in ${bashscripts}; do
 		if [ -f ${D}${bindir}/$i ]; then
@@ -182,13 +179,22 @@ do_evacuate_scripts () {
 	done
 }
 
-addtask evacuate_scripts after do_install before do_populate_sysroot do_package
+addtask do_stash_locale after do_install before do_populate_sysroot do_package
+do_stash_locale[dirs] = "${B}"
+do_stash_locale[cleandirs] = "${LOCALESTASH}"
+SSTATETASKS += "do_stash_locale"
+do_stash_locale[sstate-inputdirs] = "${LOCALESTASH}"
+do_stash_locale[sstate-outputdirs] = "${STAGING_DIR}-components/${PACKAGE_ARCH}/glibc-stash-locale"
+do_stash_locale[sstate-fixmedir] = "${STAGING_DIR}-components/${PACKAGE_ARCH}/glibc-stash-locale"
+
+python do_stash_locale_setscene () {
+    sstate_setscene(d)
+}
+addtask do_stash_locale_setscene
 
 PACKAGE_PREPROCESS_FUNCS += "glibc_package_preprocess"
 
 glibc_package_preprocess () {
-	rm -rf ${PKGD}/${includedir}/glibc-locale-internal-${MULTIMACH_TARGET_SYS}
-	rm -rf ${PKGD}/${includedir}/glibc-scripts-internal-${MULTIMACH_TARGET_SYS}
 	for i in ${bashscripts}; do
 	    rm -f ${PKGD}${bindir}/$i
 	done
diff --git a/meta/recipes-core/glibc/glibc-scripts.inc b/meta/recipes-core/glibc/glibc-scripts.inc
index 66fdee4..42616f0 100644
--- a/meta/recipes-core/glibc/glibc-scripts.inc
+++ b/meta/recipes-core/glibc/glibc-scripts.inc
@@ -4,7 +4,7 @@ SUMMARY = "utility scripts provided by glibc"
 DESCRIPTION = "utility scripts provided by glibc"
 RDEPENDS_${PN} = "bash glibc-mtrace"
 
-SRC = "${STAGING_INCDIR}/glibc-scripts-internal-${MULTIMACH_TARGET_SYS}"
+SRC = "${STAGING_DIR}-components/${PACKAGE_ARCH}/glibc-stash-locale/scripts"
 
 bashscripts = "sotruss xtrace"
 
-- 
2.7.4



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

* [PATCH 2/6] staging: Don't put ptest files into the sysroot
  2017-02-06 15:52 [PATCH 1/6] glibc: Separate locale files to their own sstate task Richard Purdie
@ 2017-02-06 15:52 ` Richard Purdie
  2017-02-06 15:52 ` [PATCH 3/6] perl-native: Remove .packinfo file Richard Purdie
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 9+ messages in thread
From: Richard Purdie @ 2017-02-06 15:52 UTC (permalink / raw)
  To: openembedded-core

This wastes space/time as the ptest files aren't going to be used in the
sysroot so add them to the blacklist.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 meta/classes/staging.bbclass | 1 +
 1 file changed, 1 insertion(+)

diff --git a/meta/classes/staging.bbclass b/meta/classes/staging.bbclass
index 93d31eb..b92bdaf 100644
--- a/meta/classes/staging.bbclass
+++ b/meta/classes/staging.bbclass
@@ -31,6 +31,7 @@ SYSROOT_DIRS_BLACKLIST = " \
     ${datadir}/applications \
     ${datadir}/fonts \
     ${datadir}/pixmaps \
+    ${libdir}/${PN}/ptest \
 "
 
 sysroot_stage_dir() {
-- 
2.7.4



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

* [PATCH 3/6] perl-native: Remove .packinfo file
  2017-02-06 15:52 [PATCH 1/6] glibc: Separate locale files to their own sstate task Richard Purdie
  2017-02-06 15:52 ` [PATCH 2/6] staging: Don't put ptest files into the sysroot Richard Purdie
@ 2017-02-06 15:52 ` Richard Purdie
  2017-02-06 19:26   ` Martin Jansa
  2017-02-06 19:51   ` Khem Raj
  2017-02-06 15:52 ` [PATCH 4/6] staging: Add shared manifest support Richard Purdie
                   ` (2 subsequent siblings)
  4 siblings, 2 replies; 9+ messages in thread
From: Richard Purdie @ 2017-02-06 15:52 UTC (permalink / raw)
  To: openembedded-core

This is large and needs fixups to relocate it in each case. We can drop it, save
the work and the ~150MB disk space its various copies take up. Its not needed
for anything that I can see.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 meta/recipes-devtools/perl/perl-native_5.24.0.bb | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/meta/recipes-devtools/perl/perl-native_5.24.0.bb b/meta/recipes-devtools/perl/perl-native_5.24.0.bb
index af2ad7b..4216257 100644
--- a/meta/recipes-devtools/perl/perl-native_5.24.0.bb
+++ b/meta/recipes-devtools/perl/perl-native_5.24.0.bb
@@ -106,6 +106,10 @@ do_install () {
 	for f in `grep -Il '#! *${bindir}/perl' ${D}/${bindir}/*`; do
 		sed -i -e 's|${bindir}/perl|/usr/bin/env nativeperl|' $f
 	done
+
+	# The packlist is large with hardcoded paths meaning it needs relocating
+	# so just remove it.
+	rm ${D}${libdir}/perl/${PV}/.packlist
 }
 
 SYSROOT_PREPROCESS_FUNCS += "perl_sysroot_create_wrapper"
-- 
2.7.4



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

* [PATCH 4/6] staging: Add shared manifest support
  2017-02-06 15:52 [PATCH 1/6] glibc: Separate locale files to their own sstate task Richard Purdie
  2017-02-06 15:52 ` [PATCH 2/6] staging: Don't put ptest files into the sysroot Richard Purdie
  2017-02-06 15:52 ` [PATCH 3/6] perl-native: Remove .packinfo file Richard Purdie
@ 2017-02-06 15:52 ` Richard Purdie
  2017-02-06 15:52 ` [PATCH 5/6] staging: Improve file creation resiliance Richard Purdie
  2017-02-06 15:52 ` [PATCH 6/6] staging: Add missing parameter to debug message Richard Purdie
  4 siblings, 0 replies; 9+ messages in thread
From: Richard Purdie @ 2017-02-06 15:52 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 meta/classes/staging.bbclass | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/meta/classes/staging.bbclass b/meta/classes/staging.bbclass
index b92bdaf..bd798ba 100644
--- a/meta/classes/staging.bbclass
+++ b/meta/classes/staging.bbclass
@@ -479,6 +479,7 @@ python extend_recipe_sysroot() {
     bb.note("\n".join(msgbuf))
 
     stagingdir = d.getVar("STAGING_DIR")
+    sharedmanifests = stagingdir + "-components/manifests"
     recipesysroot = d.getVar("RECIPE_SYSROOT")
     recipesysrootnative = d.getVar("RECIPE_SYSROOT_NATIVE")
     current_variant = d.getVar("BBEXTENDVARIANT")
@@ -493,6 +494,7 @@ python extend_recipe_sysroot() {
 
     depdir = recipesysrootnative + "/installeddeps"
     bb.utils.mkdirhier(depdir)
+    bb.utils.mkdirhier(sharedmanifests)
 
     lock = bb.utils.lockfile(recipesysroot + "/sysroot.lock")
 
@@ -588,6 +590,27 @@ python extend_recipe_sysroot() {
                         dest = staging_copyfile(l, destsysroot, fixme[''], postinsts, stagingdir, seendirs)
                     if dest:
                         m.write(dest.replace(workdir + "/", "") + "\n")
+            # Having multiple identical manifests in each sysroot eats diskspace so
+            # create a shared pool of them.
+            sharedm = sharedmanifests + "/" + os.path.basename(taskmanifest)
+            if not os.path.exists(sharedm):
+                smlock = bb.utils.lockfile(sharedm + ".lock")
+                # Can race here. You'd think it just means we may not end up with all copies hardlinked to each other
+                # but python can lose file handles so we need to do this under a lock.
+                try:
+                    if not os.path.exists(sharedm):
+                        os.rename(taskmanifest, sharedm)
+                except OSError:
+                   pass
+                bb.utils.unlockfile(smlock)
+            if os.path.exists(sharedm):
+                # If we're crossing mount points we'll not reach here.
+                if os.path.exists(taskmanifest):
+                    if os.path.getsize(sharedm) != os.path.getsize(taskmanifest):
+                        # Order of entries can differ, overall size shouldn't
+                        raise Exception("Manifests %s and %s differ in size and shouldn't?" % (sharedm, taskmanifest))
+                    os.unlink(taskmanifest)
+                os.link(sharedm, taskmanifest)
 
     for f in fixme:
         if f == '':
-- 
2.7.4



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

* [PATCH 5/6] staging: Improve file creation resiliance
  2017-02-06 15:52 [PATCH 1/6] glibc: Separate locale files to their own sstate task Richard Purdie
                   ` (2 preceding siblings ...)
  2017-02-06 15:52 ` [PATCH 4/6] staging: Add shared manifest support Richard Purdie
@ 2017-02-06 15:52 ` Richard Purdie
  2017-02-06 15:52 ` [PATCH 6/6] staging: Add missing parameter to debug message Richard Purdie
  4 siblings, 0 replies; 9+ messages in thread
From: Richard Purdie @ 2017-02-06 15:52 UTC (permalink / raw)
  To: openembedded-core

If you abort a build mid execution of the staging extend_sysroot function
there are currently races and cleanup of that function may fail.

This change splits the code into separate phases so that the manifests are
manipulated before files are installed, meaning we should be able to reverse
actions if builds fail, crash or are interrupted.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 meta/classes/staging.bbclass | 88 ++++++++++++++++++++++++--------------------
 1 file changed, 49 insertions(+), 39 deletions(-)

diff --git a/meta/classes/staging.bbclass b/meta/classes/staging.bbclass
index bd798ba..0cb46bf 100644
--- a/meta/classes/staging.bbclass
+++ b/meta/classes/staging.bbclass
@@ -245,17 +245,9 @@ python do_populate_sysroot_setscene () {
 }
 addtask do_populate_sysroot_setscene
 
-def staging_copyfile(c, target, fixme, postinsts, stagingdir, seendirs):
+def staging_copyfile(c, target, dest, postinsts, seendirs):
     import errno
 
-    if c.endswith("/fixmepath"):
-        fixme.append(c)
-        return None
-    if c.endswith("/fixmepath.cmd"):
-        return None
-    #bb.warn(c)
-    dest = c.replace(stagingdir, "")
-    dest = target + "/" + "/".join(dest.split("/")[3:])
     destdir = os.path.dirname(dest)
     if destdir not in seendirs:
         bb.utils.mkdirhier(destdir)
@@ -282,9 +274,7 @@ def staging_copyfile(c, target, fixme, postinsts, stagingdir, seendirs):
                 raise
     return dest
 
-def staging_copydir(c, target, stagingdir, seendirs):
-    dest = c.replace(stagingdir, "")
-    dest = target + "/" + "/".join(dest.split("/")[3:])
+def staging_copydir(c, target, dest, seendirs):
     if dest not in seendirs:
         bb.utils.mkdirhier(dest)
         seendirs.add(dest)
@@ -338,11 +328,18 @@ def staging_populate_sysroot_dir(targetsysroot, nativesysroot, native, d):
             with open(manifest, "r") as f:
                 for l in f:
                     l = l.strip()
+                    if l.endswith("/fixmepath"):
+                        fixme.append(l)
+                        continue
+                    if l.endswith("/fixmepath.cmd"):
+                        continue
+                    dest = l.replace(stagingdir, "")
+                    dest = targetdir + "/" + "/".join(dest.split("/")[3:])
                     if l.endswith("/"):
-                        staging_copydir(l, targetdir, stagingdir, seendirs)
+                        staging_copydir(l, targetdir, dest, seendirs)
                         continue
                     try:
-                        staging_copyfile(l, targetdir, fixme, postinsts, stagingdir, seendirs)
+                        staging_copyfile(l, targetdir, dest, postinsts, seendirs)
                     except FileExistsError:
                         continue
 
@@ -365,6 +362,8 @@ def staging_populate_sysroot_dir(targetsysroot, nativesysroot, native, d):
 python extend_recipe_sysroot() {
     import copy
     import subprocess
+    import errno
+    import collections
 
     taskdepdata = d.getVar("BB_TASKDEPDATA", False)
     mytaskname = d.getVar("BB_RUNTASK")
@@ -574,43 +573,54 @@ python extend_recipe_sysroot() {
         if not os.path.exists(manifest):
             bb.warn("Manifest %s not found?" % manifest)
         else:
-            with open(manifest, "r") as f, open(taskmanifest, 'w') as m:
+            newmanifest = collections.OrderedDict()
+            if native:
+                fm = fixme['native']
+                targetdir = recipesysrootnative
+            else:
+                fm = fixme['']
+                targetdir = destsysroot
+            with open(manifest, "r") as f:
                 manifests[dep] = manifest
                 for l in f:
                     l = l.strip()
-                    if l.endswith("/"):
-                        if native:
-                            dest = staging_copydir(l, recipesysrootnative, stagingdir, seendirs)
-                        else:
-                            dest = staging_copydir(l, destsysroot, stagingdir, seendirs)
+                    if l.endswith("/fixmepath"):
+                        fm.append(l)
+                        continue
+                    if l.endswith("/fixmepath.cmd"):
                         continue
-                    if native:
-                        dest = staging_copyfile(l, recipesysrootnative, fixme['native'], postinsts, stagingdir, seendirs)
-                    else:
-                        dest = staging_copyfile(l, destsysroot, fixme[''], postinsts, stagingdir, seendirs)
-                    if dest:
-                        m.write(dest.replace(workdir + "/", "") + "\n")
+                    dest = l.replace(stagingdir, "")
+                    dest = targetdir + "/" + "/".join(dest.split("/")[3:])
+                    newmanifest[l] = dest
             # Having multiple identical manifests in each sysroot eats diskspace so
-            # create a shared pool of them.
+            # create a shared pool of them and hardlink if we can.
+            # We create the manifest in advance so that if something fails during installation,
+            # or the build is interrupted, subsequent exeuction can cleanup.
             sharedm = sharedmanifests + "/" + os.path.basename(taskmanifest)
             if not os.path.exists(sharedm):
                 smlock = bb.utils.lockfile(sharedm + ".lock")
                 # Can race here. You'd think it just means we may not end up with all copies hardlinked to each other
                 # but python can lose file handles so we need to do this under a lock.
-                try:
-                    if not os.path.exists(sharedm):
-                        os.rename(taskmanifest, sharedm)
-                except OSError:
-                   pass
+                if not os.path.exists(sharedm):
+                    with open(sharedm, 'w') as m:
+                       for l in newmanifest:
+                           dest = newmanifest[l]
+                           m.write(dest.replace(workdir + "/", "") + "\n")
                 bb.utils.unlockfile(smlock)
-            if os.path.exists(sharedm):
-                # If we're crossing mount points we'll not reach here.
-                if os.path.exists(taskmanifest):
-                    if os.path.getsize(sharedm) != os.path.getsize(taskmanifest):
-                        # Order of entries can differ, overall size shouldn't
-                        raise Exception("Manifests %s and %s differ in size and shouldn't?" % (sharedm, taskmanifest))
-                    os.unlink(taskmanifest)
+            try:
                 os.link(sharedm, taskmanifest)
+            except OSError as err:
+                if err.errno == errno.EXDEV:
+                    bb.utils.copyfile(sharedm, taskmanifest)
+                else:
+                    raise
+            # Finally actually install the files
+            for l in newmanifest:
+                    dest = newmanifest[l]
+                    if l.endswith("/"):
+                        staging_copydir(l, targetdir, dest, seendirs)
+                        continue
+                    staging_copyfile(l, targetdir, dest, postinsts, seendirs)
 
     for f in fixme:
         if f == '':
-- 
2.7.4



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

* [PATCH 6/6] staging: Add missing parameter to debug message
  2017-02-06 15:52 [PATCH 1/6] glibc: Separate locale files to their own sstate task Richard Purdie
                   ` (3 preceding siblings ...)
  2017-02-06 15:52 ` [PATCH 5/6] staging: Improve file creation resiliance Richard Purdie
@ 2017-02-06 15:52 ` Richard Purdie
  4 siblings, 0 replies; 9+ messages in thread
From: Richard Purdie @ 2017-02-06 15:52 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 meta/classes/staging.bbclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/classes/staging.bbclass b/meta/classes/staging.bbclass
index 0cb46bf..0752009 100644
--- a/meta/classes/staging.bbclass
+++ b/meta/classes/staging.bbclass
@@ -464,7 +464,7 @@ python extend_recipe_sysroot() {
                 taskdeps[datadep] = setscenedeps[datadep][:2]
                 retval = setscene_depvalid(datadep, taskdeps, [], d, msgbuf)
                 if retval:
-                    msgbuf.append("Skipping setscene dependency %s for installation into the sysroot")
+                    msgbuf.append("Skipping setscene dependency %s for installation into the sysroot" % datadep)
                     continue
                 done.append(datadep)
                 new.append(datadep)
-- 
2.7.4



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

* Re: [PATCH 3/6] perl-native: Remove .packinfo file
  2017-02-06 15:52 ` [PATCH 3/6] perl-native: Remove .packinfo file Richard Purdie
@ 2017-02-06 19:26   ` Martin Jansa
  2017-02-07  7:57     ` Richard Purdie
  2017-02-06 19:51   ` Khem Raj
  1 sibling, 1 reply; 9+ messages in thread
From: Martin Jansa @ 2017-02-06 19:26 UTC (permalink / raw)
  To: Richard Purdie; +Cc: openembedded-core

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

On Mon, Feb 06, 2017 at 03:52:11PM +0000, Richard Purdie wrote:
> This is large and needs fixups to relocate it in each case. We can drop it, save
> the work and the ~150MB disk space its various copies take up. Its not needed
> for anything that I can see.

-1

The subject says .packinfo, but the change is for .packlist.

> 
> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> ---
>  meta/recipes-devtools/perl/perl-native_5.24.0.bb | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/meta/recipes-devtools/perl/perl-native_5.24.0.bb b/meta/recipes-devtools/perl/perl-native_5.24.0.bb
> index af2ad7b..4216257 100644
> --- a/meta/recipes-devtools/perl/perl-native_5.24.0.bb
> +++ b/meta/recipes-devtools/perl/perl-native_5.24.0.bb
> @@ -106,6 +106,10 @@ do_install () {
>  	for f in `grep -Il '#! *${bindir}/perl' ${D}/${bindir}/*`; do
>  		sed -i -e 's|${bindir}/perl|/usr/bin/env nativeperl|' $f
>  	done
> +
> +	# The packlist is large with hardcoded paths meaning it needs relocating
> +	# so just remove it.
> +	rm ${D}${libdir}/perl/${PV}/.packlist
>  }
>  
>  SYSROOT_PREPROCESS_FUNCS += "perl_sysroot_create_wrapper"
> -- 
> 2.7.4
> 
> -- 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 201 bytes --]

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

* Re: [PATCH 3/6] perl-native: Remove .packinfo file
  2017-02-06 15:52 ` [PATCH 3/6] perl-native: Remove .packinfo file Richard Purdie
  2017-02-06 19:26   ` Martin Jansa
@ 2017-02-06 19:51   ` Khem Raj
  1 sibling, 0 replies; 9+ messages in thread
From: Khem Raj @ 2017-02-06 19:51 UTC (permalink / raw)
  To: Richard Purdie; +Cc: Patches and discussions about the oe-core layer

On Mon, Feb 6, 2017 at 7:52 AM, Richard Purdie
<richard.purdie@linuxfoundation.org> wrote:
> This is large and needs fixups to relocate it in each case. We can drop it, save
> the work and the ~150MB disk space its various copies take up. Its not needed
> for anything that I can see.

I agree, I think we should even consider removing them from target and
nativesdk perl.

>
> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> ---
>  meta/recipes-devtools/perl/perl-native_5.24.0.bb | 4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/meta/recipes-devtools/perl/perl-native_5.24.0.bb b/meta/recipes-devtools/perl/perl-native_5.24.0.bb
> index af2ad7b..4216257 100644
> --- a/meta/recipes-devtools/perl/perl-native_5.24.0.bb
> +++ b/meta/recipes-devtools/perl/perl-native_5.24.0.bb
> @@ -106,6 +106,10 @@ do_install () {
>         for f in `grep -Il '#! *${bindir}/perl' ${D}/${bindir}/*`; do
>                 sed -i -e 's|${bindir}/perl|/usr/bin/env nativeperl|' $f
>         done
> +
> +       # The packlist is large with hardcoded paths meaning it needs relocating
> +       # so just remove it.
> +       rm ${D}${libdir}/perl/${PV}/.packlist
>  }
>
>  SYSROOT_PREPROCESS_FUNCS += "perl_sysroot_create_wrapper"
> --
> 2.7.4
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core


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

* Re: [PATCH 3/6] perl-native: Remove .packinfo file
  2017-02-06 19:26   ` Martin Jansa
@ 2017-02-07  7:57     ` Richard Purdie
  0 siblings, 0 replies; 9+ messages in thread
From: Richard Purdie @ 2017-02-07  7:57 UTC (permalink / raw)
  To: Martin Jansa; +Cc: openembedded-core

On Mon, 2017-02-06 at 20:26 +0100, Martin Jansa wrote:
> On Mon, Feb 06, 2017 at 03:52:11PM +0000, Richard Purdie wrote:
> > 
> > This is large and needs fixups to relocate it in each case. We can
> > drop it, save
> > the work and the ~150MB disk space its various copies take up. Its
> > not needed
> > for anything that I can see.
> -1
> 
> The subject says .packinfo, but the change is for .packlist.

Sorry, I've fixed the commit message on -next.

Cheers,

Richard


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

end of thread, other threads:[~2017-02-07  7:57 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-02-06 15:52 [PATCH 1/6] glibc: Separate locale files to their own sstate task Richard Purdie
2017-02-06 15:52 ` [PATCH 2/6] staging: Don't put ptest files into the sysroot Richard Purdie
2017-02-06 15:52 ` [PATCH 3/6] perl-native: Remove .packinfo file Richard Purdie
2017-02-06 19:26   ` Martin Jansa
2017-02-07  7:57     ` Richard Purdie
2017-02-06 19:51   ` Khem Raj
2017-02-06 15:52 ` [PATCH 4/6] staging: Add shared manifest support Richard Purdie
2017-02-06 15:52 ` [PATCH 5/6] staging: Improve file creation resiliance Richard Purdie
2017-02-06 15:52 ` [PATCH 6/6] staging: Add missing parameter to debug message Richard Purdie

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.