On 11/10/13 22:47, Richard Purdie wrote:
On Fri, 2013-10-11 at 17:15 +0100, Jack Mitchell wrote:
On 11/10/13 17:08, Richard Purdie wrote:
On Fri, 2013-10-11 at 16:21 +0100, Jack Mitchell wrote:
I upgraded my host distribution today which pulled in tar 1.27 [1] and
caused a nasty breakage. Downgrading to tar 1.26 fixed the problem, I
would expect this is something we want to fix before 1.5 goes out the door?

DEBUG: Executing python function sstate_task_prefunc
DEBUG: Python function sstate_task_prefunc finished
DEBUG: Executing python function do_populate_sysroot
DEBUG: Executing shell function sysroot_stage_all
tar: --same-order option cannot be used with -c
Try 'tar --help' or 'tar --usage' for more information.
tar: This does not look like a tar archive
tar: Exiting with failure status due to previous errors
WARNING:
/home/jack/Work/oe-core.git/test-build/tmp-eglibc/work/x86_64-linux/quilt-native/0.60-r0/temp/run.sysroot_stage_all.21827:1
exit 2 from
   tar -xf - -C "$dest"
DEBUG: Python function do_populate_sysroot finished
ERROR: Function failed: sysroot_stage_all (log file is located at
/home/jack/Work/oe-core.git/test-build/tmp-eglibc/work/x86_64-linux/quilt-native/0.60-r0/temp/log.do_populate_sysroot.21827)

[1] https://lists.gnu.org/archive/html/info-gnu/2013-10/msg00004.html
Just to be clear, the command is:

tar -cf - -C "$src" -ps . | tar -xf - -C "$dest"

from staging.bbclass. The fix is probably just to drop the s from the
-ps.

Cheers,

Richard


I'm afraid that doesn't work:

Exception: CalledProcessError: Command 'cd
/home/jack/Work/oe-core.git/test-build/tmp-eglibc/work/x86_64-linux/quilt-native/0.60-r0/sysroot-destdir/home/jack/Work/oe-core.git/test-build/tmp-eglibc/sysroots/x86_64-linux;
find . -type d -print | tar -cf - -C
/home/jack/Work/oe-core.git/test-build/tmp-eglibc/work/x86_64-linux/quilt-native/0.60-r0/sysroot-destdir/home/jack/Work/oe-core.git/test-build/tmp-eglibc/sysroots/x86_64-linux
-ps --files-from - | tar -xf - -C
/home/jack/Work/oe-core.git/test-build/tmp-eglibc/sysroots/x86_64-linux'
returned non-zero exit status 2 with output tar: --same-order option
cannot be used with -c
Try 'tar --help' or 'tar --usage' for more information.
tar: This does not look like a tar archive
tar: Exiting with failure status due to previous errors
find: `standard output': Broken pipe
find: write error

Tar command in staging.bbclass

tar -cf - -C "$src" -p . | tar -xf - -C "$dest"

I think this command got copy and pasted into a few parts of the system
so we'll need to hunt them all down and fix them. In classes alone:

$ grep \\-ps * -R
libc-package.bbclass:   tar -cf - -C ${LOCALETREESRC}${datadir} -ps i18n | tar 
-xf - -C $treedir/${datadir}
libc-package.bbclass:   tar -cf - -C ${LOCALETREESRC}${base_libdir} -ps . | tar 
-xf - -C $treedir/${base_libdir}
libc-package.bbclass:           tar -cf - -C 
${STAGING_DIR_NATIVE}/${prefix_native}/${base_libdir} -ps libgcc_s.* | tar -xf 
- -C $treedir/${base_libdir}
libc-package.bbclass:   tar -cf - -C $treedir/$parent -ps $(basename 
${localedir}) | tar -xf - -C ${PKGD}$parent
package.bbclass:    cmd = 'tar -cf - -C %s -ps . | tar -xf - -C %s' % (dest, 
dvar)
populate_sdk_deb.bbclass:       tar -cf - -C ${STAGING_ETCDIR_NATIVE} -ps apt | 
tar -xf - -C ${target_rootfs}/etc
staging.bbclass:                tar -cf - -C "$src" -ps . | tar -xf - -C "$dest"

Cheers,

Richard


Ah ok, I did wonder but didn't have the time to check. I'll try to get round to eliminating all the occurances on Monday and if it works I'll put out an RFC with a view for 1.5.1.

Cheers,

--
  Jack Mitchell (j...@embed.me.uk)
  Embedded Systems Engineer
  Cambrideshire, UK
  http://www.embed.me.uk
--
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to