* [PATCH 8/8] linux-yocto/4.x: CVE-2016-8655
From: Bruce Ashfield @ 2016-12-08 17:58 UTC (permalink / raw)
To: richard.purdie; +Cc: openembedded-core
In-Reply-To: <cover.1481216659.git.bruce.ashfield@windriver.com>
Backporting upstream commit 84ac726023 [packet: fix race condition in
packet_set_ring] to address CVE-2016-8655
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
---
meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb | 2 +-
meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb | 2 +-
meta/recipes-kernel/linux/linux-yocto-rt_4.8.bb | 2 +-
meta/recipes-kernel/linux/linux-yocto-tiny_4.1.bb | 2 +-
meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb | 2 +-
meta/recipes-kernel/linux/linux-yocto-tiny_4.8.bb | 2 +-
meta/recipes-kernel/linux/linux-yocto_4.1.bb | 16 ++++++++--------
meta/recipes-kernel/linux/linux-yocto_4.4.bb | 16 ++++++++--------
meta/recipes-kernel/linux/linux-yocto_4.8.bb | 16 ++++++++--------
9 files changed, 30 insertions(+), 30 deletions(-)
diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb b/meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb
index 529fa205f199..de3582a7aa05 100644
--- a/meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb
+++ b/meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb
@@ -11,7 +11,7 @@ python () {
raise bb.parse.SkipPackage("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
}
-SRCREV_machine ?= "47e987ba389beac0c7983dd37f215807eee86881"
+SRCREV_machine ?= "f3ffbf4880a5103504a4e11c9427b0bdbf222939"
SRCREV_meta ?= "44719fa8f73fd7c444044ad3c04f5fc66f57b993"
SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.1.git;branch=${KBRANCH};name=machine \
diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb b/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb
index 45c59b94afd5..d6e9626c00eb 100644
--- a/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb
+++ b/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb
@@ -11,7 +11,7 @@ python () {
raise bb.parse.SkipPackage("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
}
-SRCREV_machine ?= "2abc21f69ad9c72b296a85cd738254b5483da229"
+SRCREV_machine ?= "61d7bf47fe27b7dfd9a73b0a6de2d78a29af8b74"
SRCREV_meta ?= "b846fc6436aa5d4c747d620e83dfda969854d10c"
SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.4.git;branch=${KBRANCH};name=machine \
diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_4.8.bb b/meta/recipes-kernel/linux/linux-yocto-rt_4.8.bb
index c939bbabd112..8ed9d8f3743f 100644
--- a/meta/recipes-kernel/linux/linux-yocto-rt_4.8.bb
+++ b/meta/recipes-kernel/linux/linux-yocto-rt_4.8.bb
@@ -11,7 +11,7 @@ python () {
raise bb.parse.SkipPackage("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
}
-SRCREV_machine ?= "aa9ab71e9d9539c7f81282a47e87dea79c2e0f4e"
+SRCREV_machine ?= "b2d665b3453891cd066c8a172af0b7785c365f57"
SRCREV_meta ?= "b22e47739683444916dc64548df1dbf6856500a5"
SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.8.git;branch=${KBRANCH};name=machine \
diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_4.1.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_4.1.bb
index 28ddfa993635..80be144e4ee4 100644
--- a/meta/recipes-kernel/linux/linux-yocto-tiny_4.1.bb
+++ b/meta/recipes-kernel/linux/linux-yocto-tiny_4.1.bb
@@ -9,7 +9,7 @@ LINUX_VERSION ?= "4.1.36"
KMETA = "kernel-meta"
KCONF_BSP_AUDIT_LEVEL = "2"
-SRCREV_machine ?= "f75d58721859cd2ce5382bcdcae35479a6ce9f21"
+SRCREV_machine ?= "fec49247816d7045aa8abe0047bcd4737af9a853"
SRCREV_meta ?= "44719fa8f73fd7c444044ad3c04f5fc66f57b993"
PV = "${LINUX_VERSION}+git${SRCPV}"
diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb
index 28c3dfad8cc7..dfd947cf75ce 100644
--- a/meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb
+++ b/meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb
@@ -9,7 +9,7 @@ LINUX_VERSION ?= "4.4.36"
KMETA = "kernel-meta"
KCONF_BSP_AUDIT_LEVEL = "2"
-SRCREV_machine ?= "9cc72ea6194abae764a2db8f6a32cde60e739d7c"
+SRCREV_machine ?= "35482df5d5ba0807eb8a7c40b554bd657e3f9987"
SRCREV_meta ?= "b846fc6436aa5d4c747d620e83dfda969854d10c"
PV = "${LINUX_VERSION}+git${SRCPV}"
diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_4.8.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_4.8.bb
index e1de91461f43..43dc34bd25a4 100644
--- a/meta/recipes-kernel/linux/linux-yocto-tiny_4.8.bb
+++ b/meta/recipes-kernel/linux/linux-yocto-tiny_4.8.bb
@@ -9,7 +9,7 @@ LINUX_VERSION ?= "4.8.12"
KMETA = "kernel-meta"
KCONF_BSP_AUDIT_LEVEL = "2"
-SRCREV_machine ?= "c12f4b364b6638843f5b9049c7fd467503bf30a8"
+SRCREV_machine ?= "e274a507b23c23bf0dd6502d0c38fae731c11511"
SRCREV_meta ?= "b22e47739683444916dc64548df1dbf6856500a5"
PV = "${LINUX_VERSION}+git${SRCPV}"
diff --git a/meta/recipes-kernel/linux/linux-yocto_4.1.bb b/meta/recipes-kernel/linux/linux-yocto_4.1.bb
index 70ff99de1dd0..b55487782776 100644
--- a/meta/recipes-kernel/linux/linux-yocto_4.1.bb
+++ b/meta/recipes-kernel/linux/linux-yocto_4.1.bb
@@ -11,14 +11,14 @@ KBRANCH_qemux86 ?= "standard/base"
KBRANCH_qemux86-64 ?= "standard/base"
KBRANCH_qemumips64 ?= "standard/mti-malta64"
-SRCREV_machine_qemuarm ?= "6f0ca13105ff444e5adcea39d68c5f7707b1d23b"
-SRCREV_machine_qemuarm64 ?= "f75d58721859cd2ce5382bcdcae35479a6ce9f21"
-SRCREV_machine_qemumips ?= "d5bd5d3069bfccfb76c420f27e1e6fd94aaa3dcc"
-SRCREV_machine_qemuppc ?= "1006b2e79cf808a2e8a74a1b0325dec9b4d0873e"
-SRCREV_machine_qemux86 ?= "f75d58721859cd2ce5382bcdcae35479a6ce9f21"
-SRCREV_machine_qemux86-64 ?= "f75d58721859cd2ce5382bcdcae35479a6ce9f21"
-SRCREV_machine_qemumips64 ?= "985d7f27f0ad497a0072320fbbf05626e27c741a"
-SRCREV_machine ?= "f75d58721859cd2ce5382bcdcae35479a6ce9f21"
+SRCREV_machine_qemuarm ?= "c8ab8bf2bdff3b355710065725f4e272bf0a5a5d"
+SRCREV_machine_qemuarm64 ?= "fec49247816d7045aa8abe0047bcd4737af9a853"
+SRCREV_machine_qemumips ?= "475a0182d9e940351a3fecaecb31e55effad45ad"
+SRCREV_machine_qemuppc ?= "88a3e5a3a8f693d25b09b64cd2be5df783933f74"
+SRCREV_machine_qemux86 ?= "fec49247816d7045aa8abe0047bcd4737af9a853"
+SRCREV_machine_qemux86-64 ?= "fec49247816d7045aa8abe0047bcd4737af9a853"
+SRCREV_machine_qemumips64 ?= "9ffd7155a07e7cfed2229b3a78d2278f3b56f13d"
+SRCREV_machine ?= "fec49247816d7045aa8abe0047bcd4737af9a853"
SRCREV_meta ?= "44719fa8f73fd7c444044ad3c04f5fc66f57b993"
SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.1.git;name=machine;branch=${KBRANCH}; \
diff --git a/meta/recipes-kernel/linux/linux-yocto_4.4.bb b/meta/recipes-kernel/linux/linux-yocto_4.4.bb
index 2246555a3ff8..7d734ac423dc 100644
--- a/meta/recipes-kernel/linux/linux-yocto_4.4.bb
+++ b/meta/recipes-kernel/linux/linux-yocto_4.4.bb
@@ -11,14 +11,14 @@ KBRANCH_qemux86 ?= "standard/base"
KBRANCH_qemux86-64 ?= "standard/base"
KBRANCH_qemumips64 ?= "standard/mti-malta64"
-SRCREV_machine_qemuarm ?= "0166111980b931967bf3449d3d040aac6ff523a8"
-SRCREV_machine_qemuarm64 ?= "9cc72ea6194abae764a2db8f6a32cde60e739d7c"
-SRCREV_machine_qemumips ?= "90bf4bfeee3d0ca1cf0077dc1e0045cd9237e392"
-SRCREV_machine_qemuppc ?= "9cc72ea6194abae764a2db8f6a32cde60e739d7c"
-SRCREV_machine_qemux86 ?= "9cc72ea6194abae764a2db8f6a32cde60e739d7c"
-SRCREV_machine_qemux86-64 ?= "9cc72ea6194abae764a2db8f6a32cde60e739d7c"
-SRCREV_machine_qemumips64 ?= "fd20390d53c24f1ef0293b2c26b8e883e87e91f3"
-SRCREV_machine ?= "9cc72ea6194abae764a2db8f6a32cde60e739d7c"
+SRCREV_machine_qemuarm ?= "2859bb3c9e1bb307d9e4e03032fd8a529137552f"
+SRCREV_machine_qemuarm64 ?= "35482df5d5ba0807eb8a7c40b554bd657e3f9987"
+SRCREV_machine_qemumips ?= "3c4c23020da8a0596a64c8784c6d3a2dfa1ea324"
+SRCREV_machine_qemuppc ?= "35482df5d5ba0807eb8a7c40b554bd657e3f9987"
+SRCREV_machine_qemux86 ?= "35482df5d5ba0807eb8a7c40b554bd657e3f9987"
+SRCREV_machine_qemux86-64 ?= "35482df5d5ba0807eb8a7c40b554bd657e3f9987"
+SRCREV_machine_qemumips64 ?= "5d05923ecc402c127b92543ee44b890de5c53a7e"
+SRCREV_machine ?= "35482df5d5ba0807eb8a7c40b554bd657e3f9987"
SRCREV_meta ?= "b846fc6436aa5d4c747d620e83dfda969854d10c"
SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.4.git;name=machine;branch=${KBRANCH}; \
diff --git a/meta/recipes-kernel/linux/linux-yocto_4.8.bb b/meta/recipes-kernel/linux/linux-yocto_4.8.bb
index 4be42679551a..090358873b46 100644
--- a/meta/recipes-kernel/linux/linux-yocto_4.8.bb
+++ b/meta/recipes-kernel/linux/linux-yocto_4.8.bb
@@ -11,14 +11,14 @@ KBRANCH_qemux86 ?= "standard/base"
KBRANCH_qemux86-64 ?= "standard/base"
KBRANCH_qemumips64 ?= "standard/mti-malta64"
-SRCREV_machine_qemuarm ?= "9e3e856bc06ddaacc5f4075603630fcca76810f7"
-SRCREV_machine_qemuarm64 ?= "008b4cdf62307da4e07082fd8782d70ba07500cb"
-SRCREV_machine_qemumips ?= "c86ac5b3228b43304d8b2f1d49a0e4bd66207342"
-SRCREV_machine_qemuppc ?= "5a245217d5271d1961df408b9a723a4eb188e0bf"
-SRCREV_machine_qemux86 ?= "45f25516edd8636f1fec250f6e3020408cd30be9"
-SRCREV_machine_qemux86-64 ?= "45f25516edd8636f1fec250f6e3020408cd30be9"
-SRCREV_machine_qemumips64 ?= "7bfa2a19b1aa9f1389f8276d6a7669472517b18a"
-SRCREV_machine ?= "45f25516edd8636f1fec250f6e3020408cd30be9"
+SRCREV_machine_qemuarm ?= "2bb25d9e29ff91d3266e6abe12c6c1a6b6508e98"
+SRCREV_machine_qemuarm64 ?= "4b1b4bfb6cf27609b37eb44cd7fee700cd402123"
+SRCREV_machine_qemumips ?= "d116a8bdd1d90fe3dde092f119a2dde1674b02c4"
+SRCREV_machine_qemuppc ?= "ef0e5cfd16edcb52ec2e3d5abdcb97d8881b2c3d"
+SRCREV_machine_qemux86 ?= "021b4aef55b44597587a1ce5879be642b3dca155"
+SRCREV_machine_qemux86-64 ?= "021b4aef55b44597587a1ce5879be642b3dca155"
+SRCREV_machine_qemumips64 ?= "1b20066b88c3abdde1f6c449b6562a516b4cce6d"
+SRCREV_machine ?= "021b4aef55b44597587a1ce5879be642b3dca155"
SRCREV_meta ?= "b22e47739683444916dc64548df1dbf6856500a5"
SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.8.git;name=machine;branch=${KBRANCH}; \
--
2.5.0
^ permalink raw reply related
* [PATCH 7/8] linux-yocto-rt/4.4: update to -rt43
From: Bruce Ashfield @ 2016-12-08 17:58 UTC (permalink / raw)
To: richard.purdie; +Cc: openembedded-core
In-Reply-To: <cover.1481216659.git.bruce.ashfield@windriver.com>
After the update to 4.4.36 -rt no longer builds. The fixes for the
issues are found in the v4.4-rt43 release.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
---
meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb b/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb
index 35239fdbebf4..45c59b94afd5 100644
--- a/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb
+++ b/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb
@@ -11,7 +11,7 @@ python () {
raise bb.parse.SkipPackage("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
}
-SRCREV_machine ?= "e4d81ef9c99669e815ca91e1bb02e80a59541766"
+SRCREV_machine ?= "2abc21f69ad9c72b296a85cd738254b5483da229"
SRCREV_meta ?= "b846fc6436aa5d4c747d620e83dfda969854d10c"
SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.4.git;branch=${KBRANCH};name=machine \
--
2.5.0
^ permalink raw reply related
* [PATCH 6/8] kern-tools: ensure that no shared directories are used
From: Bruce Ashfield @ 2016-12-08 17:58 UTC (permalink / raw)
To: richard.purdie; +Cc: openembedded-core
In-Reply-To: <cover.1481216659.git.bruce.ashfield@windriver.com>
We need to avoid using shared/common directories for any files that are
part of specific build, since permissions issues in multi user
environments will cause issues.
Integrating the following commit to solve the issue:
scc: move unused patch queue under output dir
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
---
meta/recipes-kernel/kern-tools/kern-tools-native_git.bb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
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 0f8a786176f9..8af01559dfb1 100644
--- a/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb
+++ b/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb
@@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = "file://git/tools/kgit;beginline=5;endline=9;md5=a6c2fa8aef1b
DEPENDS = "git-native"
-SRCREV = "bd9e1d6c9b0a34ff3e19a06999aaf57ffadfd04c"
+SRCREV = "85564e69555b713c2759d58ec5ade54424d051d8"
PR = "r12"
PV = "0.2+git${SRCPV}"
--
2.5.0
^ permalink raw reply related
* [PATCH 5/8] linux-yocto/4.8: update to v4.8.12
From: Bruce Ashfield @ 2016-12-08 17:58 UTC (permalink / raw)
To: richard.purdie; +Cc: openembedded-core
In-Reply-To: <cover.1481216659.git.bruce.ashfield@windriver.com>
shortlog of the changes follow:
356ccf6d2b0c Linux 4.8.12
f81c90012f2f scsi: mpt3sas: Unblock device after controller reset
3de3eebb10fd flow_dissect: call init_default_flow_dissectors() earlier
7838fbe25a95 mm, oom: stop pre-mature high-order OOM killer invocations
374ff835e2b6 can: bcm: fix support for CAN FD frames
7ed8d94b99b3 powerpc/boot: Fix the early OPAL console wrappers
7cbe9568fa04 powerpc/mm: Fixup kernel read only mapping
30988ea31783 powerpc: Set missing wakeup bit in LPCR on POWER9
8d248df485f2 device-dax: fail all private mapping attempts
f87a483126b5 device-dax: check devm_nsio_enable() return value
5b08489eba14 xc2028: Fix use-after-free bug properly
9030deb21f29 X.509: Fix double free in x509_cert_parse() [ver #3]
0257b7e20c07 mpi: Fix NULL ptr dereference in mpi_powm() [ver #3]
bdab996a7a9e mmc: sdhci-of-esdhc: fixup PRESENT_STATE read
0a80bef18a9f parisc: Also flush data TLB in flush_icache_page_asm
09e35a83cdc9 parisc: Fix race in pci-dma.c
3cb2bc6fdc54 parisc: Switch to generic sched_clock implementation
113b60efa37c parisc: Fix races in parisc_setup_cache_timing()
b2f64572db2e thermal/powerclamp: add back module device table
6dfe1643b56a perf/x86/intel: Cure bogus unwind from PEBS entries
403f47ddbf6b perf/core: Fix address filter parser
c5795c5f682d x86/traps: Ignore high word of regs->cs in early_fixup_exception()
885bad1e5f32 x86/fpu: Fix invalid FPU ptrace state after execve()
1a42cd56229b NFSv4.x: hide array-bounds warning
154c665b2b02 apparmor: fix change_hat not finding hat after policy replacement
9c15a98542f0 cfg80211: limit scan results cache size
f204d21ee0b7 tile: avoid using clocksource_cyc2ns with absolute cycle count
c707019bef62 scsi: mpt3sas: Fix secure erase premature termination
b33387f6a68d Fix USB CB/CBI storage devices with CONFIG_VMAP_STACK=y
89a28f3a3c77 USB: serial: ftdi_sio: add support for TI CC3200 LaunchPad
6476f6530187 USB: serial: cp210x: add ID for the Zone DPMX
7445ffb75ed5 usb: chipidea: move the lock initialization to core file
32fe669c8634 KVM: x86: check for pic and ioapic presence before use
c02d13809180 KVM: x86: fix out-of-bounds accesses of rtc_eoi map
39b653013527 KVM: x86: drop error recovery in em_jmp_far and em_ret_far
3c22c81377d4 KVM: x86: fix out-of-bounds access in lapic
eb060c1a03f7 iommu/vt-d: Fix IOMMU lookup for SR-IOV Virtual Functions
8b23f16343f6 iommu/vt-d: Fix PASID table allocation
36bd5bfe4349 Linux 4.8.11
a9a0027757f8 gpio: pca953x: Fix corruption of other gpios in set_multiple.
88fce76cf590 gpio: pca953x: Move memcpy into mutex lock for set multiple
9a7b80894951 netfilter: nft_dynset: fix element timeout for HZ != 1000
fd4251fa4d09 IB/cm: Mark stale CM id's whenever the mad agent was unregistered
8ce92be782f8 IB/uverbs: Fix leak of XRC target QPs
160149299f71 IB/hfi1: Remove incorrect IS_ERR check
46e47543175b IB/core: Avoid unsigned int overflow in sg_alloc_table
82c377d05311 IB/mlx5: Fix NULL pointer dereference on debug print
554e4b69f1bb IB/mlx5: Fix fatal error dispatching
32091ee63d17 IB/mlx5: Fix memory leak in query device
21822a5bbddd IB/mlx5: Use cache line size to select CQE stride
ad886a0e9035 IB/mlx5: Validate requested RQT size
76a93a6f8dd7 IB/mlx4: Fix create CQ error flow
4234e6a06f8b IB/mlx4: Check gid_index return value
fc9275365065 IB/rxe: Clear queue buffer when modifying QP to reset
3c87b4a8f6d5 IB/rxe: Fix handling of erroneous WR
c4605a0e9605 IB/rxe: Fix kernel panic in UDP tunnel with GRO and RX checksum
04d016249998 IB/rxe: Update qp state for user query
bac1543b764c perf hists: Fix column length on --hierarchy
4cba876de64d PM / sleep: don't suspend parent when async child suspend_{noirq, late} fails
2e2c8f0e7502 PM / sleep: fix device reference leak in test_suspend
fd669bf2a099 uwb: fix device reference leaks
ab17baeaea91 sunrpc: svc_age_temp_xprts_now should not call setsockopt non-tcp transports
8c7ea73e3a9b mfd: core: Fix device reference leak in mfd_clone_cell
545ea4003db9 iwlwifi: mvm: wake the wait queue when the RX sync counter is zero
8bfaf856695b iwlwifi: mvm: fix d3_test with unified D0/D3 images
8cdfd32398b5 iwlwifi: mvm: fix netdetect starting/stopping for unified images
6e3324dc039c iwlwifi: pcie: mark command queue lock with separate lockdep class
b822907865cc iwlwifi: pcie: fix SPLC structure parsing
edb60ee4bc65 rtc: omap: Fix selecting external osc
5f95e68daae3 clk: imx: fix integer overflow in AV PLL round rate
fec43900c9b7 clk: mmp: mmp2: fix return value check in mmp2_clk_init()
63465eaf7b2e clk: mmp: pxa168: fix return value check in pxa168_clk_init()
a42bbd552ded clk: mmp: pxa910: fix return value check in pxa910_clk_init()
bb6c9ec826be virtio-net: drop legacy features in virtio 1 mode
899f5426eebf drm/i915: Assume non-DP++ port if dvo_port is HDMI and there's no AUX ch specified in the VBT
f6920e506992 drm/i915: Refresh that status of MST capable connectors in ->detect()
56a02a5f60ea drm/amdgpu: Attach exclusive fence to prime exported bo's. (v5)
3eac4767dd7e powerpc/64: Fix setting of AIL in hypervisor mode
fc312878ffe3 crypto: caam - do not register AES-XTS mode on LP units
54f28973e8a5 ARM: dts: imx53-qsb: Fix regulator constraints
7001b98b9dce ext4: sanity check the block and cluster size at mount time
56df604296c2 kbuild: Steal gcc's pie from the very beginning
e14754cb8f0c x86/kexec: add -fno-PIE
ad4e2f324ade scripts/has-stack-protector: add -fno-PIE
1c7727d0bca0 kbuild: add -fno-PIE
20bcbe246933 Disable the __builtin_return_address() warning globally after all
504b60516ba7 i2c: i2c-mux-pca954x: fix deselect enabling for device-tree
45244660281c i2c: mux: fix up dependencies
ce97f5012b6d ALSA: hda - Fix mic regression by ASRock mobo fixup
23e14ee1abcf ALSA: hda - add a new condition to check if it is thinkpad
85fcb62a58b2 ALSA: usb-audio: Fix use-after-free of usb_device at disconnect
e902f10da218 gpio: do not double-check direction on sleeping chips
b21b327d96bc can: bcm: fix warning in bcm_connect/proc_register
50e6cd2feff7 mfd: stmpe: Fix RESET regression on STMPE2401
e015527c6fbd mfd: intel-lpss: Do not put device in reset state on suspend
8b4d44f46bf2 IB/hfi1: Fix rnr_timer addition
06eac15f11e0 IB/rdmavt: rdmavt can handle non aligned page maps
ca720a2b11b4 fuse: fix fuse_write_end() if zero bytes were copied
de58c50e84e2 genirq: Use irq type from irqdata instead of irqdesc
8844024c8839 ftrace: Add more checks for FTRACE_FL_DISABLED in processing ip records
c5d20ce0b459 ftrace: Ignore FTRACE_FL_DISABLED while walking dyn_ftrace records
f271087fb2ea KVM: arm64: Fix the issues when guest PMCCFILTR is configured
8d8b37e242de arm64: KVM: pmu: Fix AArch32 cycle counter access
1cb9b2489e77 KVM: Disable irq while unregistering user notifier
23555ca21394 KVM: x86: fix missed SRCU usage in kvm_lapic_set_vapic_addr
f8c74cf95655 x86/cpu/AMD: Fix cpu_llc_id for AMD Fam17h systems
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
---
meta/recipes-kernel/linux/linux-yocto-rt_4.8.bb | 6 +++---
meta/recipes-kernel/linux/linux-yocto-tiny_4.8.bb | 6 +++---
meta/recipes-kernel/linux/linux-yocto_4.8.bb | 20 ++++++++++----------
3 files changed, 16 insertions(+), 16 deletions(-)
diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_4.8.bb b/meta/recipes-kernel/linux/linux-yocto-rt_4.8.bb
index 980e4b14ed7f..c939bbabd112 100644
--- a/meta/recipes-kernel/linux/linux-yocto-rt_4.8.bb
+++ b/meta/recipes-kernel/linux/linux-yocto-rt_4.8.bb
@@ -11,13 +11,13 @@ python () {
raise bb.parse.SkipPackage("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
}
-SRCREV_machine ?= "df64f1041f15871cffb254d7136072d1d4859284"
-SRCREV_meta ?= "f768e31c67f7c67b27ff2c1ba857eef2367de974"
+SRCREV_machine ?= "aa9ab71e9d9539c7f81282a47e87dea79c2e0f4e"
+SRCREV_meta ?= "b22e47739683444916dc64548df1dbf6856500a5"
SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.8.git;branch=${KBRANCH};name=machine \
git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.8;destsuffix=${KMETA}"
-LINUX_VERSION ?= "4.8.10"
+LINUX_VERSION ?= "4.8.12"
PV = "${LINUX_VERSION}+git${SRCPV}"
diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_4.8.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_4.8.bb
index 82daf48585e6..e1de91461f43 100644
--- a/meta/recipes-kernel/linux/linux-yocto-tiny_4.8.bb
+++ b/meta/recipes-kernel/linux/linux-yocto-tiny_4.8.bb
@@ -4,13 +4,13 @@ KCONFIG_MODE = "--allnoconfig"
require recipes-kernel/linux/linux-yocto.inc
-LINUX_VERSION ?= "4.8.10"
+LINUX_VERSION ?= "4.8.12"
KMETA = "kernel-meta"
KCONF_BSP_AUDIT_LEVEL = "2"
-SRCREV_machine ?= "78e5c86c1c194e2045e8eb2c948d00f2dbb1f31c"
-SRCREV_meta ?= "f768e31c67f7c67b27ff2c1ba857eef2367de974"
+SRCREV_machine ?= "c12f4b364b6638843f5b9049c7fd467503bf30a8"
+SRCREV_meta ?= "b22e47739683444916dc64548df1dbf6856500a5"
PV = "${LINUX_VERSION}+git${SRCPV}"
diff --git a/meta/recipes-kernel/linux/linux-yocto_4.8.bb b/meta/recipes-kernel/linux/linux-yocto_4.8.bb
index 6c7ab52f1552..4be42679551a 100644
--- a/meta/recipes-kernel/linux/linux-yocto_4.8.bb
+++ b/meta/recipes-kernel/linux/linux-yocto_4.8.bb
@@ -11,20 +11,20 @@ KBRANCH_qemux86 ?= "standard/base"
KBRANCH_qemux86-64 ?= "standard/base"
KBRANCH_qemumips64 ?= "standard/mti-malta64"
-SRCREV_machine_qemuarm ?= "a004864814e34348c6dc5f745af3f775c55c0510"
-SRCREV_machine_qemuarm64 ?= "eb61693c773924d742aeea5e03b88d7554db61c3"
-SRCREV_machine_qemumips ?= "89f99732db8a8082898a396e67a34472a1017032"
-SRCREV_machine_qemuppc ?= "e03132839bac2cef030ff70b3e19c0fb4816a9fd"
-SRCREV_machine_qemux86 ?= "9acf42c4475aa0699b2692d7f27f22d699b36337"
-SRCREV_machine_qemux86-64 ?= "9acf42c4475aa0699b2692d7f27f22d699b36337"
-SRCREV_machine_qemumips64 ?= "ff92ef8e2b67415b5e6fd4cd15489cb43de8c932"
-SRCREV_machine ?= "9acf42c4475aa0699b2692d7f27f22d699b36337"
-SRCREV_meta ?= "f768e31c67f7c67b27ff2c1ba857eef2367de974"
+SRCREV_machine_qemuarm ?= "9e3e856bc06ddaacc5f4075603630fcca76810f7"
+SRCREV_machine_qemuarm64 ?= "008b4cdf62307da4e07082fd8782d70ba07500cb"
+SRCREV_machine_qemumips ?= "c86ac5b3228b43304d8b2f1d49a0e4bd66207342"
+SRCREV_machine_qemuppc ?= "5a245217d5271d1961df408b9a723a4eb188e0bf"
+SRCREV_machine_qemux86 ?= "45f25516edd8636f1fec250f6e3020408cd30be9"
+SRCREV_machine_qemux86-64 ?= "45f25516edd8636f1fec250f6e3020408cd30be9"
+SRCREV_machine_qemumips64 ?= "7bfa2a19b1aa9f1389f8276d6a7669472517b18a"
+SRCREV_machine ?= "45f25516edd8636f1fec250f6e3020408cd30be9"
+SRCREV_meta ?= "b22e47739683444916dc64548df1dbf6856500a5"
SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.8.git;name=machine;branch=${KBRANCH}; \
git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.8;destsuffix=${KMETA}"
-LINUX_VERSION ?= "4.8.10"
+LINUX_VERSION ?= "4.8.12"
PV = "${LINUX_VERSION}+git${SRCPV}"
--
2.5.0
^ permalink raw reply related
* [PATCH 4/8] linux-yocto/4.4: update to v4.4.36
From: Bruce Ashfield @ 2016-12-08 17:58 UTC (permalink / raw)
To: richard.purdie; +Cc: openembedded-core
In-Reply-To: <cover.1481216659.git.bruce.ashfield@windriver.com>
shortlog of the changes follow:
87c6c6ef5b17 Linux 4.4.36
6eddf5c993dd scsi: mpt3sas: Unblock device after controller reset
c178e4809df7 flow_dissect: call init_default_flow_dissectors() earlier
0b7860d6e88c mei: fix return value on disconnection
bab2f72f70ea mei: me: fix place for kaby point device ids.
4f13967ecd20 mei: me: disable driver on SPT SPS firmware
e1049372d7a7 drm/radeon: Ensure vblank interrupt is enabled on DPMS transition to on
249090830942 mpi: Fix NULL ptr dereference in mpi_powm() [ver #3]
cd4235a794c0 parisc: Also flush data TLB in flush_icache_page_asm
7a1ab6a2bf3a parisc: Fix race in pci-dma.c
e541fd815db9 parisc: Fix races in parisc_setup_cache_timing()
0c0ddbf7efec NFSv4.x: hide array-bounds warning
be79d7fa43f9 apparmor: fix change_hat not finding hat after policy replacement
8316338a201b cfg80211: limit scan results cache size
4df31626fc08 tile: avoid using clocksource_cyc2ns with absolute cycle count
ffffc1ed47e7 scsi: mpt3sas: Fix secure erase premature termination
ab0867dd8bc8 Fix USB CB/CBI storage devices with CONFIG_VMAP_STACK=y
f3f95f177269 USB: serial: ftdi_sio: add support for TI CC3200 LaunchPad
1f36db0b397f USB: serial: cp210x: add ID for the Zone DPMX
55d061bf9d23 usb: chipidea: move the lock initialization to core file
341f9730c29b KVM: x86: check for pic and ioapic presence before use
b7f9404d1b48 KVM: x86: drop error recovery in em_jmp_far and em_ret_far
c091bbddbc5e iommu/vt-d: Fix IOMMU lookup for SR-IOV Virtual Functions
d88a1bd00cfa iommu/vt-d: Fix PASID table allocation
0a5b451a53d4 Linux 4.4.35
1ba7fafae3c2 netfilter: nft_dynset: fix element timeout for HZ != 1000
698a8dddb8a5 IB/cm: Mark stale CM id's whenever the mad agent was unregistered
2b026a265a9a IB/uverbs: Fix leak of XRC target QPs
eba83a85caba IB/core: Avoid unsigned int overflow in sg_alloc_table
c524185c81d4 IB/mlx5: Fix fatal error dispatching
734039913373 IB/mlx5: Use cache line size to select CQE stride
7cf5b7882184 IB/mlx4: Fix create CQ error flow
41664d7077e9 IB/mlx4: Check gid_index return value
04c0800c73b2 PM / sleep: don't suspend parent when async child suspend_{noirq, late} fails
469fcbcb84d8 PM / sleep: fix device reference leak in test_suspend
680bc27065b9 uwb: fix device reference leaks
dd214a159de6 mfd: core: Fix device reference leak in mfd_clone_cell
d2adb5ebec61 iwlwifi: pcie: fix SPLC structure parsing
1f995573bac8 rtc: omap: Fix selecting external osc
c8aa3e98c1a8 clk: mmp: mmp2: fix return value check in mmp2_clk_init()
96576127ffb7 clk: mmp: pxa168: fix return value check in pxa168_clk_init()
a4709b4582ac clk: mmp: pxa910: fix return value check in pxa910_clk_init()
d039fc37ec7f drm/amdgpu: Attach exclusive fence to prime exported bo's. (v5)
96f10a6239a2 crypto: caam - do not register AES-XTS mode on LP units
454cf79b05c5 ext4: sanity check the block and cluster size at mount time
147117cf23c0 kbuild: Steal gcc's pie from the very beginning
e543f094a38a x86/kexec: add -fno-PIE
3a868dde1824 scripts/has-stack-protector: add -fno-PIE
f740b5cc39dd kbuild: add -fno-PIE
936d157fa7ae i2c: mux: fix up dependencies
4e583b89add6 can: bcm: fix warning in bcm_connect/proc_register
0c6e0db9686b mfd: intel-lpss: Do not put device in reset state on suspend
b7321bcc8b1c fuse: fix fuse_write_end() if zero bytes were copied
d4a774fdb92f KVM: Disable irq while unregistering user notifier
b689e86c9a8f KVM: x86: fix missed SRCU usage in kvm_lapic_set_vapic_addr
aea9d760b8ba x86/cpu/AMD: Fix cpu_llc_id for AMD Fam17h systems
4eb9a8100248 Linux 4.4.34
b4bbdcef7d90 sparc64: Delete now unused user copy fixup functions.
cb85910b0d45 sparc64: Delete now unused user copy assembler helpers.
1c7e17b1c4d6 sparc64: Convert U3copy_{from,to}_user to accurate exception reporting.
7181969338f8 sparc64: Convert NG2copy_{from,to}_user to accurate exception reporting.
bfc8be659309 sparc64: Convert NGcopy_{from,to}_user to accurate exception reporting.
dc3a7a7d2c85 sparc64: Convert NG4copy_{from,to}_user to accurate exception reporting.
1731d90d8a55 sparc64: Convert U1copy_{from,to}_user to accurate exception reporting.
8a444c770f6e sparc64: Convert GENcopy_{from,to}_user to accurate exception reporting.
c718e917b3d3 sparc64: Convert copy_in_user to accurate exception reporting.
dd8a78b2b6ad sparc64: Prepare to move to more saner user copy exception handling.
756723ad553d sparc64: Delete __ret_efault.
f5a69ff7486e sparc64: Handle extremely large kernel TLB range flushes more gracefully.
d36a1ac49d24 sparc64: Fix illegal relative branches in hypervisor patched TLB cross-call code.
5d8eb954763d sparc64: Fix instruction count in comment for __hypervisor_flush_tlb_pending.
217f829ae967 sparc64: Fix illegal relative branches in hypervisor patched TLB code.
2ba06323db41 sparc64: Handle extremely large kernel TSB range flushes sanely.
75931800733c sparc: Handle negative offsets in arch_jump_label_transform
8fd11efa2140 sparc64 mm: Fix base TSB sizing when hugetlb pages are used
4e90b6880135 sparc: serial: sunhv: fix a double lock bug
a395f7a66eec sparc: Don't leak context bits into thread->fault_address
4e772c53ab98 tty: Prevent ldisc drivers from re-using stale tty fields
225a24ae9733 tcp: take care of truncations done by sk_filter()
ae9e052a58ef ipv4: use new_gw for redirect neigh lookup
5c67f9477bb2 net: __skb_flow_dissect() must cap its return value
b67ed647d135 sock: fix sendmmsg for partial sendmsg
0650eeb4f187 fib_trie: Correct /proc/net/route off by one error
3f8857a4971d sctp: assign assoc_id earlier in __sctp_connect
65d29c185614 ipv6: dccp: add missing bind_conflict to dccp_ipv6_mapped
99131760a885 ipv6: dccp: fix out of bound access in dccp_v6_err()
a2df29ed840f dccp: fix out of bound access in dccp_v4_err()
ad6d0a82016b dccp: do not send reset to already closed sockets
69a5c7ca2e62 tcp: fix potential memory corruption
8777977b22c4 ip6_tunnel: Clear IP6CB in ip6tunnel_xmit()
c5bad811ca4d bgmac: stop clearing DMA receive control register right after it is set
6e9ca1b61cc8 net: mangle zero checksum in skb_checksum_help()
ac4c2cf6f57a net: clear sk_err_soft in sk_clone_lock()
74e53a3a053f dctcp: avoid bogus doubling of cwnd after loss
86429bd405de Linux 4.4.33
21cc1a183a9d netfilter: fix namespace handling in nf_log_proc_dostring
ee5dd6878886 btrfs: qgroup: Prevent qgroup->reserved from going subzero
ae6d4df4a7a0 mmc: mxs: Initialize the spinlock prior to using it
ae5b8dbfe6be ASoC: sun4i-codec: return error code instead of NULL when create_card fails
125e84726d7c ACPI / APEI: Fix incorrect return value of ghes_proc()
5cd2cd84d573 i40e: fix call of ndo_dflt_bridge_getlink()
5be7e6b48b21 hwrng: core - Don't use a stack buffer in add_early_randomness()
ba8580f6cf03 lib/genalloc.c: start search from start of chunk
c048b6711ed6 mei: bus: fix received data size check in NFC fixup
19426f065d1e iommu/vt-d: Fix dead-locks in disable_dmar_iommu() path
f029e7b34f25 iommu/amd: Free domain id when free a domain of struct dma_ops_domain
f5bb84163704 tty/serial: at91: fix hardware handshake on Atmel platforms
49163391881a dmaengine: at_xdmac: fix spurious flag status for mem2mem transfers
fff40ee4d224 drm/i915: Respect alternate_ddc_pin for all DDI ports
d7b0055e5566 KVM: MIPS: Precalculate MMIO load resume PC
d24587404922 scsi: mpt3sas: Fix for block device of raid exists even after deleting raid disk
6e897d034d4c scsi: qla2xxx: Fix scsi scan hang triggered if adapter fails during init
29cf142cefed iio: orientation: hid-sensor-rotation: Add PM function (fix non working driver)
caff14e99c63 iio: hid-sensors: Increase the precision of scale to fix wrong reading interpretation.
dbbc5e6bcf36 clk: qoriq: Don't allow CPU clocks higher than starting value
2c5cdadeab5d toshiba-wmi: Fix loading the driver on non Toshiba laptops
f523deedff82 drbd: Fix kernel_sendmsg() usage - potential NULL deref
f1de32232db3 usb: gadget: u_ether: remove interrupt throttling
0ab4186bf238 USB: cdc-acm: fix TIOCMIWAIT
290ffd550e34 staging: nvec: remove managed resource from PS2 driver
4aa859ea591e Revert "staging: nvec: ps2: change serio type to passthrough"
729eb8d9f7b7 drivers: staging: nvec: remove bogus reset command for PS/2 interface
6bba8c37ceed staging: iio: ad5933: avoid uninitialized variable in error case
a98e483ca784 pinctrl: cherryview: Prevent possible interrupt storm on resume
126d0a2fe878 pinctrl: cherryview: Serialize register access in suspend/resume
c45bfaa9211e ARC: timer: rtc: implement read loop in "C" vs. inline asm
3b21a0b468a3 s390/hypfs: Use get_free_page() instead of kmalloc to ensure page alignment
e835220ed25f coredump: fix unfreezable coredumping task
5c54f79ad234 swapfile: fix memory corruption via malformed swapfile
2f7496c48a7b dib0700: fix nec repeat handling
a04769029386 ASoC: cs4270: fix DAPM stream name mismatch
f3155797b91c ALSA: info: Limit the proc text input size
c1ea2b3c07c6 ALSA: info: Return error for invalid read/write
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
---
meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb | 6 +++---
meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb | 6 +++---
meta/recipes-kernel/linux/linux-yocto_4.4.bb | 20 ++++++++++----------
3 files changed, 16 insertions(+), 16 deletions(-)
diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb b/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb
index 35dcd473d51b..35239fdbebf4 100644
--- a/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb
+++ b/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb
@@ -11,13 +11,13 @@ python () {
raise bb.parse.SkipPackage("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
}
-SRCREV_machine ?= "85e8c6c297d6d4a6f6694b69812030fff07a88fd"
-SRCREV_meta ?= "2d1114e7b6f39e8e4c442ad18e2eda1a918c7e48"
+SRCREV_machine ?= "e4d81ef9c99669e815ca91e1bb02e80a59541766"
+SRCREV_meta ?= "b846fc6436aa5d4c747d620e83dfda969854d10c"
SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.4.git;branch=${KBRANCH};name=machine \
git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.4;destsuffix=${KMETA}"
-LINUX_VERSION ?= "4.4.32"
+LINUX_VERSION ?= "4.4.36"
PV = "${LINUX_VERSION}+git${SRCPV}"
diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb
index 8c3043b78c6c..28c3dfad8cc7 100644
--- a/meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb
+++ b/meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb
@@ -4,13 +4,13 @@ KCONFIG_MODE = "--allnoconfig"
require recipes-kernel/linux/linux-yocto.inc
-LINUX_VERSION ?= "4.4.32"
+LINUX_VERSION ?= "4.4.36"
KMETA = "kernel-meta"
KCONF_BSP_AUDIT_LEVEL = "2"
-SRCREV_machine ?= "4c2d50b725d6dd5e90d1151abdbcb7418938be3a"
-SRCREV_meta ?= "2d1114e7b6f39e8e4c442ad18e2eda1a918c7e48"
+SRCREV_machine ?= "9cc72ea6194abae764a2db8f6a32cde60e739d7c"
+SRCREV_meta ?= "b846fc6436aa5d4c747d620e83dfda969854d10c"
PV = "${LINUX_VERSION}+git${SRCPV}"
diff --git a/meta/recipes-kernel/linux/linux-yocto_4.4.bb b/meta/recipes-kernel/linux/linux-yocto_4.4.bb
index dd56a9640f9f..2246555a3ff8 100644
--- a/meta/recipes-kernel/linux/linux-yocto_4.4.bb
+++ b/meta/recipes-kernel/linux/linux-yocto_4.4.bb
@@ -11,20 +11,20 @@ KBRANCH_qemux86 ?= "standard/base"
KBRANCH_qemux86-64 ?= "standard/base"
KBRANCH_qemumips64 ?= "standard/mti-malta64"
-SRCREV_machine_qemuarm ?= "2041d76e0048b345098fbc680f5719da5d7dae7b"
-SRCREV_machine_qemuarm64 ?= "4c2d50b725d6dd5e90d1151abdbcb7418938be3a"
-SRCREV_machine_qemumips ?= "0cd523cd89c13cb3674b55a6afe41aa976950fc1"
-SRCREV_machine_qemuppc ?= "4c2d50b725d6dd5e90d1151abdbcb7418938be3a"
-SRCREV_machine_qemux86 ?= "4c2d50b725d6dd5e90d1151abdbcb7418938be3a"
-SRCREV_machine_qemux86-64 ?= "4c2d50b725d6dd5e90d1151abdbcb7418938be3a"
-SRCREV_machine_qemumips64 ?= "baea2f5605baba0d49a9afac8a46717193ccef90"
-SRCREV_machine ?= "4c2d50b725d6dd5e90d1151abdbcb7418938be3a"
-SRCREV_meta ?= "2d1114e7b6f39e8e4c442ad18e2eda1a918c7e48"
+SRCREV_machine_qemuarm ?= "0166111980b931967bf3449d3d040aac6ff523a8"
+SRCREV_machine_qemuarm64 ?= "9cc72ea6194abae764a2db8f6a32cde60e739d7c"
+SRCREV_machine_qemumips ?= "90bf4bfeee3d0ca1cf0077dc1e0045cd9237e392"
+SRCREV_machine_qemuppc ?= "9cc72ea6194abae764a2db8f6a32cde60e739d7c"
+SRCREV_machine_qemux86 ?= "9cc72ea6194abae764a2db8f6a32cde60e739d7c"
+SRCREV_machine_qemux86-64 ?= "9cc72ea6194abae764a2db8f6a32cde60e739d7c"
+SRCREV_machine_qemumips64 ?= "fd20390d53c24f1ef0293b2c26b8e883e87e91f3"
+SRCREV_machine ?= "9cc72ea6194abae764a2db8f6a32cde60e739d7c"
+SRCREV_meta ?= "b846fc6436aa5d4c747d620e83dfda969854d10c"
SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.4.git;name=machine;branch=${KBRANCH}; \
git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.4;destsuffix=${KMETA}"
-LINUX_VERSION ?= "4.4.32"
+LINUX_VERSION ?= "4.4.36"
PV = "${LINUX_VERSION}+git${SRCPV}"
--
2.5.0
^ permalink raw reply related
* [PATCH 3/8] linux-yoct/4.1: update to v4.1.36
From: Bruce Ashfield @ 2016-12-08 17:58 UTC (permalink / raw)
To: richard.purdie; +Cc: openembedded-core
In-Reply-To: <cover.1481216659.git.bruce.ashfield@windriver.com>
Shortlog of the changes:
8576fa45c10e Linux 4.1.36
39f99860357c kbuild: add -fno-PIE
bf5d3d296abf firewire: net: fix fragmented datagram_size off-by-one
c604dec3d5a6 firewire: net: guard against rx buffer overflows
9fe6256c0020 parisc: Ensure consistent state when switching to kernel stack at syscall entry
83a474ed7003 ovl: fsync after copy-up
c0b309f18b01 virtio: console: Unlock vqs while freeing buffers
4fe9ae4d3fcf md: be careful not lot leak internal curr_resync value into metadata. -- (all)
e1e5cab9b43c md: sync sync_completed has correct value as recovery finishes.
97d53c4d89e0 scsi: arcmsr: Send SYNCHRONIZE_CACHE command to firmware
d207c6603fc6 scsi: scsi_debug: Fix memory leak if LBP enabled and module is unloaded
169eb57c9e8d drm/radeon/si_dpm: workaround for SI kickers
c1593e5dcc2a drm/dp/mst: Check peer device type before attempting EDID read
e5c6bbbcc7be drm/dp/mst: add some defines for logical/physical ports
dadd5803301f drm/dp/mst: Clear port->pdt when tearing down the i2c adapter
a2d4bd9c99cc KVM: MIPS: Precalculate MMIO load resume PC
b05ff0cb0dea KVM: MIPS: Make ERET handle ERL before EXL
90a107c0b85b drm/radeon: drop register readback in cayman_cp_int_cntl_setup
9a9a2373142a scsi: megaraid_sas: Fix data integrity failure for JBOD (passthrough) devices
1b15bd739689 Revert "drm/radeon: fix DP link training issue with second 4K monitor"
5bc028b10d04 powerpc: Convert cmp to cmpd in idle enter sequence
00a4335dfaa5 drm/radeon/si_dpm: Limit clocks on HD86xx part
469bc68e081c drm/radeon/si/dpm: add workaround for for Jet parts
85a2af9f690a USB: serial: cp210x: fix tiocmget error handling
0854ce492ec3 Input: i8042 - add XMG C504 to keyboard reset table
0e9bbbdfe9f8 ALSA: hda - Merge RIRB_PRE_DELAY into CTX_WORKAROUND caps
02426cf24407 mac80211: discard multicast and 4-addr A-MSDUs
f065a553f36e ubifs: Fix regression in ubifs_readdir()
5fdb4fad291f GenWQE: Fix bad page access during abort of resource allocation
55a2f87cd564 mm/list_lru.c: avoid error-path NULL pointer deref
52e7b6bd8378 btrfs: fix races on root_log_ctx lists
9f2d48f0745f vt: clear selection before resizing
93ec720c6f10 tty: limit terminal size to 4M chars
ca963122cab2 ALSA: usb-audio: Add quirk for Syntek STK1160
3dc8f1f0decb KEYS: Fix short sprintf buffer in /proc/keys show function
1f7ff6f7910e hv: do not lose pending heartbeat vmbus packets
9662d19bab68 mei: txe: don't clean an unprocessed interrupt cause.
a64291d578dd ANDROID: binder: Clear binder and cookie when setting handle in flat binder struct
11924cba404d ANDROID: binder: Add strong ref checks
39709c84807f dm table: fix missing dm_put_target_type() in dm_table_add_target()
c91812c8ef76 usb: increase ohci watchdog delay to 275 msec
51b231bd1a95 arm64: KVM: Take S1 walks into account when determining S2 write faults
bb21e0295064 arm/arm64: KVM: Handle out-of-RAM cache maintenance as a NOP
7fbfac87fbf5 USB: serial: fix potential NULL-dereference at probe
605a6960617f xhci: workaround for hosts missing CAS bit
c23a6dce1147 xhci: add restart quirk for Intel Wildcatpoint PCH
4c17f91bb370 kvm: x86: memset whole irq_eoi
9c5e89d59d56 libxfs: clean up _calc_dquots_per_chunk
d1375c3e4f2e target: Don't override EXTENDED_COPY xcopy_pt_cmd SCSI status code
ac49951623e1 target: Re-add missing SCF_ACK_KREF assignment in v4.1.y
eaf55207fe3b ubifs: Abort readdir upon error
b9ce8700a2e3 UBIFS: Fix possible memory leak in ubifs_readdir()
cad1ca2a9485 ubifs: Fix xattr_names length in exit paths
dfeb7e4f30e9 arm64: percpu: rewrite ll/sc loops in assembly
3c9c01324032 powerpc/mm: Prevent unlikely crash in copro_calculate_slb()
c1f5e5f89b99 isofs: Do not return EACCES for unknown filesystems
b15662c8e266 irqchip/gic-v3-its: Fix entry size mask for GITS_BASER
af17243fc1b4 arm64: kernel: Init MDCR_EL2 even in the absence of a PMU
c911b72eaff1 USB: serial: ftdi_sio: add support for Infineon TriBoard TC2X7
59eabe8bb60f memstick: rtsx_usb_ms: Manage runtime PM when accessing the device
86559fc191ca memstick: rtsx_usb_ms: Runtime resume the device when polling for cards
a89634cf709b mmc: rtsx_usb_sdmmc: Handle runtime PM while changing the led
e79c2f2f7b30 mmc: rtsx_usb_sdmmc: Avoid keeping the device runtime resumed when unused
f125e7f2285c mmc: sdhci: cast unsigned int to unsigned long long to avoid unexpeted error
517052446f36 usb: gadget: function: u_ether: don't starve tx request queue
66f38bf99faa ceph: fix error handling in ceph_read_iter
9e9ca450cd93 irqchip/gicv3: Handle loop timeout proper
88b6c9f4146a drm/radeon: change vblank_time's calculation method to reduce computational error.
dcf4c1144f3a jbd2: fix incorrect unlock on j_list_lock
a3da255ead60 scsi: Fix use-after-free
8df981058e4f mmc: core: Annotate cmd_hdr as __le32
7ea3d2e9c6aa x86/mm: Expand the exception table logic to allow new handling options
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
---
meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb | 6 +++---
meta/recipes-kernel/linux/linux-yocto-tiny_4.1.bb | 6 +++---
meta/recipes-kernel/linux/linux-yocto_4.1.bb | 20 ++++++++++----------
3 files changed, 16 insertions(+), 16 deletions(-)
diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb b/meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb
index d15a4dcb195d..529fa205f199 100644
--- a/meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb
+++ b/meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb
@@ -11,13 +11,13 @@ python () {
raise bb.parse.SkipPackage("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
}
-SRCREV_machine ?= "5395c3b5960ec1b769c0716f2889ef1101b66588"
-SRCREV_meta ?= "89785d2b18fa49233046125fddee8e161c8bec4d"
+SRCREV_machine ?= "47e987ba389beac0c7983dd37f215807eee86881"
+SRCREV_meta ?= "44719fa8f73fd7c444044ad3c04f5fc66f57b993"
SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.1.git;branch=${KBRANCH};name=machine \
git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.1;destsuffix=${KMETA}"
-LINUX_VERSION ?= "4.1.35"
+LINUX_VERSION ?= "4.1.36"
PV = "${LINUX_VERSION}+git${SRCPV}"
diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_4.1.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_4.1.bb
index 5d5e1fa945b9..28ddfa993635 100644
--- a/meta/recipes-kernel/linux/linux-yocto-tiny_4.1.bb
+++ b/meta/recipes-kernel/linux/linux-yocto-tiny_4.1.bb
@@ -4,13 +4,13 @@ KCONFIG_MODE = "--allnoconfig"
require recipes-kernel/linux/linux-yocto.inc
-LINUX_VERSION ?= "4.1.35"
+LINUX_VERSION ?= "4.1.36"
KMETA = "kernel-meta"
KCONF_BSP_AUDIT_LEVEL = "2"
-SRCREV_machine ?= "f358ce2569953d18cf6bd91d0269076938e5b091"
-SRCREV_meta ?= "89785d2b18fa49233046125fddee8e161c8bec4d"
+SRCREV_machine ?= "f75d58721859cd2ce5382bcdcae35479a6ce9f21"
+SRCREV_meta ?= "44719fa8f73fd7c444044ad3c04f5fc66f57b993"
PV = "${LINUX_VERSION}+git${SRCPV}"
diff --git a/meta/recipes-kernel/linux/linux-yocto_4.1.bb b/meta/recipes-kernel/linux/linux-yocto_4.1.bb
index 529c20737238..70ff99de1dd0 100644
--- a/meta/recipes-kernel/linux/linux-yocto_4.1.bb
+++ b/meta/recipes-kernel/linux/linux-yocto_4.1.bb
@@ -11,20 +11,20 @@ KBRANCH_qemux86 ?= "standard/base"
KBRANCH_qemux86-64 ?= "standard/base"
KBRANCH_qemumips64 ?= "standard/mti-malta64"
-SRCREV_machine_qemuarm ?= "bb6c714397ab4c48f4fcc76c0a609afbb42dfa2a"
-SRCREV_machine_qemuarm64 ?= "f358ce2569953d18cf6bd91d0269076938e5b091"
-SRCREV_machine_qemumips ?= "4a42cbc6464c592a8ce81cf9aefb780df02e10ac"
-SRCREV_machine_qemuppc ?= "f0ecbfc7c5c24f0ecdd05e3304f0bea302ed116c"
-SRCREV_machine_qemux86 ?= "f358ce2569953d18cf6bd91d0269076938e5b091"
-SRCREV_machine_qemux86-64 ?= "f358ce2569953d18cf6bd91d0269076938e5b091"
-SRCREV_machine_qemumips64 ?= "9162b0e9523407b638a3f7e2ed26450334e24969"
-SRCREV_machine ?= "f358ce2569953d18cf6bd91d0269076938e5b091"
-SRCREV_meta ?= "89785d2b18fa49233046125fddee8e161c8bec4d"
+SRCREV_machine_qemuarm ?= "6f0ca13105ff444e5adcea39d68c5f7707b1d23b"
+SRCREV_machine_qemuarm64 ?= "f75d58721859cd2ce5382bcdcae35479a6ce9f21"
+SRCREV_machine_qemumips ?= "d5bd5d3069bfccfb76c420f27e1e6fd94aaa3dcc"
+SRCREV_machine_qemuppc ?= "1006b2e79cf808a2e8a74a1b0325dec9b4d0873e"
+SRCREV_machine_qemux86 ?= "f75d58721859cd2ce5382bcdcae35479a6ce9f21"
+SRCREV_machine_qemux86-64 ?= "f75d58721859cd2ce5382bcdcae35479a6ce9f21"
+SRCREV_machine_qemumips64 ?= "985d7f27f0ad497a0072320fbbf05626e27c741a"
+SRCREV_machine ?= "f75d58721859cd2ce5382bcdcae35479a6ce9f21"
+SRCREV_meta ?= "44719fa8f73fd7c444044ad3c04f5fc66f57b993"
SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.1.git;name=machine;branch=${KBRANCH}; \
git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.1;destsuffix=${KMETA}"
-LINUX_VERSION ?= "4.1.35"
+LINUX_VERSION ?= "4.1.36"
PV = "${LINUX_VERSION}+git${SRCPV}"
--
2.5.0
^ permalink raw reply related
* [PATCH 2/8] linux-yocto/4.4/4.8: Fix remaining kernel_configcheck warnings in Intel BSPs
From: Bruce Ashfield @ 2016-12-08 17:58 UTC (permalink / raw)
To: richard.purdie; +Cc: openembedded-core
In-Reply-To: <cover.1481216659.git.bruce.ashfield@windriver.com>
Integrating the following meta-data change to remove warnings during
kernel configuration checking:
bec7e0ace0e5 leds.cfg: Remove CONFIG_LEDS_TRIGGER_CPU
cc857e64ea34 bsp/intel-quark: Remove bosch-pressure-sensor-i2c
3198ab25af74 features/i2c: Support I2C_MUX by default
Signed-off-by: California Sullivan <california.l.sullivan@intel.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
---
meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb | 2 +-
meta/recipes-kernel/linux/linux-yocto-rt_4.8.bb | 2 +-
meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb | 2 +-
meta/recipes-kernel/linux/linux-yocto-tiny_4.8.bb | 2 +-
meta/recipes-kernel/linux/linux-yocto_4.4.bb | 2 +-
meta/recipes-kernel/linux/linux-yocto_4.8.bb | 2 +-
6 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb b/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb
index 5842d716e7d6..35dcd473d51b 100644
--- a/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb
+++ b/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb
@@ -12,7 +12,7 @@ python () {
}
SRCREV_machine ?= "85e8c6c297d6d4a6f6694b69812030fff07a88fd"
-SRCREV_meta ?= "24ea5324fc90c7cb15ce1a08cdd294f22c6e6382"
+SRCREV_meta ?= "2d1114e7b6f39e8e4c442ad18e2eda1a918c7e48"
SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.4.git;branch=${KBRANCH};name=machine \
git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.4;destsuffix=${KMETA}"
diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_4.8.bb b/meta/recipes-kernel/linux/linux-yocto-rt_4.8.bb
index fe663b1711f1..980e4b14ed7f 100644
--- a/meta/recipes-kernel/linux/linux-yocto-rt_4.8.bb
+++ b/meta/recipes-kernel/linux/linux-yocto-rt_4.8.bb
@@ -12,7 +12,7 @@ python () {
}
SRCREV_machine ?= "df64f1041f15871cffb254d7136072d1d4859284"
-SRCREV_meta ?= "1dc615a67779fdfd36548fd48e54bd19b6e6209e"
+SRCREV_meta ?= "f768e31c67f7c67b27ff2c1ba857eef2367de974"
SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.8.git;branch=${KBRANCH};name=machine \
git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.8;destsuffix=${KMETA}"
diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb
index 6accc1850dea..8c3043b78c6c 100644
--- a/meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb
+++ b/meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb
@@ -10,7 +10,7 @@ KMETA = "kernel-meta"
KCONF_BSP_AUDIT_LEVEL = "2"
SRCREV_machine ?= "4c2d50b725d6dd5e90d1151abdbcb7418938be3a"
-SRCREV_meta ?= "24ea5324fc90c7cb15ce1a08cdd294f22c6e6382"
+SRCREV_meta ?= "2d1114e7b6f39e8e4c442ad18e2eda1a918c7e48"
PV = "${LINUX_VERSION}+git${SRCPV}"
diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_4.8.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_4.8.bb
index 0ff18b8d8cea..82daf48585e6 100644
--- a/meta/recipes-kernel/linux/linux-yocto-tiny_4.8.bb
+++ b/meta/recipes-kernel/linux/linux-yocto-tiny_4.8.bb
@@ -10,7 +10,7 @@ KMETA = "kernel-meta"
KCONF_BSP_AUDIT_LEVEL = "2"
SRCREV_machine ?= "78e5c86c1c194e2045e8eb2c948d00f2dbb1f31c"
-SRCREV_meta ?= "1dc615a67779fdfd36548fd48e54bd19b6e6209e"
+SRCREV_meta ?= "f768e31c67f7c67b27ff2c1ba857eef2367de974"
PV = "${LINUX_VERSION}+git${SRCPV}"
diff --git a/meta/recipes-kernel/linux/linux-yocto_4.4.bb b/meta/recipes-kernel/linux/linux-yocto_4.4.bb
index 2f2b85b02f2e..dd56a9640f9f 100644
--- a/meta/recipes-kernel/linux/linux-yocto_4.4.bb
+++ b/meta/recipes-kernel/linux/linux-yocto_4.4.bb
@@ -19,7 +19,7 @@ SRCREV_machine_qemux86 ?= "4c2d50b725d6dd5e90d1151abdbcb7418938be3a"
SRCREV_machine_qemux86-64 ?= "4c2d50b725d6dd5e90d1151abdbcb7418938be3a"
SRCREV_machine_qemumips64 ?= "baea2f5605baba0d49a9afac8a46717193ccef90"
SRCREV_machine ?= "4c2d50b725d6dd5e90d1151abdbcb7418938be3a"
-SRCREV_meta ?= "24ea5324fc90c7cb15ce1a08cdd294f22c6e6382"
+SRCREV_meta ?= "2d1114e7b6f39e8e4c442ad18e2eda1a918c7e48"
SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.4.git;name=machine;branch=${KBRANCH}; \
git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.4;destsuffix=${KMETA}"
diff --git a/meta/recipes-kernel/linux/linux-yocto_4.8.bb b/meta/recipes-kernel/linux/linux-yocto_4.8.bb
index 16058ed83329..6c7ab52f1552 100644
--- a/meta/recipes-kernel/linux/linux-yocto_4.8.bb
+++ b/meta/recipes-kernel/linux/linux-yocto_4.8.bb
@@ -19,7 +19,7 @@ SRCREV_machine_qemux86 ?= "9acf42c4475aa0699b2692d7f27f22d699b36337"
SRCREV_machine_qemux86-64 ?= "9acf42c4475aa0699b2692d7f27f22d699b36337"
SRCREV_machine_qemumips64 ?= "ff92ef8e2b67415b5e6fd4cd15489cb43de8c932"
SRCREV_machine ?= "9acf42c4475aa0699b2692d7f27f22d699b36337"
-SRCREV_meta ?= "1dc615a67779fdfd36548fd48e54bd19b6e6209e"
+SRCREV_meta ?= "f768e31c67f7c67b27ff2c1ba857eef2367de974"
SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.8.git;name=machine;branch=${KBRANCH}; \
git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.8;destsuffix=${KMETA}"
--
2.5.0
^ permalink raw reply related
* [PATCH 1/8] linux-yocto/4.8: aufs warning and ixgbe calltrace
From: Bruce Ashfield @ 2016-12-08 17:58 UTC (permalink / raw)
To: richard.purdie; +Cc: openembedded-core
In-Reply-To: <cover.1481216659.git.bruce.ashfield@windriver.com>
Integrating the following commits to fix aufs/ixgbe issues:
Author: Liwei Song <liwei.song@windriver.com>
Date: Mon Dec 5 00:50:16 2016 -0500
ixgbe: initialize u64_stats_sync structures early at ixgbe_probe
Fix the following CallTrace:
INFO: trying to register non-static key.
the code is fine but needs lockdep annotation.
turning off the locking correctness validator.
CPU: 71 PID: 1 Comm: swapper/0 Not tainted 4.8.8-WR9.0.0.1_standard #11
Hardware name: Intel Corporation S2600WTT/S2600WTT,
BIOS GRNDSDP1.86B.0036.R05.1407140519 07/14/2014
00200086 00200086 eb5e1ab8 c144dd70 00000000 00000000 eb5e1af8 c10af89a
c1d23de4 eb5e1af8 00000009 eb5d8600 eb5d8638 eb5e1af8 c10b14d8 00000009
0000000a c1d32911 00000000 00000000 e44c826c eb5d8000 eb5e1b74 c10b214e
Call Trace:
[<c144dd70>] dump_stack+0x5f/0x8f
[<c10af89a>] register_lock_class+0x25a/0x4c0
[<c10b14d8>] ? check_irq_usage+0x88/0xc0
[<c10b214e>] __lock_acquire+0x5e/0x17a0
[<c1abdb9b>] ? _raw_spin_unlock_irqrestore+0x3b/0x70
[<c10cf14a>] ? rcu_read_lock_sched_held+0x8a/0x90
[<c10b3c5f>] lock_acquire+0x9f/0x1f0
[<c1922dcf>] ? dev_get_stats+0x5f/0x110
[<c176e6b3>] ixgbe_get_stats64+0x113/0x320
[<c1922dcf>] ? dev_get_stats+0x5f/0x110
[<c1922dcf>] dev_get_stats+0x5f/0x110
[<c1ab5415>] rtnl_fill_stats+0x40/0x105
[<c193dd45>] rtnl_fill_ifinfo+0x4c5/0xd20
[<c11c5115>] ? __kmalloc_node_track_caller+0x1a5/0x410
[<c1917487>] ? __kmalloc_reserve.isra.42+0x27/0x80
[<c191754f>] ? __alloc_skb+0x6f/0x270
[<c1942291>] rtmsg_ifinfo_build_skb+0x71/0xd0
[<c194230a>] rtmsg_ifinfo.part.23+0x1a/0x50
[<c1923dad>] ? call_netdevice_notifiers_info+0x2d/0x60
[<c194236b>] rtmsg_ifinfo+0x2b/0x40
[<c192f997>] register_netdevice+0x3d7/0x4d0
[<c192faa7>] register_netdev+0x17/0x30
[<c177b83d>] ixgbe_probe+0x118d/0x1610
[<c1498202>] local_pci_probe+0x32/0x80
[<c1498172>] ? pci_match_device+0xd2/0x100
[<c14991e0>] pci_device_probe+0xc0/0x110
[<c1652cc5>] driver_probe_device+0x1c5/0x280
[<c1498172>] ? pci_match_device+0xd2/0x100
[<c1652e09>] __driver_attach+0x89/0x90
[<c1652d80>] ? driver_probe_device+0x280/0x280
[<c165114f>] bus_for_each_dev+0x4f/0x80
[<c165269e>] driver_attach+0x1e/0x20
[<c1652d80>] ? driver_probe_device+0x280/0x280
[<c1652317>] bus_add_driver+0x1a7/0x220
[<c1653a79>] driver_register+0x59/0xe0
[<c1f897b8>] ? igb_init_module+0x49/0x49
[<c1497b2a>] __pci_register_driver+0x4a/0x50
[<c1f8985d>] ixgbe_init_module+0xa5/0xc4
[<c1000485>] do_one_initcall+0x35/0x150
[<c107e818>] ? parameq+0x18/0x70
[<c1f395d8>] ? repair_env_string+0x12/0x51
[<c107ead0>] ? parse_args+0x260/0x3b0
[<c1074f73>] ? __usermodehelper_set_disable_depth+0x43/0x50
[<c1f39e90>] kernel_init_freeable+0x19b/0x267
[<c1f395c6>] ? set_debug_rodata+0xf/0xf
[<c10b1e7b>] ? trace_hardirqs_on+0xb/0x10
[<c1abdc02>] ? _raw_spin_unlock_irq+0x32/0x50
[<c1085f0b>] ? finish_task_switch+0xab/0x1f0
[<c1085ec9>] ? finish_task_switch+0x69/0x1f0
[<c1ab6a30>] kernel_init+0x10/0x110
[<c108bd65>] ? schedule_tail+0x25/0x80
[<c1abe422>] ret_from_kernel_thread+0xe/0x24
[<c1ab6a20>] ? rest_init+0x130/0x130
This CallTrace occurred on 32-bit kernel with CONFIG_PROVE_LOCKING
enabled.
This happens at ixgbe driver probe hardware stage, when comes to
ixgbe_get_stats64, the seqcount/seqlock still not initialize, although
this was initialize in TX/RX resources setup routin, but it was too late,
then lockdep give this Warning.
To fix this, move the u64_stats_init function to driver probe stage,
which before we get the status of seqcount and after the RX/TX ring
was finished init.
Signed-off-by: Liwei Song <liwei.song@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Author: Kexin(Casey) Chen <Casey.Chen@windriver.com>
Date: Tue Nov 29 14:14:07 2016 -0800
aufs: fix compile warning
fs/aufs/debug.h:95:19: warning: comparison of constant '0'
with boolean expression is always false [-Wbool-compare]
if (unlikely((e) < 0)) \
^
fs/aufs/vdir.c:852:2: note: in expansion of macro 'AuTraceErr'
AuTraceErr(!valid);
^~~~~~~~~~
In expansion of AuTraceErr(!valid), comparison of (!valid)
and constant '0' always passes unlikely(x) false. function
'static int seek_vdir(struct file *file, struct dir_context *ctx)'
is to find whether there is a valid vd_deblk following ctx->pos.
return 1 means valid, 0 for not. Change to AuTraceErr(valid - 1)
makes more sense.
Signed-off-by: Kexin(Casey) Chen <Casey.Chen@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
---
meta/recipes-kernel/linux/linux-yocto-rt_4.8.bb | 2 +-
meta/recipes-kernel/linux/linux-yocto-tiny_4.8.bb | 2 +-
meta/recipes-kernel/linux/linux-yocto_4.8.bb | 16 ++++++++--------
3 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_4.8.bb b/meta/recipes-kernel/linux/linux-yocto-rt_4.8.bb
index 3d9ff393fdd0..fe663b1711f1 100644
--- a/meta/recipes-kernel/linux/linux-yocto-rt_4.8.bb
+++ b/meta/recipes-kernel/linux/linux-yocto-rt_4.8.bb
@@ -11,7 +11,7 @@ python () {
raise bb.parse.SkipPackage("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
}
-SRCREV_machine ?= "4b6a2814a1ac2a917a8334748b3168315e678041"
+SRCREV_machine ?= "df64f1041f15871cffb254d7136072d1d4859284"
SRCREV_meta ?= "1dc615a67779fdfd36548fd48e54bd19b6e6209e"
SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.8.git;branch=${KBRANCH};name=machine \
diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_4.8.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_4.8.bb
index 870a3487f3d3..0ff18b8d8cea 100644
--- a/meta/recipes-kernel/linux/linux-yocto-tiny_4.8.bb
+++ b/meta/recipes-kernel/linux/linux-yocto-tiny_4.8.bb
@@ -9,7 +9,7 @@ LINUX_VERSION ?= "4.8.10"
KMETA = "kernel-meta"
KCONF_BSP_AUDIT_LEVEL = "2"
-SRCREV_machine ?= "96ea072413fb386598a62c77ed202a6de08085f6"
+SRCREV_machine ?= "78e5c86c1c194e2045e8eb2c948d00f2dbb1f31c"
SRCREV_meta ?= "1dc615a67779fdfd36548fd48e54bd19b6e6209e"
PV = "${LINUX_VERSION}+git${SRCPV}"
diff --git a/meta/recipes-kernel/linux/linux-yocto_4.8.bb b/meta/recipes-kernel/linux/linux-yocto_4.8.bb
index a4dd9adc7162..16058ed83329 100644
--- a/meta/recipes-kernel/linux/linux-yocto_4.8.bb
+++ b/meta/recipes-kernel/linux/linux-yocto_4.8.bb
@@ -11,14 +11,14 @@ KBRANCH_qemux86 ?= "standard/base"
KBRANCH_qemux86-64 ?= "standard/base"
KBRANCH_qemumips64 ?= "standard/mti-malta64"
-SRCREV_machine_qemuarm ?= "a0241e756033146b308e94e262f0c434d4d5dcdc"
-SRCREV_machine_qemuarm64 ?= "72e32211033cff873824d944470d06f590f66a85"
-SRCREV_machine_qemumips ?= "b17c74d6df96711a98c48515b6c171dfe492a4a6"
-SRCREV_machine_qemuppc ?= "15c034ae478c08219aaefaf8a9b57ee2939715a9"
-SRCREV_machine_qemux86 ?= "f5d46e21688b7463c942d9d27789d88d580f566b"
-SRCREV_machine_qemux86-64 ?= "f5d46e21688b7463c942d9d27789d88d580f566b"
-SRCREV_machine_qemumips64 ?= "7688c6f57bc68c6b39f0bd7a20ea84419ebfaf50"
-SRCREV_machine ?= "f5d46e21688b7463c942d9d27789d88d580f566b"
+SRCREV_machine_qemuarm ?= "a004864814e34348c6dc5f745af3f775c55c0510"
+SRCREV_machine_qemuarm64 ?= "eb61693c773924d742aeea5e03b88d7554db61c3"
+SRCREV_machine_qemumips ?= "89f99732db8a8082898a396e67a34472a1017032"
+SRCREV_machine_qemuppc ?= "e03132839bac2cef030ff70b3e19c0fb4816a9fd"
+SRCREV_machine_qemux86 ?= "9acf42c4475aa0699b2692d7f27f22d699b36337"
+SRCREV_machine_qemux86-64 ?= "9acf42c4475aa0699b2692d7f27f22d699b36337"
+SRCREV_machine_qemumips64 ?= "ff92ef8e2b67415b5e6fd4cd15489cb43de8c932"
+SRCREV_machine ?= "9acf42c4475aa0699b2692d7f27f22d699b36337"
SRCREV_meta ?= "1dc615a67779fdfd36548fd48e54bd19b6e6209e"
SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.8.git;name=machine;branch=${KBRANCH}; \
--
2.5.0
^ permalink raw reply related
* [PATCH 0/8] linux-yocto: consolidated pull request
From: Bruce Ashfield @ 2016-12-08 17:58 UTC (permalink / raw)
To: richard.purdie; +Cc: openembedded-core
Hi all,
Here are the pending changes in my queue.
There are a few bug & CVE fixes:
- aufs warning
- kernel_configcheck warnings
- linux-yocto/4.x: CVE-2016-8655
Stable updates:
- v4.1.36
- v4.4.36
- v4.8.12
-rt refreshes:
- 4.4-rt43
And a kern-tools fix to get rid of the last leaking files to /tmp:
- kern-tools: ensure that no shared directories are used
I built and booted these on as many machines as possible, but it is a wide
matrix with three kernel versions all getting bumped.
The kern-tools fix is independent of the version bumps, so it is safe to
take, even if the -stable updates happen to show issues.
Cheers,
Bruce
The following changes since commit e38775a1d82e6dc60fc96cf243ecb94be964d9b2:
kernel-yocto: exit on non-zero return code (2016-12-07 10:46:09 +0000)
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 (8):
linux-yocto/4.8: aufs warning and ixgbe calltrace
linux-yocto/4.4/4.8: Fix remaining kernel_configcheck warnings in
Intel BSPs
linux-yoct/4.1: update to v4.1.36
linux-yocto/4.4: update to v4.4.36
linux-yocto/4.8: update to v4.8.12
kern-tools: ensure that no shared directories are used
linux-yocto-rt/4.4: update to -rt43
linux-yocto/4.x: CVE-2016-8655
.../kern-tools/kern-tools-native_git.bb | 2 +-
meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb | 6 +++---
meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb | 6 +++---
meta/recipes-kernel/linux/linux-yocto-rt_4.8.bb | 6 +++---
meta/recipes-kernel/linux/linux-yocto-tiny_4.1.bb | 6 +++---
meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb | 6 +++---
meta/recipes-kernel/linux/linux-yocto-tiny_4.8.bb | 6 +++---
meta/recipes-kernel/linux/linux-yocto_4.1.bb | 20 ++++++++++----------
meta/recipes-kernel/linux/linux-yocto_4.4.bb | 20 ++++++++++----------
meta/recipes-kernel/linux/linux-yocto_4.8.bb | 20 ++++++++++----------
10 files changed, 49 insertions(+), 49 deletions(-)
--
2.5.0
^ permalink raw reply
* Re: [PATCH] perl-native: Remove usage of -fstack-protector=strong
From: Aníbal Limón @ 2016-12-08 17:00 UTC (permalink / raw)
To: Burton, Ross; +Cc: Patches and discussions about the oe-core layer
In-Reply-To: <CAMKF1srD4Nzzo=tB8PbRCOTKckqe1T0C_5XCiAK2Wn2kASekhA@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 7439 bytes --]
ping, :D
alimon
On 12/01/2016 06:19 PM, Khem Raj wrote:
> On Thu, Dec 1, 2016 at 2:46 PM, Aníbal Limón
> <anibal.limon@linux.intel.com> wrote:
>>
>>
>> On 12/01/2016 04:39 PM, Khem Raj wrote:
>>> On Thu, Dec 1, 2016 at 8:34 AM, Aníbal Limón
>>> <anibal.limon@linux.intel.com> wrote:
>>>> Some distributions (like opensuse421) supported by the project
>>>> comes with older gcc releases, -fstack-protector=strong is supported
>>>> by GCC>=4.9.
>>>>
>>>> This causes a build failure when install perl-native from a sstate that
>>>> comes from a machine supporting -fstack-protector=strong [1].
>>>>
>>>> So disable usage of this flag in perl-native builds, this patch could
>>>> be removed when all supported distros comes with GCC>=4.9.
>>>
>>>
>>> Instead of disabling it. Can it be made detectable during configure.
>>
>> The issue here is that comes from SSTATE mirror so the configure step
>> isn't executed again when a other machine without
>> -fstack-protector=strong download the sstate artifact was generate in
>> other machine with -fstack-protector=strong support. This is only for
>> native builds for target builds in enabled.
>>
>> We have similar patches for example in rpm,
>>
>> http://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/meta/recipes-devtools/rpm/rpm/popt-disable-auto-stack-protector.patch
>>
>
> yeah I see, thanks, I guess we need to bring it down to lowest common
> denominator I guess.
> maybe we should start thinking about gcc-native
>
>
>> Cheers,
>> alimon
>>
>>
>>>
>>>>
>>>> [YOCTO #10338]
>>>>
>>>> [1] http://errors.yoctoproject.org/Errors/Details/109589/
>>>>
>>>> Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
>>>> ---
>>>> meta/recipes-devtools/perl/perl-native_5.24.0.bb | 1 +
>>>> ...emove-fstack-protector-strong-for-native-.patch | 103 +++++++++++++++++++++
>>>> 2 files changed, 104 insertions(+)
>>>> create mode 100644 meta/recipes-devtools/perl/perl/0001-Configure-Remove-fstack-protector-strong-for-native-.patch
>>>>
>>>> diff --git a/meta/recipes-devtools/perl/perl-native_5.24.0.bb b/meta/recipes-devtools/perl/perl-native_5.24.0.bb
>>>> index af2ad7b..b1f0179 100644
>>>> --- a/meta/recipes-devtools/perl/perl-native_5.24.0.bb
>>>> +++ b/meta/recipes-devtools/perl/perl-native_5.24.0.bb
>>>> @@ -11,6 +11,7 @@ SRC_URI += "\
>>>> file://debian/errno_ver.diff \
>>>> file://dynaloaderhack.patch \
>>>> file://perl-PathTools-don-t-filter-out-blib-from-INC.patch \
>>>> + file://0001-Configure-Remove-fstack-protector-strong-for-native-.patch \
>>>> "
>>>>
>>>> SRC_URI[md5sum] = "59456ae4bd4b06cb6e57cb19a3b2d349"
>>>> diff --git a/meta/recipes-devtools/perl/perl/0001-Configure-Remove-fstack-protector-strong-for-native-.patch b/meta/recipes-devtools/perl/perl/0001-Configure-Remove-fstack-protector-strong-for-native-.patch
>>>> new file mode 100644
>>>> index 0000000..7391ac5
>>>> --- /dev/null
>>>> +++ b/meta/recipes-devtools/perl/perl/0001-Configure-Remove-fstack-protector-strong-for-native-.patch
>>>> @@ -0,0 +1,103 @@
>>>> +Some distributions (like opensuse421) supported by the project
>>>> +comes with older gcc releases, -fstack-protector=strong is supported
>>>> +by GCC>=4.9.
>>>> +
>>>> +This causes a build failure when install perl-native from a sstate that
>>>> +comes from a machine supporting -fstack-protector=strong [1].
>>>> +
>>>> +So disable usage of this flag in perl-native builds, this patch could
>>>> +be removed when all supported distros comes with GCC>=4.9.
>>>> +
>>>> +[YOCTO #10338]
>>>> +
>>>> +Upstream-status: Inappropriate [configuration]
>>>> +
>>>> +[1] http://errors.yoctoproject.org/Errors/Details/109589/
>>>> +
>>>> +Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
>>>> +---
>>>> + Configure | 54 ------------------------------------------------------
>>>> + 1 file changed, 54 deletions(-)
>>>> +
>>>> +diff --git a/Configure b/Configure
>>>> +index efbdcfd..d5bd98c 100755
>>>> +--- a/Configure
>>>> ++++ b/Configure
>>>> +@@ -5468,30 +5468,6 @@ default|recommended)
>>>> + eval $checkccflag
>>>> + ;;
>>>> + esac
>>>> +-
>>>> +- # on x86_64 (at least) we require an extra library (libssp) in the
>>>> +- # link command line. This library is not named, so I infer that it is
>>>> +- # an implementation detail that may change. Hence the safest approach
>>>> +- # is to add the flag to the flags passed to the compiler at link time,
>>>> +- # as that way the compiler can do the right implementation dependant
>>>> +- # thing. (NWC)
>>>> +- case "$osname" in
>>>> +- amigaos) ;; # -fstack-protector builds but doesn't work
>>>> +- *) case "$gccversion" in
>>>> +- ?*) set stack-protector-strong -fstack-protector-strong
>>>> +- eval $checkccflag
>>>> +- case "$dflt" in
>>>> +- *-fstack-protector-strong*) ;; # It got added.
>>>> +- *) # Try the plain/older -fstack-protector.
>>>> +- set stack-protector -fstack-protector
>>>> +- eval $checkccflag
>>>> +- ;;
>>>> +- esac
>>>> +- ;;
>>>> +- esac
>>>> +- ;;
>>>> +- esac
>>>> +- ;;
>>>> + esac
>>>> +
>>>> + case "$mips_type" in
>>>> +@@ -5634,21 +5610,6 @@ case "$ldflags" in
>>>> + ;;
>>>> + *) dflt="$ldflags";;
>>>> + esac
>>>> +-# See note above about -fstack-protector
>>>> +-case "$ccflags" in
>>>> +-*-fstack-protector-strong*)
>>>> +- case "$dflt" in
>>>> +- *-fstack-protector-strong*) ;; # Don't add it again
>>>> +- *) dflt="$dflt -fstack-protector-strong" ;;
>>>> +- esac
>>>> +- ;;
>>>> +-*-fstack-protector*)
>>>> +- case "$dflt" in
>>>> +- *-fstack-protector*) ;; # Don't add it again
>>>> +- *) dflt="$dflt -fstack-protector" ;;
>>>> +- esac
>>>> +- ;;
>>>> +-esac
>>>> +
>>>> + : Try to guess additional flags to pick up local libraries.
>>>> + for thislibdir in $libpth; do
>>>> +@@ -8571,21 +8532,6 @@ EOM
>>>> + ''|' ') dflt='none' ;;
>>>> + esac
>>>> +
>>>> +- case "$ldflags" in
>>>> +- *-fstack-protector-strong*)
>>>> +- case "$dflt" in
>>>> +- *-fstack-protector-strong*) ;; # Don't add it again
>>>> +- *) dflt="$dflt -fstack-protector-strong" ;;
>>>> +- esac
>>>> +- ;;
>>>> +- *-fstack-protector*)
>>>> +- case "$dflt" in
>>>> +- *-fstack-protector*) ;; # Don't add it again
>>>> +- *) dflt="$dflt -fstack-protector" ;;
>>>> +- esac
>>>> +- ;;
>>>> +- esac
>>>> +-
>>>> + rp="Any special flags to pass to $ld to create a dynamically loaded library?"
>>>> + . ./myread
>>>> + case "$ans" in
>>>> +--
>>>> +2.1.4
>>>> +
>>>> --
>>>> 2.1.4
>>>>
>>>> --
>>>> _______________________________________________
>>>> Openembedded-core mailing list
>>>> Openembedded-core@lists.openembedded.org
>>>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>>
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply
* [PATCH] oe-trim-schemas: create usage output
From: Ed Bartosh @ 2016-12-08 16:56 UTC (permalink / raw)
To: openembedded-core
Created usage output for oe-trim-schemas script.
[YOCTO #10751]
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
---
scripts/oe-trim-schemas | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/scripts/oe-trim-schemas b/scripts/oe-trim-schemas
index 66a1b8d..7c199ef 100755
--- a/scripts/oe-trim-schemas
+++ b/scripts/oe-trim-schemas
@@ -18,6 +18,15 @@ def children (elem, name=None):
l = [e for e in l if e.tag == name]
return l
+if len(sys.argv) < 2 or sys.argv[1] in ('-h', '--help'):
+ print('oe-trim-schemas: error: the following arguments are required: schema\n'
+ 'Usage: oe-trim-schemas schema\n\n'
+ 'OpenEmbedded trim schemas - remove unneeded schema locale translations\n'
+ ' from gconf schema files\n\n'
+ 'arguments:\n'
+ ' schema gconf schema file to trim\n')
+ sys.exit(2)
+
xml = etree.parse(sys.argv[1])
for schema in child(xml.getroot(), "schemalist").getchildren():
--
2.1.4
^ permalink raw reply related
* [PATCHv3 30/30] oeqa: Fix files handling on runtime tests.
From: Aníbal Limón @ 2016-12-08 16:20 UTC (permalink / raw)
To: openembedded-core
In-Reply-To: <cover.1481213961.git.anibal.limon@linux.intel.com>
Common files was move to oeqa/files from oeqa/runtime/files
because the same files are used across Runtime,SDK,eSDK tests.
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
---
meta/classes/testexport.bbclass | 5 +++++
meta/lib/oeqa/oetest.py | 1 +
meta/lib/oeqa/runtime/gcc.py | 4 ++--
meta/lib/oeqa/runtime/perl.py | 2 +-
meta/lib/oeqa/runtime/python.py | 2 +-
5 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/meta/classes/testexport.bbclass b/meta/classes/testexport.bbclass
index 5147020..a3ccd63 100644
--- a/meta/classes/testexport.bbclass
+++ b/meta/classes/testexport.bbclass
@@ -87,6 +87,7 @@ def exportTests(d,tc):
# - the contents of oeqa/utils and oeqa/runtime/files
# - oeqa/oetest.py and oeqa/runexport.py (this will get copied to exportpath not exportpath/oeqa)
# - __init__.py files
+ bb.utils.mkdirhier(os.path.join(exportpath, "oeqa/files"))
bb.utils.mkdirhier(os.path.join(exportpath, "oeqa/runtime/files"))
bb.utils.mkdirhier(os.path.join(exportpath, "oeqa/utils"))
# copy test modules, this should cover tests in other layers too
@@ -124,6 +125,10 @@ def exportTests(d,tc):
for f in files:
if f.endswith(".py"):
shutil.copy2(os.path.join(root, f), os.path.join(exportpath, "oeqa/utils"))
+ # copy oeqa/files/*
+ for root, dirs, files in os.walk(os.path.join(oeqadir, "files")):
+ for f in files:
+ shutil.copy2(os.path.join(root, f), os.path.join(exportpath, "oeqa/files"))
# copy oeqa/runtime/files/*
for root, dirs, files in os.walk(os.path.join(oeqadir, "runtime/files")):
for f in files:
diff --git a/meta/lib/oeqa/oetest.py b/meta/lib/oeqa/oetest.py
index f9e9025..48bcafc 100644
--- a/meta/lib/oeqa/oetest.py
+++ b/meta/lib/oeqa/oetest.py
@@ -201,6 +201,7 @@ class TestContext(object):
self.testsrequired = self._get_test_suites_required()
self.filesdir = os.path.join(os.path.dirname(os.path.abspath(__file__)), "runtime/files")
+ self.corefilesdir = os.path.join(os.path.dirname(os.path.abspath(__file__)), "files")
self.imagefeatures = d.getVar("IMAGE_FEATURES", True).split()
self.distrofeatures = d.getVar("DISTRO_FEATURES", True).split()
diff --git a/meta/lib/oeqa/runtime/gcc.py b/meta/lib/oeqa/runtime/gcc.py
index d90cd17..6edb89f 100644
--- a/meta/lib/oeqa/runtime/gcc.py
+++ b/meta/lib/oeqa/runtime/gcc.py
@@ -12,9 +12,9 @@ class GccCompileTest(oeRuntimeTest):
@classmethod
def setUpClass(self):
- oeRuntimeTest.tc.target.copy_to(os.path.join(oeRuntimeTest.tc.filesdir, "test.c"), "/tmp/test.c")
+ oeRuntimeTest.tc.target.copy_to(os.path.join(oeRuntimeTest.tc.corefilesdir, "test.c"), "/tmp/test.c")
oeRuntimeTest.tc.target.copy_to(os.path.join(oeRuntimeTest.tc.filesdir, "testmakefile"), "/tmp/testmakefile")
- oeRuntimeTest.tc.target.copy_to(os.path.join(oeRuntimeTest.tc.filesdir, "test.cpp"), "/tmp/test.cpp")
+ oeRuntimeTest.tc.target.copy_to(os.path.join(oeRuntimeTest.tc.corefilesdir, "test.cpp"), "/tmp/test.cpp")
@testcase(203)
def test_gcc_compile(self):
diff --git a/meta/lib/oeqa/runtime/perl.py b/meta/lib/oeqa/runtime/perl.py
index e044d0a..6bf98f1 100644
--- a/meta/lib/oeqa/runtime/perl.py
+++ b/meta/lib/oeqa/runtime/perl.py
@@ -12,7 +12,7 @@ class PerlTest(oeRuntimeTest):
@classmethod
def setUpClass(self):
- oeRuntimeTest.tc.target.copy_to(os.path.join(oeRuntimeTest.tc.filesdir, "test.pl"), "/tmp/test.pl")
+ oeRuntimeTest.tc.target.copy_to(os.path.join(oeRuntimeTest.tc.corefilesdir, "test.pl"), "/tmp/test.pl")
@testcase(1141)
def test_perl_exists(self):
diff --git a/meta/lib/oeqa/runtime/python.py b/meta/lib/oeqa/runtime/python.py
index 29a231c..93e822c 100644
--- a/meta/lib/oeqa/runtime/python.py
+++ b/meta/lib/oeqa/runtime/python.py
@@ -12,7 +12,7 @@ class PythonTest(oeRuntimeTest):
@classmethod
def setUpClass(self):
- oeRuntimeTest.tc.target.copy_to(os.path.join(oeRuntimeTest.tc.filesdir, "test.py"), "/tmp/test.py")
+ oeRuntimeTest.tc.target.copy_to(os.path.join(oeRuntimeTest.tc.corefilesdir, "test.py"), "/tmp/test.py")
@testcase(1145)
def test_python_exists(self):
--
2.1.4
^ permalink raw reply related
* [PATCHv3 29/30] oeqa/runtime: Fix TargetBuildProject instances
From: Aníbal Limón @ 2016-12-08 16:20 UTC (permalink / raw)
To: openembedded-core
In-Reply-To: <cover.1481213961.git.anibal.limon@linux.intel.com>
TargetBuildProject was refactored to avoid bitbake dependency so
the instance don't allow to pass data store anymore.
classes/testimage: Export proxies before run tests
The TargetBuildProject based tests download archives from network.
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
---
meta/classes/testimage.bbclass | 4 ++++
meta/lib/oeqa/runtime/buildcvs.py | 9 +++++----
meta/lib/oeqa/runtime/buildgalculator.py | 8 +++++---
meta/lib/oeqa/runtime/buildiptables.py | 8 +++++---
4 files changed, 19 insertions(+), 10 deletions(-)
diff --git a/meta/classes/testimage.bbclass b/meta/classes/testimage.bbclass
index 6b6781d..89ed003 100644
--- a/meta/classes/testimage.bbclass
+++ b/meta/classes/testimage.bbclass
@@ -129,11 +129,15 @@ def testimage_main(d):
from oeqa.oetest import ImageTestContext
from oeqa.targetcontrol import get_target_controller
from oeqa.utils.dump import get_host_dumper
+ from bb.utils import export_proxies
pn = d.getVar("PN", True)
bb.utils.mkdirhier(d.getVar("TEST_LOG_DIR", True))
test_create_extract_dirs(d)
+ # runtime use network for download projects for build
+ export_proxies(d)
+
# we need the host dumper in test context
host_dumper = get_host_dumper(d)
diff --git a/meta/lib/oeqa/runtime/buildcvs.py b/meta/lib/oeqa/runtime/buildcvs.py
index fe6cbfb..a5ca3a5 100644
--- a/meta/lib/oeqa/runtime/buildcvs.py
+++ b/meta/lib/oeqa/runtime/buildcvs.py
@@ -1,6 +1,6 @@
from oeqa.oetest import oeRuntimeTest, skipModule
from oeqa.utils.decorators import *
-from oeqa.utils.targetbuild import TargetBuildProject
+from oeqa.runtime.utils.targetbuildproject import TargetBuildProject
def setUpModule():
if not oeRuntimeTest.hasFeature("tools-sdk"):
@@ -10,9 +10,10 @@ class BuildCvsTest(oeRuntimeTest):
@classmethod
def setUpClass(self):
- self.project = TargetBuildProject(oeRuntimeTest.tc.target, oeRuntimeTest.tc.d,
- "http://ftp.gnu.org/non-gnu/cvs/source/feature/1.12.13/cvs-1.12.13.tar.bz2")
- self.project.download_archive()
+ dl_dir = oeRuntimeTest.tc.d.getVar('DL_DIR', True)
+ self.project = TargetBuildProject(oeRuntimeTest.tc.target,
+ "http://ftp.gnu.org/non-gnu/cvs/source/feature/1.12.13/cvs-1.12.13.tar.bz2",
+ dl_dir=dl_dir)
@testcase(205)
@skipUnlessPassed("test_ssh")
diff --git a/meta/lib/oeqa/runtime/buildgalculator.py b/meta/lib/oeqa/runtime/buildgalculator.py
index 220101d..20f0a79 100644
--- a/meta/lib/oeqa/runtime/buildgalculator.py
+++ b/meta/lib/oeqa/runtime/buildgalculator.py
@@ -1,6 +1,6 @@
from oeqa.oetest import oeRuntimeTest, skipModule
from oeqa.utils.decorators import *
-from oeqa.utils.targetbuild import TargetBuildProject
+from oeqa.runtime.utils.targetbuildproject import TargetBuildProject
def setUpModule():
if not oeRuntimeTest.hasFeature("tools-sdk"):
@@ -10,9 +10,11 @@ class GalculatorTest(oeRuntimeTest):
@testcase(1526)
@skipUnlessPassed("test_ssh")
def test_galculator(self):
+ dl_dir = oeRuntimeTest.tc.d.getVar('DL_DIR', True)
try:
- project = TargetBuildProject(oeRuntimeTest.tc.target, oeRuntimeTest.tc.d,
- "http://galculator.mnim.org/downloads/galculator-2.1.4.tar.bz2")
+ project = TargetBuildProject(oeRuntimeTest.tc.target,
+ "http://galculator.mnim.org/downloads/galculator-2.1.4.tar.bz2",
+ dl_dir=dl_dir)
project.download_archive()
self.assertEqual(project.run_configure(), 0,
diff --git a/meta/lib/oeqa/runtime/buildiptables.py b/meta/lib/oeqa/runtime/buildiptables.py
index bc75d0a..a0e82f0 100644
--- a/meta/lib/oeqa/runtime/buildiptables.py
+++ b/meta/lib/oeqa/runtime/buildiptables.py
@@ -1,6 +1,6 @@
from oeqa.oetest import oeRuntimeTest, skipModule
from oeqa.utils.decorators import *
-from oeqa.utils.targetbuild import TargetBuildProject
+from oeqa.runtime.utils.targetbuildproject import TargetBuildProject
def setUpModule():
if not oeRuntimeTest.hasFeature("tools-sdk"):
@@ -10,8 +10,10 @@ class BuildIptablesTest(oeRuntimeTest):
@classmethod
def setUpClass(self):
- self.project = TargetBuildProject(oeRuntimeTest.tc.target, oeRuntimeTest.tc.d,
- "http://downloads.yoctoproject.org/mirror/sources/iptables-1.4.13.tar.bz2")
+ dl_dir = oeRuntimeTest.tc.d.getVar('DL_DIR', True)
+ self.project = TargetBuildProject(oeRuntimeTest.tc.target,
+ "http://downloads.yoctoproject.org/mirror/sources/iptables-1.4.13.tar.bz2",
+ dl_dir=dl_dir)
self.project.download_archive()
@testcase(206)
--
2.1.4
^ permalink raw reply related
* [PATCHv3 28/30] oeqa/sdkext/cases: Migrate test case to new OEQA framework
From: Aníbal Limón @ 2016-12-08 16:20 UTC (permalink / raw)
To: openembedded-core
In-Reply-To: <cover.1481213961.git.anibal.limon@linux.intel.com>
Summary,
- Changes base case class to OESDKExtTest.
- Changes decorator classes to new ones.
- Chnages variable names sdktestdir -> sdk_dir.
- Added missing license to MIT.
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
---
meta/lib/oeqa/sdk/cases/buildgalculator.py | 2 +-
meta/lib/oeqa/sdk/cases/gcc.py | 2 +-
meta/lib/oeqa/sdkext/cases/devtool.py | 49 ++++++++++++++++--------------
meta/lib/oeqa/sdkext/cases/sdk_update.py | 17 ++++++-----
4 files changed, 38 insertions(+), 32 deletions(-)
diff --git a/meta/lib/oeqa/sdk/cases/buildgalculator.py b/meta/lib/oeqa/sdk/cases/buildgalculator.py
index bdc8b6a..b9b24ee 100644
--- a/meta/lib/oeqa/sdk/cases/buildgalculator.py
+++ b/meta/lib/oeqa/sdk/cases/buildgalculator.py
@@ -10,7 +10,7 @@ class GalculatorTest(OESDKTestCase):
def setUpClass(self):
if not (self.tc.hasTargetPackage("gtk+3") or\
self.tc.hasTargetPackage("libgtk-3.0")):
- raise unittest.SkipTest("%s class: SDK don't support gtk+3" % self.__name__)
+ raise unittest.SkipTest("%s class: SDK don't support gtk+3" % self.__class__.__name__)
def test_galculator(self):
dl_dir = self.td.get('DL_DIR', None)
diff --git a/meta/lib/oeqa/sdk/cases/gcc.py b/meta/lib/oeqa/sdk/cases/gcc.py
index e06af4c..36725e3 100644
--- a/meta/lib/oeqa/sdk/cases/gcc.py
+++ b/meta/lib/oeqa/sdk/cases/gcc.py
@@ -20,7 +20,7 @@ class GccCompileTest(OESDKTestCase):
machine = self.td.get("MACHINE")
if not self.tc.hasHostPackage("packagegroup-cross-canadian-%s" % machine):
raise unittest.SkipTest("%s class: SDK doesn't contain a cross-canadian toolchain",
- self.__name__)
+ self.__class__.__name__)
def test_gcc_compile(self):
self._run('$CC %s/test.c -o %s/test -lm' % (self.tc.sdk_dir, self.tc.sdk_dir))
diff --git a/meta/lib/oeqa/sdkext/cases/devtool.py b/meta/lib/oeqa/sdkext/cases/devtool.py
index 65f41f6..da0050c 100644
--- a/meta/lib/oeqa/sdkext/cases/devtool.py
+++ b/meta/lib/oeqa/sdkext/cases/devtool.py
@@ -1,18 +1,22 @@
+# Copyright (C) 2016 Intel Corporation
+# Released under the MIT license (see COPYING.MIT)
+
import shutil
import subprocess
-import urllib.request
-from oeqa.oetest import oeSDKExtTest
-from oeqa.utils.decorators import *
-class DevtoolTest(oeSDKExtTest):
+from oeqa.sdkext.case import OESDKExtTestCase
+from oeqa.core.decorator.depends import OETestDepends
+from oeqa.core.decorator.oeid import OETestID
+
+class DevtoolTest(OESDKExtTestCase):
@classmethod
def setUpClass(self):
- self.myapp_src = os.path.join(self.tc.sdkextfilesdir, "myapp")
- self.myapp_dst = os.path.join(self.tc.sdktestdir, "myapp")
+ self.myapp_src = os.path.join(self.tc.esdk_files_dir, "myapp")
+ self.myapp_dst = os.path.join(self.tc.sdk_dir, "myapp")
shutil.copytree(self.myapp_src, self.myapp_dst)
- self.myapp_cmake_src = os.path.join(self.tc.sdkextfilesdir, "myapp_cmake")
- self.myapp_cmake_dst = os.path.join(self.tc.sdktestdir, "myapp_cmake")
+ self.myapp_cmake_src = os.path.join(self.tc.esdk_files_dir, "myapp_cmake")
+ self.myapp_cmake_dst = os.path.join(self.tc.sdk_dir, "myapp_cmake")
shutil.copytree(self.myapp_cmake_src, self.myapp_cmake_dst)
def _test_devtool_build(self, directory):
@@ -37,31 +41,31 @@ class DevtoolTest(oeSDKExtTest):
def test_devtool_location(self):
output = self._run('which devtool')
- self.assertEqual(output.startswith(self.tc.sdktestdir), True, \
+ self.assertEqual(output.startswith(self.tc.sdk_dir), True, \
msg="Seems that devtool isn't the eSDK one: %s" % output)
- @skipUnlessPassed('test_devtool_location')
+ @OETestDepends(['test_devtool_location'])
def test_devtool_add_reset(self):
self._run('devtool add myapp %s' % self.myapp_dst)
self._run('devtool reset myapp')
- @testcase(1473)
- @skipUnlessPassed('test_devtool_location')
+ @OETestID(1473)
+ @OETestDepends(['test_devtool_location'])
def test_devtool_build_make(self):
self._test_devtool_build(self.myapp_dst)
- @testcase(1474)
- @skipUnlessPassed('test_devtool_location')
+ @OETestID(1474)
+ @OETestDepends(['test_devtool_location'])
def test_devtool_build_esdk_package(self):
self._test_devtool_build_package(self.myapp_dst)
- @testcase(1479)
- @skipUnlessPassed('test_devtool_location')
+ @OETestID(1479)
+ @OETestDepends(['test_devtool_location'])
def test_devtool_build_cmake(self):
self._test_devtool_build(self.myapp_cmake_dst)
- @testcase(1482)
- @skipUnlessPassed('test_devtool_location')
+ @OETestID(1482)
+ @OETestDepends(['test_devtool_location'])
def test_extend_autotools_recipe_creation(self):
req = 'https://github.com/rdfa/librdfa'
recipe = "bbexample"
@@ -74,8 +78,8 @@ class DevtoolTest(oeSDKExtTest):
raise e
self._run('devtool reset %s' % recipe)
- @testcase(1484)
- @skipUnlessPassed('test_devtool_location')
+ @OETestID(1484)
+ @OETestDepends(['test_devtool_location'])
def test_devtool_kernelmodule(self):
docfile = 'https://github.com/umlaeute/v4l2loopback.git'
recipe = 'v4l2loopback-driver'
@@ -88,8 +92,8 @@ class DevtoolTest(oeSDKExtTest):
raise e
self._run('devtool reset %s' % recipe)
- @testcase(1478)
- @skipUnlessPassed('test_devtool_location')
+ @OETestID(1478)
+ @OETestDepends(['test_devtool_location'])
def test_recipes_for_nodejs(self):
package_nodejs = "npm://registry.npmjs.org;name=winston;version=2.2.0"
self._run('devtool add %s ' % package_nodejs)
@@ -101,7 +105,6 @@ class DevtoolTest(oeSDKExtTest):
raise e
self._run('devtool reset %s '% package_nodejs)
-
@classmethod
def tearDownClass(self):
shutil.rmtree(self.myapp_dst)
diff --git a/meta/lib/oeqa/sdkext/cases/sdk_update.py b/meta/lib/oeqa/sdkext/cases/sdk_update.py
index 2ade839..2f8598b 100644
--- a/meta/lib/oeqa/sdkext/cases/sdk_update.py
+++ b/meta/lib/oeqa/sdkext/cases/sdk_update.py
@@ -1,23 +1,26 @@
+# Copyright (C) 2016 Intel Corporation
+# Released under the MIT license (see COPYING.MIT)
+
import os
import shutil
import subprocess
-from oeqa.oetest import oeSDKExtTest
+from oeqa.sdkext.case import OESDKExtTestCase
from oeqa.utils.httpserver import HTTPService
-class SdkUpdateTest(oeSDKExtTest):
-
+class SdkUpdateTest(OESDKExtTestCase):
@classmethod
def setUpClass(self):
- self.publish_dir = os.path.join(self.tc.sdktestdir, 'esdk_publish')
+ self.publish_dir = os.path.join(self.tc.sdk_dir, 'esdk_publish')
if os.path.exists(self.publish_dir):
shutil.rmtree(self.publish_dir)
os.mkdir(self.publish_dir)
- tcname_new = self.tc.d.expand(
- "${SDK_DEPLOY}/${TOOLCHAINEXT_OUTPUTNAME}-new.sh")
+ base_tcname = "%s/%s" % (self.td.get("SDK_DEPLOY", ''),
+ self.td.get("TOOLCHAINEXT_OUTPUTNAME", ''))
+ tcname_new = "%s-new.sh" % base_tcname
if not os.path.exists(tcname_new):
- tcname_new = self.tc.tcname
+ tcname_new = "%s.sh" % base_tcname
cmd = 'oe-publish-sdk %s %s' % (tcname_new, self.publish_dir)
subprocess.check_output(cmd, shell=True)
--
2.1.4
^ permalink raw reply related
* [PATCHv3 27/30] classes/testsdk: Migrate to use the new OESDKExtTestContext
From: Aníbal Limón @ 2016-12-08 16:20 UTC (permalink / raw)
To: openembedded-core
In-Reply-To: <cover.1481213961.git.anibal.limon@linux.intel.com>
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
---
meta/classes/testsdk.bbclass | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/meta/classes/testsdk.bbclass b/meta/classes/testsdk.bbclass
index 24529ca..1d6547a 100644
--- a/meta/classes/testsdk.bbclass
+++ b/meta/classes/testsdk.bbclass
@@ -100,7 +100,7 @@ def testsdkext_main(d):
from bb.utils import export_proxies
from oeqa.utils import avoid_paths_in_environ
- from oeqa.sdk.context import OESDKExtTestContext, OESDKExtTestContextExecutor
+ from oeqa.sdkext.context import OESDKExtTestContext, OESDKExtTestContextExecutor
pn = d.getVar("PN", True)
logger = logging.getLogger("BitBake")
@@ -119,13 +119,13 @@ def testsdkext_main(d):
bb.fatal("The toolchain ext %s is not built. Build it before running the" \
" tests: 'bitbake <image> -c populate_sdk_ext' ." % tcname)
- tdname = d.expand("${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.testdata.json")
+ tdname = d.expand("${SDK_DEPLOY}/${TOOLCHAINEXT_OUTPUTNAME}.testdata.json")
test_data = json.load(open(tdname, "r"))
target_pkg_manifest = OESDKExtTestContextExecutor._load_manifest(
- d.expand("${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.target.manifest"))
+ d.expand("${SDK_DEPLOY}/${TOOLCHAINEXT_OUTPUTNAME}.target.manifest"))
host_pkg_manifest = OESDKExtTestContextExecutor._load_manifest(
- d.expand("${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.host.manifest"))
+ d.expand("${SDK_DEPLOY}/${TOOLCHAINEXT_OUTPUTNAME}.host.manifest"))
sdk_dir = d.expand("${WORKDIR}/testsdkext/")
bb.utils.remove(sdk_dir, True)
@@ -134,7 +134,7 @@ def testsdkext_main(d):
subprocess.check_output("%s -y -d %s" % (tcname, sdk_dir), shell=True)
except subprocess.CalledProcessError as e:
msg = "Couldn't install the extensible SDK:\n%s" % e.output.decode("utf-8")
- logfn = os.path.join(sdkdir, 'preparing_build_system.log')
+ logfn = os.path.join(sdk_dir, 'preparing_build_system.log')
if os.path.exists(logfn):
msg += '\n\nContents of preparing_build_system.log:\n'
with open(logfn, 'r') as f:
--
2.1.4
^ permalink raw reply related
* [PATCHv3 26/30] oeqa/sdkext: Adds case and context modules.
From: Aníbal Limón @ 2016-12-08 16:20 UTC (permalink / raw)
To: openembedded-core
In-Reply-To: <cover.1481213961.git.anibal.limon@linux.intel.com>
The extensible sdk context and case modules extends the sdk ones,
this means that the tests from sdk are run also the sdkext tests.
Enables support in context for use oe-test esdk command for run
the test suites, the same options of sdk are required for run esdk tests.
Removes old related to case and context inside oetest.py.
[YOCTO #10599]
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
---
meta/classes/testsdk.bbclass | 99 +++++++++++++++++++----------------------
meta/lib/oeqa/oetest.py | 40 -----------------
meta/lib/oeqa/sdkext/case.py | 21 +++++++++
meta/lib/oeqa/sdkext/context.py | 21 +++++++++
4 files changed, 88 insertions(+), 93 deletions(-)
create mode 100644 meta/lib/oeqa/sdkext/case.py
create mode 100644 meta/lib/oeqa/sdkext/context.py
diff --git a/meta/classes/testsdk.bbclass b/meta/classes/testsdk.bbclass
index 4c4df10..24529ca 100644
--- a/meta/classes/testsdk.bbclass
+++ b/meta/classes/testsdk.bbclass
@@ -16,37 +16,6 @@
TESTSDKLOCK = "${TMPDIR}/testsdk.lock"
-def run_test_context(CTestContext, d, testdir, tcname, pn, *args):
- import glob
- import time
-
- targets = glob.glob(d.expand(testdir + "/tc/environment-setup-*"))
- for sdkenv in targets:
- bb.plain("Testing %s" % sdkenv)
- tc = CTestContext(d, testdir, sdkenv, tcname, args)
-
- # this is a dummy load of tests
- # we are doing that to find compile errors in the tests themselves
- # before booting the image
- try:
- tc.loadTests()
- except Exception as e:
- import traceback
- bb.fatal("Loading tests failed:\n%s" % traceback.format_exc())
-
- starttime = time.time()
- result = tc.runTests()
- stoptime = time.time()
- if result.wasSuccessful():
- bb.plain("%s SDK(%s):%s - Ran %d test%s in %.3fs" % (pn, os.path.basename(tcname), os.path.basename(sdkenv),result.testsRun, result.testsRun != 1 and "s" or "", stoptime - starttime))
- msg = "%s - OK - All required tests passed" % pn
- skipped = len(result.skipped)
- if skipped:
- msg += " (skipped=%d)" % skipped
- bb.plain(msg)
- else:
- bb.fatal("%s - FAILED - check the task log and the commands log" % pn)
-
def testsdk_main(d):
import os
import subprocess
@@ -121,16 +90,20 @@ addtask testsdk
do_testsdk[nostamp] = "1"
do_testsdk[lockfiles] += "${TESTSDKLOCK}"
-TEST_LOG_SDKEXT_DIR ?= "${WORKDIR}/testsdkext"
TESTSDKEXTLOCK = "${TMPDIR}/testsdkext.lock"
def testsdkext_main(d):
import os
- import oeqa.sdkext
+ import json
import subprocess
+ import logging
+
from bb.utils import export_proxies
- from oeqa.oetest import SDKTestContext, SDKExtTestContext
from oeqa.utils import avoid_paths_in_environ
+ from oeqa.sdk.context import OESDKExtTestContext, OESDKExtTestContextExecutor
+
+ pn = d.getVar("PN", True)
+ logger = logging.getLogger("BitBake")
# extensible sdk use network
export_proxies(d)
@@ -141,20 +114,24 @@ def testsdkext_main(d):
d.getVar('BASE_WORKDIR', True)]
os.environ['PATH'] = avoid_paths_in_environ(paths_to_avoid)
- pn = d.getVar("PN", True)
- bb.utils.mkdirhier(d.getVar("TEST_LOG_SDKEXT_DIR", True))
-
tcname = d.expand("${SDK_DEPLOY}/${TOOLCHAINEXT_OUTPUTNAME}.sh")
if not os.path.exists(tcname):
bb.fatal("The toolchain ext %s is not built. Build it before running the" \
" tests: 'bitbake <image> -c populate_sdk_ext' ." % tcname)
- testdir = d.expand("${WORKDIR}/testsdkext/")
- bb.utils.remove(testdir, True)
- bb.utils.mkdirhier(testdir)
- sdkdir = os.path.join(testdir, 'tc')
+ tdname = d.expand("${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.testdata.json")
+ test_data = json.load(open(tdname, "r"))
+
+ target_pkg_manifest = OESDKExtTestContextExecutor._load_manifest(
+ d.expand("${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.target.manifest"))
+ host_pkg_manifest = OESDKExtTestContextExecutor._load_manifest(
+ d.expand("${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.host.manifest"))
+
+ sdk_dir = d.expand("${WORKDIR}/testsdkext/")
+ bb.utils.remove(sdk_dir, True)
+ bb.utils.mkdirhier(sdk_dir)
try:
- subprocess.check_output("%s -y -d %s" % (tcname, sdkdir), shell=True)
+ subprocess.check_output("%s -y -d %s" % (tcname, sdk_dir), shell=True)
except subprocess.CalledProcessError as e:
msg = "Couldn't install the extensible SDK:\n%s" % e.output.decode("utf-8")
logfn = os.path.join(sdkdir, 'preparing_build_system.log')
@@ -165,19 +142,35 @@ def testsdkext_main(d):
msg += line
bb.fatal(msg)
- try:
- bb.plain("Running SDK Compatibility tests ...")
- run_test_context(SDKExtTestContext, d, testdir, tcname, pn, True)
- finally:
- pass
+ fail = False
+ sdk_envs = OESDKExtTestContextExecutor._get_sdk_environs(sdk_dir)
+ for s in sdk_envs:
+ bb.plain("Extensible SDK testing environment: %s" % s)
- try:
- bb.plain("Running Extensible SDK tests ...")
- run_test_context(SDKExtTestContext, d, testdir, tcname, pn)
- finally:
- pass
+ sdk_env = sdk_envs[s]
+ tc = OESDKExtTestContext(td=test_data, logger=logger, sdk_dir=sdk_dir,
+ sdk_env=sdk_env, target_pkg_manifest=target_pkg_manifest,
+ host_pkg_manifest=host_pkg_manifest)
- bb.utils.remove(testdir, True)
+ try:
+ tc.loadTests(OESDKExtTestContextExecutor.default_cases)
+ except Exception as e:
+ import traceback
+ bb.fatal("Loading tests failed:\n%s" % traceback.format_exc())
+
+ result = tc.runTests()
+
+ component = "%s %s" % (pn, OESDKExtTestContextExecutor.name)
+ context_msg = "%s:%s" % (os.path.basename(tcname), os.path.basename(sdk_env))
+
+ tc.logSummary(result, component, context_msg)
+ tc.logDetails()
+
+ if not result.wasSuccessful():
+ fail = True
+
+ if fail:
+ bb.fatal("%s - FAILED - check the task log and the commands log" % pn)
testsdkext_main[vardepsexclude] =+ "BB_ORIGENV"
diff --git a/meta/lib/oeqa/oetest.py b/meta/lib/oeqa/oetest.py
index 4a98b0f1..f9e9025 100644
--- a/meta/lib/oeqa/oetest.py
+++ b/meta/lib/oeqa/oetest.py
@@ -27,7 +27,6 @@ try:
except ImportError:
pass
from oeqa.utils.decorators import LogResults, gettag, getResults
-from oeqa.utils import avoid_paths_in_environ
logger = logging.getLogger("BitBake")
@@ -145,18 +144,6 @@ class OETestCalledProcessError(subprocess.CalledProcessError):
subprocess.CalledProcessError = OETestCalledProcessError
-class oeSDKExtTest(oeSDKTest):
- def _run(self, cmd):
- # extensible sdk shows a warning if found bitbake in the path
- # because can cause contamination, i.e. use devtool from
- # poky/scripts instead of eSDK one.
- env = os.environ.copy()
- paths_to_avoid = ['bitbake/bin', 'poky/scripts']
- env['PATH'] = avoid_paths_in_environ(paths_to_avoid)
-
- return subprocess.check_output(". %s > /dev/null;"\
- " %s;" % (self.tc.sdkenv, cmd), stderr=subprocess.STDOUT, shell=True, env=env).decode("utf-8")
-
def getmodule(pos=2):
# stack returns a list of tuples containg frame information
# First element of the list the is current frame, caller is 1
@@ -642,30 +629,3 @@ class ExportTestContext(RuntimeTestContext):
extracted_dir = self.d.getVar("TEST_EXPORT_EXTRACTED_DIR", True)
pkg_dir = os.path.join(export_dir, extracted_dir)
super(ExportTestContext, self).install_uninstall_packages(test_id, pkg_dir, install)
-
-class SDKExtTestContext(SDKTestContext):
- def __init__(self, d, sdktestdir, sdkenv, tcname, *args):
- self.target_manifest = d.getVar("SDK_EXT_TARGET_MANIFEST", True)
- self.host_manifest = d.getVar("SDK_EXT_HOST_MANIFEST", True)
- if args:
- self.cm = args[0] # Compatibility mode for run SDK tests
- else:
- self.cm = False
-
- super(SDKExtTestContext, self).__init__(d, sdktestdir, sdkenv, tcname)
-
- self.sdkextfilesdir = os.path.join(os.path.dirname(os.path.abspath(
- oeqa.sdkext.__file__)), "files")
-
- def _get_test_namespace(self):
- if self.cm:
- return "sdk"
- else:
- return "sdkext"
-
- def _get_test_suites(self):
- return (self.d.getVar("TEST_SUITES_SDK_EXT", True) or "auto").split()
-
- def _get_test_suites_required(self):
- return [t for t in (self.d.getVar("TEST_SUITES_SDK_EXT", True) or \
- "auto").split() if t != "auto"]
diff --git a/meta/lib/oeqa/sdkext/case.py b/meta/lib/oeqa/sdkext/case.py
new file mode 100644
index 0000000..6f708aa
--- /dev/null
+++ b/meta/lib/oeqa/sdkext/case.py
@@ -0,0 +1,21 @@
+# Copyright (C) 2016 Intel Corporation
+# Released under the MIT license (see COPYING.MIT)
+
+import os
+import subprocess
+
+from oeqa.utils import avoid_paths_in_environ
+from oeqa.sdk.case import OESDKTestCase
+
+class OESDKExtTestCase(OESDKTestCase):
+ def _run(self, cmd):
+ # extensible sdk shows a warning if found bitbake in the path
+ # because can cause contamination, i.e. use devtool from
+ # poky/scripts instead of eSDK one.
+ env = os.environ.copy()
+ paths_to_avoid = ['bitbake/bin', 'poky/scripts']
+ env['PATH'] = avoid_paths_in_environ(paths_to_avoid)
+
+ return subprocess.check_output(". %s > /dev/null;"\
+ " %s;" % (self.tc.sdk_env, cmd), stderr=subprocess.STDOUT,
+ shell=True, env=env).decode("utf-8")
diff --git a/meta/lib/oeqa/sdkext/context.py b/meta/lib/oeqa/sdkext/context.py
new file mode 100644
index 0000000..8dbcd80
--- /dev/null
+++ b/meta/lib/oeqa/sdkext/context.py
@@ -0,0 +1,21 @@
+# Copyright (C) 2016 Intel Corporation
+# Released under the MIT license (see COPYING.MIT)
+
+import os
+from oeqa.sdk.context import OESDKTestContext, OESDKTestContextExecutor
+
+class OESDKExtTestContext(OESDKTestContext):
+ esdk_files_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)), "files")
+
+class OESDKExtTestContextExecutor(OESDKTestContextExecutor):
+ _context_class = OESDKExtTestContext
+
+ name = 'esdk'
+ help = 'esdk test component'
+ description = 'executes esdk tests'
+
+ default_cases = [OESDKTestContextExecutor.default_cases[0],
+ os.path.join(os.path.abspath(os.path.dirname(__file__)), 'cases')]
+ default_test_data = None
+
+_executor_class = OESDKExtTestContextExecutor
--
2.1.4
^ permalink raw reply related
* [PATCHv3 25/30] oeqa/sdkext: Move test cases inside cases directory
From: Aníbal Limón @ 2016-12-08 16:20 UTC (permalink / raw)
To: openembedded-core
In-Reply-To: <cover.1481213961.git.anibal.limon@linux.intel.com>
For match with the new structure of the OEQA framework.
In the new framework Test component base directory in this case
sdk module will contain case and context implementations.
[YOCTO #10599]
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
---
meta/lib/oeqa/sdkext/__init__.py | 3 ---
meta/lib/oeqa/sdkext/{ => cases}/devtool.py | 0
meta/lib/oeqa/sdkext/{ => cases}/sdk_update.py | 0
3 files changed, 3 deletions(-)
rename meta/lib/oeqa/sdkext/{ => cases}/devtool.py (100%)
rename meta/lib/oeqa/sdkext/{ => cases}/sdk_update.py (100%)
diff --git a/meta/lib/oeqa/sdkext/__init__.py b/meta/lib/oeqa/sdkext/__init__.py
index 4cf3fa7..e69de29 100644
--- a/meta/lib/oeqa/sdkext/__init__.py
+++ b/meta/lib/oeqa/sdkext/__init__.py
@@ -1,3 +0,0 @@
-# Enable other layers to have tests in the same named directory
-from pkgutil import extend_path
-__path__ = extend_path(__path__, __name__)
diff --git a/meta/lib/oeqa/sdkext/devtool.py b/meta/lib/oeqa/sdkext/cases/devtool.py
similarity index 100%
rename from meta/lib/oeqa/sdkext/devtool.py
rename to meta/lib/oeqa/sdkext/cases/devtool.py
diff --git a/meta/lib/oeqa/sdkext/sdk_update.py b/meta/lib/oeqa/sdkext/cases/sdk_update.py
similarity index 100%
rename from meta/lib/oeqa/sdkext/sdk_update.py
rename to meta/lib/oeqa/sdkext/cases/sdk_update.py
--
2.1.4
^ permalink raw reply related
* [PATCHv3 24/30] classes/testsdk: Remove the need of TEST_LOG_DIR variable
From: Aníbal Limón @ 2016-12-08 16:20 UTC (permalink / raw)
To: openembedded-core
In-Reply-To: <cover.1481213961.git.anibal.limon@linux.intel.com>
The TEST_LOG_DIR was used for store sdk_target_log this log
contains the output of the run of build commands now that information
could be found also on log.do_testsdk under WORKDIR.
The log will continue to store into SDK_DIR instead of TEST_LOG_DIR.
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
---
meta/classes/testsdk.bbclass | 6 ------
meta/lib/oeqa/sdk/cases/buildcvs.py | 4 ++--
meta/lib/oeqa/sdk/cases/buildgalculator.py | 4 ++--
meta/lib/oeqa/sdk/cases/buildiptables.py | 4 ++--
4 files changed, 6 insertions(+), 12 deletions(-)
diff --git a/meta/classes/testsdk.bbclass b/meta/classes/testsdk.bbclass
index 959fb38..4c4df10 100644
--- a/meta/classes/testsdk.bbclass
+++ b/meta/classes/testsdk.bbclass
@@ -14,7 +14,6 @@
#
# where "<image-name>" is an image like core-image-sato.
-TEST_LOG_DIR ?= "${WORKDIR}/testimage"
TESTSDKLOCK = "${TMPDIR}/testsdk.lock"
def run_test_context(CTestContext, d, testdir, tcname, pn, *args):
@@ -64,17 +63,12 @@ def testsdk_main(d):
# sdk use network for download projects for build
export_proxies(d)
- test_log_dir = d.getVar("TEST_LOG_DIR", True)
-
- bb.utils.mkdirhier(test_log_dir)
-
tcname = d.expand("${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.sh")
if not os.path.exists(tcname):
bb.fatal("The toolchain %s is not built. Build it before running the tests: 'bitbake <image> -c populate_sdk' ." % tcname)
tdname = d.expand("${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.testdata.json")
test_data = json.load(open(tdname, "r"))
- test_data['TEST_LOG_DIR'] = test_log_dir
target_pkg_manifest = OESDKTestContextExecutor._load_manifest(
d.expand("${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.target.manifest"))
diff --git a/meta/lib/oeqa/sdk/cases/buildcvs.py b/meta/lib/oeqa/sdk/cases/buildcvs.py
index ee7fb73..6222a8e 100644
--- a/meta/lib/oeqa/sdk/cases/buildcvs.py
+++ b/meta/lib/oeqa/sdk/cases/buildcvs.py
@@ -2,7 +2,7 @@ from oeqa.sdk.case import OESDKTestCase
from oeqa.sdk.utils.sdkbuildproject import SDKBuildProject
class BuildCvsTest(OESDKTestCase):
- td_vars = ['TEST_LOG_DIR', 'DATETIME']
+ td_vars = ['DATETIME']
@classmethod
def setUpClass(self):
@@ -10,7 +10,7 @@ class BuildCvsTest(OESDKTestCase):
self.project = SDKBuildProject(self.tc.sdk_dir + "/cvs/", self.tc.sdk_env,
"http://ftp.gnu.org/non-gnu/cvs/source/feature/1.12.13/cvs-1.12.13.tar.bz2",
- self.td['TEST_LOG_DIR'], self.td['DATETIME'], dl_dir=dl_dir)
+ self.tc.sdk_dir, self.td['DATETIME'], dl_dir=dl_dir)
self.project.download_archive()
def test_cvs(self):
diff --git a/meta/lib/oeqa/sdk/cases/buildgalculator.py b/meta/lib/oeqa/sdk/cases/buildgalculator.py
index d2c1189..bdc8b6a 100644
--- a/meta/lib/oeqa/sdk/cases/buildgalculator.py
+++ b/meta/lib/oeqa/sdk/cases/buildgalculator.py
@@ -4,7 +4,7 @@ from oeqa.sdk.case import OESDKTestCase
from oeqa.sdk.utils.sdkbuildproject import SDKBuildProject
class GalculatorTest(OESDKTestCase):
- td_vars = ['TEST_LOG_DIR', 'DATETIME']
+ td_vars = ['DATETIME']
@classmethod
def setUpClass(self):
@@ -19,7 +19,7 @@ class GalculatorTest(OESDKTestCase):
project = SDKBuildProject(self.tc.sdk_dir + "/galculator/",
self.tc.sdk_env,
"http://galculator.mnim.org/downloads/galculator-2.1.4.tar.bz2",
- self.td['TEST_LOG_DIR'], self.td['DATETIME'], dl_dir=dl_dir)
+ self.tc.sdk_dir, self.td['DATETIME'], dl_dir=dl_dir)
project.download_archive()
diff --git a/meta/lib/oeqa/sdk/cases/buildiptables.py b/meta/lib/oeqa/sdk/cases/buildiptables.py
index a50fb5d..532b5de 100644
--- a/meta/lib/oeqa/sdk/cases/buildiptables.py
+++ b/meta/lib/oeqa/sdk/cases/buildiptables.py
@@ -2,7 +2,7 @@ from oeqa.sdk.case import OESDKTestCase
from oeqa.sdk.utils.sdkbuildproject import SDKBuildProject
class BuildIptablesTest(OESDKTestCase):
- td_vars = ['TEST_LOG_DIR', 'DATETIME']
+ td_vars = ['DATETIME']
@classmethod
def setUpClass(self):
@@ -10,7 +10,7 @@ class BuildIptablesTest(OESDKTestCase):
self.project = SDKBuildProject(self.tc.sdk_dir + "/iptables/", self.tc.sdk_env,
"http://downloads.yoctoproject.org/mirror/sources/iptables-1.4.13.tar.bz2",
- self.td['TEST_LOG_DIR'], self.td['DATETIME'], dl_dir=dl_dir)
+ self.tc.sdk_dir, self.td['DATETIME'], dl_dir=dl_dir)
self.project.download_archive()
def test_iptables(self):
--
2.1.4
^ permalink raw reply related
* [PATCHv3 23/30] oeqa/sdk/cases: Migrate tests to the new OEQA framework
From: Aníbal Limón @ 2016-12-08 16:20 UTC (permalink / raw)
To: openembedded-core
In-Reply-To: <cover.1481213961.git.anibal.limon@linux.intel.com>
Summary of the changes:
- Remove auto extend_path using pkgutil at __init__, is not needed.
- Change base class to OESDKTestCase.
- Add td_vars attr to set dependencies of certain variables in test
data.
- Change skips from module level to class level because Test context
(tc)
now isn't at module level.
- Variable names changes to be consistent (i.e. sdktestdir ->
sdk_dir).
[YOCTO #10599]
- Don't use bb.utils functions use instead remove_safe and shutil
for copy files.
- SDKBuildProject pass test data variables instead of call getVar
inside.
[YOCTO #10231]
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
---
meta/lib/oeqa/sdk/cases/__init__.py | 3 ---
meta/lib/oeqa/sdk/cases/buildcvs.py | 15 ++++++-----
meta/lib/oeqa/sdk/cases/buildgalculator.py | 28 ++++++++++++--------
meta/lib/oeqa/sdk/cases/buildiptables.py | 16 +++++++-----
meta/lib/oeqa/sdk/cases/gcc.py | 41 +++++++++++++++++-------------
meta/lib/oeqa/sdk/cases/perl.py | 25 +++++++++---------
meta/lib/oeqa/sdk/cases/python.py | 25 +++++++++---------
7 files changed, 84 insertions(+), 69 deletions(-)
delete mode 100644 meta/lib/oeqa/sdk/cases/__init__.py
diff --git a/meta/lib/oeqa/sdk/cases/__init__.py b/meta/lib/oeqa/sdk/cases/__init__.py
deleted file mode 100644
index 4cf3fa7..0000000
--- a/meta/lib/oeqa/sdk/cases/__init__.py
+++ /dev/null
@@ -1,3 +0,0 @@
-# Enable other layers to have tests in the same named directory
-from pkgutil import extend_path
-__path__ = extend_path(__path__, __name__)
diff --git a/meta/lib/oeqa/sdk/cases/buildcvs.py b/meta/lib/oeqa/sdk/cases/buildcvs.py
index c7146fa..ee7fb73 100644
--- a/meta/lib/oeqa/sdk/cases/buildcvs.py
+++ b/meta/lib/oeqa/sdk/cases/buildcvs.py
@@ -1,13 +1,16 @@
-from oeqa.oetest import oeSDKTest, skipModule
-from oeqa.utils.decorators import *
-from oeqa.utils.targetbuild import SDKBuildProject
+from oeqa.sdk.case import OESDKTestCase
+from oeqa.sdk.utils.sdkbuildproject import SDKBuildProject
-class BuildCvsTest(oeSDKTest):
+class BuildCvsTest(OESDKTestCase):
+ td_vars = ['TEST_LOG_DIR', 'DATETIME']
@classmethod
def setUpClass(self):
- self.project = SDKBuildProject(oeSDKTest.tc.sdktestdir + "/cvs/", oeSDKTest.tc.sdkenv, oeSDKTest.tc.d,
- "http://ftp.gnu.org/non-gnu/cvs/source/feature/1.12.13/cvs-1.12.13.tar.bz2")
+ dl_dir = self.td.get('DL_DIR', None)
+
+ self.project = SDKBuildProject(self.tc.sdk_dir + "/cvs/", self.tc.sdk_env,
+ "http://ftp.gnu.org/non-gnu/cvs/source/feature/1.12.13/cvs-1.12.13.tar.bz2",
+ self.td['TEST_LOG_DIR'], self.td['DATETIME'], dl_dir=dl_dir)
self.project.download_archive()
def test_cvs(self):
diff --git a/meta/lib/oeqa/sdk/cases/buildgalculator.py b/meta/lib/oeqa/sdk/cases/buildgalculator.py
index dc2fa9c..d2c1189 100644
--- a/meta/lib/oeqa/sdk/cases/buildgalculator.py
+++ b/meta/lib/oeqa/sdk/cases/buildgalculator.py
@@ -1,17 +1,25 @@
-from oeqa.oetest import oeSDKTest, skipModule
-from oeqa.utils.decorators import *
-from oeqa.utils.targetbuild import SDKBuildProject
+import unittest
-def setUpModule():
- if not (oeSDKTest.hasPackage("gtk+3") or oeSDKTest.hasPackage("libgtk-3.0")):
- skipModule("Image doesn't have gtk+3 in manifest")
+from oeqa.sdk.case import OESDKTestCase
+from oeqa.sdk.utils.sdkbuildproject import SDKBuildProject
+
+class GalculatorTest(OESDKTestCase):
+ td_vars = ['TEST_LOG_DIR', 'DATETIME']
+
+ @classmethod
+ def setUpClass(self):
+ if not (self.tc.hasTargetPackage("gtk+3") or\
+ self.tc.hasTargetPackage("libgtk-3.0")):
+ raise unittest.SkipTest("%s class: SDK don't support gtk+3" % self.__name__)
-class GalculatorTest(oeSDKTest):
def test_galculator(self):
+ dl_dir = self.td.get('DL_DIR', None)
+ project = None
try:
- project = SDKBuildProject(oeSDKTest.tc.sdktestdir + "/galculator/",
- oeSDKTest.tc.sdkenv, oeSDKTest.tc.d,
- "http://galculator.mnim.org/downloads/galculator-2.1.4.tar.bz2")
+ project = SDKBuildProject(self.tc.sdk_dir + "/galculator/",
+ self.tc.sdk_env,
+ "http://galculator.mnim.org/downloads/galculator-2.1.4.tar.bz2",
+ self.td['TEST_LOG_DIR'], self.td['DATETIME'], dl_dir=dl_dir)
project.download_archive()
diff --git a/meta/lib/oeqa/sdk/cases/buildiptables.py b/meta/lib/oeqa/sdk/cases/buildiptables.py
index f0cb8a4..a50fb5d 100644
--- a/meta/lib/oeqa/sdk/cases/buildiptables.py
+++ b/meta/lib/oeqa/sdk/cases/buildiptables.py
@@ -1,14 +1,16 @@
-from oeqa.oetest import oeSDKTest
-from oeqa.utils.decorators import *
-from oeqa.utils.targetbuild import SDKBuildProject
+from oeqa.sdk.case import OESDKTestCase
+from oeqa.sdk.utils.sdkbuildproject import SDKBuildProject
-
-class BuildIptablesTest(oeSDKTest):
+class BuildIptablesTest(OESDKTestCase):
+ td_vars = ['TEST_LOG_DIR', 'DATETIME']
@classmethod
def setUpClass(self):
- self.project = SDKBuildProject(oeSDKTest.tc.sdktestdir + "/iptables/", oeSDKTest.tc.sdkenv, oeSDKTest.tc.d,
- "http://downloads.yoctoproject.org/mirror/sources/iptables-1.4.13.tar.bz2")
+ dl_dir = self.td.get('DL_DIR', None)
+
+ self.project = SDKBuildProject(self.tc.sdk_dir + "/iptables/", self.tc.sdk_env,
+ "http://downloads.yoctoproject.org/mirror/sources/iptables-1.4.13.tar.bz2",
+ self.td['TEST_LOG_DIR'], self.td['DATETIME'], dl_dir=dl_dir)
self.project.download_archive()
def test_iptables(self):
diff --git a/meta/lib/oeqa/sdk/cases/gcc.py b/meta/lib/oeqa/sdk/cases/gcc.py
index 8395b9b..e06af4c 100644
--- a/meta/lib/oeqa/sdk/cases/gcc.py
+++ b/meta/lib/oeqa/sdk/cases/gcc.py
@@ -1,36 +1,43 @@
-import unittest
import os
import shutil
-from oeqa.oetest import oeSDKTest, skipModule
-from oeqa.utils.decorators import *
-
-def setUpModule():
- machine = oeSDKTest.tc.d.getVar("MACHINE", True)
- if not oeSDKTest.hasHostPackage("packagegroup-cross-canadian-" + machine):
- skipModule("SDK doesn't contain a cross-canadian toolchain")
+import unittest
+from oeqa.core.utils.path import remove_safe
+from oeqa.sdk.case import OESDKTestCase
-class GccCompileTest(oeSDKTest):
+class GccCompileTest(OESDKTestCase):
+ td_vars = ['MACHINE']
@classmethod
def setUpClass(self):
- for f in ['test.c', 'test.cpp', 'testsdkmakefile']:
- shutil.copyfile(os.path.join(self.tc.filesdir, f), self.tc.sdktestdir + f)
+ files = {'test.c' : self.tc.files_dir, 'test.cpp' : self.tc.files_dir,
+ 'testsdkmakefile' : self.tc.sdk_files_dir}
+ for f in files:
+ shutil.copyfile(os.path.join(files[f], f),
+ os.path.join(self.tc.sdk_dir, f))
+
+ def setUp(self):
+ machine = self.td.get("MACHINE")
+ if not self.tc.hasHostPackage("packagegroup-cross-canadian-%s" % machine):
+ raise unittest.SkipTest("%s class: SDK doesn't contain a cross-canadian toolchain",
+ self.__name__)
def test_gcc_compile(self):
- self._run('$CC %s/test.c -o %s/test -lm' % (self.tc.sdktestdir, self.tc.sdktestdir))
+ self._run('$CC %s/test.c -o %s/test -lm' % (self.tc.sdk_dir, self.tc.sdk_dir))
def test_gpp_compile(self):
- self._run('$CXX %s/test.c -o %s/test -lm' % (self.tc.sdktestdir, self.tc.sdktestdir))
+ self._run('$CXX %s/test.c -o %s/test -lm' % (self.tc.sdk_dir, self.tc.sdk_dir))
def test_gpp2_compile(self):
- self._run('$CXX %s/test.cpp -o %s/test -lm' % (self.tc.sdktestdir, self.tc.sdktestdir))
+ self._run('$CXX %s/test.cpp -o %s/test -lm' % (self.tc.sdk_dir, self.tc.sdk_dir))
def test_make(self):
- self._run('cd %s; make -f testsdkmakefile' % self.tc.sdktestdir)
+ self._run('cd %s; make -f testsdkmakefile' % self.tc.sdk_dir)
@classmethod
def tearDownClass(self):
- files = [self.tc.sdktestdir + f for f in ['test.c', 'test.cpp', 'test.o', 'test', 'testsdkmakefile']]
+ files = [os.path.join(self.tc.sdk_dir, f) \
+ for f in ['test.c', 'test.cpp', 'test.o', 'test',
+ 'testsdkmakefile']]
for f in files:
- bb.utils.remove(f)
+ remove_safe(f)
diff --git a/meta/lib/oeqa/sdk/cases/perl.py b/meta/lib/oeqa/sdk/cases/perl.py
index 45f422e..e1bded2 100644
--- a/meta/lib/oeqa/sdk/cases/perl.py
+++ b/meta/lib/oeqa/sdk/cases/perl.py
@@ -1,28 +1,27 @@
-import unittest
import os
import shutil
-from oeqa.oetest import oeSDKTest, skipModule
-from oeqa.utils.decorators import *
-
-def setUpModule():
- if not oeSDKTest.hasHostPackage("nativesdk-perl"):
- skipModule("No perl package in the SDK")
-
+import unittest
-class PerlTest(oeSDKTest):
+from oeqa.core.utils.path import remove_safe
+from oeqa.sdk.case import OESDKTestCase
+class PerlTest(OESDKTestCase):
@classmethod
def setUpClass(self):
+ if not self.tc.hasHostPackage("nativesdk-perl"):
+ raise unittest.SkipTest("No perl package in the SDK")
+
for f in ['test.pl']:
- shutil.copyfile(os.path.join(self.tc.filesdir, f), self.tc.sdktestdir + f)
- self.testfile = self.tc.sdktestdir + "test.pl"
+ shutil.copyfile(os.path.join(self.tc.files_dir, f),
+ os.path.join(self.tc.sdk_dir, f))
+ self.testfile = os.path.join(self.tc.sdk_dir, "test.pl")
def test_perl_exists(self):
self._run('which perl')
def test_perl_works(self):
- self._run('perl %s/test.pl' % self.tc.sdktestdir)
+ self._run('perl %s' % self.testfile)
@classmethod
def tearDownClass(self):
- bb.utils.remove("%s/test.pl" % self.tc.sdktestdir)
+ remove_safe(self.testfile)
diff --git a/meta/lib/oeqa/sdk/cases/python.py b/meta/lib/oeqa/sdk/cases/python.py
index 896fab4..94a296f 100644
--- a/meta/lib/oeqa/sdk/cases/python.py
+++ b/meta/lib/oeqa/sdk/cases/python.py
@@ -1,26 +1,25 @@
-import unittest
import os
import shutil
-from oeqa.oetest import oeSDKTest, skipModule
-from oeqa.utils.decorators import *
-
-def setUpModule():
- if not oeSDKTest.hasHostPackage("nativesdk-python"):
- skipModule("No python package in the SDK")
-
+import unittest
-class PythonTest(oeSDKTest):
+from oeqa.core.utils.path import remove_safe
+from oeqa.sdk.case import OESDKTestCase
+class PythonTest(OESDKTestCase):
@classmethod
def setUpClass(self):
+ if not self.tc.hasHostPackage("nativesdk-python"):
+ raise unittest.SkipTest("No python package in the SDK")
+
for f in ['test.py']:
- shutil.copyfile(os.path.join(self.tc.filesdir, f), self.tc.sdktestdir + f)
+ shutil.copyfile(os.path.join(self.tc.files_dir, f),
+ os.path.join(self.tc.sdk_dir, f))
def test_python_exists(self):
self._run('which python')
def test_python_stdout(self):
- output = self._run('python %s/test.py' % self.tc.sdktestdir)
+ output = self._run('python %s/test.py' % self.tc.sdk_dir)
self.assertEqual(output.strip(), "the value of a is 0.01", msg="Incorrect output: %s" % output)
def test_python_testfile(self):
@@ -28,5 +27,5 @@ class PythonTest(oeSDKTest):
@classmethod
def tearDownClass(self):
- bb.utils.remove("%s/test.py" % self.tc.sdktestdir)
- bb.utils.remove("/tmp/testfile.python")
+ remove_safe("%s/test.py" % self.tc.sdk_dir)
+ remove_safe("/tmp/testfile.python")
--
2.1.4
^ permalink raw reply related
* [PATCHv3 22/30] oeqa/utils: {Target, SDK, }BuildProject remove dependency of bb
From: Aníbal Limón @ 2016-12-08 16:20 UTC (permalink / raw)
To: openembedded-core
In-Reply-To: <cover.1481213961.git.anibal.limon@linux.intel.com>
Don't use bitbake references inside utils modules, in order todo
that changes getVar calls for arguments in the __init__ method like
dl_dir for all the classes and testlogdir, builddatetime in
SDKBUildProject.
Also don't export proxies inside _download_archive method, a good
practice is to setup the proxies at init of the process instead of
do it in this helper module.
[YOCTO #10231]
[YOCTO #10599]
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
---
meta/lib/oeqa/runtime/utils/targetbuildproject.py | 6 ++---
meta/lib/oeqa/sdk/utils/sdkbuildproject.py | 14 +++++-----
meta/lib/oeqa/utils/buildproject.py | 31 +++++------------------
3 files changed, 17 insertions(+), 34 deletions(-)
diff --git a/meta/lib/oeqa/runtime/utils/targetbuildproject.py b/meta/lib/oeqa/runtime/utils/targetbuildproject.py
index 138b5ef..006d4d4 100644
--- a/meta/lib/oeqa/runtime/utils/targetbuildproject.py
+++ b/meta/lib/oeqa/runtime/utils/targetbuildproject.py
@@ -5,13 +5,13 @@ from oeqa.utils.buildproject import BuildProject
class TargetBuildProject(BuildProject):
- def __init__(self, target, d, uri, foldername=None):
+ def __init__(self, target, uri, foldername=None, dl_dir=None):
self.target = target
self.targetdir = "~/"
- BuildProject.__init__(self, d, uri, foldername, tmpdir="/tmp")
+ BuildProject.__init__(self, uri, foldername, tmpdir="/tmp",
+ dl_dir=dl_dir)
def download_archive(self):
-
self._download_archive()
(status, output) = self.target.copy_to(self.localarchive, self.targetdir)
diff --git a/meta/lib/oeqa/sdk/utils/sdkbuildproject.py b/meta/lib/oeqa/sdk/utils/sdkbuildproject.py
index 1aa8a69..cc34e0c 100644
--- a/meta/lib/oeqa/sdk/utils/sdkbuildproject.py
+++ b/meta/lib/oeqa/sdk/utils/sdkbuildproject.py
@@ -7,17 +7,17 @@ import subprocess
from oeqa.utils.buildproject import BuildProject
class SDKBuildProject(BuildProject):
-
- def __init__(self, testpath, sdkenv, d, uri, foldername=None):
+ def __init__(self, testpath, sdkenv, uri, testlogdir, builddatetime,
+ foldername=None, dl_dir=None):
self.sdkenv = sdkenv
self.testdir = testpath
self.targetdir = testpath
- bb.utils.mkdirhier(testpath)
- self.datetime = d.getVar('DATETIME', True)
- self.testlogdir = d.getVar("TEST_LOG_DIR", True)
- bb.utils.mkdirhier(self.testlogdir)
+ os.makedirs(testpath, exist_ok=True)
+ self.datetime = builddatetime
+ self.testlogdir = testlogdir
+ os.makedirs(self.testlogdir, exist_ok=True)
self.logfile = os.path.join(self.testlogdir, "sdk_target_log.%s" % self.datetime)
- BuildProject.__init__(self, d, uri, foldername, tmpdir=testpath)
+ BuildProject.__init__(self, uri, foldername, tmpdir=testpath, dl_dir=dl_dir)
def download_archive(self):
diff --git a/meta/lib/oeqa/utils/buildproject.py b/meta/lib/oeqa/utils/buildproject.py
index 0e1ed8a..386a927 100644
--- a/meta/lib/oeqa/utils/buildproject.py
+++ b/meta/lib/oeqa/utils/buildproject.py
@@ -6,17 +6,17 @@
import os
import re
-import bb.utils
import subprocess
+import shutil
+
from abc import ABCMeta, abstractmethod
class BuildProject(metaclass=ABCMeta):
-
- def __init__(self, d, uri, foldername=None, tmpdir="/tmp/"):
- self.d = d
+ def __init__(self, uri, foldername=None, tmpdir="/tmp/", dl_dir=None):
self.uri = uri
self.archive = os.path.basename(uri)
self.localarchive = os.path.join(tmpdir,self.archive)
+ self.dl_dir = dl_dir
if foldername:
self.fname = foldername
else:
@@ -24,27 +24,11 @@ class BuildProject(metaclass=ABCMeta):
# Download self.archive to self.localarchive
def _download_archive(self):
-
- dl_dir = self.d.getVar("DL_DIR", True)
- if dl_dir and os.path.exists(os.path.join(dl_dir, self.archive)):
- bb.utils.copyfile(os.path.join(dl_dir, self.archive), self.localarchive)
+ if self.dl_dir and os.path.exists(os.path.join(self.dl_dir, self.archive)):
+ shutil.copyfile(os.path.join(self.dl_dir, self.archive), self.localarchive)
return
- exportvars = ['HTTP_PROXY', 'http_proxy',
- 'HTTPS_PROXY', 'https_proxy',
- 'FTP_PROXY', 'ftp_proxy',
- 'FTPS_PROXY', 'ftps_proxy',
- 'NO_PROXY', 'no_proxy',
- 'ALL_PROXY', 'all_proxy',
- 'SOCKS5_USER', 'SOCKS5_PASSWD']
-
- cmd = ''
- for var in exportvars:
- val = self.d.getVar(var, True)
- if val:
- cmd = 'export ' + var + '=\"%s\"; %s' % (val, cmd)
-
- cmd = cmd + "wget -O %s %s" % (self.localarchive, self.uri)
+ cmd = "wget -O %s %s" % (self.localarchive, self.uri)
subprocess.check_call(cmd, shell=True)
# This method should provide a way to run a command in the desired environment.
@@ -66,4 +50,3 @@ class BuildProject(metaclass=ABCMeta):
def clean(self):
self._run('rm -rf %s' % self.targetdir)
subprocess.call('rm -f %s' % self.localarchive, shell=True)
- pass
--
2.1.4
^ permalink raw reply related
* [PATCHv3 21/30] oeqa/utils: Move targetbuild to buildproject module
From: Aníbal Limón @ 2016-12-08 16:20 UTC (permalink / raw)
To: openembedded-core
In-Reply-To: <cover.1481213961.git.anibal.limon@linux.intel.com>
The new buildproject module will contain only BuildProject class
a helper class for build source code.
The remaining classes TargetBuildProject and SDKBuildProject was
move to runtime and sdk respectively.
[YOCTO #10599]
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
---
meta/lib/oeqa/runtime/utils/__init__.py | 0
meta/lib/oeqa/runtime/utils/targetbuildproject.py | 33 +++++++++++
meta/lib/oeqa/sdk/utils/__init__.py | 0
meta/lib/oeqa/sdk/utils/sdkbuildproject.py | 45 ++++++++++++++
.../oeqa/utils/{targetbuild.py => buildproject.py} | 68 +---------------------
5 files changed, 79 insertions(+), 67 deletions(-)
create mode 100644 meta/lib/oeqa/runtime/utils/__init__.py
create mode 100644 meta/lib/oeqa/runtime/utils/targetbuildproject.py
create mode 100644 meta/lib/oeqa/sdk/utils/__init__.py
create mode 100644 meta/lib/oeqa/sdk/utils/sdkbuildproject.py
rename meta/lib/oeqa/utils/{targetbuild.py => buildproject.py} (48%)
diff --git a/meta/lib/oeqa/runtime/utils/__init__.py b/meta/lib/oeqa/runtime/utils/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/meta/lib/oeqa/runtime/utils/targetbuildproject.py b/meta/lib/oeqa/runtime/utils/targetbuildproject.py
new file mode 100644
index 0000000..138b5ef
--- /dev/null
+++ b/meta/lib/oeqa/runtime/utils/targetbuildproject.py
@@ -0,0 +1,33 @@
+# Copyright (C) 2016 Intel Corporation
+# Released under the MIT license (see COPYING.MIT)
+
+from oeqa.utils.buildproject import BuildProject
+
+class TargetBuildProject(BuildProject):
+
+ def __init__(self, target, d, uri, foldername=None):
+ self.target = target
+ self.targetdir = "~/"
+ BuildProject.__init__(self, d, uri, foldername, tmpdir="/tmp")
+
+ def download_archive(self):
+
+ self._download_archive()
+
+ (status, output) = self.target.copy_to(self.localarchive, self.targetdir)
+ if status != 0:
+ raise Exception("Failed to copy archive to target, output: %s" % output)
+
+ (status, output) = self.target.run('tar xf %s%s -C %s' % (self.targetdir, self.archive, self.targetdir))
+ if status != 0:
+ raise Exception("Failed to extract archive, output: %s" % output)
+
+ #Change targetdir to project folder
+ self.targetdir = self.targetdir + self.fname
+
+ # The timeout parameter of target.run is set to 0 to make the ssh command
+ # run with no timeout.
+ def _run(self, cmd):
+ return self.target.run(cmd, 0)[0]
+
+
diff --git a/meta/lib/oeqa/sdk/utils/__init__.py b/meta/lib/oeqa/sdk/utils/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/meta/lib/oeqa/sdk/utils/sdkbuildproject.py b/meta/lib/oeqa/sdk/utils/sdkbuildproject.py
new file mode 100644
index 0000000..1aa8a69
--- /dev/null
+++ b/meta/lib/oeqa/sdk/utils/sdkbuildproject.py
@@ -0,0 +1,45 @@
+# Copyright (C) 2016 Intel Corporation
+# Released under the MIT license (see COPYING.MIT)
+
+import os
+import subprocess
+
+from oeqa.utils.buildproject import BuildProject
+
+class SDKBuildProject(BuildProject):
+
+ def __init__(self, testpath, sdkenv, d, uri, foldername=None):
+ self.sdkenv = sdkenv
+ self.testdir = testpath
+ self.targetdir = testpath
+ bb.utils.mkdirhier(testpath)
+ self.datetime = d.getVar('DATETIME', True)
+ self.testlogdir = d.getVar("TEST_LOG_DIR", True)
+ bb.utils.mkdirhier(self.testlogdir)
+ self.logfile = os.path.join(self.testlogdir, "sdk_target_log.%s" % self.datetime)
+ BuildProject.__init__(self, d, uri, foldername, tmpdir=testpath)
+
+ def download_archive(self):
+
+ self._download_archive()
+
+ cmd = 'tar xf %s%s -C %s' % (self.targetdir, self.archive, self.targetdir)
+ subprocess.check_call(cmd, shell=True)
+
+ #Change targetdir to project folder
+ self.targetdir = os.path.join(self.targetdir, self.fname)
+
+ def run_configure(self, configure_args='', extra_cmds=' gnu-configize; '):
+ return super(SDKBuildProject, self).run_configure(configure_args=(configure_args or '$CONFIGURE_FLAGS'), extra_cmds=extra_cmds)
+
+ def run_install(self, install_args=''):
+ return super(SDKBuildProject, self).run_install(install_args=(install_args or "DESTDIR=%s/../install" % self.targetdir))
+
+ def log(self, msg):
+ if self.logfile:
+ with open(self.logfile, "a") as f:
+ f.write("%s\n" % msg)
+
+ def _run(self, cmd):
+ self.log("Running . %s; " % self.sdkenv + cmd)
+ return subprocess.call(". %s; " % self.sdkenv + cmd, shell=True)
diff --git a/meta/lib/oeqa/utils/targetbuild.py b/meta/lib/oeqa/utils/buildproject.py
similarity index 48%
rename from meta/lib/oeqa/utils/targetbuild.py
rename to meta/lib/oeqa/utils/buildproject.py
index 59593f5..0e1ed8a 100644
--- a/meta/lib/oeqa/utils/targetbuild.py
+++ b/meta/lib/oeqa/utils/buildproject.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2013 Intel Corporation
+# Copyright (C) 2013-2016 Intel Corporation
#
# Released under the MIT license (see COPYING.MIT)
@@ -67,69 +67,3 @@ class BuildProject(metaclass=ABCMeta):
self._run('rm -rf %s' % self.targetdir)
subprocess.call('rm -f %s' % self.localarchive, shell=True)
pass
-
-class TargetBuildProject(BuildProject):
-
- def __init__(self, target, d, uri, foldername=None):
- self.target = target
- self.targetdir = "~/"
- BuildProject.__init__(self, d, uri, foldername, tmpdir="/tmp")
-
- def download_archive(self):
-
- self._download_archive()
-
- (status, output) = self.target.copy_to(self.localarchive, self.targetdir)
- if status != 0:
- raise Exception("Failed to copy archive to target, output: %s" % output)
-
- (status, output) = self.target.run('tar xf %s%s -C %s' % (self.targetdir, self.archive, self.targetdir))
- if status != 0:
- raise Exception("Failed to extract archive, output: %s" % output)
-
- #Change targetdir to project folder
- self.targetdir = self.targetdir + self.fname
-
- # The timeout parameter of target.run is set to 0 to make the ssh command
- # run with no timeout.
- def _run(self, cmd):
- return self.target.run(cmd, 0)[0]
-
-
-class SDKBuildProject(BuildProject):
-
- def __init__(self, testpath, sdkenv, d, uri, foldername=None):
- self.sdkenv = sdkenv
- self.testdir = testpath
- self.targetdir = testpath
- bb.utils.mkdirhier(testpath)
- self.datetime = d.getVar('DATETIME', True)
- self.testlogdir = d.getVar("TEST_LOG_DIR", True)
- bb.utils.mkdirhier(self.testlogdir)
- self.logfile = os.path.join(self.testlogdir, "sdk_target_log.%s" % self.datetime)
- BuildProject.__init__(self, d, uri, foldername, tmpdir=testpath)
-
- def download_archive(self):
-
- self._download_archive()
-
- cmd = 'tar xf %s%s -C %s' % (self.targetdir, self.archive, self.targetdir)
- subprocess.check_call(cmd, shell=True)
-
- #Change targetdir to project folder
- self.targetdir = os.path.join(self.targetdir, self.fname)
-
- def run_configure(self, configure_args='', extra_cmds=' gnu-configize; '):
- return super(SDKBuildProject, self).run_configure(configure_args=(configure_args or '$CONFIGURE_FLAGS'), extra_cmds=extra_cmds)
-
- def run_install(self, install_args=''):
- return super(SDKBuildProject, self).run_install(install_args=(install_args or "DESTDIR=%s/../install" % self.targetdir))
-
- def log(self, msg):
- if self.logfile:
- with open(self.logfile, "a") as f:
- f.write("%s\n" % msg)
-
- def _run(self, cmd):
- self.log("Running . %s; " % self.sdkenv + cmd)
- return subprocess.call(". %s; " % self.sdkenv + cmd, shell=True)
--
2.1.4
^ permalink raw reply related
* [PATCHv3 20/30] classes/testsdk: Migrates testsdk.bbclass to use new OESDKTestContext
From: Aníbal Limón @ 2016-12-08 16:20 UTC (permalink / raw)
To: openembedded-core
In-Reply-To: <cover.1481213961.git.anibal.limon@linux.intel.com>
The functionality provided is the same with imporvements on code
reuse and better interfaces.
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
---
meta/classes/testsdk.bbclass | 67 ++++++++++++++++++++++++++++++++++++--------
1 file changed, 55 insertions(+), 12 deletions(-)
diff --git a/meta/classes/testsdk.bbclass b/meta/classes/testsdk.bbclass
index 06b4c50..959fb38 100644
--- a/meta/classes/testsdk.bbclass
+++ b/meta/classes/testsdk.bbclass
@@ -50,30 +50,74 @@ def run_test_context(CTestContext, d, testdir, tcname, pn, *args):
def testsdk_main(d):
import os
- import oeqa.sdk
import subprocess
- from oeqa.oetest import SDKTestContext
+ import json
+ import logging
+
+ from bb.utils import export_proxies
+ from oeqa.core.runner import OEStreamLogger
+ from oeqa.sdk.context import OESDKTestContext, OESDKTestContextExecutor
pn = d.getVar("PN", True)
- bb.utils.mkdirhier(d.getVar("TEST_LOG_DIR", True))
+ logger = logging.getLogger("BitBake")
+
+ # sdk use network for download projects for build
+ export_proxies(d)
+
+ test_log_dir = d.getVar("TEST_LOG_DIR", True)
+
+ bb.utils.mkdirhier(test_log_dir)
tcname = d.expand("${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.sh")
if not os.path.exists(tcname):
bb.fatal("The toolchain %s is not built. Build it before running the tests: 'bitbake <image> -c populate_sdk' ." % tcname)
- sdktestdir = d.expand("${WORKDIR}/testimage-sdk/")
- bb.utils.remove(sdktestdir, True)
- bb.utils.mkdirhier(sdktestdir)
+ tdname = d.expand("${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.testdata.json")
+ test_data = json.load(open(tdname, "r"))
+ test_data['TEST_LOG_DIR'] = test_log_dir
+
+ target_pkg_manifest = OESDKTestContextExecutor._load_manifest(
+ d.expand("${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.target.manifest"))
+ host_pkg_manifest = OESDKTestContextExecutor._load_manifest(
+ d.expand("${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.host.manifest"))
+
+ sdk_dir = d.expand("${WORKDIR}/testimage-sdk/")
+ bb.utils.remove(sdk_dir, True)
+ bb.utils.mkdirhier(sdk_dir)
try:
- subprocess.check_output("cd %s; %s <<EOF\n./tc\nY\nEOF" % (sdktestdir, tcname), shell=True)
+ subprocess.check_output("cd %s; %s <<EOF\n./\nY\nEOF" % (sdk_dir, tcname), shell=True)
except subprocess.CalledProcessError as e:
bb.fatal("Couldn't install the SDK:\n%s" % e.output.decode("utf-8"))
- try:
- run_test_context(SDKTestContext, d, sdktestdir, tcname, pn)
- finally:
- bb.utils.remove(sdktestdir, True)
+ fail = False
+ sdk_envs = OESDKTestContextExecutor._get_sdk_environs(sdk_dir)
+ for s in sdk_envs:
+ sdk_env = sdk_envs[s]
+ bb.plain("SDK testing environment: %s" % s)
+ tc = OESDKTestContext(td=test_data, logger=logger, sdk_dir=sdk_dir,
+ sdk_env=sdk_env, target_pkg_manifest=target_pkg_manifest,
+ host_pkg_manifest=host_pkg_manifest)
+ try:
+ tc.loadTests(OESDKTestContextExecutor.default_cases)
+ except Exception as e:
+ import traceback
+ bb.fatal("Loading tests failed:\n%s" % traceback.format_exc())
+
+ result = tc.runTests()
+
+ component = "%s %s" % (pn, OESDKTestContextExecutor.name)
+ context_msg = "%s:%s" % (os.path.basename(tcname), os.path.basename(sdk_env))
+
+ tc.logSummary(result, component, context_msg)
+ tc.logDetails()
+
+ if not result.wasSuccessful():
+ fail = True
+
+ if fail:
+ bb.fatal("%s - FAILED - check the task log and the commands log" % pn)
+
testsdk_main[vardepsexclude] =+ "BB_ORIGENV"
python do_testsdk() {
@@ -94,7 +138,6 @@ def testsdkext_main(d):
from oeqa.oetest import SDKTestContext, SDKExtTestContext
from oeqa.utils import avoid_paths_in_environ
-
# extensible sdk use network
export_proxies(d)
--
2.1.4
^ permalink raw reply related
* [PATCHv3 18/30] oeqa/{runtime, sdk}/files: Move testsdkmakefile from runtime to sdk module
From: Aníbal Limón @ 2016-12-08 16:20 UTC (permalink / raw)
To: openembedded-core
In-Reply-To: <cover.1481213961.git.anibal.limon@linux.intel.com>
It doesn't make sense to have files related to sdk module into runtime
module.
[YOCTO #10599]
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
---
meta/lib/oeqa/{runtime => sdk}/files/testsdkmakefile | 0
1 file changed, 0 insertions(+), 0 deletions(-)
rename meta/lib/oeqa/{runtime => sdk}/files/testsdkmakefile (100%)
diff --git a/meta/lib/oeqa/runtime/files/testsdkmakefile b/meta/lib/oeqa/sdk/files/testsdkmakefile
similarity index 100%
rename from meta/lib/oeqa/runtime/files/testsdkmakefile
rename to meta/lib/oeqa/sdk/files/testsdkmakefile
--
2.1.4
^ permalink raw reply
* [PATCHv3 17/30] oeqa/sdk: Move test cases inside cases directory
From: Aníbal Limón @ 2016-12-08 16:20 UTC (permalink / raw)
To: openembedded-core
In-Reply-To: <cover.1481213961.git.anibal.limon@linux.intel.com>
For match with the new structure of the OEQA framework.
In the new framework Test component base directory in this case
sdk module will contain case and context implementations.
[YOCTO #10599]
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
---
meta/lib/oeqa/sdk/{ => cases}/__init__.py | 0
meta/lib/oeqa/sdk/{ => cases}/buildcvs.py | 0
meta/lib/oeqa/sdk/{ => cases}/buildgalculator.py | 0
meta/lib/oeqa/sdk/{ => cases}/buildiptables.py | 0
meta/lib/oeqa/sdk/{ => cases}/gcc.py | 0
meta/lib/oeqa/sdk/{ => cases}/perl.py | 0
meta/lib/oeqa/sdk/{ => cases}/python.py | 0
7 files changed, 0 insertions(+), 0 deletions(-)
rename meta/lib/oeqa/sdk/{ => cases}/__init__.py (100%)
rename meta/lib/oeqa/sdk/{ => cases}/buildcvs.py (100%)
rename meta/lib/oeqa/sdk/{ => cases}/buildgalculator.py (100%)
rename meta/lib/oeqa/sdk/{ => cases}/buildiptables.py (100%)
rename meta/lib/oeqa/sdk/{ => cases}/gcc.py (100%)
rename meta/lib/oeqa/sdk/{ => cases}/perl.py (100%)
rename meta/lib/oeqa/sdk/{ => cases}/python.py (100%)
diff --git a/meta/lib/oeqa/sdk/__init__.py b/meta/lib/oeqa/sdk/cases/__init__.py
similarity index 100%
rename from meta/lib/oeqa/sdk/__init__.py
rename to meta/lib/oeqa/sdk/cases/__init__.py
diff --git a/meta/lib/oeqa/sdk/buildcvs.py b/meta/lib/oeqa/sdk/cases/buildcvs.py
similarity index 100%
rename from meta/lib/oeqa/sdk/buildcvs.py
rename to meta/lib/oeqa/sdk/cases/buildcvs.py
diff --git a/meta/lib/oeqa/sdk/buildgalculator.py b/meta/lib/oeqa/sdk/cases/buildgalculator.py
similarity index 100%
rename from meta/lib/oeqa/sdk/buildgalculator.py
rename to meta/lib/oeqa/sdk/cases/buildgalculator.py
diff --git a/meta/lib/oeqa/sdk/buildiptables.py b/meta/lib/oeqa/sdk/cases/buildiptables.py
similarity index 100%
rename from meta/lib/oeqa/sdk/buildiptables.py
rename to meta/lib/oeqa/sdk/cases/buildiptables.py
diff --git a/meta/lib/oeqa/sdk/gcc.py b/meta/lib/oeqa/sdk/cases/gcc.py
similarity index 100%
rename from meta/lib/oeqa/sdk/gcc.py
rename to meta/lib/oeqa/sdk/cases/gcc.py
diff --git a/meta/lib/oeqa/sdk/perl.py b/meta/lib/oeqa/sdk/cases/perl.py
similarity index 100%
rename from meta/lib/oeqa/sdk/perl.py
rename to meta/lib/oeqa/sdk/cases/perl.py
diff --git a/meta/lib/oeqa/sdk/python.py b/meta/lib/oeqa/sdk/cases/python.py
similarity index 100%
rename from meta/lib/oeqa/sdk/python.py
rename to meta/lib/oeqa/sdk/cases/python.py
--
2.1.4
^ permalink raw reply
* [PATCHv3 19/30] oeqa/sdk: Add case and context modules for the SDK component
From: Aníbal Limón @ 2016-12-08 16:20 UTC (permalink / raw)
To: openembedded-core
In-Reply-To: <cover.1481213961.git.anibal.limon@linux.intel.com>
Adds case and context modules for SDK based on oetest.py old code.
Enables SDK Test component usage with oe-test, the SDK Test component
adds command line options for specify sdk installed dir, sdk environment
and target/hosts maniftest.
[YOCTO #10599]
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
---
meta/lib/oeqa/oetest.py | 51 ----------------
meta/lib/oeqa/sdk/__init__.py | 0
meta/lib/oeqa/sdk/case.py | 12 ++++
meta/lib/oeqa/sdk/context.py | 133 ++++++++++++++++++++++++++++++++++++++++++
4 files changed, 145 insertions(+), 51 deletions(-)
create mode 100644 meta/lib/oeqa/sdk/__init__.py
create mode 100644 meta/lib/oeqa/sdk/case.py
create mode 100644 meta/lib/oeqa/sdk/context.py
diff --git a/meta/lib/oeqa/oetest.py b/meta/lib/oeqa/oetest.py
index 95d3bf7..4a98b0f1 100644
--- a/meta/lib/oeqa/oetest.py
+++ b/meta/lib/oeqa/oetest.py
@@ -145,20 +145,6 @@ class OETestCalledProcessError(subprocess.CalledProcessError):
subprocess.CalledProcessError = OETestCalledProcessError
-class oeSDKTest(oeTest):
- def __init__(self, methodName='runTest'):
- self.sdktestdir = oeSDKTest.tc.sdktestdir
- super(oeSDKTest, self).__init__(methodName)
-
- @classmethod
- def hasHostPackage(self, pkg):
- if re.search(pkg, oeTest.tc.hostpkgmanifest):
- return True
- return False
-
- def _run(self, cmd):
- return subprocess.check_output(". %s > /dev/null; %s;" % (self.tc.sdkenv, cmd), shell=True, stderr=subprocess.STDOUT).decode("utf-8")
-
class oeSDKExtTest(oeSDKTest):
def _run(self, cmd):
# extensible sdk shows a warning if found bitbake in the path
@@ -657,43 +643,6 @@ class ExportTestContext(RuntimeTestContext):
pkg_dir = os.path.join(export_dir, extracted_dir)
super(ExportTestContext, self).install_uninstall_packages(test_id, pkg_dir, install)
-class SDKTestContext(TestContext):
- def __init__(self, d, sdktestdir, sdkenv, tcname, *args):
- super(SDKTestContext, self).__init__(d)
-
- self.sdktestdir = sdktestdir
- self.sdkenv = sdkenv
- self.tcname = tcname
-
- if not hasattr(self, 'target_manifest'):
- self.target_manifest = d.getVar("SDK_TARGET_MANIFEST", True)
- try:
- self.pkgmanifest = {}
- with open(self.target_manifest) as f:
- for line in f:
- (pkg, arch, version) = line.strip().split()
- self.pkgmanifest[pkg] = (version, arch)
- except IOError as e:
- bb.fatal("No package manifest file found. Did you build the sdk image?\n%s" % e)
-
- if not hasattr(self, 'host_manifest'):
- self.host_manifest = d.getVar("SDK_HOST_MANIFEST", True)
- try:
- with open(self.host_manifest) as f:
- self.hostpkgmanifest = f.read()
- except IOError as e:
- bb.fatal("No host package manifest file found. Did you build the sdk image?\n%s" % e)
-
- def _get_test_namespace(self):
- return "sdk"
-
- def _get_test_suites(self):
- return (self.d.getVar("TEST_SUITES_SDK", True) or "auto").split()
-
- def _get_test_suites_required(self):
- return [t for t in (self.d.getVar("TEST_SUITES_SDK", True) or \
- "auto").split() if t != "auto"]
-
class SDKExtTestContext(SDKTestContext):
def __init__(self, d, sdktestdir, sdkenv, tcname, *args):
self.target_manifest = d.getVar("SDK_EXT_TARGET_MANIFEST", True)
diff --git a/meta/lib/oeqa/sdk/__init__.py b/meta/lib/oeqa/sdk/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/meta/lib/oeqa/sdk/case.py b/meta/lib/oeqa/sdk/case.py
new file mode 100644
index 0000000..782db8b
--- /dev/null
+++ b/meta/lib/oeqa/sdk/case.py
@@ -0,0 +1,12 @@
+# Copyright (C) 2016 Intel Corporation
+# Released under the MIT license (see COPYING.MIT)
+
+import subprocess
+
+from oeqa.core.case import OETestCase
+
+class OESDKTestCase(OETestCase):
+ def _run(self, cmd):
+ return subprocess.check_output(". %s > /dev/null; %s;" % \
+ (self.tc.sdk_env, cmd), shell=True,
+ stderr=subprocess.STDOUT).decode("utf-8")
diff --git a/meta/lib/oeqa/sdk/context.py b/meta/lib/oeqa/sdk/context.py
new file mode 100644
index 0000000..0189ed8
--- /dev/null
+++ b/meta/lib/oeqa/sdk/context.py
@@ -0,0 +1,133 @@
+# Copyright (C) 2016 Intel Corporation
+# Released under the MIT license (see COPYING.MIT)
+
+import os
+import sys
+import glob
+import re
+
+from oeqa.core.context import OETestContext, OETestContextExecutor
+
+class OESDKTestContext(OETestContext):
+ sdk_files_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)), "files")
+
+ def __init__(self, td=None, logger=None, sdk_dir=None, sdk_env=None,
+ target_pkg_manifest=None, host_pkg_manifest=None):
+ super(OESDKTestContext, self).__init__(td, logger)
+
+ self.sdk_dir = sdk_dir
+ self.sdk_env = sdk_env
+ self.target_pkg_manifest = target_pkg_manifest
+ self.host_pkg_manifest = host_pkg_manifest
+
+ def _hasPackage(self, manifest, pkg):
+ for host_pkg in manifest.keys():
+ if re.search(pkg, host_pkg):
+ return True
+ return False
+
+ def hasHostPackage(self, pkg):
+ return self._hasPackage(self.host_pkg_manifest, pkg)
+
+ def hasTargetPackage(self, pkg):
+ return self._hasPackage(self.target_pkg_manifest, pkg)
+
+class OESDKTestContextExecutor(OETestContextExecutor):
+ _context_class = OESDKTestContext
+
+ name = 'sdk'
+ help = 'sdk test component'
+ description = 'executes sdk tests'
+
+ default_cases = [os.path.join(os.path.abspath(os.path.dirname(__file__)),
+ 'cases')]
+ default_test_data = None
+
+ def register_commands(self, logger, subparsers):
+ import argparse_oe
+
+ super(OESDKTestContextExecutor, self).register_commands(logger, subparsers)
+
+ sdk_group = self.parser.add_argument_group('sdk options')
+ sdk_group.add_argument('--sdk-env', action='store',
+ help='sdk environment')
+ sdk_group.add_argument('--target-manifest', action='store',
+ help='sdk target manifest')
+ sdk_group.add_argument('--host-manifest', action='store',
+ help='sdk host manifest')
+
+ sdk_dgroup = self.parser.add_argument_group('sdk display options')
+ sdk_dgroup.add_argument('--list-sdk-env', action='store_true',
+ default=False, help='sdk list available environment')
+
+ # XXX this option is required but argparse_oe has a bug handling
+ # required options, seems that don't keep track of already parsed
+ # options
+ sdk_rgroup = self.parser.add_argument_group('sdk required options')
+ sdk_rgroup.add_argument('--sdk-dir', required=False, action='store',
+ help='sdk installed directory')
+
+ @staticmethod
+ def _load_manifest(manifest):
+ pkg_manifest = {}
+ if manifest:
+ with open(manifest) as f:
+ for line in f:
+ (pkg, arch, version) = line.strip().split()
+ pkg_manifest[pkg] = (version, arch)
+
+ return pkg_manifest
+
+ def _process_args(self, logger, args):
+ super(OESDKTestContextExecutor, self)._process_args(logger, args)
+
+ self.tc_kwargs['init']['sdk_dir'] = args.sdk_dir
+ self.tc_kwargs['init']['sdk_env'] = self.sdk_env
+ self.tc_kwargs['init']['target_pkg_manifest'] = \
+ OESDKTestContextExecutor._load_manifest(args.target_manifest)
+ self.tc_kwargs['init']['host_pkg_manifest'] = \
+ OESDKTestContextExecutor._load_manifest(args.host_manifest)
+
+ @staticmethod
+ def _get_sdk_environs(sdk_dir):
+ sdk_env = {}
+
+ environ_pattern = sdk_dir + '/environment-setup-*'
+ full_sdk_env = glob.glob(sdk_dir + '/environment-setup-*')
+ for env in full_sdk_env:
+ m = re.search('environment-setup-(.*)', env)
+ if m:
+ sdk_env[m.group(1)] = env
+
+ return sdk_env
+
+ def _display_sdk_envs(self, log, args, sdk_envs):
+ log("Available SDK environments at directory %s:" \
+ % args.sdk_dir)
+ log("")
+ for env in sdk_envs:
+ log(env)
+
+ def run(self, logger, args):
+ if not args.sdk_dir:
+ raise argparse_oe.ArgumentUsageError("No SDK directory "\
+ "specified please do, --sdk-dir SDK_DIR", self.name)
+
+ sdk_envs = OESDKTestContextExecutor._get_sdk_environs(args.sdk_dir)
+ if not sdk_envs:
+ raise argparse_oe.ArgumentUsageError("No available SDK "\
+ "enviroments found at %s" % args.sdk_dir, self.name)
+
+ if args.list_sdk_env:
+ self._display_sdk_envs(logger.info, args, sdk_envs)
+ sys.exit(0)
+
+ if not args.sdk_env in sdk_envs:
+ self._display_sdk_envs(logger.error, args, sdk_envs)
+ raise argparse_oe.ArgumentUsageError("No valid SDK "\
+ "environment (%s) specified" % args.sdk_env, self.name)
+
+ self.sdk_env = sdk_envs[args.sdk_env]
+ super(OESDKTestContextExecutor, self).run(logger, args)
+
+_executor_class = OESDKTestContextExecutor
--
2.1.4
^ permalink raw reply related
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox