Re: [OE-core] [PATCH 0/5] linux-yocto: consolidated pull request
On 08/23/2013 11:08 AM, Bruce Ashfield wrote: Richard/Saul, Here's my consolidated set of changes that represent the biggest chunk of work for the Yocto 1.5 release. The obvious change is that the 3.10 kernel is now the latest linux-yocto kernel (and linux-yocto-dev will mark on). I've built and booted core-image-sato for all the oe-core qemu machines. 3.10 also the latest LTSI and will be updated with that content when it becomes available. Other features of the 3.10 kernel include: - refreshed -rt support - refreshed yaffs2, aufs3 - cryptodev - bfs, edf, and OCF staged features - scrubbed and updated meta data for v3.10 - improved tools support for meta data updates and queue maintenance - patch carry forward from all previous linux-yocto kernels and configuration. I've also tested linux-yocto-rt and linux-yocto-tiny for the new, shiny tree. I've also bumped the linux-libc-headers to 3.10 and have fixed gst-plugins-good to adapt to a changed #define in the exported headers. Other parts of this update include an uprev of guilt, and in fact, a restoration of normal guil operations, since the kernel tree is now manipulated and maintained via a smaller, more contained script. This was necessary for both usability reasons and the fact that all of guilts protections were being removed for the kernel's use .. which makes you ask the quesetion why use it. It was time for a change. The patches are pretty self explanitory and all contain detailed long logs .. but the summary is: [PATCH 1/5] kern-tools: usability, bug fixes and no guilt [PATCH 2/5] guilt: update to latest git version [PATCH 3/5] linux-libc-headers: update to v3.10 One of the changes in 3.10 seems to have introduced a conflicting definition of ptrace_peeksiginfo_args in linux/ptrace.h In file included from ptrace.h:22:0, | from ptrace05.c:38: | /srv/ssd/sgw/builds/world/tmp/sysroots/qemux86-64/usr/include/linux/ptrace.h:58:8: error: redefinition of 'struct ptrace_peeksiginfo_args' | struct ptrace_peeksiginfo_args { | ^ | In file included from ptrace.h:9:0, | from ptrace05.c:38: | /srv/ssd/sgw/builds/world/tmp/sysroots/qemux86-64/usr/include/sys/ptrace.h:191:8: note: originally defined here | struct ptrace_peeksiginfo_args | ^ This affects ltp, valgrind and strace. Please check the autobuilder as I am building with this change set and expect these failures. Sau! Sau! [PATCH 4/5] gst-plugins-good: fix 3.10 libc-headers build failure [PATCH 5/5] linux-yocto: introduce v3.10 ** There is one pending activity. As part of thsi update to 3.10, we want to move to the 3.4 and 3.10 kernel, dropping 3.8 support. But the routerstationpro BSP is still using it as its preferred version. I'm a one man show on this update, and I wasn't able to get the 100+ patches ported to 3.10 AND get this update out before the M4 cutoff. ** I'm still attempting to udpate all the reference boards, and once done, I'll send a follow up patch. ** Please test, I've done my best, but things can slip through. We'll work issues in the stabilization period. Cheers, Bruce The following changes since commit 501e1a321d15abd712e3a6ee6ccdb8e21c3d4ea4: bitbake: prserv/serv: Fix pid file removal (2013-08-23 17:43:40 +0100) are available in the git repository at: git://git.pokylinux.org/poky-contrib zedd/kernel http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=zedd/kernel Bruce Ashfield (5): kern-tools: usability, bug fixes and no guilt guilt: update to latest git version linux-libc-headers: update to v3.10 gst-plugins-good: fix 3.10 libc-headers build failure linux-yocto: introduce v3.10 meta/classes/kernel-yocto.bbclass |2 + meta/conf/distro/include/tcmode-default.inc|2 +- .../guilt/files/guilt-import-commit.patch | 96 -- meta/recipes-devtools/guilt/files/guilt-init.patch | 25 -- meta/recipes-devtools/guilt/files/guilt-pop.patch | 73 - .../guilt/files/guilt-push-no-series.patch | 29 -- meta/recipes-devtools/guilt/files/guilt-push.patch | 42 --- .../guilt/files/guilt-set-git_exec_path.patch | 29 -- ...lt-update-supported-git-versions-to-1.8.x.patch | 28 -- meta/recipes-devtools/guilt/files/guilt.patch | 319 .../guilt/files/improve_auto_header_gen.patch | 71 - .../files/make_git_commands_conditional.patch | 48 --- .../guilt/files/optional_head_check.patch | 60 .../guilt/files/uninstall_force.patch | 14 - .../{guilt-native_0.33.bb = guilt-native_git.bb} | 21 +- .../kern-tools/kern-tools-native_git.bb|6 +- .../linux-libc-headers/linux-libc-headers_3.10.bb |7 + .../linux-libc-headers/linux-libc-headers_3.8.bb |8 - meta/recipes-kernel/linux/linux-yocto-rt_3.10.bb | 30 ++
Re: [OE-core] [PATCH 0/5] linux-yocto: consolidated pull request
On 13-08-24 2:33 AM, Saul Wold wrote: On 08/23/2013 11:08 AM, Bruce Ashfield wrote: Richard/Saul, Here's my consolidated set of changes that represent the biggest chunk of work for the Yocto 1.5 release. The obvious change is that the 3.10 kernel is now the latest linux-yocto kernel (and linux-yocto-dev will mark on). I've built and booted core-image-sato for all the oe-core qemu machines. 3.10 also the latest LTSI and will be updated with that content when it becomes available. Other features of the 3.10 kernel include: - refreshed -rt support - refreshed yaffs2, aufs3 - cryptodev - bfs, edf, and OCF staged features - scrubbed and updated meta data for v3.10 - improved tools support for meta data updates and queue maintenance - patch carry forward from all previous linux-yocto kernels and configuration. I've also tested linux-yocto-rt and linux-yocto-tiny for the new, shiny tree. I've also bumped the linux-libc-headers to 3.10 and have fixed gst-plugins-good to adapt to a changed #define in the exported headers. Other parts of this update include an uprev of guilt, and in fact, a restoration of normal guil operations, since the kernel tree is now manipulated and maintained via a smaller, more contained script. This was necessary for both usability reasons and the fact that all of guilts protections were being removed for the kernel's use .. which makes you ask the quesetion why use it. It was time for a change. The patches are pretty self explanitory and all contain detailed long logs .. but the summary is: [PATCH 1/5] kern-tools: usability, bug fixes and no guilt [PATCH 2/5] guilt: update to latest git version [PATCH 3/5] linux-libc-headers: update to v3.10 One of the changes in 3.10 seems to have introduced a conflicting definition of ptrace_peeksiginfo_args in linux/ptrace.h In file included from ptrace.h:22:0, | from ptrace05.c:38: | /srv/ssd/sgw/builds/world/tmp/sysroots/qemux86-64/usr/include/linux/ptrace.h:58:8: error: redefinition of 'struct ptrace_peeksiginfo_args' | struct ptrace_peeksiginfo_args { | ^ | In file included from ptrace.h:9:0, | from ptrace05.c:38: | /srv/ssd/sgw/builds/world/tmp/sysroots/qemux86-64/usr/include/sys/ptrace.h:191:8: note: originally defined here | struct ptrace_peeksiginfo_args | ^ This affects ltp, valgrind and strace. Please check the autobuilder as I am building with this change set and expect these failures. I'm unfortunately off for the weekend and won't have cycles to look into any failures until Monday. So if you want to leave the old headers in place, that's an option. I fixed the one issue that I saw with Sato .. but I am after all one person and can't possibly build and boot all the qemu boards with all image combinations! This is after all, where I'd expect other people to help out and fix build issues. Cheers, Bruce Sau! Sau! [PATCH 4/5] gst-plugins-good: fix 3.10 libc-headers build failure [PATCH 5/5] linux-yocto: introduce v3.10 ** There is one pending activity. As part of thsi update to 3.10, we want to move to the 3.4 and 3.10 kernel, dropping 3.8 support. But the routerstationpro BSP is still using it as its preferred version. I'm a one man show on this update, and I wasn't able to get the 100+ patches ported to 3.10 AND get this update out before the M4 cutoff. ** I'm still attempting to udpate all the reference boards, and once done, I'll send a follow up patch. ** Please test, I've done my best, but things can slip through. We'll work issues in the stabilization period. Cheers, Bruce The following changes since commit 501e1a321d15abd712e3a6ee6ccdb8e21c3d4ea4: bitbake: prserv/serv: Fix pid file removal (2013-08-23 17:43:40 +0100) are available in the git repository at: git://git.pokylinux.org/poky-contrib zedd/kernel http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=zedd/kernel Bruce Ashfield (5): kern-tools: usability, bug fixes and no guilt guilt: update to latest git version linux-libc-headers: update to v3.10 gst-plugins-good: fix 3.10 libc-headers build failure linux-yocto: introduce v3.10 meta/classes/kernel-yocto.bbclass |2 + meta/conf/distro/include/tcmode-default.inc|2 +- .../guilt/files/guilt-import-commit.patch | 96 -- meta/recipes-devtools/guilt/files/guilt-init.patch | 25 -- meta/recipes-devtools/guilt/files/guilt-pop.patch | 73 - .../guilt/files/guilt-push-no-series.patch | 29 -- meta/recipes-devtools/guilt/files/guilt-push.patch | 42 --- .../guilt/files/guilt-set-git_exec_path.patch | 29 -- ...lt-update-supported-git-versions-to-1.8.x.patch | 28 -- meta/recipes-devtools/guilt/files/guilt.patch | 319 .../guilt/files/improve_auto_header_gen.patch | 71 - .../files/make_git_commands_conditional.patch | 48 ---
Re: [OE-core] [PATCH 5/5] linux-yocto: introduce v3.10
On 13-08-23 8:57 PM, Jonathan Liu wrote: On 24/08/2013 4:08 AM, Bruce Ashfield wrote: Introduce the 3.10 kernel. This is based on the 3.10.9 upstream kernel and replaces the 3.8 recipes, which will be removed once all reference boards have been updated. 3.10 also the latest LTSI and will be updated with that content when it becomes available. Other features of the 3.10 kernel include: - refreshed -rt support - refreshed yaffs2, aufs3 - cryptodev - bfs, edf, and OCF staged features - scrubbed and updated meta data for v3.10 - improved tools support for meta data updates and queue maintenance - patch carry forward from all previous linux-yocto kernels and configuration. This kernel has been built and boot tested on all qemu machines and architectures. Signed-off-by: Bruce Ashfield bruce.ashfi...@windriver.com --- meta/recipes-kernel/linux/linux-yocto-rt_3.10.bb | 30 meta/recipes-kernel/linux/linux-yocto-tiny_3.10.bb | 25 meta/recipes-kernel/linux/linux-yocto_3.10.bb | 30 3 files changed, 85 insertions(+) create mode 100644 meta/recipes-kernel/linux/linux-yocto-rt_3.10.bb create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny_3.10.bb create mode 100644 meta/recipes-kernel/linux/linux-yocto_3.10.bb diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_3.10.bb b/meta/recipes-kernel/linux/linux-yocto-rt_3.10.bb new file mode 100644 index 000..4139be8 --- /dev/null +++ b/meta/recipes-kernel/linux/linux-yocto-rt_3.10.bb @@ -0,0 +1,30 @@ +require recipes-kernel/linux/linux-yocto.inc + +KBRANCH = standard/preempt-rt/base +KBRANCH_qemuppc = standard/preempt-rt/qemuppc + +SRCREV_machine ?= 77c5842818867366c3d08ca1dec19dc43aee0e91 +SRCREV_machine_qemuppc ?= 7be83bc1124d2a2c75f99df94baaf718659722ea +SRCREV_meta ?= 1b9b113837f353fd94148beb6bd00a3b7b35d01d + +SRC_URI = git://git.yoctoproject.org/linux-yocto-3.10.git;protocol=git;bareclone=1;branch=${KBRANCH},meta;name=machine,meta + +LINUX_VERSION ?= 3.10.9 + +PV = ${LINUX_VERSION}+git${SRCPV} + +KMETA = meta + +LINUX_KERNEL_TYPE = preempt-rt + +# Omit broken machines from COMPATIBLE_MACHINE +# qemuppc hangs at boot +# qemumips panics at boot +COMPATIBLE_MACHINE = (qemux86|qemux86-64|qemuarm) I see COMPATIBLE_MACHINE has been carried over from the 3.4 and 3.8 linux-rt recipes. Is linux-rt still broken on qemuppc and qemumips? It is still the case, for the most part. -rt works fine on both ppc and mips, just not in qemu. The first port of any new kernel, I carry support over exactly as it is. Only changing the kernel + headers, stabilize the existing support and then look at adding new functionality and boards. That's the only way to reasonably control the changes. Cheers, Bruce + +# Functionality flags +KERNEL_EXTRA_FEATURES ?= features/netfilter/netfilter.scc features/taskstats/taskstats.scc +KERNEL_FEATURES_append = ${KERNEL_EXTRA_FEATURES} +KERNEL_FEATURES_append_qemux86= cfg/sound.scc cfg/paravirt_kvm.scc +KERNEL_FEATURES_append_qemux86-64= cfg/sound.scc +KERNEL_FEATURES_append = ${@bb.utils.contains(TUNE_FEATURES, mx32, cfg/x32.scc, ,d)} diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_3.10.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_3.10.bb new file mode 100644 index 000..1c2ad37 --- /dev/null +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_3.10.bb @@ -0,0 +1,25 @@ +require recipes-kernel/linux/linux-yocto.inc + +# We need lzma (as CONFIG_KERNEL_LZMA=y) +DEPENDS += xz-native + +KBRANCH_DEFAULT = standard/tiny/base +KBRANCH = ${KBRANCH_DEFAULT} +LINUX_KERNEL_TYPE = tiny +KCONFIG_MODE = --allnoconfig + +LINUX_VERSION ?= 3.10.9 + +KMETA = meta + +SRCREV_machine ?= 6c1528b2b78d1ec7e75bb7a9880074ec35aa1aa0 +SRCREV_meta ?= 1b9b113837f353fd94148beb6bd00a3b7b35d01d + +PV = ${LINUX_VERSION}+git${SRCPV} + +SRC_URI = git://git.yoctoproject.org/linux-yocto-3.10.git;protocol=git;bareclone=1;branch=${KBRANCH},meta;name=machine,meta + +COMPATIBLE_MACHINE = (qemux86) + +# Functionality flags +KERNEL_FEATURES = diff --git a/meta/recipes-kernel/linux/linux-yocto_3.10.bb b/meta/recipes-kernel/linux/linux-yocto_3.10.bb new file mode 100644 index 000..ea6ad2a --- /dev/null +++ b/meta/recipes-kernel/linux/linux-yocto_3.10.bb @@ -0,0 +1,30 @@ +require recipes-kernel/linux/linux-yocto.inc + +KBRANCH_DEFAULT = standard/base +KBRANCH = ${KBRANCH_DEFAULT} + +SRCREV_machine_qemuarm ?= 8675d3d0a3c17135f70ef474d5c362397c02e62a +SRCREV_machine_qemumips ?= 992b743b905edd21d3a4a27c92b5c6a9e44d7d73 +SRCREV_machine_qemuppc ?= 09388c3572e26c78b34554e46e077f12be7b2401 +SRCREV_machine_qemux86 ?= 6c1528b2b78d1ec7e75bb7a9880074ec35aa1aa0 +SRCREV_machine_qemux86-64 ?= 6c1528b2b78d1ec7e75bb7a9880074ec35aa1aa0 +SRCREV_machine_qemumips64 ?= 203679cb23c752fdcbc0180a55a81728d7462561 +SRCREV_machine ?= 6c1528b2b78d1ec7e75bb7a9880074ec35aa1aa0 +SRCREV_meta ?= 1b9b113837f353fd94148beb6bd00a3b7b35d01d + +SRC_URI =
Re: [OE-core] [PATCH 0/5] linux-yocto: consolidated pull request
On 13-08-24 9:34 AM, Bruce Ashfield wrote: On 13-08-24 2:33 AM, Saul Wold wrote: On 08/23/2013 11:08 AM, Bruce Ashfield wrote: Richard/Saul, Here's my consolidated set of changes that represent the biggest chunk of work for the Yocto 1.5 release. The obvious change is that the 3.10 kernel is now the latest linux-yocto kernel (and linux-yocto-dev will mark on). I've built and booted core-image-sato for all the oe-core qemu machines. 3.10 also the latest LTSI and will be updated with that content when it becomes available. Other features of the 3.10 kernel include: - refreshed -rt support - refreshed yaffs2, aufs3 - cryptodev - bfs, edf, and OCF staged features - scrubbed and updated meta data for v3.10 - improved tools support for meta data updates and queue maintenance - patch carry forward from all previous linux-yocto kernels and configuration. I've also tested linux-yocto-rt and linux-yocto-tiny for the new, shiny tree. I've also bumped the linux-libc-headers to 3.10 and have fixed gst-plugins-good to adapt to a changed #define in the exported headers. Other parts of this update include an uprev of guilt, and in fact, a restoration of normal guil operations, since the kernel tree is now manipulated and maintained via a smaller, more contained script. This was necessary for both usability reasons and the fact that all of guilts protections were being removed for the kernel's use .. which makes you ask the quesetion why use it. It was time for a change. The patches are pretty self explanitory and all contain detailed long logs .. but the summary is: [PATCH 1/5] kern-tools: usability, bug fixes and no guilt [PATCH 2/5] guilt: update to latest git version [PATCH 3/5] linux-libc-headers: update to v3.10 One of the changes in 3.10 seems to have introduced a conflicting definition of ptrace_peeksiginfo_args in linux/ptrace.h In file included from ptrace.h:22:0, | from ptrace05.c:38: | /srv/ssd/sgw/builds/world/tmp/sysroots/qemux86-64/usr/include/linux/ptrace.h:58:8: error: redefinition of 'struct ptrace_peeksiginfo_args' | struct ptrace_peeksiginfo_args { | ^ | In file included from ptrace.h:9:0, | from ptrace05.c:38: | /srv/ssd/sgw/builds/world/tmp/sysroots/qemux86-64/usr/include/sys/ptrace.h:191:8: note: originally defined here | struct ptrace_peeksiginfo_args | ^ This affects ltp, valgrind and strace. Please check the autobuilder as I am building with this change set and expect these failures. I'm unfortunately off for the weekend and won't have cycles to look into any failures until Monday. As it turns out, I may have some time to work on this tonight, since I have to delete the 3.8 yocto recipe and get that patch out. So I've launched a LSB build in the background and will check on it later. If anyone else does get a fix for this, make sure to cc' me on any changes, so I won't spend time trying to fix it a second time! :) Bruce So if you want to leave the old headers in place, that's an option. I fixed the one issue that I saw with Sato .. but I am after all one person and can't possibly build and boot all the qemu boards with all image combinations! This is after all, where I'd expect other people to help out and fix build issues. Cheers, Bruce Sau! Sau! [PATCH 4/5] gst-plugins-good: fix 3.10 libc-headers build failure [PATCH 5/5] linux-yocto: introduce v3.10 ** There is one pending activity. As part of thsi update to 3.10, we want to move to the 3.4 and 3.10 kernel, dropping 3.8 support. But the routerstationpro BSP is still using it as its preferred version. I'm a one man show on this update, and I wasn't able to get the 100+ patches ported to 3.10 AND get this update out before the M4 cutoff. ** I'm still attempting to udpate all the reference boards, and once done, I'll send a follow up patch. ** Please test, I've done my best, but things can slip through. We'll work issues in the stabilization period. Cheers, Bruce The following changes since commit 501e1a321d15abd712e3a6ee6ccdb8e21c3d4ea4: bitbake: prserv/serv: Fix pid file removal (2013-08-23 17:43:40 +0100) are available in the git repository at: git://git.pokylinux.org/poky-contrib zedd/kernel http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=zedd/kernel Bruce Ashfield (5): kern-tools: usability, bug fixes and no guilt guilt: update to latest git version linux-libc-headers: update to v3.10 gst-plugins-good: fix 3.10 libc-headers build failure linux-yocto: introduce v3.10 meta/classes/kernel-yocto.bbclass |2 + meta/conf/distro/include/tcmode-default.inc|2 +- .../guilt/files/guilt-import-commit.patch | 96 -- meta/recipes-devtools/guilt/files/guilt-init.patch | 25 -- meta/recipes-devtools/guilt/files/guilt-pop.patch | 73 - .../guilt/files/guilt-push-no-series.patch | 29 --
Re: [OE-core] [PATCH 0/5] linux-yocto: consolidated pull request
On 08/24/2013 06:45 AM, Bruce Ashfield wrote: On 13-08-24 9:34 AM, Bruce Ashfield wrote: On 13-08-24 2:33 AM, Saul Wold wrote: On 08/23/2013 11:08 AM, Bruce Ashfield wrote: Richard/Saul, Here's my consolidated set of changes that represent the biggest chunk of work for the Yocto 1.5 release. The obvious change is that the 3.10 kernel is now the latest linux-yocto kernel (and linux-yocto-dev will mark on). I've built and booted core-image-sato for all the oe-core qemu machines. 3.10 also the latest LTSI and will be updated with that content when it becomes available. Other features of the 3.10 kernel include: - refreshed -rt support - refreshed yaffs2, aufs3 - cryptodev - bfs, edf, and OCF staged features - scrubbed and updated meta data for v3.10 - improved tools support for meta data updates and queue maintenance - patch carry forward from all previous linux-yocto kernels and configuration. I've also tested linux-yocto-rt and linux-yocto-tiny for the new, shiny tree. I've also bumped the linux-libc-headers to 3.10 and have fixed gst-plugins-good to adapt to a changed #define in the exported headers. Other parts of this update include an uprev of guilt, and in fact, a restoration of normal guil operations, since the kernel tree is now manipulated and maintained via a smaller, more contained script. This was necessary for both usability reasons and the fact that all of guilts protections were being removed for the kernel's use .. which makes you ask the quesetion why use it. It was time for a change. The patches are pretty self explanitory and all contain detailed long logs .. but the summary is: [PATCH 1/5] kern-tools: usability, bug fixes and no guilt [PATCH 2/5] guilt: update to latest git version [PATCH 3/5] linux-libc-headers: update to v3.10 One of the changes in 3.10 seems to have introduced a conflicting definition of ptrace_peeksiginfo_args in linux/ptrace.h In file included from ptrace.h:22:0, | from ptrace05.c:38: | /srv/ssd/sgw/builds/world/tmp/sysroots/qemux86-64/usr/include/linux/ptrace.h:58:8: error: redefinition of 'struct ptrace_peeksiginfo_args' | struct ptrace_peeksiginfo_args { | ^ | In file included from ptrace.h:9:0, | from ptrace05.c:38: | /srv/ssd/sgw/builds/world/tmp/sysroots/qemux86-64/usr/include/sys/ptrace.h:191:8: note: originally defined here | struct ptrace_peeksiginfo_args | ^ This affects ltp, valgrind and strace. Please check the autobuilder as I am building with this change set and expect these failures. I'm unfortunately off for the weekend and won't have cycles to look into any failures until Monday. As it turns out, I may have some time to work on this tonight, since I have to delete the 3.8 yocto recipe and get that patch out. So I've launched a LSB build in the background and will check on it later. Just FYI, it might not show up in an LSB build, since those tools valgrind, ltp and strace are more Dev tools, so a world build would be better. Also, not sure why but ARM failed to patch 3.8 kernel overnight on the AB. (lots of red). I just restarted AB with out the 3.10 headers. Sau! If anyone else does get a fix for this, make sure to cc' me on any changes, so I won't spend time trying to fix it a second time! :) Bruce So if you want to leave the old headers in place, that's an option. I fixed the one issue that I saw with Sato .. but I am after all one person and can't possibly build and boot all the qemu boards with all image combinations! This is after all, where I'd expect other people to help out and fix build issues. Cheers, Bruce Sau! Sau! [PATCH 4/5] gst-plugins-good: fix 3.10 libc-headers build failure [PATCH 5/5] linux-yocto: introduce v3.10 ** There is one pending activity. As part of thsi update to 3.10, we want to move to the 3.4 and 3.10 kernel, dropping 3.8 support. But the routerstationpro BSP is still using it as its preferred version. I'm a one man show on this update, and I wasn't able to get the 100+ patches ported to 3.10 AND get this update out before the M4 cutoff. ** I'm still attempting to udpate all the reference boards, and once done, I'll send a follow up patch. ** Please test, I've done my best, but things can slip through. We'll work issues in the stabilization period. Cheers, Bruce The following changes since commit 501e1a321d15abd712e3a6ee6ccdb8e21c3d4ea4: bitbake: prserv/serv: Fix pid file removal (2013-08-23 17:43:40 +0100) are available in the git repository at: git://git.pokylinux.org/poky-contrib zedd/kernel http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=zedd/kernel Bruce Ashfield (5): kern-tools: usability, bug fixes and no guilt guilt: update to latest git version linux-libc-headers: update to v3.10 gst-plugins-good: fix 3.10 libc-headers build failure linux-yocto: introduce v3.10 meta/classes/kernel-yocto.bbclass |2
Re: [OE-core] [PATCH 0/5] linux-yocto: consolidated pull request
On 13-08-24 9:50 AM, Saul Wold wrote: On 08/24/2013 06:45 AM, Bruce Ashfield wrote: On 13-08-24 9:34 AM, Bruce Ashfield wrote: On 13-08-24 2:33 AM, Saul Wold wrote: On 08/23/2013 11:08 AM, Bruce Ashfield wrote: Richard/Saul, Here's my consolidated set of changes that represent the biggest chunk of work for the Yocto 1.5 release. The obvious change is that the 3.10 kernel is now the latest linux-yocto kernel (and linux-yocto-dev will mark on). I've built and booted core-image-sato for all the oe-core qemu machines. 3.10 also the latest LTSI and will be updated with that content when it becomes available. Other features of the 3.10 kernel include: - refreshed -rt support - refreshed yaffs2, aufs3 - cryptodev - bfs, edf, and OCF staged features - scrubbed and updated meta data for v3.10 - improved tools support for meta data updates and queue maintenance - patch carry forward from all previous linux-yocto kernels and configuration. I've also tested linux-yocto-rt and linux-yocto-tiny for the new, shiny tree. I've also bumped the linux-libc-headers to 3.10 and have fixed gst-plugins-good to adapt to a changed #define in the exported headers. Other parts of this update include an uprev of guilt, and in fact, a restoration of normal guil operations, since the kernel tree is now manipulated and maintained via a smaller, more contained script. This was necessary for both usability reasons and the fact that all of guilts protections were being removed for the kernel's use .. which makes you ask the quesetion why use it. It was time for a change. The patches are pretty self explanitory and all contain detailed long logs .. but the summary is: [PATCH 1/5] kern-tools: usability, bug fixes and no guilt [PATCH 2/5] guilt: update to latest git version [PATCH 3/5] linux-libc-headers: update to v3.10 One of the changes in 3.10 seems to have introduced a conflicting definition of ptrace_peeksiginfo_args in linux/ptrace.h In file included from ptrace.h:22:0, | from ptrace05.c:38: | /srv/ssd/sgw/builds/world/tmp/sysroots/qemux86-64/usr/include/linux/ptrace.h:58:8: error: redefinition of 'struct ptrace_peeksiginfo_args' | struct ptrace_peeksiginfo_args { | ^ | In file included from ptrace.h:9:0, | from ptrace05.c:38: | /srv/ssd/sgw/builds/world/tmp/sysroots/qemux86-64/usr/include/sys/ptrace.h:191:8: note: originally defined here | struct ptrace_peeksiginfo_args | ^ This affects ltp, valgrind and strace. Please check the autobuilder as I am building with this change set and expect these failures. I'm unfortunately off for the weekend and won't have cycles to look into any failures until Monday. As it turns out, I may have some time to work on this tonight, since I have to delete the 3.8 yocto recipe and get that patch out. So I've launched a LSB build in the background and will check on it later. Just FYI, it might not show up in an LSB build, since those tools valgrind, ltp and strace are more Dev tools, so a world build would be better. Ah ok. I'll explicitly add dependencies on them here and restart my sato build. I'm a bit surprised that it failed, since user apis are a huge no-no to change. Also, not sure why but ARM failed to patch 3.8 kernel overnight on the AB. (lots of red). probably because I didn't look at 3.8 ... since my plan was to delete it! I'll follow up with a fix for that tonight, if I can see the failure here. Always fun!! :) Leave that one with me. Do you have a link to the failure ? Bruce I just restarted AB with out the 3.10 headers. Sau! If anyone else does get a fix for this, make sure to cc' me on any changes, so I won't spend time trying to fix it a second time! :) Bruce So if you want to leave the old headers in place, that's an option. I fixed the one issue that I saw with Sato .. but I am after all one person and can't possibly build and boot all the qemu boards with all image combinations! This is after all, where I'd expect other people to help out and fix build issues. Cheers, Bruce Sau! Sau! [PATCH 4/5] gst-plugins-good: fix 3.10 libc-headers build failure [PATCH 5/5] linux-yocto: introduce v3.10 ** There is one pending activity. As part of thsi update to 3.10, we want to move to the 3.4 and 3.10 kernel, dropping 3.8 support. But the routerstationpro BSP is still using it as its preferred version. I'm a one man show on this update, and I wasn't able to get the 100+ patches ported to 3.10 AND get this update out before the M4 cutoff. ** I'm still attempting to udpate all the reference boards, and once done, I'll send a follow up patch. ** Please test, I've done my best, but things can slip through. We'll work issues in the stabilization period. Cheers, Bruce The following changes since commit 501e1a321d15abd712e3a6ee6ccdb8e21c3d4ea4: bitbake: prserv/serv: Fix pid file removal (2013-08-23 17:43:40 +0100) are available in
Re: [OE-core] [PATCH 0/5] linux-yocto: consolidated pull request
On 13-08-24 9:50 AM, Saul Wold wrote: On 08/24/2013 06:45 AM, Bruce Ashfield wrote: On 13-08-24 9:34 AM, Bruce Ashfield wrote: On 13-08-24 2:33 AM, Saul Wold wrote: On 08/23/2013 11:08 AM, Bruce Ashfield wrote: Richard/Saul, Here's my consolidated set of changes that represent the biggest chunk of work for the Yocto 1.5 release. The obvious change is that the 3.10 kernel is now the latest linux-yocto kernel (and linux-yocto-dev will mark on). I've built and booted core-image-sato for all the oe-core qemu machines. 3.10 also the latest LTSI and will be updated with that content when it becomes available. Other features of the 3.10 kernel include: - refreshed -rt support - refreshed yaffs2, aufs3 - cryptodev - bfs, edf, and OCF staged features - scrubbed and updated meta data for v3.10 - improved tools support for meta data updates and queue maintenance - patch carry forward from all previous linux-yocto kernels and configuration. I've also tested linux-yocto-rt and linux-yocto-tiny for the new, shiny tree. I've also bumped the linux-libc-headers to 3.10 and have fixed gst-plugins-good to adapt to a changed #define in the exported headers. Other parts of this update include an uprev of guilt, and in fact, a restoration of normal guil operations, since the kernel tree is now manipulated and maintained via a smaller, more contained script. This was necessary for both usability reasons and the fact that all of guilts protections were being removed for the kernel's use .. which makes you ask the quesetion why use it. It was time for a change. The patches are pretty self explanitory and all contain detailed long logs .. but the summary is: [PATCH 1/5] kern-tools: usability, bug fixes and no guilt [PATCH 2/5] guilt: update to latest git version [PATCH 3/5] linux-libc-headers: update to v3.10 One of the changes in 3.10 seems to have introduced a conflicting definition of ptrace_peeksiginfo_args in linux/ptrace.h In file included from ptrace.h:22:0, | from ptrace05.c:38: | /srv/ssd/sgw/builds/world/tmp/sysroots/qemux86-64/usr/include/linux/ptrace.h:58:8: error: redefinition of 'struct ptrace_peeksiginfo_args' | struct ptrace_peeksiginfo_args { | ^ | In file included from ptrace.h:9:0, | from ptrace05.c:38: | /srv/ssd/sgw/builds/world/tmp/sysroots/qemux86-64/usr/include/sys/ptrace.h:191:8: note: originally defined here | struct ptrace_peeksiginfo_args | ^ This affects ltp, valgrind and strace. Please check the autobuilder as I am building with this change set and expect these failures. I'm unfortunately off for the weekend and won't have cycles to look into any failures until Monday. As it turns out, I may have some time to work on this tonight, since I have to delete the 3.8 yocto recipe and get that patch out. So I've launched a LSB build in the background and will check on it later. Just FYI, it might not show up in an LSB build, since those tools valgrind, ltp and strace are more Dev tools, so a world build would be better. I reproduced the failure here via adding ptrace to my image install. The kernel change happened in april, and the good news is that the structure is still exactly the same size, with the same fields. So the userspace ABI is unchanged. I'll hunt down the conflict and adjust the packages, since that kernel header change will be there to stay. Has anyone checked to see if the upstream version of those packages have already adapted to the change ? I'll do that tonight when I'm back, if no one else has. Cheers, Bruce Also, not sure why but ARM failed to patch 3.8 kernel overnight on the AB. (lots of red). I just restarted AB with out the 3.10 headers. Sau! If anyone else does get a fix for this, make sure to cc' me on any changes, so I won't spend time trying to fix it a second time! :) Bruce So if you want to leave the old headers in place, that's an option. I fixed the one issue that I saw with Sato .. but I am after all one person and can't possibly build and boot all the qemu boards with all image combinations! This is after all, where I'd expect other people to help out and fix build issues. Cheers, Bruce Sau! Sau! [PATCH 4/5] gst-plugins-good: fix 3.10 libc-headers build failure [PATCH 5/5] linux-yocto: introduce v3.10 ** There is one pending activity. As part of thsi update to 3.10, we want to move to the 3.4 and 3.10 kernel, dropping 3.8 support. But the routerstationpro BSP is still using it as its preferred version. I'm a one man show on this update, and I wasn't able to get the 100+ patches ported to 3.10 AND get this update out before the M4 cutoff. ** I'm still attempting to udpate all the reference boards, and once done, I'll send a follow up patch. ** Please test, I've done my best, but things can slip through. We'll work issues in the stabilization period. Cheers, Bruce The following changes since commit
Re: [OE-core] [PATCH 0/5] linux-yocto: consolidated pull request
On 13-08-24 9:50 AM, Saul Wold wrote: On 08/24/2013 06:45 AM, Bruce Ashfield wrote: On 13-08-24 9:34 AM, Bruce Ashfield wrote: On 13-08-24 2:33 AM, Saul Wold wrote: On 08/23/2013 11:08 AM, Bruce Ashfield wrote: Richard/Saul, Here's my consolidated set of changes that represent the biggest chunk of work for the Yocto 1.5 release. The obvious change is that the 3.10 kernel is now the latest linux-yocto kernel (and linux-yocto-dev will mark on). I've built and booted core-image-sato for all the oe-core qemu machines. 3.10 also the latest LTSI and will be updated with that content when it becomes available. Other features of the 3.10 kernel include: - refreshed -rt support - refreshed yaffs2, aufs3 - cryptodev - bfs, edf, and OCF staged features - scrubbed and updated meta data for v3.10 - improved tools support for meta data updates and queue maintenance - patch carry forward from all previous linux-yocto kernels and configuration. I've also tested linux-yocto-rt and linux-yocto-tiny for the new, shiny tree. I've also bumped the linux-libc-headers to 3.10 and have fixed gst-plugins-good to adapt to a changed #define in the exported headers. Other parts of this update include an uprev of guilt, and in fact, a restoration of normal guil operations, since the kernel tree is now manipulated and maintained via a smaller, more contained script. This was necessary for both usability reasons and the fact that all of guilts protections were being removed for the kernel's use .. which makes you ask the quesetion why use it. It was time for a change. The patches are pretty self explanitory and all contain detailed long logs .. but the summary is: [PATCH 1/5] kern-tools: usability, bug fixes and no guilt [PATCH 2/5] guilt: update to latest git version [PATCH 3/5] linux-libc-headers: update to v3.10 One of the changes in 3.10 seems to have introduced a conflicting definition of ptrace_peeksiginfo_args in linux/ptrace.h In file included from ptrace.h:22:0, | from ptrace05.c:38: | /srv/ssd/sgw/builds/world/tmp/sysroots/qemux86-64/usr/include/linux/ptrace.h:58:8: error: redefinition of 'struct ptrace_peeksiginfo_args' | struct ptrace_peeksiginfo_args { | ^ | In file included from ptrace.h:9:0, | from ptrace05.c:38: | /srv/ssd/sgw/builds/world/tmp/sysroots/qemux86-64/usr/include/sys/ptrace.h:191:8: note: originally defined here | struct ptrace_peeksiginfo_args | ^ This affects ltp, valgrind and strace. Please check the autobuilder as I am building with this change set and expect these failures. I'm unfortunately off for the weekend and won't have cycles to look into any failures until Monday. As it turns out, I may have some time to work on this tonight, since I have to delete the 3.8 yocto recipe and get that patch out. So I've launched a LSB build in the background and will check on it later. Just FYI, it might not show up in an LSB build, since those tools valgrind, ltp and strace are more Dev tools, so a world build would be better. Also, not sure why but ARM failed to patch 3.8 kernel overnight on the AB. (lots of red). I just restarted AB with out the 3.10 headers. ok .. this time I'm REALLY going to step away for a few hours. The mismatch is between the eglibc 2.18 sys/ptrace.h and the kernel's definition of the structure. I wouldn't really call it a mismatch, since they are both the same size and field types .. both simply define it now. I'm adding Khem: What's the right thing to do here? I can obviously hack the kernel to remove the definition, but that make the linux-yocto 3.10 the only kernel that will work against yocto 1.5's eglibc for building any applications that use ptrace.h. Falling back to the 3.8 headers will work, but again, we are avoiding the problem and any end user that does bump to a newer set of libc-headers will see the problem. I'll wait for consensus on the approach and add a change if required into my linux-yocto 3.8 removal patch tonight. Bruce Sau! If anyone else does get a fix for this, make sure to cc' me on any changes, so I won't spend time trying to fix it a second time! :) Bruce So if you want to leave the old headers in place, that's an option. I fixed the one issue that I saw with Sato .. but I am after all one person and can't possibly build and boot all the qemu boards with all image combinations! This is after all, where I'd expect other people to help out and fix build issues. Cheers, Bruce Sau! Sau! [PATCH 4/5] gst-plugins-good: fix 3.10 libc-headers build failure [PATCH 5/5] linux-yocto: introduce v3.10 ** There is one pending activity. As part of thsi update to 3.10, we want to move to the 3.4 and 3.10 kernel, dropping 3.8 support. But the routerstationpro BSP is still using it as its preferred version. I'm a one man show on this update, and I wasn't able to get the 100+ patches ported to 3.10 AND get this update out
[OE-core] [PATCH] classes: Remove references to _remove in function names since this may become a bitbake keyword
There is a good chance we might want to support a bitbake operator _remove which works in a similar way to _append and _prepend. As such, we can't use those keywords in function or variable names. Signed-off-by: Richard Purdie richard.pur...@linuxfoundation.org --- diff --git a/meta/classes/archiver.bbclass b/meta/classes/archiver.bbclass index 3d75d8e..e42c419 100644 --- a/meta/classes/archiver.bbclass +++ b/meta/classes/archiver.bbclass @@ -559,11 +559,11 @@ python do_archive_linux_yocto(){ do_kernel_checkout[postfuncs] += do_archive_linux_yocto # remove tarball for sources, patches and logs after creating srpm. -python do_remove_tarlist(){ +python do_delete_tarlist(){ work_dir = d.getVar('WORKDIR', True) tarlist = os.path.join(work_dir, 'tar-package') if os.path.exists(tarlist): os.remove(tarlist) } -do_remove_tarlist[deptask] = do_archive_scripts_logs -do_package_write_rpm[postfuncs] += do_remove_tarlist +do_delete_tarlist[deptask] = do_archive_scripts_logs +do_package_write_rpm[postfuncs] += do_delete_tarlist diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index 909702a..ea59c36 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass @@ -335,7 +335,7 @@ fakeroot do_rootfs () { fi # remove unneeded packages/files from the final image - rootfs_remove_unneeded + rootfs_uninstall_unneeded insert_feed_uris @@ -497,7 +497,7 @@ rootfs_install_complementary() { fi } -rootfs_remove_unneeded () { +rootfs_uninstall_unneeded () { if ${@base_contains(IMAGE_FEATURES, package-management, false, true, d)}; then if [ -z $(delayed_postinsts) ]; then # All packages were successfully configured. @@ -506,7 +506,7 @@ rootfs_remove_unneeded () { if [ -e ${IMAGE_ROOTFS}${sysconfdir}/init.d/run-postinsts ]; then remove_run_postinsts=true fi - rootfs_remove_packages update-rc.d base-passwd ${ROOTFS_BOOTSTRAP_INSTALL} + rootfs_uninstall_packages update-rc.d base-passwd ${ROOTFS_BOOTSTRAP_INSTALL} # Need to remove rc.d files for run-postinsts by hand since opkg won't # call postrm scripts in offline root mode. diff --git a/meta/classes/recipe_sanity.bbclass b/meta/classes/recipe_sanity.bbclass index 8b3a1c9..2f90159 100644 --- a/meta/classes/recipe_sanity.bbclass +++ b/meta/classes/recipe_sanity.bbclass @@ -57,7 +57,7 @@ def can_use_autotools_base(cfgdata, d): return True -def can_remove_FILESPATH(cfgdata, d): +def can_delete_FILESPATH(cfgdata, d): expected = cfgdata.get(FILESPATH) #expected = ${@':'.join([os.path.normpath(os.path.join(fp, p, o)) for fp in d.getVar('FILESPATHBASE', True).split(':') for p in d.getVar('FILESPATHPKG', True).split(':') for o in (d.getVar('OVERRIDES', True) + ':').split(':') if os.path.exists(os.path.join(fp, p, o))])}:${FILESDIR} expectedpaths = d.expand(expected) @@ -71,7 +71,7 @@ def can_remove_FILESPATH(cfgdata, d): return False return expected != unexpanded -def can_remove_FILESDIR(cfgdata, d): +def can_delete_FILESDIR(cfgdata, d): expected = cfgdata.get(FILESDIR) #expected = ${@bb.which(d.getVar('FILESPATH', True), '.')} unexpanded = d.getVar(FILESDIR, 0) @@ -87,7 +87,7 @@ def can_remove_FILESDIR(cfgdata, d): (expanded in filespath or expanded == d.expand(expected)) -def can_remove_others(p, cfgdata, d): +def can_delete_others(p, cfgdata, d): for k in [S, PV, PN, DESCRIPTION, DEPENDS, SECTION, PACKAGES, EXTRA_OECONF, EXTRA_OEMAKE]: #for k in cfgdata: @@ -113,8 +113,8 @@ python do_recipe_sanity () { p = %s %s %s % (d.getVar(PN, True), d.getVar(PV, True), d.getVar(PR, True)) sanitychecks = [ -(can_remove_FILESDIR, candidate for removal of FILESDIR), -(can_remove_FILESPATH, candidate for removal of FILESPATH), +(can_delete_FILESDIR, candidate for removal of FILESDIR), +(can_delete_FILESPATH, candidate for removal of FILESPATH), #(can_use_autotools_base, candidate for use of autotools_base), (incorrect_nonempty_PACKAGES, native or cross recipe with non-empty PACKAGES), ] @@ -124,7 +124,7 @@ python do_recipe_sanity () { if func(cfgdata, d): __note(msg, d) -can_remove_others(p, cfgdata, d) +can_delete_others(p, cfgdata, d) var_renames_overwrite(cfgdata, d) req_vars(cfgdata, d) bad_runtime_vars(cfgdata, d) diff --git a/meta/classes/rootfs_deb.bbclass b/meta/classes/rootfs_deb.bbclass index dcfe786..0161f7a 100644 --- a/meta/classes/rootfs_deb.bbclass +++ b/meta/classes/rootfs_deb.bbclass @@ -125,7 +125,7 @@ rootfs_install_packages() { sed -i -e s/Status: install ok unpacked/Status: install ok installed/;
Re: [OE-core] [PATCH 0/5] linux-yocto: consolidated pull request
On 13-08-24 9:50 AM, Saul Wold wrote: On 08/24/2013 06:45 AM, Bruce Ashfield wrote: On 13-08-24 9:34 AM, Bruce Ashfield wrote: On 13-08-24 2:33 AM, Saul Wold wrote: On 08/23/2013 11:08 AM, Bruce Ashfield wrote: Richard/Saul, Here's my consolidated set of changes that represent the biggest chunk of work for the Yocto 1.5 release. The obvious change is that the 3.10 kernel is now the latest linux-yocto kernel (and linux-yocto-dev will mark on). I've built and booted core-image-sato for all the oe-core qemu machines. 3.10 also the latest LTSI and will be updated with that content when it becomes available. Other features of the 3.10 kernel include: - refreshed -rt support - refreshed yaffs2, aufs3 - cryptodev - bfs, edf, and OCF staged features - scrubbed and updated meta data for v3.10 - improved tools support for meta data updates and queue maintenance - patch carry forward from all previous linux-yocto kernels and configuration. I've also tested linux-yocto-rt and linux-yocto-tiny for the new, shiny tree. I've also bumped the linux-libc-headers to 3.10 and have fixed gst-plugins-good to adapt to a changed #define in the exported headers. Other parts of this update include an uprev of guilt, and in fact, a restoration of normal guil operations, since the kernel tree is now manipulated and maintained via a smaller, more contained script. This was necessary for both usability reasons and the fact that all of guilts protections were being removed for the kernel's use .. which makes you ask the quesetion why use it. It was time for a change. The patches are pretty self explanitory and all contain detailed long logs .. but the summary is: [PATCH 1/5] kern-tools: usability, bug fixes and no guilt [PATCH 2/5] guilt: update to latest git version [PATCH 3/5] linux-libc-headers: update to v3.10 One of the changes in 3.10 seems to have introduced a conflicting definition of ptrace_peeksiginfo_args in linux/ptrace.h In file included from ptrace.h:22:0, | from ptrace05.c:38: | /srv/ssd/sgw/builds/world/tmp/sysroots/qemux86-64/usr/include/linux/ptrace.h:58:8: error: redefinition of 'struct ptrace_peeksiginfo_args' | struct ptrace_peeksiginfo_args { | ^ | In file included from ptrace.h:9:0, | from ptrace05.c:38: | /srv/ssd/sgw/builds/world/tmp/sysroots/qemux86-64/usr/include/sys/ptrace.h:191:8: note: originally defined here | struct ptrace_peeksiginfo_args | ^ This affects ltp, valgrind and strace. Please check the autobuilder as I am building with this change set and expect these failures. I'm unfortunately off for the weekend and won't have cycles to look into any failures until Monday. As it turns out, I may have some time to work on this tonight, since I have to delete the 3.8 yocto recipe and get that patch out. So I've launched a LSB build in the background and will check on it later. Just FYI, it might not show up in an LSB build, since those tools valgrind, ltp and strace are more Dev tools, so a world build would be better. Also, not sure why but ARM failed to patch 3.8 kernel overnight on the AB. (lots of red). FYI: I've fixed the ARM 3.8 build issue here, it'll be in my series tonight .. regardless if I'm removing 3.8, it was worth fixing. Cheers, Bruce I just restarted AB with out the 3.10 headers. Sau! If anyone else does get a fix for this, make sure to cc' me on any changes, so I won't spend time trying to fix it a second time! :) Bruce So if you want to leave the old headers in place, that's an option. I fixed the one issue that I saw with Sato .. but I am after all one person and can't possibly build and boot all the qemu boards with all image combinations! This is after all, where I'd expect other people to help out and fix build issues. Cheers, Bruce Sau! Sau! [PATCH 4/5] gst-plugins-good: fix 3.10 libc-headers build failure [PATCH 5/5] linux-yocto: introduce v3.10 ** There is one pending activity. As part of thsi update to 3.10, we want to move to the 3.4 and 3.10 kernel, dropping 3.8 support. But the routerstationpro BSP is still using it as its preferred version. I'm a one man show on this update, and I wasn't able to get the 100+ patches ported to 3.10 AND get this update out before the M4 cutoff. ** I'm still attempting to udpate all the reference boards, and once done, I'll send a follow up patch. ** Please test, I've done my best, but things can slip through. We'll work issues in the stabilization period. Cheers, Bruce The following changes since commit 501e1a321d15abd712e3a6ee6ccdb8e21c3d4ea4: bitbake: prserv/serv: Fix pid file removal (2013-08-23 17:43:40 +0100) are available in the git repository at: git://git.pokylinux.org/poky-contrib zedd/kernel http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=zedd/kernel Bruce Ashfield (5): kern-tools: usability, bug fixes and no guilt guilt: update to latest git version
[OE-core] [PATCH] recipes-qt: add fix for QWSLock on qt4e
This patch adds a patch for Qt-Embedded to only destroy semaphores in the process which created them. Original patch by Neil Jerram for the OpenMoko project: http://lists.openmoko.org/pipermail/community/2012-November/067806.html See also Bug 31254: https://bugreports.qt-project.org/browse/QTBUG-31254 Signed-off-by: Eric Nelson eric.nel...@boundarydevices.com --- meta/recipes-qt/qt4/qt4-4.8.5.inc | 1 + ...-Only-destroy-semaphores-in-process-owner.patch | 77 ++ 2 files changed, 78 insertions(+) create mode 100644 meta/recipes-qt/qt4/qt4-4.8.5/0028-QWSLock-Only-destroy-semaphores-in-process-owner.patch diff --git a/meta/recipes-qt/qt4/qt4-4.8.5.inc b/meta/recipes-qt/qt4/qt4-4.8.5.inc index 95a14f3..be16bff 100644 --- a/meta/recipes-qt/qt4/qt4-4.8.5.inc +++ b/meta/recipes-qt/qt4/qt4-4.8.5.inc @@ -24,6 +24,7 @@ SRC_URI = http://download.qt-project.org/official_releases/qt/4.8/${PV}/qt-ever file://0022-Fix-drawing-of-0-width-polylines-from-outside-the-de.patch \ file://0023-QHttpMultiPart-fix-data-corruption-in-readData-metho.patch \ file://0027-tools.pro-disable-qmeegographicssystemhelper.patch \ + file://0028-QWSLock-Only-destroy-semaphores-in-process-owner.patch \ file://g++.conf \ file://linux.conf \ diff --git a/meta/recipes-qt/qt4/qt4-4.8.5/0028-QWSLock-Only-destroy-semaphores-in-process-owner.patch b/meta/recipes-qt/qt4/qt4-4.8.5/0028-QWSLock-Only-destroy-semaphores-in-process-owner.patch new file mode 100644 index 000..d67a746 --- /dev/null +++ b/meta/recipes-qt/qt4/qt4-4.8.5/0028-QWSLock-Only-destroy-semaphores-in-process-owner.patch @@ -0,0 +1,77 @@ +From 9af565935d16ecf8a8c04b5ea850ddb34a7c1294 Mon Sep 17 00:00:00 2001 +From: Eric Nelson eric.nel...@boundarydevices.com +Date: Mon, 12 Aug 2013 11:54:05 -0700 +Subject: [PATCH] QWSLock: Only destroy semaphores in process owner + +This fixes the case when QT_POSIX_IPC is not defined. + +Original patch by Neil Jerram for the OpenMoko project: + http://lists.openmoko.org/pipermail/community/2012-November/067806.html + +See also Bug 31254: + https://bugreports.qt-project.org/browse/QTBUG-31254 + +Signed-off-by: Eric Nelson eric.nel...@boundarydevices.com +--- + src/gui/embedded/qwslock.cpp | 13 + + src/gui/embedded/qwslock_p.h | 2 +- + 2 files changed, 10 insertions(+), 5 deletions(-) + +diff --git a/src/gui/embedded/qwslock.cpp b/src/gui/embedded/qwslock.cpp +index 3f8f306..cd6a48d 100644 +--- a/src/gui/embedded/qwslock.cpp b/src/gui/embedded/qwslock.cpp +@@ -83,9 +83,12 @@ QWSLock::QWSLock(int id) : semId(id) + QWSSignalHandler::instance()-addWSLock(this); + #endif + ++owned = false; ++ + #ifndef QT_POSIX_IPC + if (semId == -1) { + semId = semget(IPC_PRIVATE, 3, IPC_CREAT | 0666); ++owned = true; + if (semId == -1) { + perror(QWSLock::QWSLock); + qFatal(Unable to create semaphore); +@@ -100,7 +103,6 @@ QWSLock::QWSLock(int id) : semId(id) + } + #else + sems[0] = sems[1] = sems[2] = SEM_FAILED; +-owned = false; + + if (semId == -1) { + // ### generate really unique IDs +@@ -134,9 +136,12 @@ QWSLock::~QWSLock() + + if (semId != -1) { + #ifndef QT_POSIX_IPC +-qt_semun semval; +-semval.val = 0; +-semctl(semId, 0, IPC_RMID, semval); ++ ++if (owned) { ++qt_semun semval; ++semval.val = 0; ++semctl(semId, 0, IPC_RMID, semval); ++} + semId = -1; + #else + // emulate the SEM_UNDO behavior for the BackingStore lock +diff --git a/src/gui/embedded/qwslock_p.h b/src/gui/embedded/qwslock_p.h +index ead7b89..d16b3d5 100644 +--- a/src/gui/embedded/qwslock_p.h b/src/gui/embedded/qwslock_p.h +@@ -86,8 +86,8 @@ private: + int lockCount[2]; + #ifdef QT_POSIX_IPC + sem_t *sems[3]; +-bool owned; + #endif ++bool owned; + }; + + QT_END_NAMESPACE +-- +1.8.1.2 + -- 1.8.1.2 ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [v2 PATCH] kernel.bbclass, image.bbclass: Implement kernel INITRAMFS dependency and bundling
On Thu, 2013-08-22 at 18:04 -0500, Jason Wessel wrote: This patch aims to fix the following two cases for the INITRAMFS generation. 1) Allow an image recipe to specify a paired INITRAMFS recipe such as core-image-minimal-initramfs. This allows building a base image which always generates the needed initramfs image in one step 2) Allow building a single binary which contains a kernel and the initramfs. A key requirement of the initramfs is to be able to add kernel modules. The current implementation of the INITRAMFS_IMAGE variable has a circular dependency when using kernel modules in the initramfs image.bb file that is caused by kernel.bbclass trying to build the initramfs before the kernel's do_install rule. The solution for this problem is to have the kernel's do_bundle_initramfs_image task depend on the do_rootfs from the INITRAMFS_IMAGE and not some intermediate point. The image.bbclass will also sets up dependencies to make the initramfs creation task run last. The code to bundle the kernel and initramfs together has been added. At a high level, all it is doing is invoking a second compilation of the kernel but changing the value of CONFIG_INITRAMFS_SOURCE to point to the generated initramfs from the image recipe. [YOCTO #4072] Signed-off-by: Jason Wessel jason.wes...@windriver.com Acked-by: Bruce Ashfield bruce.ashfi...@windriver.com I have a couple of things I'd really like to see get resolved here. One is below, the other is I'm worried about the packaged output differences since we can package the kernel into a package file and now its going to be different. I appreciate its a hard problem to solve but not impossible. Basically we move the package generation for that single package into a separate recipe and have it depend on the bundling task if/as/when needed. The bundle task stashes the kernel in the sysroot, the other recipe simply packages it. Its a little bit of a dance but should ensure we get everything consistent. --- meta/classes/image.bbclass | 12 ++ meta/classes/kernel.bbclass | 96 +-- meta/conf/local.conf.sample | 20 + 3 files changed, 116 insertions(+), 12 deletions(-) diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index 909702a..23967ec 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass @@ -130,6 +130,10 @@ python () { d.setVar('MULTILIB_VENDORS', ml_vendor_list) check_image_features(d) +initramfs_image = d.getVar('INITRAMFS_IMAGE', True) or +if initramfs_image != : +d.appendVarFlag('do_build', 'depends', %s:do_bundle_initramfs % d.getVar('PN', True)) +d.appendVarFlag('do_bundle_initramfs', 'depends', %s:do_rootfs % initramfs_image) } # @@ -629,3 +633,11 @@ do_package_write_deb[noexec] = 1 do_package_write_rpm[noexec] = 1 addtask rootfs before do_build +# Allow the kernel to be repacked with the initramfs and boot image file as a single file +do_bundle_initramfs[depends] += virtual/kernel:do_bundle_initramfs +do_bundle_initramfs[nostamp] = 1 +do_bundle_initramfs[noexec] = 1 +do_bundle_initramfs () { + : +} +addtask bundle_initramfs after do_rootfs diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass index e039dfc..8cf66ce 100644 --- a/meta/classes/kernel.bbclass +++ b/meta/classes/kernel.bbclass @@ -9,6 +9,7 @@ INHIBIT_DEFAULT_DEPS = 1 KERNEL_IMAGETYPE ?= zImage INITRAMFS_IMAGE ?= INITRAMFS_TASK ?= +INITRAMFS_IMAGE_BUNDLE ?= python __anonymous () { kerneltype = d.getVar('KERNEL_IMAGETYPE', True) or '' @@ -19,7 +20,15 @@ python __anonymous () { image = d.getVar('INITRAMFS_IMAGE', True) if image: -d.setVar('INITRAMFS_TASK', '${INITRAMFS_IMAGE}:do_rootfs') +d.appendVarFlag('do_bundle_initramfs', 'depends', ' ${INITRAMFS_IMAGE}:do_rootfs') + +# NOTE: setting INITRAMFS_TASK is for backward compatibility +# The preferred method is to set INITRAMFS_IMAGE, because +# this INITRAMFS_TASK has circular dependency problems +# if the initramfs requires kernel modules +image_task = d.getVar('INITRAMFS_TASK', True) +if image_task: +d.appendVarFlag('do_configure', 'depends', ' ${INITRAMFS_TASK}') } inherit kernel-arch deploy @@ -72,9 +81,82 @@ KERNEL_SRC_PATH = /usr/src/kernel KERNEL_IMAGETYPE_FOR_MAKE = ${@(lambda s: s[:-3] if s[-3:] == .gz else s)(d.getVar('KERNEL_IMAGETYPE', True))} +copy_initramfs() { + echo Copying initramfs into ./usr ... + # Find and use the first initramfs image archive type we find + rm -f ${B}/usr/${INITRAMFS_IMAGE}-${MACHINE}.cpio + for img in cpio.gz cpio.lzo cpio.lzma cpio.xz; do + if [ -e ${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE}-${MACHINE}.$img ]; then + cp
Re: [OE-core] [PATCH] recipes-qt: add fix for QWSLock on qt4e
On 08/24/2013 09:49 AM, Eric Nelson wrote: This patch adds a patch for Qt-Embedded to only destroy semaphores in the process which created them. Original patch by Neil Jerram for the OpenMoko project: http://lists.openmoko.org/pipermail/community/2012-November/067806.html See also Bug 31254: https://bugreports.qt-project.org/browse/QTBUG-31254 Signed-off-by: Eric Nelson eric.nel...@boundarydevices.com Besides this, we need an Upstream-Status: Tag, this is either a Backport or Submitted maybe? Sau! --- meta/recipes-qt/qt4/qt4-4.8.5.inc | 1 + ...-Only-destroy-semaphores-in-process-owner.patch | 77 ++ 2 files changed, 78 insertions(+) create mode 100644 meta/recipes-qt/qt4/qt4-4.8.5/0028-QWSLock-Only-destroy-semaphores-in-process-owner.patch diff --git a/meta/recipes-qt/qt4/qt4-4.8.5.inc b/meta/recipes-qt/qt4/qt4-4.8.5.inc index 95a14f3..be16bff 100644 --- a/meta/recipes-qt/qt4/qt4-4.8.5.inc +++ b/meta/recipes-qt/qt4/qt4-4.8.5.inc @@ -24,6 +24,7 @@ SRC_URI = http://download.qt-project.org/official_releases/qt/4.8/${PV}/qt-ever file://0022-Fix-drawing-of-0-width-polylines-from-outside-the-de.patch \ file://0023-QHttpMultiPart-fix-data-corruption-in-readData-metho.patch \ file://0027-tools.pro-disable-qmeegographicssystemhelper.patch \ + file://0028-QWSLock-Only-destroy-semaphores-in-process-owner.patch \ file://g++.conf \ file://linux.conf \ diff --git a/meta/recipes-qt/qt4/qt4-4.8.5/0028-QWSLock-Only-destroy-semaphores-in-process-owner.patch b/meta/recipes-qt/qt4/qt4-4.8.5/0028-QWSLock-Only-destroy-semaphores-in-process-owner.patch new file mode 100644 index 000..d67a746 --- /dev/null +++ b/meta/recipes-qt/qt4/qt4-4.8.5/0028-QWSLock-Only-destroy-semaphores-in-process-owner.patch @@ -0,0 +1,77 @@ +From 9af565935d16ecf8a8c04b5ea850ddb34a7c1294 Mon Sep 17 00:00:00 2001 +From: Eric Nelson eric.nel...@boundarydevices.com +Date: Mon, 12 Aug 2013 11:54:05 -0700 +Subject: [PATCH] QWSLock: Only destroy semaphores in process owner + +This fixes the case when QT_POSIX_IPC is not defined. + +Original patch by Neil Jerram for the OpenMoko project: + http://lists.openmoko.org/pipermail/community/2012-November/067806.html + +See also Bug 31254: + https://bugreports.qt-project.org/browse/QTBUG-31254 + +Signed-off-by: Eric Nelson eric.nel...@boundarydevices.com +--- + src/gui/embedded/qwslock.cpp | 13 + + src/gui/embedded/qwslock_p.h | 2 +- + 2 files changed, 10 insertions(+), 5 deletions(-) + +diff --git a/src/gui/embedded/qwslock.cpp b/src/gui/embedded/qwslock.cpp +index 3f8f306..cd6a48d 100644 +--- a/src/gui/embedded/qwslock.cpp b/src/gui/embedded/qwslock.cpp +@@ -83,9 +83,12 @@ QWSLock::QWSLock(int id) : semId(id) + QWSSignalHandler::instance()-addWSLock(this); + #endif + ++owned = false; ++ + #ifndef QT_POSIX_IPC + if (semId == -1) { + semId = semget(IPC_PRIVATE, 3, IPC_CREAT | 0666); ++owned = true; + if (semId == -1) { + perror(QWSLock::QWSLock); + qFatal(Unable to create semaphore); +@@ -100,7 +103,6 @@ QWSLock::QWSLock(int id) : semId(id) + } + #else + sems[0] = sems[1] = sems[2] = SEM_FAILED; +-owned = false; + + if (semId == -1) { + // ### generate really unique IDs +@@ -134,9 +136,12 @@ QWSLock::~QWSLock() + + if (semId != -1) { + #ifndef QT_POSIX_IPC +-qt_semun semval; +-semval.val = 0; +-semctl(semId, 0, IPC_RMID, semval); ++ ++if (owned) { ++qt_semun semval; ++semval.val = 0; ++semctl(semId, 0, IPC_RMID, semval); ++} + semId = -1; + #else + // emulate the SEM_UNDO behavior for the BackingStore lock +diff --git a/src/gui/embedded/qwslock_p.h b/src/gui/embedded/qwslock_p.h +index ead7b89..d16b3d5 100644 +--- a/src/gui/embedded/qwslock_p.h b/src/gui/embedded/qwslock_p.h +@@ -86,8 +86,8 @@ private: + int lockCount[2]; + #ifdef QT_POSIX_IPC + sem_t *sems[3]; +-bool owned; + #endif ++bool owned; + }; + + QT_END_NAMESPACE +-- +1.8.1.2 + ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] recipes-qt: add fix for QWSLock on qt4e
This is strange. According to the bugtracker it should be in 4.8.5 already... and the recipe seems to be about 4.8.5. It needs more investigation. On Sat, Aug 24, 2013 at 8:13 PM, Saul Wold s...@linux.intel.com wrote: On 08/24/2013 09:49 AM, Eric Nelson wrote: This patch adds a patch for Qt-Embedded to only destroy semaphores in the process which created them. Original patch by Neil Jerram for the OpenMoko project: http://lists.openmoko.org/**pipermail/community/2012-** November/067806.htmlhttp://lists.openmoko.org/pipermail/community/2012-November/067806.html See also Bug 31254: https://bugreports.qt-project.**org/browse/QTBUG-31254https://bugreports.qt-project.org/browse/QTBUG-31254 Signed-off-by: Eric Nelson eric.nelson@boundarydevices.**comeric.nel...@boundarydevices.com Besides this, we need an Upstream-Status: Tag, this is either a Backport or Submitted maybe? Sau! --- meta/recipes-qt/qt4/qt4-4.8.5.**inc | 1 + ...-Only-destroy-semaphores-**in-process-owner.patch | 77 ++ 2 files changed, 78 insertions(+) create mode 100644 meta/recipes-qt/qt4/qt4-4.8.5/** 0028-QWSLock-Only-destroy-**semaphores-in-process-owner.**patch diff --git a/meta/recipes-qt/qt4/qt4-4.8.**5.inc b/meta/recipes-qt/qt4/qt4-4.8.**5.inc index 95a14f3..be16bff 100644 --- a/meta/recipes-qt/qt4/qt4-4.8.**5.inc +++ b/meta/recipes-qt/qt4/qt4-4.8.**5.inc @@ -24,6 +24,7 @@ SRC_URI = http://download.qt-project.** org/official_releases/qt/4.8/$**{PV}/qt-everhttp://download.qt-project.org/official_releases/qt/4.8/$%7BPV%7D/qt-ever file://0022-Fix-drawing-of-0-**width-polylines-from-outside- **the-de.patch \ file://0023-QHttpMultiPart-**fix-data-corruption-in-**readData-metho.patch \ file://0027-tools.pro-disable-**qmeegographicssystemhelper.* *patch \ + file://0028-QWSLock-Only-**destroy-semaphores-in-process-**owner.patch \ file://g++.conf \ file://linux.conf \ diff --git a/meta/recipes-qt/qt4/qt4-4.8.**5/0028-QWSLock-Only-destroy-** semaphores-in-process-owner.**patch b/meta/recipes-qt/qt4/qt4-4.8.** 5/0028-QWSLock-Only-destroy-**semaphores-in-process-owner.**patch new file mode 100644 index 000..d67a746 --- /dev/null +++ b/meta/recipes-qt/qt4/qt4-4.8.**5/0028-QWSLock-Only-destroy-** semaphores-in-process-owner.**patch @@ -0,0 +1,77 @@ +From 9af565935d16ecf8a8c04b5ea850dd**b34a7c1294 Mon Sep 17 00:00:00 2001 +From: Eric Nelson eric.nelson@boundarydevices.**comeric.nel...@boundarydevices.com +Date: Mon, 12 Aug 2013 11:54:05 -0700 +Subject: [PATCH] QWSLock: Only destroy semaphores in process owner + +This fixes the case when QT_POSIX_IPC is not defined. + +Original patch by Neil Jerram for the OpenMoko project: + http://lists.openmoko.org/**pipermail/community/2012-** November/067806.htmlhttp://lists.openmoko.org/pipermail/community/2012-November/067806.html + +See also Bug 31254: + https://bugreports.qt-project.**org/browse/QTBUG-31254https://bugreports.qt-project.org/browse/QTBUG-31254 + +Signed-off-by: Eric Nelson eric.nelson@boundarydevices.**comeric.nel...@boundarydevices.com +--- + src/gui/embedded/qwslock.cpp | 13 + + src/gui/embedded/qwslock_p.h | 2 +- + 2 files changed, 10 insertions(+), 5 deletions(-) + +diff --git a/src/gui/embedded/qwslock.cpp b/src/gui/embedded/qwslock.cpp +index 3f8f306..cd6a48d 100644 +--- a/src/gui/embedded/qwslock.cpp b/src/gui/embedded/qwslock.cpp +@@ -83,9 +83,12 @@ QWSLock::QWSLock(int id) : semId(id) + QWSSignalHandler::instance()-**addWSLock(this); + #endif + ++owned = false; ++ + #ifndef QT_POSIX_IPC + if (semId == -1) { + semId = semget(IPC_PRIVATE, 3, IPC_CREAT | 0666); ++owned = true; + if (semId == -1) { + perror(QWSLock::QWSLock); + qFatal(Unable to create semaphore); +@@ -100,7 +103,6 @@ QWSLock::QWSLock(int id) : semId(id) + } + #else + sems[0] = sems[1] = sems[2] = SEM_FAILED; +-owned = false; + + if (semId == -1) { + // ### generate really unique IDs +@@ -134,9 +136,12 @@ QWSLock::~QWSLock() + + if (semId != -1) { + #ifndef QT_POSIX_IPC +-qt_semun semval; +-semval.val = 0; +-semctl(semId, 0, IPC_RMID, semval); ++ ++if (owned) { ++qt_semun semval; ++semval.val = 0; ++semctl(semId, 0, IPC_RMID, semval); ++} + semId = -1; + #else + // emulate the SEM_UNDO behavior for the BackingStore lock +diff --git a/src/gui/embedded/qwslock_p.h b/src/gui/embedded/qwslock_p.h +index ead7b89..d16b3d5 100644 +--- a/src/gui/embedded/qwslock_p.h b/src/gui/embedded/qwslock_p.h +@@ -86,8 +86,8 @@ private: + int lockCount[2]; + #ifdef QT_POSIX_IPC + sem_t *sems[3]; +-bool owned; + #endif ++bool owned;
Re: [OE-core] [PATCH] recipes-qt: add fix for QWSLock on qt4e
Hi Laszlo, On 08/24/2013 12:15 PM, Laszlo Papp wrote: This is strange. According to the bugtracker it should be in 4.8.5 already... and the recipe seems to be about 4.8.5. It needs more investigation. I saw this, but there's no evidence that any change was committed and I verified that the bug is still there (it's trivially easy to reproduce) and that this patch fixes it. On Sat, Aug 24, 2013 at 8:13 PM, Saul Wold s...@linux.intel.com mailto:s...@linux.intel.com wrote: On 08/24/2013 09:49 AM, Eric Nelson wrote: This patch adds a patch for Qt-Embedded to only destroy semaphores in the process which created them. Original patch by Neil Jerram for the OpenMoko project: http://lists.openmoko.org/__pipermail/community/2012-__November/067806.html http://lists.openmoko.org/pipermail/community/2012-November/067806.html See also Bug 31254: https://bugreports.qt-project.__org/browse/QTBUG-31254 https://bugreports.qt-project.org/browse/QTBUG-31254 Signed-off-by: Eric Nelson eric.nelson@boundarydevices.__com mailto:eric.nel...@boundarydevices.com Besides this, we need an Upstream-Status: Tag, this is either a Backport or Submitted maybe? I submitted a patch, but haven't received any feedback from the Qt'ers: https://codereview.qt-project.org/#change,62842 Should I re-send with Upstream-Status: tag and a reference? Sau! --- meta/recipes-qt/qt4/qt4-4.8.5.__inc | 1 + ...-Only-destroy-semaphores-__in-process-owner.patch | 77 ++ 2 files changed, 78 insertions(+) create mode 100644 meta/recipes-qt/qt4/qt4-4.8.5/__0028-QWSLock-Only-destroy-__semaphores-in-process-owner.__patch diff --git a/meta/recipes-qt/qt4/qt4-4.8.__5.inc b/meta/recipes-qt/qt4/qt4-4.8.__5.inc index 95a14f3..be16bff 100644 --- a/meta/recipes-qt/qt4/qt4-4.8.__5.inc +++ b/meta/recipes-qt/qt4/qt4-4.8.__5.inc @@ -24,6 +24,7 @@ SRC_URI = http://download.qt-project.__org/official_releases/qt/4.8/$__{PV}/qt-ever http://download.qt-project.org/official_releases/qt/4.8/$%7BPV%7D/qt-ever file://0022-Fix-drawing-of-0-__width-polylines-from-outside-__the-de.patch \ file://0023-QHttpMultiPart-__fix-data-corruption-in-__readData-metho.patch \ file://0027-tools.pro-disable-__qmeegographicssystemhelper.__patch \ + file://0028-QWSLock-Only-__destroy-semaphores-in-process-__owner.patch \ file://g++.conf \ file://linux.conf \ diff --git a/meta/recipes-qt/qt4/qt4-4.8.__5/0028-QWSLock-Only-destroy-__semaphores-in-process-owner.__patch b/meta/recipes-qt/qt4/qt4-4.8.__5/0028-QWSLock-Only-destroy-__semaphores-in-process-owner.__patch new file mode 100644 index 000..d67a746 --- /dev/null +++ b/meta/recipes-qt/qt4/qt4-4.8.__5/0028-QWSLock-Only-destroy-__semaphores-in-process-owner.__patch @@ -0,0 +1,77 @@ +From 9af565935d16ecf8a8c04b5ea850dd__b34a7c1294 Mon Sep 17 00:00:00 2001 +From: Eric Nelson eric.nelson@boundarydevices.__com mailto:eric.nel...@boundarydevices.com +Date: Mon, 12 Aug 2013 11:54:05 -0700 +Subject: [PATCH] QWSLock: Only destroy semaphores in process owner + +This fixes the case when QT_POSIX_IPC is not defined. + +Original patch by Neil Jerram for the OpenMoko project: + http://lists.openmoko.org/__pipermail/community/2012-__November/067806.html http://lists.openmoko.org/pipermail/community/2012-November/067806.html + +See also Bug 31254: + https://bugreports.qt-project.__org/browse/QTBUG-31254 https://bugreports.qt-project.org/browse/QTBUG-31254 + +Signed-off-by: Eric Nelson eric.nelson@boundarydevices.__com mailto:eric.nel...@boundarydevices.com +--- + src/gui/embedded/qwslock.cpp | 13 + + src/gui/embedded/qwslock_p.h | 2 +- + 2 files changed, 10 insertions(+), 5 deletions(-) + +diff --git a/src/gui/embedded/qwslock.cpp b/src/gui/embedded/qwslock.cpp +index 3f8f306..cd6a48d 100644 +--- a/src/gui/embedded/qwslock.cpp b/src/gui/embedded/qwslock.cpp +@@ -83,9 +83,12 @@ QWSLock::QWSLock(int id) : semId(id) + QWSSignalHandler::instance()-__addWSLock(this); + #endif + ++owned = false; ++ + #ifndef QT_POSIX_IPC + if (semId == -1) { + semId = semget(IPC_PRIVATE, 3, IPC_CREAT | 0666); ++owned = true; + if (semId == -1) { + perror(QWSLock::QWSLock); +
Re: [OE-core] [PATCH] recipes-qt: add fix for QWSLock on qt4e
Well, you should ask upstream about it... maybe it ended up in a decision it is the wrong way, and something better went in, or being planned to go in. I think a change should not be integrated like this in grey area. On Sat, Aug 24, 2013 at 8:25 PM, Eric Nelson eric.nel...@boundarydevices.com wrote: Hi Laszlo, On 08/24/2013 12:15 PM, Laszlo Papp wrote: This is strange. According to the bugtracker it should be in 4.8.5 already... and the recipe seems to be about 4.8.5. It needs more investigation. I saw this, but there's no evidence that any change was committed and I verified that the bug is still there (it's trivially easy to reproduce) and that this patch fixes it. On Sat, Aug 24, 2013 at 8:13 PM, Saul Wold s...@linux.intel.com mailto:s...@linux.intel.com wrote: On 08/24/2013 09:49 AM, Eric Nelson wrote: This patch adds a patch for Qt-Embedded to only destroy semaphores in the process which created them. Original patch by Neil Jerram for the OpenMoko project: http://lists.openmoko.org/__**pipermail/community/2012-__** November/067806.htmlhttp://lists.openmoko.org/__pipermail/community/2012-__November/067806.html http://lists.openmoko.org/**pipermail/community/2012-** November/067806.htmlhttp://lists.openmoko.org/pipermail/community/2012-November/067806.html See also Bug 31254: https://bugreports.qt-project.**__org/browse/QTBUG-31254 https://bugreports.qt-**project.org/browse/QTBUG-31254https://bugreports.qt-project.org/browse/QTBUG-31254 ** Signed-off-by: Eric Nelson eric.nelson@boundarydevices._**_com mailto:eric.nelson@**boundarydevices.comeric.nel...@boundarydevices.com Besides this, we need an Upstream-Status: Tag, this is either a Backport or Submitted maybe? I submitted a patch, but haven't received any feedback from the Qt'ers: https://codereview.qt-project.**org/#change,62842https://codereview.qt-project.org/#change,62842 Should I re-send with Upstream-Status: tag and a reference? Sau! --- meta/recipes-qt/qt4/qt4-4.8.5.**__inc | 1 + ...-Only-destroy-semaphores-__**in-process-owner.patch | 77 ++ 2 files changed, 78 insertions(+) create mode 100644 meta/recipes-qt/qt4/qt4-4.8.5/**__0028-QWSLock-Only-destroy-__** semaphores-in-process-owner.__**patch diff --git a/meta/recipes-qt/qt4/qt4-4.8.**__5.inc b/meta/recipes-qt/qt4/qt4-4.8.**__5.inc index 95a14f3..be16bff 100644 --- a/meta/recipes-qt/qt4/qt4-4.8.**__5.inc +++ b/meta/recipes-qt/qt4/qt4-4.8.**__5.inc @@ -24,6 +24,7 @@ SRC_URI = http://download.qt-project.__**org/official_releases/qt/4.8/$** __{PV}/qt-ever http://download.qt-project.**org/official_releases/qt/4.8/$** %7BPV%7D/qt-everhttp://download.qt-project.org/official_releases/qt/4.8/$%7BPV%7D/qt-ever file://0022-Fix-drawing-of-0-_**_width-polylines-from-outside-* *__the-de.patch \ file://0023-QHttpMultiPart-__**fix-data-corruption-in-__**readData-metho.patch \ file://0027-tools.pro-disable-**__qmeegographicssystemhelper._* *_patch \ + file://0028-QWSLock-Only-__**destroy-semaphores-in-process-** __owner.patch \ file://g++.conf \ file://linux.conf \ diff --git a/meta/recipes-qt/qt4/qt4-4.8.**__5/0028-QWSLock-Only-destroy-** __semaphores-in-process-owner.**__patch b/meta/recipes-qt/qt4/qt4-4.8.**__5/0028-QWSLock-Only-destroy-** __semaphores-in-process-owner.**__patch new file mode 100644 index 000..d67a746 --- /dev/null +++ b/meta/recipes-qt/qt4/qt4-4.8.**__5/0028-QWSLock-Only-destroy-** __semaphores-in-process-owner.**__patch @@ -0,0 +1,77 @@ +From 9af565935d16ecf8a8c04b5ea850dd**__b34a7c1294 Mon Sep 17 00:00:00 2001 +From: Eric Nelson eric.nelson@boundarydevices._**_com mailto:eric.nelson@**boundarydevices.comeric.nel...@boundarydevices.com +Date: Mon, 12 Aug 2013 11:54:05 -0700 +Subject: [PATCH] QWSLock: Only destroy semaphores in process owner + +This fixes the case when QT_POSIX_IPC is not defined. + +Original patch by Neil Jerram for the OpenMoko project: + http://lists.openmoko.org/__**pipermail/community/2012-__** November/067806.htmlhttp://lists.openmoko.org/__pipermail/community/2012-__November/067806.html http://lists.openmoko.org/**pipermail/community/2012-** November/067806.htmlhttp://lists.openmoko.org/pipermail/community/2012-November/067806.html + +See also Bug 31254: + https://bugreports.qt-project.**__org/browse/QTBUG-31254
Re: [OE-core] [PATCH] recipes-qt: add fix for QWSLock on qt4e
Thanks Laszlo, On 08/24/2013 12:28 PM, Laszlo Papp wrote: Well, you should ask upstream about it... maybe it ended up in a decision it is the wrong way, and something better went in, or being planned to go in. I think a change should not be integrated like this in grey area. I just posted to developm...@qt-project.org. Is that the right place? ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] recipes-qt: add fix for QWSLock on qt4e
I replied in there. On Sat, Aug 24, 2013 at 8:51 PM, Eric Nelson eric.nel...@boundarydevices.com wrote: Thanks Laszlo, On 08/24/2013 12:28 PM, Laszlo Papp wrote: Well, you should ask upstream about it... maybe it ended up in a decision it is the wrong way, and something better went in, or being planned to go in. I think a change should not be integrated like this in grey area. I just posted to developm...@qt-project.org. Is that the right place? ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 1/1] classes/testimage: add support for finding tests in other layers
From: Stefan Stanacar stefanx.stana...@intel.com A layer can add tests in lib/oeqa/runtime (provided it extends BBPATH as normal) and enable them with TEST_SUITES_append = testname. Test module names shouldn't collide though. Signed-off-by: Stefan Stanacar stefanx.stana...@intel.com Signed-off-by: Paul Eggleton paul.eggle...@linux.intel.com --- meta/classes/testimage.bbclass| 55 ++- meta/lib/oeqa/runtime/__init__.py | 3 +++ 2 files changed, 46 insertions(+), 12 deletions(-) diff --git a/meta/classes/testimage.bbclass b/meta/classes/testimage.bbclass index 86121e4..f914e57 100644 --- a/meta/classes/testimage.bbclass +++ b/meta/classes/testimage.bbclass @@ -17,6 +17,7 @@ # Each name in TEST_SUITES represents a required test for the image. (no skipping allowed) # Appending auto means that it will try to run all tests that are suitable for the image (each test decides that on it's own). # Note that order in TEST_SUITES is important (it's the order tests run) and it influences tests dependencies. +# A layer can add its own tests in lib/oeqa/runtime, provided it extends BBPATH as normal in its layer.conf. # TEST_LOG_DIR contains a ssh log (what command is running, output and return codes) and a qemu boot log till login # Booting is handled by this class, and it's not a test in itself. @@ -41,6 +42,43 @@ do_testimage[nostamp] = 1 do_testimage[depends] += qemu-native:do_populate_sysroot do_testimage[depends] += qemu-helper-native:do_populate_sysroot + +def get_tests_list(d): +testsuites = d.getVar(TEST_SUITES, True).split() +bbpath = d.getVar(BBPATH, True).split(':') + +# This relies on lib/ under each directory in BBPATH being added to sys.path +# (as done by default in base.bbclass) +testslist = [] +for testname in testsuites: +if testname != auto: +found = False +for p in bbpath: +if os.path.exists(os.path.join(p, 'lib', 'oeqa', 'runtime', testname + '.py')): +testslist.append(oeqa.runtime. + testname) +found = True +break +if not found: +bb.error('Test %s specified in TEST_SUITES could not be found in lib/oeqa/runtime under BBPATH' % testname) + +if auto in testsuites: +def add_auto_list(path): +if not os.path.exists(os.path.join(path, '__init__.py')): +bb.fatal('Tests directory %s exists but is missing __init__.py' % path) +files = sorted([f for f in os.listdir(path) if f.endswith('.py') and not f.startswith('_')]) +for f in files: +module = 'oeqa.runtime.' + f[:-3] +if module not in testslist: +testslist.append(module) + +for p in bbpath: +testpath = os.path.join(p, 'lib', 'oeqa', 'runtime') +bb.debug(2, 'Searching for tests in %s' % testpath) +if os.path.exists(testpath): +add_auto_list(testpath) + +return testslist + def testimage_main(d): import unittest import os @@ -55,23 +93,16 @@ def testimage_main(d): bb.utils.mkdirhier(testdir) # tests in TEST_SUITES become required tests -# they won't be skipped even if they aren't suitable for a default image (like xorg for minimal) -testsuites = d.getVar(TEST_SUITES, True) -# testslist is what we'll run and order matters -testslist = [ x for x in testsuites.split() if x != auto ] -# if we have auto search for other modules -if auto in testsuites: -for f in os.listdir(os.path.dirname(os.path.abspath(oeqa.runtime.__file__))): -if f.endswith('.py') and not f.startswith('_') and f[:-3] not in testslist: -testslist.append(f[:-3]) - -testslist = [ oeqa.runtime. + x for x in testslist ] +# they won't be skipped even if they aren't suitable for a image (like xorg for minimal) +# testslist is what we'll actually pass to the unittest loader +testslist = get_tests_list(d) +testsrequired = [t for t in d.getVar(TEST_SUITES, True).split() if t != auto] class TestContext: def __init__(self): self.d = d self.testslist = testslist -self.testsrequired = testsuites.split() +self.testsrequired = testsrequired self.filesdir = os.path.join(os.path.dirname(os.path.abspath(oeqa.runtime.__file__)),files) # test context diff --git a/meta/lib/oeqa/runtime/__init__.py b/meta/lib/oeqa/runtime/__init__.py index e69de29..4cf3fa7 100644 --- a/meta/lib/oeqa/runtime/__init__.py +++ b/meta/lib/oeqa/runtime/__init__.py @@ -0,0 +1,3 @@ +# Enable other layers to have tests in the same named directory +from pkgutil import extend_path +__path__ = extend_path(__path__, __name__) -- 1.8.1.2 ___ Openembedded-core mailing list
[OE-core] [PATCH 0/1] Support tests in other layers
Completion of an earlier work-in-progress change by Stefan. I had earlier suggested using a special tests/runtime directory in other layers that wish to add their own tests, but when I looked into it I figured it was actually a lot simpler if we kept the same structure as the tests in OE-Core i.e. lib/oeqa/runtime, since sys.path is already extended in base.bbclass to make that work for all layers; we just needed to tweak __init__.py in the oeqa/runtime directory to enable unittest to import units from other layers in that same directory. The following changes since commit e473e60d5572f36829068f6d3db9ce9ba9633d71: mkfontscale: This no longer needs a full libx11, xproto suffices (2013-08-22 18:29:50 +0100) are available in the git repository at: git://git.openembedded.org/openembedded-core-contrib paule/testimage http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=paule/testimage Stefan Stanacar (1): classes/testimage: add support for finding tests in other layers meta/classes/testimage.bbclass| 55 ++- meta/lib/oeqa/runtime/__init__.py | 3 +++ 2 files changed, 46 insertions(+), 12 deletions(-) -- 1.8.1.2 ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 7/7] linux-yocto: remove 3.8 recipes
With the introduction of the 3.10 linux-yocto tree, 3.4 being the previous LTSI kernel, and no reference BSPs using 3.8 as their reference BSP it 3.8 is no longer supported or required. Signed-off-by: Bruce Ashfield bruce.ashfi...@windriver.com --- meta/recipes-kernel/linux/linux-yocto-rt_3.8.bb | 30 meta/recipes-kernel/linux/linux-yocto-tiny_3.8.bb | 26 - meta/recipes-kernel/linux/linux-yocto_3.8.bb | 31 - 3 files changed, 87 deletions(-) delete mode 100644 meta/recipes-kernel/linux/linux-yocto-rt_3.8.bb delete mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny_3.8.bb delete mode 100644 meta/recipes-kernel/linux/linux-yocto_3.8.bb diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_3.8.bb b/meta/recipes-kernel/linux/linux-yocto-rt_3.8.bb deleted file mode 100644 index 647ace6..000 --- a/meta/recipes-kernel/linux/linux-yocto-rt_3.8.bb +++ /dev/null @@ -1,30 +0,0 @@ -require recipes-kernel/linux/linux-yocto.inc - -KBRANCH = standard/preempt-rt/base -KBRANCH_qemuppc = standard/preempt-rt/qemuppc - -LINUX_VERSION ?= 3.8.13 -LINUX_KERNEL_TYPE = preempt-rt - -KMETA = meta - -SRCREV_machine ?= 4fb187301ca153d496b2a96293dffde34d3b1a56 -SRCREV_machine_qemuppc ?= 547c4ea570933ab7ece9f10d2c46875b460cd337 -SRCREV_meta ?= e7f42a416a60499db3771181357b29b3b3c424cc - -PR = ${INC_PR}.1 -PV = ${LINUX_VERSION}+git${SRCPV} - -SRC_URI = git://git.yoctoproject.org/linux-yocto-3.8.git;protocol=git;bareclone=1;branch=${KBRANCH},meta;name=machine,meta - -# Omit broken machines from COMPATIBLE_MACHINE -# qemuppc hangs at boot -# qemumips panics at boot -COMPATIBLE_MACHINE = (qemux86|qemux86-64|qemuarm) - -# Functionality flags -KERNEL_EXTRA_FEATURES ?= features/netfilter/netfilter.scc features/taskstats/taskstats.scc -KERNEL_FEATURES_append = ${KERNEL_EXTRA_FEATURES} -KERNEL_FEATURES_append_qemux86= cfg/sound.scc cfg/paravirt_kvm.scc -KERNEL_FEATURES_append_qemux86-64= cfg/sound.scc -KERNEL_FEATURES_append = ${@bb.utils.contains(TUNE_FEATURES, mx32, cfg/x32.scc, ,d)} diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_3.8.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_3.8.bb deleted file mode 100644 index 06d6b12..000 --- a/meta/recipes-kernel/linux/linux-yocto-tiny_3.8.bb +++ /dev/null @@ -1,26 +0,0 @@ -require recipes-kernel/linux/linux-yocto.inc - -# We need lzma (as CONFIG_KERNEL_LZMA=y) -DEPENDS += xz-native - -KBRANCH_DEFAULT = standard/tiny/base -KBRANCH = ${KBRANCH_DEFAULT} -LINUX_KERNEL_TYPE = tiny -KCONFIG_MODE = --allnoconfig - -LINUX_VERSION ?= 3.8.13 - -KMETA = meta - -SRCREV_machine ?= f20047520a57322f05d95a18a5fbd082fb15cb87 -SRCREV_meta ?= e7f42a416a60499db3771181357b29b3b3c424cc - -PR = ${INC_PR}.1 -PV = ${LINUX_VERSION}+git${SRCPV} - -SRC_URI = git://git.yoctoproject.org/linux-yocto-3.8.git;protocol=git;bareclone=1;branch=${KBRANCH},meta;name=machine,meta - -COMPATIBLE_MACHINE = (qemux86) - -# Functionality flags -KERNEL_FEATURES = diff --git a/meta/recipes-kernel/linux/linux-yocto_3.8.bb b/meta/recipes-kernel/linux/linux-yocto_3.8.bb deleted file mode 100644 index 790e3e3..000 --- a/meta/recipes-kernel/linux/linux-yocto_3.8.bb +++ /dev/null @@ -1,31 +0,0 @@ -require recipes-kernel/linux/linux-yocto.inc - -KBRANCH_DEFAULT = standard/base -KBRANCH = ${KBRANCH_DEFAULT} - -SRCREV_machine_qemuarm ?= aa76cc28408376814752bd36fb0dcf0e25aa5ba3 -SRCREV_machine_qemumips ?= aa0affda03c955678b26b2fb586f1d9505127871 -SRCREV_machine_qemumips64 ?= 077bff22c9951db6b35470ba17b1df2f2a91fefb -SRCREV_machine_qemuppc ?= 698eada61d9385b42dd117858b943655b565084b -SRCREV_machine_qemux86 ?= f20047520a57322f05d95a18a5fbd082fb15cb87 -SRCREV_machine_qemux86-64 ?= f20047520a57322f05d95a18a5fbd082fb15cb87 -SRCREV_machine ?= f20047520a57322f05d95a18a5fbd082fb15cb87 -SRCREV_meta ?= e7f42a416a60499db3771181357b29b3b3c424cc - -SRC_URI = git://git.yoctoproject.org/linux-yocto-3.8.git;protocol=git;bareclone=1;branch=${KBRANCH},${KMETA};name=machine,meta - -LINUX_VERSION ?= 3.8.13 - -PR = ${INC_PR}.2 -PV = ${LINUX_VERSION}+git${SRCPV} - -KMETA = meta - -COMPATIBLE_MACHINE = qemuarm|qemux86|qemuppc|qemumips|qemumips64|qemux86-64 - -# Functionality flags -KERNEL_EXTRA_FEATURES ?= features/netfilter/netfilter.scc -KERNEL_FEATURES_append = ${KERNEL_EXTRA_FEATURES} -KERNEL_FEATURES_append_qemux86= cfg/sound.scc cfg/paravirt_kvm.scc -KERNEL_FEATURES_append_qemux86-64= cfg/sound.scc -KERNEL_FEATURES_append = ${@bb.utils.contains(TUNE_FEATURES, mx32, cfg/x32.scc, ,d)} -- 1.7.10.4 ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 6/7] linux-yocto: introduce v3.10
Introduce the 3.10 kernel. This is based on the 3.10.9 upstream kernel and replaces the 3.8 recipes, which will be removed once all reference boards have been updated. 3.10 also the latest LTSI and will be updated with that content when it becomes available. Other features of the 3.10 kernel include: - refreshed -rt support - refreshed yaffs2, aufs3 - cryptodev - bfs, edf, and OCF staged features - scrubbed and updated meta data for v3.10 - improved tools support for meta data updates and queue maintenance - patch carry forward from all previous linux-yocto kernels and configuration. This kernel has been built and boot tested on all qemu machines and architectures. Signed-off-by: Bruce Ashfield bruce.ashfi...@windriver.com --- meta/recipes-kernel/linux/linux-yocto-rt_3.10.bb | 30 meta/recipes-kernel/linux/linux-yocto-tiny_3.10.bb | 25 meta/recipes-kernel/linux/linux-yocto_3.10.bb | 30 3 files changed, 85 insertions(+) create mode 100644 meta/recipes-kernel/linux/linux-yocto-rt_3.10.bb create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny_3.10.bb create mode 100644 meta/recipes-kernel/linux/linux-yocto_3.10.bb diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_3.10.bb b/meta/recipes-kernel/linux/linux-yocto-rt_3.10.bb new file mode 100644 index 000..4139be8 --- /dev/null +++ b/meta/recipes-kernel/linux/linux-yocto-rt_3.10.bb @@ -0,0 +1,30 @@ +require recipes-kernel/linux/linux-yocto.inc + +KBRANCH = standard/preempt-rt/base +KBRANCH_qemuppc = standard/preempt-rt/qemuppc + +SRCREV_machine ?= 77c5842818867366c3d08ca1dec19dc43aee0e91 +SRCREV_machine_qemuppc ?= 7be83bc1124d2a2c75f99df94baaf718659722ea +SRCREV_meta ?= 1b9b113837f353fd94148beb6bd00a3b7b35d01d + +SRC_URI = git://git.yoctoproject.org/linux-yocto-3.10.git;protocol=git;bareclone=1;branch=${KBRANCH},meta;name=machine,meta + +LINUX_VERSION ?= 3.10.9 + +PV = ${LINUX_VERSION}+git${SRCPV} + +KMETA = meta + +LINUX_KERNEL_TYPE = preempt-rt + +# Omit broken machines from COMPATIBLE_MACHINE +# qemuppc hangs at boot +# qemumips panics at boot +COMPATIBLE_MACHINE = (qemux86|qemux86-64|qemuarm) + +# Functionality flags +KERNEL_EXTRA_FEATURES ?= features/netfilter/netfilter.scc features/taskstats/taskstats.scc +KERNEL_FEATURES_append = ${KERNEL_EXTRA_FEATURES} +KERNEL_FEATURES_append_qemux86= cfg/sound.scc cfg/paravirt_kvm.scc +KERNEL_FEATURES_append_qemux86-64= cfg/sound.scc +KERNEL_FEATURES_append = ${@bb.utils.contains(TUNE_FEATURES, mx32, cfg/x32.scc, ,d)} diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_3.10.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_3.10.bb new file mode 100644 index 000..1c2ad37 --- /dev/null +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_3.10.bb @@ -0,0 +1,25 @@ +require recipes-kernel/linux/linux-yocto.inc + +# We need lzma (as CONFIG_KERNEL_LZMA=y) +DEPENDS += xz-native + +KBRANCH_DEFAULT = standard/tiny/base +KBRANCH = ${KBRANCH_DEFAULT} +LINUX_KERNEL_TYPE = tiny +KCONFIG_MODE = --allnoconfig + +LINUX_VERSION ?= 3.10.9 + +KMETA = meta + +SRCREV_machine ?= 6c1528b2b78d1ec7e75bb7a9880074ec35aa1aa0 +SRCREV_meta ?= 1b9b113837f353fd94148beb6bd00a3b7b35d01d + +PV = ${LINUX_VERSION}+git${SRCPV} + +SRC_URI = git://git.yoctoproject.org/linux-yocto-3.10.git;protocol=git;bareclone=1;branch=${KBRANCH},meta;name=machine,meta + +COMPATIBLE_MACHINE = (qemux86) + +# Functionality flags +KERNEL_FEATURES = diff --git a/meta/recipes-kernel/linux/linux-yocto_3.10.bb b/meta/recipes-kernel/linux/linux-yocto_3.10.bb new file mode 100644 index 000..ea6ad2a --- /dev/null +++ b/meta/recipes-kernel/linux/linux-yocto_3.10.bb @@ -0,0 +1,30 @@ +require recipes-kernel/linux/linux-yocto.inc + +KBRANCH_DEFAULT = standard/base +KBRANCH = ${KBRANCH_DEFAULT} + +SRCREV_machine_qemuarm ?= 8675d3d0a3c17135f70ef474d5c362397c02e62a +SRCREV_machine_qemumips ?= 992b743b905edd21d3a4a27c92b5c6a9e44d7d73 +SRCREV_machine_qemuppc ?= 09388c3572e26c78b34554e46e077f12be7b2401 +SRCREV_machine_qemux86 ?= 6c1528b2b78d1ec7e75bb7a9880074ec35aa1aa0 +SRCREV_machine_qemux86-64 ?= 6c1528b2b78d1ec7e75bb7a9880074ec35aa1aa0 +SRCREV_machine_qemumips64 ?= 203679cb23c752fdcbc0180a55a81728d7462561 +SRCREV_machine ?= 6c1528b2b78d1ec7e75bb7a9880074ec35aa1aa0 +SRCREV_meta ?= 1b9b113837f353fd94148beb6bd00a3b7b35d01d + +SRC_URI = git://git.yoctoproject.org/linux-yocto-3.10.git;protocol=git;bareclone=1;branch=${KBRANCH},${KMETA};name=machine,meta + +LINUX_VERSION ?= 3.10.9 + +PV = ${LINUX_VERSION}+git${SRCPV} + +KMETA = meta + +COMPATIBLE_MACHINE = qemuarm|qemux86|qemuppc|qemumips|qemumips64|qemux86-64 + +# Functionality flags +KERNEL_EXTRA_FEATURES ?= features/netfilter/netfilter.scc +KERNEL_FEATURES_append = ${KERNEL_EXTRA_FEATURES} +KERNEL_FEATURES_append_qemux86= cfg/sound.scc cfg/paravirt_kvm.scc +KERNEL_FEATURES_append_qemux86-64= cfg/sound.scc +KERNEL_FEATURES_append = ${@bb.utils.contains(TUNE_FEATURES, mx32, cfg/x32.scc, ,d)} --
[OE-core] [PATCH 3/7] linux-libc-headers: update to v3.10
Now that the 3.10 kernel has been released we can bump the libc-headers to that version and remove the 3.8 variant. Userspace compatibility is maintained through kernel versions, we also make the single 3.10 version the toolchain default. Signed-off-by: Bruce Ashfield bruce.ashfi...@windriver.com --- meta/conf/distro/include/tcmode-default.inc|2 +- .../linux-libc-headers/linux-libc-headers_3.10.bb |7 +++ .../linux-libc-headers/linux-libc-headers_3.8.bb |8 3 files changed, 8 insertions(+), 9 deletions(-) create mode 100644 meta/recipes-kernel/linux-libc-headers/linux-libc-headers_3.10.bb delete mode 100644 meta/recipes-kernel/linux-libc-headers/linux-libc-headers_3.8.bb diff --git a/meta/conf/distro/include/tcmode-default.inc b/meta/conf/distro/include/tcmode-default.inc index aa0db25..fb41d5e 100644 --- a/meta/conf/distro/include/tcmode-default.inc +++ b/meta/conf/distro/include/tcmode-default.inc @@ -22,7 +22,7 @@ SDKGCCVERSION ?= ${GCCVERSION} BINUVERSION ?= 2.23.2 EGLIBCVERSION ?= 2.18 UCLIBCVERSION ?= 0.9.33+git% -LINUXLIBCVERSION ?= 3.8 +LINUXLIBCVERSION ?= 3.10 PREFERRED_VERSION_gcc ?= ${GCCVERSION} PREFERRED_VERSION_gcc-cross ?= ${GCCVERSION} diff --git a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_3.10.bb b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_3.10.bb new file mode 100644 index 000..eb04367 --- /dev/null +++ b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_3.10.bb @@ -0,0 +1,7 @@ +require linux-libc-headers.inc + +PR = r0 + +SRC_URI[md5sum] = 72d0a9b3e60cd86fabcd3f24b1708944 +SRC_URI[sha256sum] = 46c9e55e1fddf40813b8d697d5645037a8e2af5c1a8dff52b3fe82b5021582b8 + diff --git a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_3.8.bb b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_3.8.bb deleted file mode 100644 index 5672bd4..000 --- a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_3.8.bb +++ /dev/null @@ -1,8 +0,0 @@ -require linux-libc-headers.inc - -SRC_URI += file://scripts-Makefile.headersinst-install-headers-from-sc.patch - -PR = r0 - -SRC_URI[md5sum] = fcd1d2e60e1033c935a13ef81c89ea2d -SRC_URI[sha256sum] = fce774b5313e73949cb35f128e91e7b2ccd7fa2438abc5cff69267e504395a45 -- 1.7.10.4 ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 1/7] kern-tools: usability, bug fixes and no guilt
Updating the kern-tools SRCREV to pick up the following fixes: 60a894e kgit-s2q: add proper commit ID handling for mixed am/apply usage 3b08257 kgit-s2q: delete pruning of path support. c5868b4 kgit-s2q: Restore implicit exit status to git apply section 1bd00b9 kgit-scc: mask warnings from cleanup phase 5 bb75299 kgit-s2q: fix commit warp when running git am --abort ef9571b kgit-scc: cleanup git rebase-apply dir fdb7d21 kgit-scc: ensure treegen stops if a meta series fails 008987b config: add kconfig cleaning options 69ff569 kgit-s2q: strip blank lines and comments e7b4540 kgit-init: disable garbage collection on a new tree 417eaed kgit-s2q: delete old LTSI patch dir finding code 21f2200 kgit-scc: better error checking on resume ad5084c kern-tools: use .meta as meta data container 1deb5d8 kgit-meta: don't push patches without a series file eb431a1 kgit-s2q: aid patch reject resolution via helper scripts f859c40 kgit-s2q: only use patch annotations when explicitly asked 333ae18 kgit: speed patch application by batching patches bf6991d kgit: teach tools about non-default meta dirs bcfc712 kgit-s2q: usability improvements cb28803 kgit-s2q: fix patch prefix stripping. 37f40e1 kgit-s2q: warn/exit with error if patch not in series f4704d2 kgit-s2q: consistent rm usage e11819c kgit-s2q: standardize on use of git mailinfo 36a5eda kgit: remove guilt dependency c461a4f spp/scc: export mark commands to meta-series 5311162 updateme: ensure that generated features are only used once 4f7a263 kgit-checkpoint: clear .gitignore for meta branch 21ee6f2 updateme: enforce a matching machine b08749d kgit-scc: remove -meta files after consruction These are bug fixes, usability changes as well as the removal of the guilt dependency. During the uprev of the guilt package, the amount of circumvention of the typical guilt workflow and checks meant that using it as a series - branch manager was no longer appropriate. As a result a new tools kgit-s2q (series 2 queue) was created based on git-quiltimport, git am, and the LTSI tree generation scripts. The result is better series to branch validation, faster application and a simpler management model. This tool is backwards compatible with any tree previously constructed with guilt. We are now guilt free Signed-off-by: Bruce Ashfield bruce.ashfi...@windriver.com --- meta/classes/kernel-yocto.bbclass |2 ++ meta/recipes-kernel/kern-tools/kern-tools-native_git.bb |6 +++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/meta/classes/kernel-yocto.bbclass b/meta/classes/kernel-yocto.bbclass index d513ad2..fcc00e3 100644 --- a/meta/classes/kernel-yocto.bbclass +++ b/meta/classes/kernel-yocto.bbclass @@ -262,6 +262,8 @@ python do_kernel_configcheck() { # set the default to 'meta'. Otherwise, kconf_check is not passed a valid # meta-series for processing kmeta = d.getVar( KMETA, True ) or meta +if not os.path.exists(kmeta): +kmeta = . + kmeta pathprefix = export PATH=%s:%s; % (d.getVar('PATH', True), ${S}/scripts/util/) cmd = d.expand(cd ${S}; kconf_check -config- %s/meta-series ${S} ${B} % kmeta) diff --git a/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb b/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb index c414fed..cda2659 100644 --- a/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb +++ b/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb @@ -2,11 +2,11 @@ DESCRIPTION = Scripts and utilities for managing Yocto branched kernels. LICENSE = GPLv2 LIC_FILES_CHKSUM = file://git/tools/kgit;beginline=5;endline=9;md5=d8d1d729a70cd5f52972f8884b80743d -DEPENDS = git-native guilt-native +DEPENDS = git-native -SRCREV = fbcdcb8e23c38352b46235598f34d7b345f458f1 +SRCREV = b5d6ae0f6bae16fedce15c0c9040912335783589 PR = r12 -PV = 0.1+git${SRCPV} +PV = 0.2+git${SRCPV} inherit native -- 1.7.10.4 ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 5/7] gst-plugins-good: fix 3.10 libc-headers build failure
kernel commit 24b9f5017 [[media] V4L: Remove deprecated image centering controls] removed the definitions of V4L2_CID_HCENTER and V4L2_CID_VCENTER after three years of depreciation. The ioctl values are still free, and the case statement which processess them in v4l2 userspace falls through to the proper replacement. So in the short term, we can explicitly define them using the old absolute values, and everything will work. Signed-off-by: Bruce Ashfield bruce.ashfi...@windriver.com --- ...define-V4L2_CID_HCENTER-and-V4L2_CID_VCEN.patch | 45 .../gstreamer/gst-plugins-good_0.10.31.bb |1 + 2 files changed, 46 insertions(+) create mode 100644 meta/recipes-multimedia/gstreamer/gst-plugins-good-0.10.31/0001-v4l2_calls-define-V4L2_CID_HCENTER-and-V4L2_CID_VCEN.patch diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins-good-0.10.31/0001-v4l2_calls-define-V4L2_CID_HCENTER-and-V4L2_CID_VCEN.patch b/meta/recipes-multimedia/gstreamer/gst-plugins-good-0.10.31/0001-v4l2_calls-define-V4L2_CID_HCENTER-and-V4L2_CID_VCEN.patch new file mode 100644 index 000..bd0de58 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gst-plugins-good-0.10.31/0001-v4l2_calls-define-V4L2_CID_HCENTER-and-V4L2_CID_VCEN.patch @@ -0,0 +1,45 @@ +From ccb01de8096a32d86d47b0d92ec3416c57ee4d25 Mon Sep 17 00:00:00 2001 +From: Bruce Ashfield bruce.ashfi...@windriver.com +Date: Thu, 22 Aug 2013 12:15:54 -0400 +Subject: [PATCH] v4l2_calls: define V4L2_CID_HCENTER and V4L2_CID_VCENTER + +kernel commit 24b9f5017 [[media] V4L: Remove deprecated image centering controls] +removed the definitions of V4L2_CID_HCENTER and V4L2_CID_VCENTER after three +years of depreciation. + +The ioctl values are still free, and the case statement which processess them +in v4l2 userspace falls through to the proper replacement. So in the short +term, we can explicitly define them using the old absolute values, and everything +will work. + +Signed-off-by: Bruce Ashfield bruce.ashfi...@windriver.com +--- + sys/v4l2/v4l2_calls.c |9 +++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +diff --git a/sys/v4l2/v4l2_calls.c b/sys/v4l2/v4l2_calls.c +index 309bfb6..3c64544 100644 +--- a/sys/v4l2/v4l2_calls.c b/sys/v4l2/v4l2_calls.c +@@ -54,11 +54,16 @@ + #include gst/gst-i18n-plugin.h + + /* Those are ioctl calls */ ++ ++/* V4L2_CID_HCENTER has been removed from the mainline kernel, but ++ the ioctl space is still present. Since these values fall through ++ to their replacement, it is safe (in the short term) to re-use the ++old values explictily */ + #ifndef V4L2_CID_HCENTER +-#define V4L2_CID_HCENTER V4L2_CID_HCENTER_DEPRECATED ++#define V4L2_CID_HCENTER V4L2_CID_BASE+22 + #endif + #ifndef V4L2_CID_VCENTER +-#define V4L2_CID_VCENTER V4L2_CID_VCENTER_DEPRECATED ++#define V4L2_CID_VCENTER V4L2_CID_BASE+23 + #endif + + GST_DEBUG_CATEGORY_EXTERN (v4l2_debug); +-- +1.7.10.4 + diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins-good_0.10.31.bb b/meta/recipes-multimedia/gstreamer/gst-plugins-good_0.10.31.bb index daffcf1..d18e155 100644 --- a/meta/recipes-multimedia/gstreamer/gst-plugins-good_0.10.31.bb +++ b/meta/recipes-multimedia/gstreamer/gst-plugins-good_0.10.31.bb @@ -23,6 +23,7 @@ DEPENDS += gst-plugins-base gconf cairo libpng zlib libid3tag flac \ inherit gettext gconf SRC_URI += file://0001-v4l2-fix-build-with-recent-kernels-the-v4l2_buffer-i.patch +SRC_URI += file://0001-v4l2_calls-define-V4L2_CID_HCENTER-and-V4L2_CID_VCEN.patch EXTRA_OECONF += --disable-aalib --disable-esd --disable-shout2 --disable-libcaca --disable-hal --without-check \ --disable-examples --disable-taglib -- 1.7.10.4 ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 2/7] guilt: update to latest git version
Uprev guilt to the latest guilt version from its upstream repository. As part of the uprev all of the previous changes required for the yocto kernel tools to use git to manipulate series files have been dropped. These changes were specific to circumventing parts of guilt's internal santiy checking to allow specific Yocto kernel manipluation of sub-series files. Since the kernel tools no longer need guilt, we can use an up to date and nearly pure upstream version of guilt. Signed-off-by: Bruce Ashfield bruce.ashfi...@windriver.com --- .../guilt/files/guilt-import-commit.patch | 96 -- meta/recipes-devtools/guilt/files/guilt-init.patch | 25 -- meta/recipes-devtools/guilt/files/guilt-pop.patch | 73 - .../guilt/files/guilt-push-no-series.patch | 29 -- meta/recipes-devtools/guilt/files/guilt-push.patch | 42 --- .../guilt/files/guilt-set-git_exec_path.patch | 29 -- ...lt-update-supported-git-versions-to-1.8.x.patch | 28 -- meta/recipes-devtools/guilt/files/guilt.patch | 319 .../guilt/files/improve_auto_header_gen.patch | 71 - .../files/make_git_commands_conditional.patch | 48 --- .../guilt/files/optional_head_check.patch | 60 .../guilt/files/uninstall_force.patch | 14 - .../{guilt-native_0.33.bb = guilt-native_git.bb} | 21 +- 13 files changed, 6 insertions(+), 849 deletions(-) delete mode 100644 meta/recipes-devtools/guilt/files/guilt-import-commit.patch delete mode 100644 meta/recipes-devtools/guilt/files/guilt-init.patch delete mode 100644 meta/recipes-devtools/guilt/files/guilt-pop.patch delete mode 100644 meta/recipes-devtools/guilt/files/guilt-push-no-series.patch delete mode 100644 meta/recipes-devtools/guilt/files/guilt-push.patch delete mode 100644 meta/recipes-devtools/guilt/files/guilt-set-git_exec_path.patch delete mode 100644 meta/recipes-devtools/guilt/files/guilt-update-supported-git-versions-to-1.8.x.patch delete mode 100644 meta/recipes-devtools/guilt/files/guilt.patch delete mode 100644 meta/recipes-devtools/guilt/files/improve_auto_header_gen.patch delete mode 100644 meta/recipes-devtools/guilt/files/make_git_commands_conditional.patch delete mode 100644 meta/recipes-devtools/guilt/files/optional_head_check.patch delete mode 100644 meta/recipes-devtools/guilt/files/uninstall_force.patch rename meta/recipes-devtools/guilt/{guilt-native_0.33.bb = guilt-native_git.bb} (45%) diff --git a/meta/recipes-devtools/guilt/files/guilt-import-commit.patch b/meta/recipes-devtools/guilt/files/guilt-import-commit.patch deleted file mode 100644 index bd746c5..000 --- a/meta/recipes-devtools/guilt/files/guilt-import-commit.patch +++ /dev/null @@ -1,96 +0,0 @@ -guilt: import commits via git format-patch - -Rather than attempting to process commits directly, it -is preferable to try dumping the change via git format-patch -to take advantage of the proper header/subject/from lines that -are generated. - -If patches cannot be exported, fall back to importing -commits via a more custom method. - -Upstream-Status: Inappropriate [oe-specific] - -Signed-off-by: Bruce Ashfield bruce.ashfi...@windriver.com - - guilt-import-commit | 40 +--- - 1 file changed, 29 insertions(+), 11 deletions(-) - a/guilt-import-commit -+++ b/guilt-import-commit -@@ -20,46 +20,64 @@ fi - disp About to begin conversion... 2 - disp Current head: `cat $GIT_DIR/refs/heads/$branch` 2 - -+# try git-format-patch first, if it fails fall back to internal -+# methods. -+patches=`git-format-patch -o $GUILT_DIR/$branch $rhash` -+if [ -z $patches ]; then -+need_custom_patches=1 -+fi -+ - for rev in `git rev-list $rhash`; do -+if [ ! -z $need_custom_patches ]; then - s=`git log --pretty=oneline -1 $rev | cut -c 42-` - - fname=`echo $s | sed -e s//and/g -e s/[ :]/_/g -e s,[/\\],-,g \ -- -e s/['\\[{}]//g -e 's/]//g' -e 's/\*/-/g' \ -+ -e s/['\\()[{}]//g -e 's/]//g' -e 's/\*/-/g' \ - -e 's/\?/-/g' | tr A-Z a-z` - -- disp Converting `echo $rev | cut -c 1-8` as $fname -+ disp Converting `echo $rev | cut -c 1-8` as $fname.patch - - mangle_prefix=1 - fname_base=$fname -- while [ -f $GUILT_DIR/$branch/$fname ]; do -+ while [ -f $GUILT_DIR/$branch/$fname.patch ]; do - fname=$fname_base-$mangle_prefix - mangle_prefix=`expr $mangle_prefix + 1` -- disp Patch under that name exists...trying '$fname' -+ disp Patch under that name exists...trying '$fname.patch' - done - - ( - do_make_header $rev - echo - git diff --binary $rev^..$rev -- ) $GUILT_DIR/$branch/$fname -+ ) $GUILT_DIR/$branch/$fname.patch - - # FIXME: grab the GIT_AUTHOR_DATE from the commit object and set the - # timestamp on the patch - -- #
[OE-core] [v2 PATCH 0/7] linux-yocto: consolidated pull request
Richard/Saul, I managed to find enough time to turn around some fixes .. This series completely replaces the one that I had sent before. It fixes the two issues that Saul reported: a patch issue with the 3.8 arm BSPs and the ptrace.h related build failures from the 3.10 libc-headers Changes since v1: - Fixed the strace build issue with eglibc's ptrace and the kernel's ptrace conflicting - Remove the linux-yocto-3.8 recipes, since the routerstation pro is now bumped to 3.10. - updated kern tools commit to fix the 3.8 patching issues Take a special look at the eglibc patch. It does work, and passed a full build here. It also protects anyone using a new kernel, and not just linux-yocto users. I don't normally patch c libraries .. but I made an exception this time :) Cheers, Bruce The original email follows: - Here's my consolidated set of changes that represent the biggest chunk of work for the Yocto 1.5 release. The obvious change is that the 3.10 kernel is now the latest linux-yocto kernel (and linux-yocto-dev will mark on). I've built and booted core-image-sato for all the oe-core qemu machines. 3.10 also the latest LTSI and will be updated with that content when it becomes available. Other features of the 3.10 kernel include: - refreshed -rt support - refreshed yaffs2, aufs3 - cryptodev - bfs, edf, and OCF staged features - scrubbed and updated meta data for v3.10 - improved tools support for meta data updates and queue maintenance - patch carry forward from all previous linux-yocto kernels and configuration. I've also tested linux-yocto-rt and linux-yocto-tiny for the new, shiny tree. I've also bumped the linux-libc-headers to 3.10 and have fixed gst-plugins-good to adapt to a changed #define in the exported headers. Other parts of this update include an uprev of guilt, and in fact, a restoration of normal guil operations, since the kernel tree is now manipulated and maintained via a smaller, more contained script. This was necessary for both usability reasons and the fact that all of guilts protections were being removed for the kernel's use .. which makes you ask the quesetion why use it. It was time for a change. The patches are pretty self explanitory and all contain detailed long logs .. but the summary is: [PATCH 1/5] kern-tools: usability, bug fixes and no guilt [PATCH 2/5] guilt: update to latest git version [PATCH 3/5] linux-libc-headers: update to v3.10 [PATCH 4/5] gst-plugins-good: fix 3.10 libc-headers build failure [PATCH 5/5] linux-yocto: introduce v3.10 ** There is one pending activity. As part of thsi update to 3.10, we want to move to the 3.4 and 3.10 kernel, dropping 3.8 support. But the routerstationpro BSP is still using it as its preferred version. I'm a one man show on this update, and I wasn't able to get the 100+ patches ported to 3.10 AND get this update out before the M4 cutoff. ** I'm still attempting to udpate all the reference boards, and once done, I'll send a follow up patch. ** Please test, I've done my best, but things can slip through. We'll work issues in the stabilization period. Cheers, Bruce The following changes since commit b467b99a5d25efe5eadfb07dbecba608575256ac: linux-yocto: switch genericx86 to use common-pc (2013-08-24 09:37:49 +0100) are available in the git repository at: git://git.pokylinux.org/poky-contrib zedd/kernel http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=zedd/kernel Bruce Ashfield (7): kern-tools: usability, bug fixes and no guilt guilt: update to latest git version linux-libc-headers: update to v3.10 eglibc: ptrace: protect ptrace_peeksiginfo_args from redefintion gst-plugins-good: fix 3.10 libc-headers build failure linux-yocto: introduce v3.10 linux-yocto: remove 3.8 recipes meta/classes/kernel-yocto.bbclass |2 + meta/conf/distro/include/tcmode-default.inc|2 +- ...ect-ptrace_peeksiginfo_args-from-redefint.patch | 55 meta/recipes-core/eglibc/eglibc_2.18.bb|1 + .../guilt/files/guilt-import-commit.patch | 96 -- meta/recipes-devtools/guilt/files/guilt-init.patch | 25 -- meta/recipes-devtools/guilt/files/guilt-pop.patch | 73 - .../guilt/files/guilt-push-no-series.patch | 29 -- meta/recipes-devtools/guilt/files/guilt-push.patch | 42 --- .../guilt/files/guilt-set-git_exec_path.patch | 29 -- ...lt-update-supported-git-versions-to-1.8.x.patch | 28 -- meta/recipes-devtools/guilt/files/guilt.patch | 319 .../guilt/files/improve_auto_header_gen.patch | 71 - .../files/make_git_commands_conditional.patch | 48 --- .../guilt/files/optional_head_check.patch | 60 .../guilt/files/uninstall_force.patch | 14 - .../{guilt-native_0.33.bb = guilt-native_git.bb} | 21 +- .../kern-tools/kern-tools-native_git.bb|6 +-
[OE-core] [PATCH 4/7] eglibc: ptrace: protect ptrace_peeksiginfo_args from redefintion
linux kernel commit 84c751bd [ptrace: add ability to retrieve signals without removing from a queue (v4)] added ptrace_peeksiginfo_args to the exported kernel user api. This leads to build errors such as: | In file included from /poky-master/build/tmp/work/i586-poky-linux/strace/4.8-r0/strace-4.8/process.c:66:0: | /poky-master/build/tmp/sysroots/qemux86/usr/include/linux/ptrace.h:58:8: error: redefinition of 'struct ptrace_peeksiginfo_args' | struct ptrace_peeksiginfo_args { | ^ | In file included from /poky-master/build/tmp/work/i586-poky-linux/strace/4.8-r0/strace-4.8/defs.h:159:0, | from /poky-master/build/tmp/work/i586-poky-linux/strace/4.8-r0/strace-4.8/process.c:37: | /poky-master/build/tmp/sysroots/qemux86/usr/include/sys/ptrace.h:191:8: note: originally defined here | struct ptrace_peeksiginfo_args | ^ | make[2]: *** [process.o] Error 1 In files that include both the eglibc sys/ptrace.h and the linux kernel exported one. We can avoid this by making the eglibc variant only declare its structure if PTRACE_PEEKSIGINFO has not been defined. Signed-off-by: Bruce Ashfield bruce.ashfi...@windriver.com --- ...ect-ptrace_peeksiginfo_args-from-redefint.patch | 55 meta/recipes-core/eglibc/eglibc_2.18.bb|1 + 2 files changed, 56 insertions(+) create mode 100644 meta/recipes-core/eglibc/eglibc-2.18/0001-ptrace-protect-ptrace_peeksiginfo_args-from-redefint.patch diff --git a/meta/recipes-core/eglibc/eglibc-2.18/0001-ptrace-protect-ptrace_peeksiginfo_args-from-redefint.patch b/meta/recipes-core/eglibc/eglibc-2.18/0001-ptrace-protect-ptrace_peeksiginfo_args-from-redefint.patch new file mode 100644 index 000..edf10fb --- /dev/null +++ b/meta/recipes-core/eglibc/eglibc-2.18/0001-ptrace-protect-ptrace_peeksiginfo_args-from-redefint.patch @@ -0,0 +1,55 @@ +From b5fe604678ffc7e0d6c2704a73d22f99b24a6d25 Mon Sep 17 00:00:00 2001 +From: Bruce Ashfield bruce.ashfi...@windriver.com +Date: Sat, 24 Aug 2013 23:51:06 -0400 +Subject: [PATCH] ptrace: protect ptrace_peeksiginfo_args from redefintion + +linux kernel commit 84c751bd [ptrace: add ability to retrieve signals without removing from a queue (v4)] +added ptrace_peeksiginfo_args to the exported kernel user api. + +This leads to build errors such as: + +| In file included from /poky-master/build/tmp/work/i586-poky-linux/strace/4.8-r0/strace-4.8/process.c:66:0: +| /poky-master/build/tmp/sysroots/qemux86/usr/include/linux/ptrace.h:58:8: error: redefinition of 'struct ptrace_peeksiginfo_args' +| struct ptrace_peeksiginfo_args { +| ^ +| In file included from /poky-master/build/tmp/work/i586-poky-linux/strace/4.8-r0/strace-4.8/defs.h:159:0, +| from /poky-master/build/tmp/work/i586-poky-linux/strace/4.8-r0/strace-4.8/process.c:37: +| /poky-master/build/tmp/sysroots/qemux86/usr/include/sys/ptrace.h:191:8: note: originally defined here +| struct ptrace_peeksiginfo_args +| ^ +| make[2]: *** [process.o] Error 1 + +In files that include both the eglibc sys/ptrace.h and the linux kernel exported +one. + +We can avoid this by making the eglibc variant only declare its structure if PTRACE_PEEKSIGINFO +has not been defined. + +Signed-off-by: Bruce Ashfield bruce.ashfi...@windriver.com +--- + libc/sysdeps/unix/sysv/linux/sys/ptrace.h |2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/sysdeps/unix/sysv/linux/sys/ptrace.h b/sysdeps/unix/sysv/linux/sys/ptrace.h +index 2b78565..7800d9a 100644 +--- a/sysdeps/unix/sysv/linux/sys/ptrace.h b/sysdeps/unix/sysv/linux/sys/ptrace.h +@@ -187,6 +187,7 @@ enum __ptrace_eventcodes + PTRAVE_EVENT_SECCOMP = 7 + }; + ++#ifndef PTRACE_PEEKSIGINFO + /* Arguments for PTRACE_PEEKSIGINFO. */ + struct ptrace_peeksiginfo_args + { +@@ -194,6 +195,7 @@ struct ptrace_peeksiginfo_args + __uint32_t flags; /* Flags for peeksiginfo. */ + __int32_t nr; /* How many siginfos to take. */ + }; ++#endif + + enum __ptrace_peeksiginfo_flags + { +-- +1.7.10.4 + diff --git a/meta/recipes-core/eglibc/eglibc_2.18.bb b/meta/recipes-core/eglibc/eglibc_2.18.bb index 17b651f..2257c21 100644 --- a/meta/recipes-core/eglibc/eglibc_2.18.bb +++ b/meta/recipes-core/eglibc/eglibc_2.18.bb @@ -26,6 +26,7 @@ SRC_URI = http://downloads.yoctoproject.org/releases/eglibc/eglibc-${PV}-svnr23 file://tzselect-awk.patch \ file://0001-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch \ file://fix-tibetian-locales.patch \ + file://0001-ptrace-protect-ptrace_peeksiginfo_args-from-redefint.patch \ SRC_URI[md5sum] = b395b021422a027d89884992e91734fc SRC_URI[sha256sum] = 15f564b45dc5dd65faf0875579e3447961ae61e876933384ae05d19328539ad4 -- 1.7.10.4 ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core