Bug 11584

Summary: ARCHIVER_MODE[src] = "configured" causes /bin/sh: quilt: command not found
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Robert Berger <pokylinux>
Component: coreAssignee: Ross Burton <ross.burton>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: Medium+ CC: meta.mr.watcher, meta.watcher, mikko.ylinen
Version: 2.3   
Target Milestone: 2.4 M1   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: Don't know
Attachments:
Description Flags
proposed patch to fix one problem none

Description Robert Berger 2017-05-27 14:12:03 UTC
With pyro when I build a core-image-minimal with this enabled:

# --> rber
IMAGE_INSTALL_append = " example"
# include license text in image
COPY_LIC_MANIFEST = "1"
COPY_LIC_DIRS = "1"
# share after do_configure
INHERIT += "archiver"
ARCHIVER_MODE[src] = "configured"
#ARCHIVER_MODE[dumpdata] = "1"
COPYLEFT_LICENSE_INCLUDE = "GPL* LGPL* hello*"
# <-- rber

I get errors on -native packages like this:

ERROR: alsa-lib-native-1.1.3-r0 do_unpack_and_patch: Command Error: 'quilt --quiltrc /tmp/yocto-autobuilder/yocto-autobuilder/yocto-worker/res-custom-pyro-multi-v7-core-image-minimal/build/build/tmp/work/x86_64-linux/alsa-lib-native/1.1.3-r0/archiver-work//recipe-sysroot-native/etc/quiltrc push' exited with 0  Output:
/bin/sh: quilt: command not found
ERROR: alsa-lib-native-1.1.3-r0 do_unpack_and_patch: Function failed: patch_do_patch
ERROR: Logfile of failure stored in: /tmp/yocto-autobuilder/yocto-autobuilder/yocto-worker/res-custom-pyro-multi-v7-core-image-minimal/build/build/tmp/work/x86_64-linux/alsa-lib-native/1.1.3-r0/temp/log.do_unpack_and_patch.13009
ERROR: Task (virtual:native:/tmp/yocto-autobuilder/yocto-autobuilder/yocto-worker/res-custom-pyro-multi-v7-core-image-minimal/build/meta/recipes-multimedia/alsa/alsa-lib_1.1.3.bb:do_unpack_and_patch) failed with exit code '1'
ERROR: pkgconfig-native-0.29.1+gitAUTOINC+87152c05be-r0 do_unpack_and_patch: Command Error: 'quilt --quiltrc /tmp/yocto-autobuilder/yocto-autobuilder/yocto-worker/res-custom-pyro-multi-v7-core-image-minimal/build/build/tmp/work/x86_64-linux/pkgconfig-native/0.29.1+gitAUTOINC+87152c05be-r0/archiver-work//recipe-sysroot-native/etc/quiltrc push' exited with 0  Output:
/bin/sh: quilt: command not found
ERROR: pkgconfig-native-0.29.1+gitAUTOINC+87152c05be-r0 do_unpack_and_patch: Function failed: patch_do_patch
ERROR: Logfile of failure stored in: /tmp/yocto-autobuilder/yocto-autobuilder/yocto-worker/res-custom-pyro-multi-v7-core-image-minimal/build/build/tmp/work/x86_64-linux/pkgconfig-native/0.29.1+gitAUTOINC+87152c05be-r0/temp/log.do_unpack_and_patch.13018
ERROR: Task (virtual:native:/tmp/yocto-autobuilder/yocto-autobuilder/yocto-worker/res-custom-pyro-multi-v7-core-image-minimal/build/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb:do_unpack_and_patch) failed with exit code '1'
Comment 1 Robert Berger 2017-05-27 15:07:57 UTC
changing ARCHIVER_MODE[src] = "original" causes a new error:

ERROR: linux-yocto-custom-4.9.27-custom-ml-debug+gitAUTOINC+89f3b8d5f2-r0 do_ar_original: Cannot determine archive names for original source because 'name' URL parameter is unset in more than one URL. Add it to at least one of these: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git;protocol=git;branch=linux-4.9.y file://multi-v7-ml-common;type=kmeta
ERROR: linux-yocto-custom-4.9.27-custom-ml-debug+gitAUTOINC+89f3b8d5f2-r0 do_ar_original: Function failed: do_ar_original
ERROR: Logfile of failure stored in: /tmp/yocto-autobuilder/yocto-autobuilder/yocto-worker/res-custom-pyro-multi-v7-core-image-minimal/build/build/tmp/work/multi_v7_ml-poky-linux-gnueabi/linux-yocto-custom/4.9.27-custom-ml-debug+gitAUTOINC+89f3b8d5f2-r0/temp/log.do_ar_original.11614
ERROR: Task (/tmp/yocto-autobuilder/yocto-autobuilder/yocto-worker/res-custom-pyro-multi-v7-core-image-minimal/build/meta-mainline/multi-v7-ml/recipes-kernel/linux/linux-yocto-custom_4.9.27.bb:do_ar_original) failed with exit code '1'
Comment 2 Robert Berger 2017-05-27 17:07:52 UTC
Created attachment 3778 [details]
proposed patch to fix one problem
Comment 3 Robert Berger 2017-05-27 17:13:57 UTC
The patch is part of this patch:

http://lists.openembedded.org/pipermail/openembedded-core/2016-December/129767.html
Comment 4 Ross Burton 2017-06-05 15:01:41 UTC
Ah yes, those archive patches were missed.  I've merged that patch into my staging branch, thanks.
Comment 5 Mikko Ylinen 2017-06-06 15:51:09 UTC
(In reply to comment #1)
> changing ARCHIVER_MODE[src] = "original" causes a new error:
> 
> ERROR: linux-yocto-custom-4.9.27-custom-ml-debug+gitAUTOINC+89f3b8d5f2-r0
> do_ar_original: Cannot determine archive names for original source because
> 'name' URL parameter is unset in more than one URL. Add it to at least one
> of these:
> git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git;
> protocol=git;branch=linux-4.9.y file://multi-v7-ml-common;type=kmeta
> ERROR: linux-yocto-custom-4.9.27-custom-ml-debug+gitAUTOINC+89f3b8d5f2-r0
> do_ar_original: Function failed: do_ar_original

You don't necessarily need archiver fixes for this (and in fact the error is for a reason because archiver would not be able to archive correctly). linux-yocto recipes use name=machine and name=meta that work OK, the equivalent for this would be:

git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git;protocol=git;branch=linux-4.9.y;name=machine
file://multi-v7-ml-common;type=kmeta;name=meta
Comment 6 Ross Burton 2017-06-22 12:56:11 UTC
Merged in oe-core aa2240657b015d46e9ba4bcb6264709a82313d83.

I *think* that's all the fixes!