[OE-core] ✗ patchtest: failure for gnupg-native: fix GPG homedir path length limit (rev2)
== Series Details == Series: gnupg-native: fix GPG homedir path length limit (rev2) Revision: 2 URL : https://patchwork.openembedded.org/series/21074/ State : failure == Summary == Thank you for submitting this patch series to OpenEmbedded Core. This is an automated response. Several tests have been executed on the proposed series by patchtest resulting in the following failures: * Issue Upstream-Status is Inappropriate, but no reason was provided [test_upstream_status_presence_format] Suggested fixInclude a brief reason why 0002-do-not-check-socketdir-to-be-owned-by-the-user.patch is inappropriate Current Upstream-Status: inappropriate [OE specific] Standard format Upstream-Status: Inappropriate [reason] If you believe any of these test results are incorrect, please reply to the mailing list (openembedded-core@lists.openembedded.org) raising your concerns. Otherwise we would appreciate you correcting the issues and submitting a new version of the patchset if applicable. Please ensure you add/increment the version number when sending the new version (i.e. [PATCH] -> [PATCH v2] -> [PATCH v3] -> ...). --- Guidelines: https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines Test framework: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest Test suite: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest-oe -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] ✗ patchtest: failure for gnupg-native: fix GPG homedir path length limit (rev3)
== Series Details == Series: gnupg-native: fix GPG homedir path length limit (rev3) Revision: 3 URL : https://patchwork.openembedded.org/series/21074/ State : failure == Summary == Thank you for submitting this patch series to OpenEmbedded Core. This is an automated response. Several tests have been executed on the proposed series by patchtest resulting in the following failures: * Issue Series cannot be parsed correctly due to malformed diff lines [test_mbox_format] Suggested fixCreate the series again using git-format-patch and ensure it can be applied using git am Diff linenappropriate+ } * Issue Series does not apply on top of target branch [test_series_merge_on_head] Suggested fixRebase your series on top of targeted branch Targeted branch master (currently at a0c238d40a) If you believe any of these test results are incorrect, please reply to the mailing list (openembedded-core@lists.openembedded.org) raising your concerns. Otherwise we would appreciate you correcting the issues and submitting a new version of the patchset if applicable. Please ensure you add/increment the version number when sending the new version (i.e. [PATCH] -> [PATCH v2] -> [PATCH v3] -> ...). --- Guidelines: https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines Test framework: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest Test suite: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest-oe -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] maintaining sumo (was Re: [PATCH][thud] cve-check: backport rewrite from master)
Hi, On Thu, Nov 07, 2019 at 10:41:42AM +, Ryan Harkin wrote: > Not sure if it helps, but I have a Jenkins job that tests sumo on a trigger > (there is one for Warrior also): > > https://ci.linaro.org/job/warp7-openembedded-sumo/ > > eg. it was triggered when Armin's patch was merged yesterday. > > This builds Sumo, based on Linaro's OE-RPB distro for NXP WaRP7 > (imx7s-warp). It then runs the build in our LAVA lab (although the boards > have gone down recently, they're normally up). Once the boards are up > again, I'll add ptest to the job, to give it a more thorough workout. I'll > also add the sumo-next branch to the list of build configurations. Could it make sense to also test sumo-next using this job? Also, I would not mind seeing test trigger and result emails on this list as long as access to logs and details is open to everyone. I checked the jenkins build job config and looks quite straight forward. Did not see the actual target testing logs though. Cheers, -Mikko -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [warrior][PATCH] python3: Upgrade 3.7.4 -> 3.7.5
On Sun, Nov 10, 2019 at 03:58:56PM -0800, akuster808 wrote: > > > On 11/5/19 1:44 PM, Adrian Bunk wrote: > > 3.7.5 also includes the fixes for CVE-2019-16056 and CVE-2019-16935. > > I see a patch is being updated. Reason not noted in commit message. That's just trivial context change. > Also, do you have any issue if I backport the other py3 bugfixes in zeus? I was aiming at a minimal change, but nothing of the other changes strikes me as wrong or very risky. > - Armin cu Adrian -- "Is there not promise of rain?" Ling Tan asked suddenly out of the darkness. There had been need of rain for many days. "Only a promise," Lao Er said. Pearl S. Buck - Dragon Seed -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] How to enable x11 with intel-corei7-64 machine in meta-intel layer
On 08/11/2019 20:46, Muhlenkamp, Lewis wrote: This is a bare bone setup. I am using the thud branch. My bblayers.conf file is as follows: I quote you here: "bare bones setup". BBLAYERS ?= " \ ${HOME}/oe-core/meta \ ${HOME}/meta-openembedded/meta-python \ ${HOME}/meta-openembedded/meta-gnome \ ${HOME}/meta-openembedded/meta-filesystems \ ${HOME}/meta-openembedded/meta-oe \ ${HOME}/meta-openembedded/meta-networking \ ${HOME}/meta-openembedded/meta-initramfs \ ${HOME}/meta-openembedded/meta-webserver \ ${HOME}/meta-intel \ ${HOME}/meta-virtualization \ ${HOME}/meta-cloud-services \ ${HOME}/meta-cloud-services/meta-openstack \ ${HOME}/meta-iot-cloud \ ${HOME}/meta-secure-core/meta-tpm \ “ That is not a bare bones setup. To demonstrate that the problem is not your own doing, create a new build directory with just meta and meta-intel in bblayers, DISTRO set to nodistro, MACHINE set to intel-corei7-64, and then build xf86-video-intel. If that fails then please report back with the full logs. If that works then you know that the problem is in your configuration somewhere so start adding pieces back to determine what broke. Ross -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH RFC CFH][sumo 00/47] CVE check backport
On Thu, Nov 07, 2019 at 04:32:35PM +, Richard Purdie wrote: > On Thu, 2019-11-07 at 07:55 -0800, akuster808 wrote: >... > > Are you taking the other patches also submitted for sumo ? > > I am worried about what the bigger picture for this looks like but we > could try testing them. I think the TSC needs to discuss this. How were community supported branches supposed to work? All branches from 2.1 (sic) are documented as supported in the wiki. > Cheers, > > Richard cu Adrian -- "Is there not promise of rain?" Ling Tan asked suddenly out of the darkness. There had been need of rain for many days. "Only a promise," Lao Er said. Pearl S. Buck - Dragon Seed -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] iputils: Whitelist CVE-2000-1213 CVE-2000-1214
ping Thanks Adrian -- "Is there not promise of rain?" Ling Tan asked suddenly out of the darkness. There had been need of rain for many days. "Only a promise," Lao Er said. Pearl S. Buck - Dragon Seed -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] python: Upgrade 2.7.16 -> 2.7.17
ping Whatever layer will ship Python2 in Yocto 3.1 will want this, and it is also desirable for stable branches for getting security fixes. Thanks Adrian -- "Is there not promise of rain?" Ling Tan asked suddenly out of the darkness. There had been need of rain for many days. "Only a promise," Lao Er said. Pearl S. Buck - Dragon Seed -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] maintaining sumo (was Re: [PATCH][thud] cve-check: backport rewrite from master)
Hi Mikko, On Mon, 11 Nov 2019 at 08:08, wrote: > > Hi, > > On Thu, Nov 07, 2019 at 10:41:42AM +, Ryan Harkin wrote: > > > Not sure if it helps, but I have a Jenkins job that tests sumo on a trigger > > (there is one for Warrior also): > > > > https://ci.linaro.org/job/warp7-openembedded-sumo/ > > > > eg. it was triggered when Armin's patch was merged yesterday. > > > > This builds Sumo, based on Linaro's OE-RPB distro for NXP WaRP7 > > (imx7s-warp). It then runs the build in our LAVA lab (although the boards > > have gone down recently, they're normally up). Once the boards are up > > again, I'll add ptest to the job, to give it a more thorough workout. I'll > > also add the sumo-next branch to the list of build configurations. > > Could it make sense to also test sumo-next using this job? Once the boards are recovered in the lab, I'll create sumo-next and warrior-next trigger jobs and add a few more tests. > Also, I would not mind > seeing test trigger and result emails on this list as long as access to logs and details > is open to everyone. I believe this is public. At least, I can see everything from a private browser window where I'm not logged in. It's trivial for me to add this mailing list to the job, although I wonder if it'll bounce due to the email address not being subscribed? I don't have access to the inbox where the LAVA emails are sent from (l...@validation.linaro.org). It may be possible for the lab team to subscribe to the list, I'd have to raise a support request. > > I checked the jenkins build job config and looks quite straight forward. Did not see > the actual target testing logs though. That's because the boards have gone "bad" in the lab. Builds 16 and 17 are still queued, waiting for a "good" board to run on. I've raised a support ticket to recover the boards. Build 15 was the last Sumo job to run, and it's been purged from Jenkins since it's over 30 days old. However, our SQUAD and LAVA instances keep their data forever (at the moment). The jobs are still available, if you know where to find them. The binaries have not been purged yet (pinned-manifest.xml will tell you what was built): https://snapshots.linaro.org/openembedded/warp7/sumo/imx7s-warp/15/rpb/ SQUAD data for Sumo on WaRP7: https://qa-reports.linaro.org/warp7/warp7-bsp/build/16a83e5/ SQUAD results for Sumo build 15 on WaRP7: https://qa-reports.linaro.org/warp7/warp7-bsp/build/16a83e5/testrun/1937355/ LAVA job for Sumo build 15 on WaRP7: https://validation.linaro.org/scheduler/job/1937355 Testing wise, I'm only really running boot testing at the moment. The test job makes sure the board boots to the commandline. Then it attempts to run "memtester", which isn't installed, so fails. I did that on purpose originally, because I wanted to make sure my memtester test failed properly when not installed. I should update that now I'm sure it works. Next it runs badblocks across the rootfs partition (/dev/mmcblk1p2) in read-only mode. Regards, Ryan. > > > Cheers, > > -Mikko -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] archiver: avoid empty incfile in ar_recipe
Hi Grygorii, On 04/11/2019 15:09, Grygorii Tertychnyi (gtertych) wrote: Andrei, From: Andrei Gherzan Sent: Friday, November 1, 2019 13:28 To: Grygorii Tertychnyi (gtertych); openembedded-core@lists.openembedded.org Cc: xe-linux-external(mailer list) Subject: Re: [OE-core] [PATCH] archiver: avoid empty incfile in ar_recipe do_ar_recipe fails on perf recipe on line: include ${@bb.utils.contains('PACKAGECONFIG', 'scripting', 'perf-perl.inc', '', d)} 1. "${...}" part expands into empty string 2. bb.utils.which() takes empty string and returns first directory name from bbpath This doesn't sound sane. If the include directive has no argument, incfile should end up None. That's what the code "assumes" at this I agree. point. I would fix it either at the regex expression level or stripping the matched string. I reckon the former makes more sense (.*). Not sure I understand. Archiver class does not interpret "include" directive. It just parses text files. The regular expression looks correct: These lines: 440 elif include_re.match(line): 441 incfile = include_re.match(line).group(1) put "${...}" _string_ into "incfile" variable. So, "incfile" is not None at "this stage. "${...}" it's already expanded to a white-space. So in that case it matches "include ". Then, 443 incfile = d.expand(incfile) Now "incfile" is empty and nobody checks it. incfile is not empty. It's actually a string containing one white-space. 444 incfile = bb.utils.which(bbpath, incfile) Now "incfile" is set to first directory name in BBPATH (wrong behavour?) 445 if incfile: 446 shutil.copy(incfile, outdir) Exception here: "incfile" is directory, not a file. The include regex is the following: include_re = re.compile( r"include\s+(.+)" ) The issue is that when this is matched on a string suffixed with only spaces, it will match the last space as group(1). This is because ".+" forces to match the last white-space. Changing that to ".*" will make the group(1) be an empty string and later the if will evaluate False. -- Andrei Gherzan -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] maintaining sumo (was Re: [PATCH][thud] cve-check: backport rewrite from master)
On Thu, 2019-11-07 at 07:59 +, mikko.rap...@bmw.de wrote: > I need to maintain sumo in a project for a while longer so I can > publish that work. The CVE checker patches are just a start. > > Providing funding for Yocto Project LTS work is possible but a lot > harder for me to do. Testing and publishing patches is much easier. > > Could you clarify Yocto Project side answers to these questions: I just want to be clear I'm not ignoring this but I need the TSC to figure a few things out before we can answer this. I suspect that may take a short while as its tied into the discussions about LTS and that rests with the YP governing board at the moment. We need to consistently handle everything with a plan so patience with this is appreciated! Cheers, Richard -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] ✗ patchtest: failure for Backport relevant changes from Zeus (rev2)
> -Original Message- > From: Patchwork > Sent: den 5 november 2019 23:32 > To: Peter Kjellerstedt > Cc: openembedded-core@lists.openembedded.org > Subject: ✗ patchtest: failure for Backport relevant changes from Zeus > (rev2) > > == Series Details == > > Series: Backport relevant changes from Zeus (rev2) > Revision: 2 > URL : https://patchwork.openembedded.org/series/20503/ > State : failure > > == Summary == > > Thank you for submitting this patch series to OpenEmbedded Core. This is > an automated response. Several tests have been executed on the proposed > series by patchtest resulting in the following failures: > > * Issue Errors in your Python code were encountered [test_pylint] > Suggested fixCorrect the lines introduced by your patch > Output Please, fix the listed issues: >scripts/lib/devtool/standard.py does not exist Can anyone explain what Patchwork is smoking? Why does it think that scripts/lib/devtool/standard.py does not exist in OE-Core? > If you believe any of these test results are incorrect, please reply to the > mailing list (openembedded-core@lists.openembedded.org) raising your concerns. > Otherwise we would appreciate you correcting the issues and submitting a new > version of the patchset if applicable. Please ensure you add/increment the > version number when sending the new version (i.e. [PATCH] -> [PATCH v2] -> > [PATCH v3] -> ...). > > --- > Guidelines: > https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines > Test framework: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest > Test suite: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest-oe //Peter -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] archiver: avoid empty incfile in ar_recipe
Hi Andrei, From: Andrei Gherzan Sent: Monday, November 11, 2019 13:18 Subject: Re: [OE-core] [PATCH] archiver: avoid empty incfile in ar_recipe >> Not sure I understand. Archiver class does not interpret "include" directive. >> It just parses text files. The regular expression looks correct: >> >> These lines: >> >> 440 elif include_re.match(line): >> 441 incfile = include_re.match(line).group(1) >> >> put "${...}" _string_ into "incfile" variable. So, "incfile" is not None at >> "this stage. > "${...}" it's already expanded to a white-space. So in that case it > matches "include ". No. "incfile" is not expanded here, it actually contains "${...}", e.g. ${@bb.utils.contains('PACKAGECONFIG', 'scripting', 'perf-perl.inc', '', d)} >> Then, >> >> 443 incfile = d.expand(incfile) >> >> Now "incfile" is empty and nobody checks it. > incfile is not empty. It's actually a string containing one white-space. It is actually empty, e.g. "". >> >> 444 incfile = bb.utils.which(bbpath, incfile) >> >> Now "incfile" is set to first directory name in BBPATH (wrong behavour?) >> >> 445 if incfile: >> 446 shutil.copy(incfile, outdir) >> >> Exception here: "incfile" is directory, not a file. >> > The include regex is the following: > > include_re = re.compile( r"include\s+(.+)" ) > > The issue is that when this is matched on a string suffixed with only > spaces, it will match the last space as group(1). This is because ".+" > forces to match the last white-space. Changing that to ".*" will make > the group(1) be an empty string and later the if will evaluate False. I don't see how it helps here. -- Grygorii -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] insane: improve textrel warning message
Clean the displayed path so it clearly shows the package name and path in that package. Signed-off-by: Ross Burton --- meta/classes/insane.bbclass | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass index 9605ac2baee..f856cf6a2b6 100644 --- a/meta/classes/insane.bbclass +++ b/meta/classes/insane.bbclass @@ -340,9 +340,11 @@ def package_qa_textrel(path, name, d, elf, messages): for line in phdrs.split("\n"): if textrel_re.match(line): sane = False +break if not sane: -package_qa_add_message(messages, "textrel", "ELF binary '%s' has relocations in .text" % path) +path = package_qa_clean_path(path, d, name) +package_qa_add_message(messages, "textrel", "%s: ELF binary %s has relocations in .text" % (name, path)) QAPATHTEST[ldflags] = "package_qa_hash_style" def package_qa_hash_style(path, name, d, elf, messages): -- 2.20.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] pseudo: Drop static linking to sqlite3
On Sat, Nov 9, 2019 at 8:46 AM Seebs wrote: > > On Sat, 09 Nov 2019 16:30:41 + > Richard Purdie wrote: > > > I did talk briefly to Mark (also cc'd) as he wrote the original patch > > and he thought it was possibly because the client was also linking > > against sqlite3 and due to the other things the client does, that was > > problematic. > > It *shouldn't* link against sqlite3. But! The commit in question refers > to RHEL5 and LD_LIBRARY_PATH, and I think that shook loose a memory: > > I think at one point, we had a Crucial Bug Fix in sqlite3, in our build > system, and if we didn't statically link, there was a risk of getting > the broken version at runtime. > > > The client lib doesn't and the server side should behave just like any > > other linux binary afaik so we should be ok with a dynamicly linked > > sqlite3? > > Yes. > > The issue here was, I believe, not "dynamically-linked sqlite3 per se", > but "dynamic linking, plus LD_LIBRARY_PATH, picking an sqlite3 which > caused us specific problems". > > In the Yocto environment, I think we're reasonably sure that we always > get a clean Yocto-built sqlite3, and that *should* be fine. > > So I'd say go for it, but if you see weird sqlite3 stuff that happens > only very occasionally, look at this first. :P With this merged, we can also drop the hack to force the sqlite static lib to be PIC: https://git.openembedded.org/openembedded-core/commit/?id=6a58e12d19c539deac9e90679a68438497a42fa4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH RFC CFH][sumo 00/47] CVE check backport
On Mon, 2019-11-11 at 12:42 +0200, Adrian Bunk wrote: > On Thu, Nov 07, 2019 at 04:32:35PM +, Richard Purdie wrote: > > On Thu, 2019-11-07 at 07:55 -0800, akuster808 wrote: > > ... > > > Are you taking the other patches also submitted for sumo ? > > > > I am worried about what the bigger picture for this looks like but > > we > > could try testing them. I think the TSC needs to discuss this. > > How were community supported branches supposed to work? > > All branches from 2.1 (sic) are documented as supported in the wiki. That was changed recently and I kind of wish we'd waited until we'd followed through with a consistent plan which covers the spectrum of EOL/community/stable/LTS. As I've said in a few places, the TSC really needs to figure this out and its complicated by the LTS discussions. Those discussions are happening but aren't simple. Cheers, Richard -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] sqlite3: Drop pic as we no longer need the sqlite3 static lib
This was added in: https://git.openembedded.org/openembedded-core/commit/?id=6a58e12d19c539deac9e90679a68438497a42fa4 but is no longer needed now pseudo doesn't use sqlite's static lib. Signed-off-by: Richard Purdie --- meta/recipes-support/sqlite/sqlite3.inc | 2 -- 1 file changed, 2 deletions(-) diff --git a/meta/recipes-support/sqlite/sqlite3.inc b/meta/recipes-support/sqlite/sqlite3.inc index 4af1e09e80d..07614bdb3e3 100644 --- a/meta/recipes-support/sqlite/sqlite3.inc +++ b/meta/recipes-support/sqlite/sqlite3.inc @@ -44,8 +44,6 @@ EXTRA_OECONF = " \ --disable-static-shell \ " -CFLAGS_append = " -fPIC" - # pread() is in POSIX.1-2001 so any reasonable system must surely support it CFLAGS_append = " -DUSE_PREAD" -- 2.20.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] dbus: drop unused group netdev
From: Stefan Agner The whole D-Bus source has no reference to the netdev group. It seems that the netdev group is nowhere used. Early avahi package versions used this group for the D-Bus specific rules. However, today avahi uses --with-avahi-priv-access-group=adm and hence uses the adm group for its D-Bus policy rules. If a package is using the netdev group in its D-Bus policy rules, that package should add the group instead. Signed-off-by: Stefan Agner --- meta/recipes-core/dbus/dbus_1.12.16.bb | 1 - 1 file changed, 1 deletion(-) diff --git a/meta/recipes-core/dbus/dbus_1.12.16.bb b/meta/recipes-core/dbus/dbus_1.12.16.bb index f4fec2365c..96b5036870 100644 --- a/meta/recipes-core/dbus/dbus_1.12.16.bb +++ b/meta/recipes-core/dbus/dbus_1.12.16.bb @@ -32,7 +32,6 @@ python __anonymous() { } USERADD_PACKAGES = "${PN}" -GROUPADD_PARAM_${PN} = "-r netdev" USERADD_PARAM_${PN} = "--system --home ${localstatedir}/lib/dbus \ --no-create-home --shell /bin/false \ --user-group messagebus" -- 2.17.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH RFC CFH][sumo 00/47] CVE check backport
On Mon, Nov 11, 2019 at 01:12:47PM +, Richard Purdie wrote: > On Mon, 2019-11-11 at 12:42 +0200, Adrian Bunk wrote: > > On Thu, Nov 07, 2019 at 04:32:35PM +, Richard Purdie wrote: > > > On Thu, 2019-11-07 at 07:55 -0800, akuster808 wrote: > > > ... > > > > Are you taking the other patches also submitted for sumo ? > > > > > > I am worried about what the bigger picture for this looks like but > > > we > > > could try testing them. I think the TSC needs to discuss this. > > > > How were community supported branches supposed to work? > > > > All branches from 2.1 (sic) are documented as supported in the wiki. > > That was changed recently What was changed recently was that the pre-2.1 branches were marked EOL: https://wiki.yoctoproject.org/wiki/index.php?title=Releases&diff=62334&oldid=62324 Non-stable branches are documented as community-supported since 2014: https://wiki.yoctoproject.org/wiki/index.php?title=Releases&diff=12747&oldid=12743 > and I kind of wish we'd waited until we'd > followed through with a consistent plan which covers the spectrum of > EOL/community/stable/LTS. > > As I've said in a few places, the TSC really needs to figure this out > and its complicated by the LTS discussions. Those discussions are > happening but aren't simple. Past releases and future releases might be separate topics. Please keep in mind that many people already have to support products on existing stable branches, working under the assumption that patches submitted by the community will be accepted. Closing future non-LTS branches early might be OK if this is part of a clearly communicated EOL schedule for future LTS and non-LTS releases, like it is clear when Ubuntu releases will be released and for how long they are supported. But this visibility on upstream support is needed before deciding on a Yocto release for a product. Future LTS releases are irrelevant for existing products that cannot move to a different stable branch. > Cheers, > > Richard cu Adrian -- "Is there not promise of rain?" Ling Tan asked suddenly out of the darkness. There had been need of rain for many days. "Only a promise," Lao Er said. Pearl S. Buck - Dragon Seed -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 0/1] Extend oeqa tests for archiver.bbclass
In preparation for adding the new mirror archiver mode I've added a bunch of additional oeqa tests for the archiver bblass. I'm submitting these separately first as this is the first time I've done anything with oeqa and things may need a little rework. The tests use the selftest-ed recipe from the meta-selftest recipe so I assume they can rely on the version number and source file name not changing. Paul Barker (1): oeqa: archiver: Add basic tests for all archiver modes meta/lib/oeqa/selftest/cases/archiver.py | 66 1 file changed, 66 insertions(+) -- 2.24.0 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 1/1] oeqa: archiver: Add basic tests for all archiver modes
6 new test cases are added to cover the various archiver modes documented at the top of archiver.bbclass. Each test sets the appropriate configuration options, runs the `do_deploy_archives` task for the selftest-ed recipe and checks for the presence of the expected archive file. Signed-off-by: Paul Barker --- meta/lib/oeqa/selftest/cases/archiver.py | 66 1 file changed, 66 insertions(+) diff --git a/meta/lib/oeqa/selftest/cases/archiver.py b/meta/lib/oeqa/selftest/cases/archiver.py index f8672f8abb..6bd0e06ec4 100644 --- a/meta/lib/oeqa/selftest/cases/archiver.py +++ b/meta/lib/oeqa/selftest/cases/archiver.py @@ -129,3 +129,69 @@ class Archiver(OESelftestTestCase): self.write_config(features) bitbake('-n core-image-sato') + +def _test_archiver_mode(self, mode, target_file_name, extra_config=None): +target = "selftest-ed" + +features = 'INHERIT += "archiver"\n' +features += 'ARCHIVER_MODE[src] = "%s"\n' % (mode) +if extra_config: +features += extra_config +self.write_config(features) + +bitbake('-c clean %s' % (target)) +bitbake('-c deploy_archives %s' % (target)) + +bb_vars = get_bb_vars(['DEPLOY_DIR_SRC', 'TARGET_SYS']) +glob_str = os.path.join(bb_vars['DEPLOY_DIR_SRC'], bb_vars['TARGET_SYS'], '%s-*' % (target)) +glob_result = glob.glob(glob_str) +self.assertTrue(glob_result, 'Missing archiver directory for %s' % (target)) + +archive_path = os.path.join(glob_result[0], target_file_name) +self.assertTrue(os.path.exists(archive_path), 'Missing archive file %s' % (target_file_name)) + +def test_archiver_mode_original(self): +""" +Test that the archiver works in with `ARCHIVER_MODE[src] = "original"`. +""" + +self._test_archiver_mode('original', 'ed-1.14.1.tar.lz') + +def test_archiver_mode_patched(self): +""" +Test that the archiver works in with `ARCHIVER_MODE[src] = "patched"`. +""" + +self._test_archiver_mode('patched', 'selftest-ed-1.14.1-r0-patched.tar.gz') + +def test_archiver_mode_configured(self): +""" +Test that the archiver works in with `ARCHIVER_MODE[src] = "configured"`. +""" + +self._test_archiver_mode('configured', 'selftest-ed-1.14.1-r0-configured.tar.gz') + +def test_archiver_mode_recipe(self): +""" +Test that the archiver works in with `ARCHIVER_MODE[recipe] = "1"`. +""" + +self._test_archiver_mode('patched', 'selftest-ed-1.14.1-r0-recipe.tar.gz', + 'ARCHIVER_MODE[recipe] = "1"\n') + +def test_archiver_mode_diff(self): +""" +Test that the archiver works in with `ARCHIVER_MODE[diff] = "1"`. +Exclusions controlled by `ARCHIVER_MODE[diff-exclude]` are not yet tested. +""" + +self._test_archiver_mode('patched', 'selftest-ed-1.14.1-r0-diff.gz', + 'ARCHIVER_MODE[diff] = "1"\n') + +def test_archiver_mode_dumpdata(self): +""" +Test that the archiver works in with `ARCHIVER_MODE[dumpdata] = "1"`. +""" + +self._test_archiver_mode('patched', 'selftest-ed-1.14.1-r0-showdata.dump', + 'ARCHIVER_MODE[dumpdata] = "1"\n') -- 2.24.0 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] pseudo: Drop static linking to sqlite3
On 11/9/19 10:30 AM, Richard Purdie wrote: > On Sat, 2019-11-09 at 10:07 -0600, Seebs wrote: >> On Sat, 9 Nov 2019 15:35:59 + >> Richard Purdie wrote: >> >>> Back in 2010[1] we made pseudo statically link against sqlite3. >>> Since then the world has changed, pseudo now has separate processes >>> for the database in the server and the client and they have >>> separate linking commands. >> >> I'm not sure what that has to do with the reasons for it being >> static? Not that I remember exactly anymore, but I think we were >> hitting problems caused if pseudo was dynamically linked to sqlite, >> but I don't remember what they were. > > I did talk briefly to Mark (also cc'd) as he wrote the original patch > and he thought it was possibly because the client was also linking > against sqlite3 and due to the other things the client does, that was > problematic. First (early) version of pseudo would fork for the server, there wasn't a seperate executed server and we had all sorts of problems with dynamic libraries being loaded and loaded from the correct paths (due to the LD_PRELOAD). Moving to two process spaces, LD_PRELOAD and the pseudo executable happened pretty early in development, but I suspect some of this is left over from that. >> I'm not entirely sure I know what you mean by "separate processes for >> the database in the server and the client". I don't think >> libpseudo.so should ever do any database things at all, and it >> shouldn't need to link to sqlite. > > I was under the impression the client may once have linked against it. > I admit I didn't dive into history, just checked that it clearly > doesn't now. The client had both from above, but also for some early logging that happened before the pseudo server was executed. Both vestiges are long fone. >>> which occurs if sqlite3-native was built on a machine with glibc >>> 2.28 or later and pseudo-native is being built on glibc before >>> that. >> >> I don't think pseudo's ever been *expected* to work when built linked >> against things built against different libc. It is *way* too full of >> unholy magics that depend on knowing which libc it's using. That >> said, the pseudo server also shouldn't really need to be statically- >> linked, the only times it ever runs under pseudo, it just immediately >> tries to escape and not run that way. > > The client lib doesn't and the server side should behave just like any > other linux binary afaik so we should be ok with a dynamicly linked > sqlite3? > >>> There appears to be no easy way to avoid this other than adding a >>> copy of sqlite3 into the pseudo recipe. Given the static linking >>> doesn't seem to be required any longer due to the separate >>> processes, >>> drop that to fix those issues. >> >> I don't understand the "separate processes" thing. So far as I know, >> pseudo has never talked to sqlite from the client. I think Jason >> Wessel had experimental patches at one point to do client-local >> sqlite work to avoid the IPC overhead, but I don't think it ever got >> merged because it turns out the IPC overhead is insignificant >> compared to everything else. > > If I'm working off incorrect assumptions, is there another reason we > need a static sqlite? I have tested this patch before I posted it and > it seems fine in our test builds... > > Cheers, > > Richard > -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] Getting "File name too long" errors in warrior for sstate-cache names
Starting with warrior build, I'm getting build fails due to "File name too long" in sstate-cache filenames. This is probably related to having long names for machines, but this did not happen in previous releases. For example: OSError: [Errno 36] File name too long: '/mnt/.../sstate-cache/52/sigtask.9u_r4yv2' -> '/mnt/.../sstate-cache/52/sstate:u-boot-xlnx:topic_miamilite_florida_test_xc7z010-oe-linux-gnueabi:v2019.01-xilinx-v2019.1+gitAUTOINC+d895ac5e94:r0:topic_miamilite_florida_test_xc7z010:3:52cb29cef3922da53a752f38e9bbfdef878af51813dc095d9c1451d572844f93_prepare_recipe_sysroot.tgz.siginfo' What can I do about this? There's no hint in the error message and searching for the message text doesn't show much except issues with crypto filesystems, which doesn't apply. The filesystem is just plain ext4. -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] Getting "File name too long" errors in warrior for sstate-cache names
On Mon, 11 Nov 2019, at 14:49, Mike Looijmans wrote: > Starting with warrior build, I'm getting build fails due to "File name too > long" in sstate-cache filenames. This is probably related to having long > names > for machines, but this did not happen in previous releases. For example: > > OSError: [Errno 36] File name too long: > '/mnt/.../sstate-cache/52/sigtask.9u_r4yv2' -> > '/mnt/.../sstate-cache/52/sstate:u-boot-xlnx:topic_miamilite_florida_test_xc7z010-oe-linux-gnueabi:v2019.01-xilinx-v2019.1+gitAUTOINC+d895ac5e94:r0:topic_miamilite_florida_test_xc7z010:3:52cb29cef3922da53a752f38e9bbfdef878af51813dc095d9c1451d572844f93_prepare_recipe_sysroot.tgz.siginfo' > > > What can I do about this? There's no hint in the error message and searching > for the message text doesn't show much except issues with crypto filesystems, > which doesn't apply. The filesystem is just plain ext4. This looks like https://bugzilla.yoctoproject.org/show_bug.cgi?id=13177 which I filed earlier this year. I haven't found a solution which is acceptable to everyone though and since then I've rarely if ever actually hit this problem. -- Paul Barker Managing Director & Principal Engineer Beta Five Ltd -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] Getting "File name too long" errors in warrior for sstate-cache names
On Mon, 2019-11-11 at 14:49 +, Mike Looijmans wrote: > Starting with warrior build, I'm getting build fails due to "File > name too > long" in sstate-cache filenames. This is probably related to having > long names > for machines, but this did not happen in previous releases. For > example: > > OSError: [Errno 36] File name too long: > '/mnt/.../sstate-cache/52/sigtask.9u_r4yv2' -> > '/mnt/.../sstate-cache/52/sstate:u-boot- > xlnx:topic_miamilite_florida_test_xc7z010-oe-linux-gnueabi:v2019.01- > xilinx- > v2019.1+gitAUTOINC+d895ac5e94:r0:topic_miamilite_florida_test_xc7z010 > :3:52cb29cef3922da53a752f38e9bbfdef878af51813dc095d9c1451d572844f93_p > repare_recipe_sysroot.tgz.siginfo' > > > What can I do about this? There's no hint in the error message and > searching > for the message text doesn't show much except issues with crypto > filesystems, > which doesn't apply. The filesystem is just plain ext4. There have been a few reports of this and an open bug. The trigger was probably the switch from md5 to sha256. Unfortunately we haven't figured out a good patch to address it yet. In your case it looks like a long recipe name combined with git versions (also longer). Truncating the PN and/or PV would probably help work around it, the hash is the key piece for sstate and the rest is just to help humans. Cheers, Richard -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH RFC CFH][sumo 00/47] CVE check backport
On Mon, 2019-11-11 at 16:14 +0200, Adrian Bunk wrote: > On Mon, Nov 11, 2019 at 01:12:47PM +, Richard Purdie wrote: > > On Mon, 2019-11-11 at 12:42 +0200, Adrian Bunk wrote: > > > On Thu, Nov 07, 2019 at 04:32:35PM +, Richard Purdie wrote: > > > > On Thu, 2019-11-07 at 07:55 -0800, akuster808 wrote: > > > > ... > > > > > Are you taking the other patches also submitted for sumo ? > > > > > > > > I am worried about what the bigger picture for this looks like > > > > but > > > > we > > > > could try testing them. I think the TSC needs to discuss this. > > > > > > How were community supported branches supposed to work? > > > > > > All branches from 2.1 (sic) are documented as supported in the > > > wiki. > > > > That was changed recently > > What was changed recently was that the pre-2.1 branches were marked > EOL: > https://wiki.yoctoproject.org/wiki/index.php?title=Releases&diff=62334&oldid=62324 > > Non-stable branches are documented as community-supported since 2014: > https://wiki.yoctoproject.org/wiki/index.php?title=Releases&diff=12747&oldid=12743 > > > and I kind of wish we'd waited until we'd > > followed through with a consistent plan which covers the spectrum > > of > > EOL/community/stable/LTS. > > > > As I've said in a few places, the TSC really needs to figure this > > out > > and its complicated by the LTS discussions. Those discussions are > > happening but aren't simple. > > Past releases and future releases might be separate topics. > > Please keep in mind that many people already have to support products > on existing stable branches, working under the assumption that > patches > submitted by the community will be accepted. > > Closing future non-LTS branches early might be OK if this is part of > a > clearly communicated EOL schedule for future LTS and non-LTS > releases, > like it is clear when Ubuntu releases will be released and for how > long > they are supported. > > But this visibility on upstream support is needed before deciding on > a Yocto release for a product. Future LTS releases are irrelevant > for > existing products that cannot move to a different stable branch. > current and prior two releases are actively maintained. So that should have been the consideration when selecting a release for production in past. see https://wiki.yoctoproject.org/wiki/Stable_branch_maintenance > > Cheers, > > > > Richard > > cu > Adrian > > -- > >"Is there not promise of rain?" Ling Tan asked suddenly out > of the darkness. There had been need of rain for many days. >"Only a promise," Lao Er said. >Pearl S. Buck - Dragon Seed > -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] pseudo: Drop static linking to sqlite3
On Mon, 2019-11-11 at 05:04 -0800, Andre McCurdy wrote: > On Sat, Nov 9, 2019 at 8:46 AM Seebs wrote: > > On Sat, 09 Nov 2019 16:30:41 + > > Richard Purdie wrote: > > > > > I did talk briefly to Mark (also cc'd) as he wrote the original > > > patch > > > and he thought it was possibly because the client was also > > > linking > > > against sqlite3 and due to the other things the client does, that > > > was > > > problematic. > > > > It *shouldn't* link against sqlite3. But! The commit in question > > refers > > to RHEL5 and LD_LIBRARY_PATH, and I think that shook loose a > > memory: > > > > I think at one point, we had a Crucial Bug Fix in sqlite3, in our > > build > > system, and if we didn't statically link, there was a risk of > > getting > > the broken version at runtime. > > > > > The client lib doesn't and the server side should behave just > > > like any > > > other linux binary afaik so we should be ok with a dynamicly > > > linked > > > sqlite3? > > > > Yes. > > > > The issue here was, I believe, not "dynamically-linked sqlite3 per > > se", > > but "dynamic linking, plus LD_LIBRARY_PATH, picking an sqlite3 > > which > > caused us specific problems". > > > > In the Yocto environment, I think we're reasonably sure that we > > always > > get a clean Yocto-built sqlite3, and that *should* be fine. > > > > So I'd say go for it, but if you see weird sqlite3 stuff that > > happens > > only very occasionally, look at this first. :P > > With this merged, we can also drop the hack to force the sqlite > static > lib to be PIC: > > > https://git.openembedded.org/openembedded-core/commit/?id=6a58e12d19c539deac9e90679a68438497a42fa4 That would be good but a caution is that if pseudo is just one usecase here which brought this issue forward, since we use PIE by default this would come up elsewhere too -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH RFC CFH][sumo 00/47] CVE check backport
On Mon, Nov 11, 2019 at 07:54:34AM -0800, Khem Raj wrote: > On Mon, 2019-11-11 at 16:14 +0200, Adrian Bunk wrote: > > On Mon, Nov 11, 2019 at 01:12:47PM +, Richard Purdie wrote: >... > > > As I've said in a few places, the TSC really needs to figure this > > > out > > > and its complicated by the LTS discussions. Those discussions are > > > happening but aren't simple. > > > > Past releases and future releases might be separate topics. > > > > Please keep in mind that many people already have to support products > > on existing stable branches, working under the assumption that > > patches > > submitted by the community will be accepted. > > > > Closing future non-LTS branches early might be OK if this is part of > > a > > clearly communicated EOL schedule for future LTS and non-LTS > > releases, > > like it is clear when Ubuntu releases will be released and for how > > long > > they are supported. > > > > But this visibility on upstream support is needed before deciding on > > a Yocto release for a product. Future LTS releases are irrelevant > > for > > existing products that cannot move to a different stable branch. > > current and prior two releases are actively maintained. "master and the latest 2 stable branches" (AFAIK thud is no longer actively maintained) > So that should > have been the consideration when selecting a release for production in > past. see > > https://wiki.yoctoproject.org/wiki/Stable_branch_maintenance Which also says "but well-tested patches may still be accepted for them". The question is exactly how the patch acceptance for the community maintained stable branches works for people who are maintaining products on these older branches. cu Adrian -- "Is there not promise of rain?" Ling Tan asked suddenly out of the darkness. There had been need of rain for many days. "Only a promise," Lao Er said. Pearl S. Buck - Dragon Seed -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] maintaining sumo (was Re: [PATCH][thud] cve-check: backport rewrite from master)
On 11/6/19 11:59 PM, mikko.rap...@bmw.de wrote: > Hi, > > On Wed, Nov 06, 2019 at 05:53:27PM +, Richard Purdie wrote: >> On Wed, 2019-11-06 at 16:06 +, mikko.rap...@bmw.de wrote: >>> Hi, >>> >>> On Wed, Nov 06, 2019 at 02:59:16PM +, Ryan Harkin wrote: Hi Ross/Richard, I'd like this applied to Sumo also. Should I create a new patch and send it to the list, or is there a process for requesting this is cherry- picked across? >>> I just posted the port of this and all other CVE scan related changes >>> to sumo >>> http://lists.openembedded.org/pipermail/openembedded-core/2019-November/288817.html >>> >>> But the question is valid :) >> Support for sumo officially ended. I can see a case that the broken CVE >> tools there are a good reason we could consider merging the patch >> series but we do need to be able to test it to merge it to the main >> branch. If we can't test, we're merging blind and the quality the >> project tries to deliver could be compromised. >> >> I have made some tweaks to the autobuilder which bring us closer to >> being able to test sumo using the workers still around from that >> release. >> >> The things that make me nervous are questions like: >> >> Which releases do we "open" for such patches? How far back do we go? >> Which kinds of patches are acceptable? >> >> Note that sumo (and earlier) doesn't have much of the QA automation >> which we've now built our processes around so we don't get test >> reports. >> >> You mention wanting to change gcc. That means we really do need a full >> retest of it to merge that (which is why it never happened originally >> from what I remember). >> >> Also, the LTS proposal stated we needed someone to handle this work. We >> have no such person, even if we do somehow find them, they can't be >> expected to cover all the old releases and effectively turn all of them >> into LTS releases. How can we get the funding to try and get some help >> with handling this workload? >> >> I am probably going to try and make a case for sorting the CVE tooling >> on sumo as I agree its bad and we should do something. Where do we draw >> the line though. >> >> Basically, this looks like it could create a lot of extra work without >> helping the core project under-resourcing we currently struggle with. >> You can therefore see why I might be nervous :/. > All this is understood. > > I need to maintain sumo in a project for a while longer so I can publish that > work. > The CVE checker patches are just a start. > > Providing funding for Yocto Project LTS work is possible but a lot harder for > me to do. > Testing and publishing patches is much easier. > > Could you clarify Yocto Project side answers to these questions: > > If I continue to publish patches for sumo, can I continue doing so on oe-core > mailing list? As far I understand it Sumo is under "Community supported" and now more and more patches are being sent. We should formalize this process IMHO. I don't mind collecting them but they wont land in mainline as we need to address the regression for the other layers or until we change the policy. > > If I continue to collect patches for sumo, can I do so using Yocto Project > infrastructure, e.g. > a sumo-contrib-lts or similar branch in poky git tree? Well if you get write permission, then the stable branch maintainer should have it too. You can use "https://git.openembedded.org/openembedded-core-contrib/log/?h=stable/sumo-community"; Would we want a similar scheme in Poky-contrib? I would prefer patches being sent to the list before they land in the branch. If we decide to build, we can use those branches. Not sure where they would go from there. > > If I continue to test patches, what would be the patch acceptance criteria > and required testing? > I would assume same as stable release rules, but maybe these need to be even > stricter, e.g. > only support building on Debian stable, following the LTS proposal. I'm > testing in my own project > trees and CI with target HW, and doing world builds on pure poky with qemu > target. I could some > kind of ptest execution to plain poky as well. > > Would any testing of patches be possible in Yocto Project infrastructure? How about BMW join the Project. Cash might help support such an endeavor. > > All of these things I can do also completely outside of Yocto Project, e.g. > publish a sumo > git tree on github, and rely only on my own testing. But I'd like to see > some co-operation here from other users who are stuck with sumo. I would prefer not to see a fork situation expect in a last resort. let see what we can come up with. regards, armin > > -Mikko -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] pseudo: Drop static linking to sqlite3
On Mon, 11 Nov 2019 08:17:30 -0600 Mark Hatle wrote: > First (early) version of pseudo would fork for the server, there > wasn't a seperate executed server and we had all sorts of problems > with dynamic libraries being loaded and loaded from the correct paths > (due to the LD_PRELOAD). > > Moving to two process spaces, LD_PRELOAD and the pseudo executable > happened pretty early in development, but I suspect some of this is > left over from that. To be picky: pseudo *still does this*. If it can't find the server, it clears the environment and respawns it. There were problems with this for the longest time, which turned out to be because I was calling setenv to clean the environment, and bash *overrides setenv*, so if the program spawning the pseudo server was bash, things went wrong. It should actually be fixed now and work pretty well. -s -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] pseudo: Drop static linking to sqlite3
On Mon, Nov 11, 2019 at 07:59:43AM -0800, Khem Raj wrote: > On Mon, 2019-11-11 at 05:04 -0800, Andre McCurdy wrote: > > > > With this merged, we can also drop the hack to force the sqlite > > static > > lib to be PIC: > > > > > > https://git.openembedded.org/openembedded-core/commit/?id=6a58e12d19c539deac9e90679a68438497a42fa4 > > That would be good but a caution is that if pseudo is just one usecase > here which brought this issue forward, since we use PIE by default this > would come up elsewhere too The only usecase for building a static library as PIC I am aware of is when you want to link the static library into a shared library. Usually linking a static library into a shared library is a bug and the link error is preferable since you actually intended to link with the shared library (the linker automatically uses a static library when it can't find a shared library). There are rare exceptions when this is done intentionally. Linking a static libsqlite3.a into libpseudo.so was such an exception. Whether the non-PIC code is PIE or not does not make a difference. cu Adrian -- "Is there not promise of rain?" Ling Tan asked suddenly out of the darkness. There had been need of rain for many days. "Only a promise," Lao Er said. Pearl S. Buck - Dragon Seed -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 2/2] oe-selftest: extend virgl gtk test to also check the SDL option
Signed-off-by: Alexander Kanavin --- meta/lib/oeqa/selftest/cases/runtime_test.py | 17 + 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/meta/lib/oeqa/selftest/cases/runtime_test.py b/meta/lib/oeqa/selftest/cases/runtime_test.py index 7d3922ce448..3632ae81ede 100644 --- a/meta/lib/oeqa/selftest/cases/runtime_test.py +++ b/meta/lib/oeqa/selftest/cases/runtime_test.py @@ -166,9 +166,9 @@ class TestImage(OESelftestTestCase): bitbake('core-image-full-cmdline socat') bitbake('-c testimage core-image-full-cmdline') -def test_testimage_virgl_gtk(self): +def test_testimage_virgl_gtk_sdl(self): """ -Summary: Check host-assisted accelerate OpenGL functionality in qemu with gtk frontend +Summary: Check host-assisted accelerate OpenGL functionality in qemu with gtk and SDL frontends Expected: 1. Check that virgl kernel driver is loaded and 3d acceleration is enabled 2. Check that kmscube demo runs without crashing. Product: oe-core @@ -183,18 +183,27 @@ class TestImage(OESelftestTestCase): self.skipTest('virgl isn\'t working with Centos 7') qemu_packageconfig = get_bb_var('PACKAGECONFIG', 'qemu-system-native') +sdl_packageconfig = get_bb_var('PACKAGECONFIG', 'libsdl2-native') features = 'INHERIT += "testimage"\n' if 'gtk+' not in qemu_packageconfig: features += 'PACKAGECONFIG_append_pn-qemu-system-native = " gtk+"\n' +if 'sdl' not in qemu_packageconfig: +features += 'PACKAGECONFIG_append_pn-qemu-system-native = " sdl"\n' if 'virglrenderer' not in qemu_packageconfig: features += 'PACKAGECONFIG_append_pn-qemu-system-native = " virglrenderer"\n' if 'glx' not in qemu_packageconfig: features += 'PACKAGECONFIG_append_pn-qemu-system-native = " glx"\n' +if 'opengl' not in sdl_packageconfig: +features += 'PACKAGECONFIG_append_pn-libsdl2-native = " opengl"\n' features += 'TEST_SUITES = "ping ssh virgl"\n' features += 'IMAGE_FEATURES_append = " ssh-server-dropbear"\n' features += 'IMAGE_INSTALL_append = " kmscube"\n' -features += 'TEST_RUNQEMUPARAMS = "gtk gl"\n' -self.write_config(features) +features_gtk = features + 'TEST_RUNQEMUPARAMS = "gtk gl"\n' +self.write_config(features_gtk) +bitbake('core-image-minimal') +bitbake('-c testimage core-image-minimal') +features_sdl = features + 'TEST_RUNQEMUPARAMS = "sdl gl"\n' +self.write_config(features_sdl) bitbake('core-image-minimal') bitbake('-c testimage core-image-minimal') -- 2.17.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 1/2] runqemu: add options that enable virgl with the SDL frontend
Signed-off-by: Alexander Kanavin --- scripts/runqemu | 13 + 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/scripts/runqemu b/scripts/runqemu index a05facd0db6..5c56c3fe6c1 100755 --- a/scripts/runqemu +++ b/scripts/runqemu @@ -67,9 +67,9 @@ of the following environment variables (in any order): nographic - disable video console sdl - choose the SDL UI frontend gtk - choose the Gtk UI frontend -gl - enable virgl-based GL acceleration (also needs gtk option) -gl-es - enable virgl-based GL acceleration, using OpenGL ES (also needs gtk option) -egl-headless - enable headless EGL output; use vnc or spice to see it +gl - enable virgl-based GL acceleration (also needs gtk or sdl options) +gl-es - enable virgl-based GL acceleration, using OpenGL ES (also needs gtk or sdl options) +egl-headless - enable headless EGL output; use vnc (via publicvnc option) or spice to see it serial - enable a serial console on /dev/ttyS0 serialstdio - enable a serial console on the console (regardless of graphics mode) slirp - enable user networking, no root privileges is required @@ -437,7 +437,12 @@ class BaseConfig(object): self.qemu_opt_script += ' -nographic' self.kernel_cmdline_script += ' console=ttyS0' elif arg == 'sdl': -self.qemu_opt_script += ' -display sdl' +if 'gl' in sys.argv[1:]: +self.qemu_opt_script += ' -vga virtio -display sdl,gl=on' +elif 'gl-es' in sys.argv[1:]: +self.qemu_opt_script += ' -vga virtio -display sdl,gl=es' +else: +self.qemu_opt_script += ' -display sdl' elif arg == 'gtk': if 'gl' in sys.argv[1:]: self.qemu_opt_script += ' -vga virtio -display gtk,gl=on' -- 2.17.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] pseudo: Drop static linking to sqlite3
On Mon, Nov 11, 2019 at 8:36 AM Adrian Bunk wrote: > On Mon, Nov 11, 2019 at 07:59:43AM -0800, Khem Raj wrote: > > On Mon, 2019-11-11 at 05:04 -0800, Andre McCurdy wrote: > > > > > > With this merged, we can also drop the hack to force the sqlite > > > static > > > lib to be PIC: > > > > > > > > > > https://git.openembedded.org/openembedded-core/commit/?id=6a58e12d19c539deac9e90679a68438497a42fa4 > > > > That would be good but a caution is that if pseudo is just one usecase > > here which brought this issue forward, since we use PIE by default this > > would come up elsewhere too > > The only usecase for building a static library as PIC I am aware of is > when you want to link the static library into a shared library. > > Usually linking a static library into a shared library is a bug and > the link error is preferable since you actually intended to link > with the shared library (the linker automatically uses a static > library when it can't find a shared library). > > There are rare exceptions when this is done intentionally. > Linking a static libsqlite3.a into libpseudo.so was such an exception. > > Whether the non-PIC code is PIE or not does not make a difference. It’s not directly related to that more to the fact that we disable static libs by default and since this was available some other package might have depended on it inadvertently > > > cu > Adrian > > -- > >"Is there not promise of rain?" Ling Tan asked suddenly out > of the darkness. There had been need of rain for many days. >"Only a promise," Lao Er said. >Pearl S. Buck - Dragon Seed > > -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] archiver: avoid empty incfile in ar_recipe
Hi, On 11/11/2019 12:29, Grygorii Tertychnyi (gtertych) wrote: Hi Andrei, From: Andrei Gherzan Sent: Monday, November 11, 2019 13:18 Subject: Re: [OE-core] [PATCH] archiver: avoid empty incfile in ar_recipe Not sure I understand. Archiver class does not interpret "include" directive. It just parses text files. The regular expression looks correct: These lines: 440 elif include_re.match(line): 441 incfile = include_re.match(line).group(1) put "${...}" _string_ into "incfile" variable. So, "incfile" is not None at "this stage. "${...}" it's already expanded to a white-space. So in that case it matches "include ". No. "incfile" is not expanded here, it actually contains "${...}", e.g. ${@bb.utils.contains('PACKAGECONFIG', 'scripting', 'perf-perl.inc', '', d)} Give me a simple way to reproduce this. -- Andrei Gherzan -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] sqlite3: Drop pic as we no longer need the sqlite3 static lib
On 11/11/19 5:21 AM, Richard Purdie wrote: > This was added in: > https://git.openembedded.org/openembedded-core/commit/?id=6a58e12d19c539deac9e90679a68438497a42fa4 > but is no longer needed now pseudo doesn't use sqlite's static lib. > > Signed-off-by: Richard Purdie > --- > meta/recipes-support/sqlite/sqlite3.inc | 2 -- > 1 file changed, 2 deletions(-) > > diff --git a/meta/recipes-support/sqlite/sqlite3.inc > b/meta/recipes-support/sqlite/sqlite3.inc > index 4af1e09e80d..07614bdb3e3 100644 > --- a/meta/recipes-support/sqlite/sqlite3.inc > +++ b/meta/recipes-support/sqlite/sqlite3.inc > @@ -44,8 +44,6 @@ EXTRA_OECONF = " \ > --disable-static-shell \ > " > > -CFLAGS_append = " -fPIC" > - > # pread() is in POSIX.1-2001 so any reasonable system must surely support it > CFLAGS_append = " -DUSE_PREAD" > Do these sqlite3 changes need to be backported? Zeus , etc? - armin -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [zeus 00/21] Zeus patch review
Other then "pseudo: Drop static linking to sqlite3" outstanding question, here are the next series to be reviewed for Zeus. Note: pass a-full Comments back by Wednesday The following changes since commit 4e3e8d8270f318e6384c3d9bb5f6c7503f41d736: libsdl2: fix race when building in parallel (2019-11-10 13:54:34 -0800) are available in the git repository at: git://git.openembedded.org/openembedded-core-contrib stable/zeus-nmut http://cgit.openembedded.org/openembedded-core-contrib/log/?h=stable/zeus-nmut Alexander Kanavin (1): selftest: skip virgl test on centos 7 entirely Bruce Ashfield (2): linux-yocto/4.19: update to v4.19.78 linux-yocto/5.2: update to v5.2.20 Changqing Li (1): mdadm: fix do_package failed when changed local.conf but not cleaned Ferry Toth (1): sudo: Fix fetching sources Haris Okanovic (1): initscripts/sysfs.sh: Mount /sys/firmware/efi/efivars when possible He Zhe (1): ltp: Fix overcommit_memory failure Jacob Kroon (1): rm_work: Promote do_image_qa stamps to setscene versions Richard Purdie (2): pseudo: Drop static linking to sqlite3 pseudo: Add statx support to fix fedora30 issues Ross Burton (9): file: fix CVE-2019-18218 file: run test suite when building natively cve-check: ensure all known CVEs are in the report qemu-helper-native: add missing option to getopt() call qemu-helper-native: showing help shouldn't be an error qemu-helper-native: pass compiler flags cve-check: failure to parse versions should be more visible recipeutils-test: use a small dependency in the dummy recipe patch: the CVE-2019-13638 fix also handles CVE-2018-20969 Samuli Piippo (1): linux-firmware: update packaging for brcm files Zhixiong Chi (1): libtirpc: create the symbol link for rpc header files meta-selftest/lib/oeqa/runtime/cases/virgl.py | 5 - .../recipeutils/recipeutils-test_1.2.bb| 2 +- meta/classes/cve-check.bbclass | 13 ++- meta/classes/rm_work.bbclass | 9 ++ meta/conf/distro/include/no-static-libs.inc| 4 - meta/lib/oeqa/selftest/cases/runtime_test.py | 2 + .../initscripts/initscripts-1.0/sysfs.sh | 4 + .../file/file/CVE-2019-18218.patch | 55 +++ meta/recipes-devtools/file/file_5.37.bb| 7 +- ...ke-ed-directly-instead-of-using-the-shell.patch | 4 +- .../pseudo/files/0001-Add-statx.patch | 106 + meta/recipes-devtools/pseudo/pseudo.inc| 17 +--- meta/recipes-devtools/pseudo/pseudo_git.bb | 1 + .../qemu/qemu-helper-native_1.0.bb | 2 +- meta/recipes-devtools/qemu/qemu-helper/tunctl.c| 16 ++-- meta/recipes-extended/libtirpc/libtirpc_1.1.4.bb | 14 +++ ...memory-update-for-mm-fix-false-positive-O.patch | 57 +++ meta/recipes-extended/ltp/ltp_20190517.bb | 1 + meta/recipes-extended/mdadm/mdadm_4.1.bb | 5 +- meta/recipes-extended/sudo/sudo_1.8.27.bb | 2 +- .../linux-firmware/linux-firmware_20190815.bb | 18 ++-- meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb | 6 +- meta/recipes-kernel/linux/linux-yocto-rt_5.2.bb| 6 +- meta/recipes-kernel/linux/linux-yocto-tiny_4.19.bb | 8 +- meta/recipes-kernel/linux/linux-yocto-tiny_5.2.bb | 8 +- meta/recipes-kernel/linux/linux-yocto_4.19.bb | 20 ++-- meta/recipes-kernel/linux/linux-yocto_5.2.bb | 22 ++--- 27 files changed, 328 insertions(+), 86 deletions(-) create mode 100644 meta/recipes-devtools/file/file/CVE-2019-18218.patch create mode 100644 meta/recipes-devtools/pseudo/files/0001-Add-statx.patch create mode 100644 meta/recipes-extended/ltp/ltp/0001-overcommit_memory-update-for-mm-fix-false-positive-O.patch -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [zeus 01/21] pseudo: Drop static linking to sqlite3
From: Richard Purdie Back in 2010[1] we made pseudo statically link against sqlite3. Since then the world has changed, pseudo now has separate processes for the database in the server and the client and they have separate linking commands. Also, whilst there were concerns about needing specific versions of sqlite3, in the OE environment, this is always the case. [1] http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=ad0ac0ecd38fc77daf42485489fccc10a5e1e3e7 The static sqlite3-native is causing us problems, in particular: tmp/work/x86_64-linux/pseudo-native/1.9.0+gitAUTOINC+060058bb29-r0/recipe-sysroot-native/usr/lib/libsqlite3.a(sqlite3.o):(.data.rel+0xb0): undefined reference to `fcntl64' which occurs if sqlite3-native was built on a machine with glibc 2.28 or later and pseudo-native is being built on glibc before that. With dyanmical linking, libc is backwards compatible and works but with static linking it does not. There appears to be no easy way to avoid this other than adding a copy of sqlite3 into the pseudo recipe. Given the static linking doesn't seem to be required any longer due to the separate processes, drop that to fix those issues. Signed-off-by: Richard Purdie Signed-off-by: Armin Kuster --- meta/conf/distro/include/no-static-libs.inc | 4 meta/recipes-devtools/pseudo/pseudo.inc | 17 ++--- 2 files changed, 2 insertions(+), 19 deletions(-) diff --git a/meta/conf/distro/include/no-static-libs.inc b/meta/conf/distro/include/no-static-libs.inc index 4141ecb..a3a865c 100644 --- a/meta/conf/distro/include/no-static-libs.inc +++ b/meta/conf/distro/include/no-static-libs.inc @@ -15,10 +15,6 @@ DISABLE_STATIC_pn-nativesdk-libcap = "" DISABLE_STATIC_pn-libpcap = "" # needed by gdb DISABLE_STATIC_pn-readline = "" -# needed by pseudo -DISABLE_STATIC_pn-sqlite3 = "" -DISABLE_STATIC_pn-sqlite3-native = "" -DISABLE_STATIC_pn-nativesdk-sqlite3 = "" # openjade/sgml-common have build issues without static libs DISABLE_STATIC_pn-sgml-common-native = "" DISABLE_STATIC_pn-openjade-native = "" diff --git a/meta/recipes-devtools/pseudo/pseudo.inc b/meta/recipes-devtools/pseudo/pseudo.inc index 8b34909..7ff8e44 100644 --- a/meta/recipes-devtools/pseudo/pseudo.inc +++ b/meta/recipes-devtools/pseudo/pseudo.inc @@ -30,23 +30,10 @@ PSEUDO_EXTRA_OPTS ?= "--enable-force-async --without-passwd-fallback --enable-ep # Compile for the local machine arch... do_compile () { -SQLITE_LDADD='$(SQLITE)/$(SQLITE_LIB)/libsqlite3.a' - for sqlite_link_opt in $(pkg-config sqlite3 --libs --static) - do - case "$sqlite_link_opt" in - -lsqlite3) - ;; - -l*) - SQLITE_LDADD="${SQLITE_LDADD} ${sqlite_link_opt}" - ;; - *) - ;; - esac - done if [ "${SITEINFO_BITS}" = "64" ]; then - ${S}/configure ${PSEUDO_EXTRA_OPTS} --prefix=${prefix} --libdir=${prefix}/lib/pseudo/lib${SITEINFO_BITS} --with-sqlite-lib=${baselib} --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --cflags="${CFLAGS}" --bits=${SITEINFO_BITS} --with-static-sqlite="$SQLITE_LDADD" --without-rpath + ${S}/configure ${PSEUDO_EXTRA_OPTS} --prefix=${prefix} --libdir=${prefix}/lib/pseudo/lib${SITEINFO_BITS} --with-sqlite-lib=${baselib} --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --cflags="${CFLAGS}" --bits=${SITEINFO_BITS} --without-rpath else - ${S}/configure ${PSEUDO_EXTRA_OPTS} --prefix=${prefix} --libdir=${prefix}/lib/pseudo/lib --with-sqlite-lib=${baselib} --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --cflags="${CFLAGS}" --bits=${SITEINFO_BITS} --with-static-sqlite="$SQLITE_LDADD" --without-rpath + ${S}/configure ${PSEUDO_EXTRA_OPTS} --prefix=${prefix} --libdir=${prefix}/lib/pseudo/lib --with-sqlite-lib=${baselib} --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --cflags="${CFLAGS}" --bits=${SITEINFO_BITS} --without-rpath fi oe_runmake ${MAKEOPTS} } -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [zeus 06/21] ltp: Fix overcommit_memory failure
From: He Zhe Backport a patch from upstream to fix the following runtime failure. mem.c:814: INFO: set overcommit_memory to 0 overcommit_memory.c:213: FAIL: alloc passed, expected to fail Signed-off-by: He Zhe Signed-off-by: Ross Burton Signed-off-by: Armin Kuster --- ...memory-update-for-mm-fix-false-positive-O.patch | 57 ++ meta/recipes-extended/ltp/ltp_20190517.bb | 1 + 2 files changed, 58 insertions(+) create mode 100644 meta/recipes-extended/ltp/ltp/0001-overcommit_memory-update-for-mm-fix-false-positive-O.patch diff --git a/meta/recipes-extended/ltp/ltp/0001-overcommit_memory-update-for-mm-fix-false-positive-O.patch b/meta/recipes-extended/ltp/ltp/0001-overcommit_memory-update-for-mm-fix-false-positive-O.patch new file mode 100644 index 000..bed8471 --- /dev/null +++ b/meta/recipes-extended/ltp/ltp/0001-overcommit_memory-update-for-mm-fix-false-positive-O.patch @@ -0,0 +1,57 @@ +From d656a447893dccc310c975a239f482278550c3e0 Mon Sep 17 00:00:00 2001 +From: Jan Stancek +Date: Tue, 21 May 2019 10:10:44 +0200 +Subject: [PATCH] overcommit_memory: update for "mm: fix false-positive + OVERCOMMIT_GUESS failures" + +commit 8c7829b04c52 ("mm: fix false-positive OVERCOMMIT_GUESS failures") +changes logic of __vm_enough_memory(), simplifying it to: +When in GUESS mode, catch wild allocations by comparing their request +size to total amount of ram and swap in the system. + +Testcase currently allocates mem_total + swap_total, which doesn't trigger +new condition. Make it more extreme, but assuming free_total / 2 will PASS, +and 2*sum_total will FAIL. + +Signed-off-by: Jan Stancek +Acked-by: Cyril Hrubis + +Upstream-Status: Backport [https://github.com/linux-test-project/ltp/commit/d656a447893dccc310c975a239f482278550c3e0] +Signed-off-by: He Zhe +--- + testcases/kernel/mem/tunable/overcommit_memory.c | 11 --- + 1 file changed, 4 insertions(+), 7 deletions(-) + +diff --git a/testcases/kernel/mem/tunable/overcommit_memory.c b/testcases/kernel/mem/tunable/overcommit_memory.c +index 555298f..345764d 100644 +--- a/testcases/kernel/mem/tunable/overcommit_memory.c b/testcases/kernel/mem/tunable/overcommit_memory.c +@@ -36,11 +36,10 @@ + * + * The program is designed to test the two tunables: + * +- * When overcommit_memory = 0, allocatable memory can't overextends +- * the amount of free memory. I choose the three cases: ++ * When overcommit_memory = 0, allocatable memory can't overextend ++ * the amount of total memory: + * a. less than free_total:free_total / 2, alloc should pass. +- * b. greater than free_total: free_total * 2, alloc should fail. +- * c. equal to sum_total: sum_tatal, alloc should fail ++ * b. greater than sum_total: sum_total * 2, alloc should fail. + * + * When overcommit_memory = 1, it can alloc enough much memory, I + * choose the three cases: +@@ -164,9 +163,7 @@ static void overcommit_memory_test(void) + + update_mem(); + alloc_and_check(free_total / 2, EXPECT_PASS); +- update_mem(); +- alloc_and_check(free_total * 2, EXPECT_FAIL); +- alloc_and_check(sum_total, EXPECT_FAIL); ++ alloc_and_check(sum_total * 2, EXPECT_FAIL); + + /* start to test overcommit_memory=1 */ + set_sys_tune("overcommit_memory", 1, 1); +-- +2.7.4 + diff --git a/meta/recipes-extended/ltp/ltp_20190517.bb b/meta/recipes-extended/ltp/ltp_20190517.bb index 4650715..5915b1c 100644 --- a/meta/recipes-extended/ltp/ltp_20190517.bb +++ b/meta/recipes-extended/ltp/ltp_20190517.bb @@ -49,6 +49,7 @@ SRC_URI = "git://github.com/linux-test-project/ltp.git \ file://0001-testcases-use-python3-everywhere-to-run-python-scrip.patch \ file://0001-syscall-rt_sigtimedwait01-Fix-wrong-sigset-length-fo.patch \ file://0001-cve-2017-17052-Avoid-unsafe-exits-in-threads.patch \ + file://0001-overcommit_memory-update-for-mm-fix-false-positive-O.patch \ " S = "${WORKDIR}/git" -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [zeus 03/21] file: run test suite when building natively
From: Ross Burton As we apply the same patches to native and target builds of file, we can verify that the patches are not breaking by executing the test suite during the build of file-native. Signed-off-by: Ross Burton Signed-off-by: Richard Purdie Signed-off-by: Armin Kuster --- meta/recipes-devtools/file/file_5.37.bb | 4 1 file changed, 4 insertions(+) diff --git a/meta/recipes-devtools/file/file_5.37.bb b/meta/recipes-devtools/file/file_5.37.bb index 509b6ce..60fc661 100644 --- a/meta/recipes-devtools/file/file_5.37.bb +++ b/meta/recipes-devtools/file/file_5.37.bb @@ -32,6 +32,10 @@ EXTRA_OEMAKE_append_class-nativesdk = "-e FILE_COMPILE=${STAGING_BINDIR_NATIVE}/ FILES_${PN} += "${datadir}/misc/*.mgc" +do_compile_append_class-native() { + oe_runmake check +} + do_install_append_class-native() { create_cmdline_wrapper ${D}/${bindir}/file \ --magic-file ${datadir}/misc/magic.mgc -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [zeus 04/21] sudo: Fix fetching sources
From: Ferry Toth It looks like https://www.sudo.ws/download.html changed certificate and directory structure. This breaks fetching sources. Signed-off-by: Ferry Toth Signed-off-by: Ross Burton Signed-off-by: Armin Kuster --- meta/recipes-extended/sudo/sudo_1.8.27.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-extended/sudo/sudo_1.8.27.bb b/meta/recipes-extended/sudo/sudo_1.8.27.bb index 8b3be55..0a11a1b 100644 --- a/meta/recipes-extended/sudo/sudo_1.8.27.bb +++ b/meta/recipes-extended/sudo/sudo_1.8.27.bb @@ -1,6 +1,6 @@ require sudo.inc -SRC_URI = "http://www.sudo.ws/sudo/dist/sudo-${PV}.tar.gz \ +SRC_URI = "https://www.sudo.ws/dist/sudo-${PV}.tar.gz \ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \ file://0001-Include-sys-types.h-for-id_t-definition.patch \ file://CVE-2019-14287-1.patch \ -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [zeus 08/21] qemu-helper-native: add missing option to getopt() call
From: Ross Burton Noticed by -Wall. Signed-off-by: Ross Burton Signed-off-by: Armin Kuster --- meta/recipes-devtools/qemu/qemu-helper/tunctl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-devtools/qemu/qemu-helper/tunctl.c b/meta/recipes-devtools/qemu/qemu-helper/tunctl.c index 16e24a2..fc00e99 100644 --- a/meta/recipes-devtools/qemu/qemu-helper/tunctl.c +++ b/meta/recipes-devtools/qemu/qemu-helper/tunctl.c @@ -41,7 +41,7 @@ int main(int argc, char **argv) int tap_fd, opt, delete = 0, brief = 0; char *tun = "", *file = "/dev/net/tun", *name = argv[0], *end; - while((opt = getopt(argc, argv, "bd:f:t:u:g:")) > 0){ + while((opt = getopt(argc, argv, "bd:f:t:u:g:h")) > 0){ switch(opt) { case 'b': brief = 1; -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [zeus 07/21] cve-check: ensure all known CVEs are in the report
From: Ross Burton CVEs that are whitelisted or were not vulnerable when there are version comparisons were not included in the report, so alter the logic to ensure that all relevant CVEs are in the report for completeness. Signed-off-by: Ross Burton Signed-off-by: Armin Kuster --- meta/classes/cve-check.bbclass | 9 +++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/meta/classes/cve-check.bbclass b/meta/classes/cve-check.bbclass index c00d291..f87bcc9 100644 --- a/meta/classes/cve-check.bbclass +++ b/meta/classes/cve-check.bbclass @@ -208,12 +208,14 @@ def check_cves(d, patched_cves): if cve in cve_whitelist: bb.note("%s-%s has been whitelisted for %s" % (product, pv, cve)) +# TODO: this should be in the report as 'whitelisted' +patched_cves.add(cve) elif cve in patched_cves: bb.note("%s has been patched" % (cve)) else: to_append = False if (operator_start == '=' and pv == version_start): -cves_unpatched.append(cve) +to_append = True else: if operator_start: try: @@ -243,8 +245,11 @@ def check_cves(d, patched_cves): to_append = to_append_start or to_append_end if to_append: +bb.note("%s-%s is vulnerable to %s" % (product, pv, cve)) cves_unpatched.append(cve) -bb.debug(2, "%s-%s is not patched for %s" % (product, pv, cve)) +else: +bb.note("%s-%s is not vulnerable to %s" % (product, pv, cve)) +patched_cves.add(cve) conn.close() return (list(patched_cves), cves_unpatched) -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [zeus 05/21] mdadm: fix do_package failed when changed local.conf but not cleaned
From: Changqing Li reproduce steps: 1. add DISTRO_FEATURE_append = 'usrmerge' in local.conf 2. bitbake mdadm --success 3. remove DISTRO_FEATURE_append = 'usrmerge' from local.conf 4. bitbake mdadm -- failed when do_package it is not proper to change source Makefile during do_install by sed, fix by pass correct config to EXTRA_OEMAKE [YOCTO #13493] Signed-off-by: Changqing Li Signed-off-by: Armin Kuster --- meta/recipes-extended/mdadm/mdadm_4.1.bb | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/meta/recipes-extended/mdadm/mdadm_4.1.bb b/meta/recipes-extended/mdadm/mdadm_4.1.bb index 639382e..64f519e 100644 --- a/meta/recipes-extended/mdadm/mdadm_4.1.bb +++ b/meta/recipes-extended/mdadm/mdadm_4.1.bb @@ -43,13 +43,12 @@ CFLAGS_append_powerpc64 = ' -D__SANE_USERSPACE_TYPES__' CFLAGS_append_mipsarchn64 = ' -D__SANE_USERSPACE_TYPES__' CFLAGS_append_mipsarchn32 = ' -D__SANE_USERSPACE_TYPES__' -EXTRA_OEMAKE = 'CHECK_RUN_DIR=0 CXFLAGS="${CFLAGS}"' +EXTRA_OEMAKE = 'CHECK_RUN_DIR=0 CXFLAGS="${CFLAGS}" SYSTEMD_DIR=${systemd_unitdir}/system \ +BINDIR="${base_sbindir}" UDEVDIR="${nonarch_base_libdir}/udev"' DEBUG_OPTIMIZATION_append = " -Wno-error" do_compile() { - # Point to right sbindir - sed -i -e "s;BINDIR = /sbin;BINDIR = $base_sbindir;" -e "s;UDEVDIR = /lib;UDEVDIR = $nonarch_base_libdir;" -e "s;SYSTEMD_DIR=/lib/systemd/system;SYSTEMD_DIR=${systemd_unitdir}/system;" ${S}/Makefile oe_runmake SYSROOT="${STAGING_DIR_TARGET}" } -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [zeus 02/21] file: fix CVE-2019-18218
From: Ross Burton Signed-off-by: Ross Burton Signed-off-by: Richard Purdie Signed-off-by: Armin Kuster --- .../file/file/CVE-2019-18218.patch | 55 ++ meta/recipes-devtools/file/file_5.37.bb| 3 +- 2 files changed, 57 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-devtools/file/file/CVE-2019-18218.patch diff --git a/meta/recipes-devtools/file/file/CVE-2019-18218.patch b/meta/recipes-devtools/file/file/CVE-2019-18218.patch new file mode 100644 index 000..3d02c5a --- /dev/null +++ b/meta/recipes-devtools/file/file/CVE-2019-18218.patch @@ -0,0 +1,55 @@ +cdf_read_property_info in cdf.c in file through 5.37 does not restrict the +number of CDF_VECTOR elements, which allows a heap-based buffer overflow (4-byte +out-of-bounds write). + +CVE: CVE-2019-18218 +Upstream-Status: Backport +Signed-off-by: Ross Burton + +From 46a8443f76cec4b41ec736eca396984c74664f84 Mon Sep 17 00:00:00 2001 +From: Christos Zoulas +Date: Mon, 26 Aug 2019 14:31:39 + +Subject: [PATCH] Limit the number of elements in a vector (found by oss-fuzz) + +--- + src/cdf.c | 9 - + src/cdf.h | 1 + + 2 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/src/cdf.c b/src/cdf.c +index 9d6396742..bb81d6374 100644 +--- a/src/cdf.c b/src/cdf.c +@@ -1016,8 +1016,9 @@ cdf_read_property_info(const cdf_stream_t *sst, const cdf_header_t *h, + goto out; + } + nelements = CDF_GETUINT32(q, 1); +- if (nelements == 0) { +- DPRINTF(("CDF_VECTOR with nelements == 0\n")); ++ if (nelements > CDF_ELEMENT_LIMIT || nelements == 0) { ++ DPRINTF(("CDF_VECTOR with nelements == %" ++ SIZE_T_FORMAT "u\n", nelements)); + goto out; + } + slen = 2; +@@ -1060,8 +1061,6 @@ cdf_read_property_info(const cdf_stream_t *sst, const cdf_header_t *h, + goto out; + inp += nelem; + } +- DPRINTF(("nelements = %" SIZE_T_FORMAT "u\n", +- nelements)); + for (j = 0; j < nelements && i < sh.sh_properties; + j++, i++) + { +diff --git a/src/cdf.h b/src/cdf.h +index 2f7e554b7..05056668f 100644 +--- a/src/cdf.h b/src/cdf.h +@@ -48,6 +48,7 @@ + typedef int32_t cdf_secid_t; + + #define CDF_LOOP_LIMIT1 ++#define CDF_ELEMENT_LIMIT 10 + + #define CDF_SECID_NULL0 + #define CDF_SECID_FREE-1 diff --git a/meta/recipes-devtools/file/file_5.37.bb b/meta/recipes-devtools/file/file_5.37.bb index 6547d12..509b6ce 100644 --- a/meta/recipes-devtools/file/file_5.37.bb +++ b/meta/recipes-devtools/file/file_5.37.bb @@ -14,7 +14,8 @@ DEPENDS_class-native = "zlib-native" # Blacklist a bogus tag in upstream check UPSTREAM_CHECK_GITTAGREGEX = "FILE(?P(?!6_23).+)" -SRC_URI = "git://github.com/file/file.git" +SRC_URI = "git://github.com/file/file.git \ + file://CVE-2019-18218.patch" SRCREV = "a0d5b0e4e9f97d74a9911e95cedd579852e25398" S = "${WORKDIR}/git" -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [zeus 11/21] linux-yocto/4.19: update to v4.19.78
From: Bruce Ashfield Updating linux-yocto/4.19 to the latest korg -stable release that comprises the following commits: 58fce2064530 Linux 4.19.78 5b0446c8e0a8 9p/cache.c: Fix memory leak in v9fs_cache_session_get_cookie d85bc11a6894 kexec: bail out upon SIGKILL when allocating memory. c8a65ec0602a NFC: fix attrs checks in netlink interface 1b42503211ca smack: use GFP_NOFS while holding inode_smack::smk_lock ef9744a0218f Smack: Don't ignore other bprm->unsafe flags if LSM_UNSAFE_PTRACE is set 4703593498d3 soundwire: fix regmap dependencies and align with other serial links 322753c78d1d soundwire: Kconfig: fix help format 74e2a311a226 sch_cbq: validate TCA_CBQ_WRROPT to avoid crash ed9420ddce87 tipc: fix unlimited bundling of small messages a1afd826e549 xen-netfront: do not use ~0U as error return value for xennet_fill_frags() 36a4043c4bb8 net/rds: Fix error handling in rds_ib_add_one() 012363f5ded0 udp: only do GSO if # of segs > 1 5c08d7e4f1ea net: dsa: rtl8366: Check VLAN ID and not ports 3c1f0704401c vsock: Fix a lockdep warning in __vsock_release() 544aee546174 udp: fix gso_segs calculations 79fd59ae7c2f sch_dsmark: fix potential NULL deref in dsmark_init() 76b552775d60 rxrpc: Fix rxrpc_recvmsg tracepoint 7047aae65456 qmi_wwan: add support for Cinterion CLS8 devices dd9c580a6d9b nfc: fix memory leak in llcp_sock_bind() d5b1db1c7ce4 net: Unpublish sk from sk_reuseport_cb before call_rcu 9d0995cc268b net: qlogic: Fix memory leak in ql_alloc_large_buffers 124b64feafa9 net: ipv4: avoid mixed n_redirects and rate_tokens usage 6f8564edf8c1 ipv6: Handle missing host route in __ipv6_ifa_notify 658d7ee4da50 ipv6: drop incoming packets having a v4mapped source address a495fd19cce2 hso: fix NULL-deref on tty open 7f30c44b7ca4 erspan: remove the incorrect mtu limit for erspan 2b8389112292 cxgb4:Fix out-of-bounds MSI-X info array access ed568ca73601 bpf: fix use after free in prog symbol exposure dbb7339cfddf block: mq-deadline: Fix queue restart handling af10ffa69b06 arm: use STACK_TOP when computing mmap base address f91a9c6591c0 arm: properly account for stack randomization and stack guard gap 53ba8d4358eb mips: properly account for stack randomization and stack guard gap e1b391abbfce arm64: consider stack randomization for mmap base only when necessary 30ab799e758e kmemleak: increase DEBUG_KMEMLEAK_EARLY_LOG_SIZE default to 16K 52132ff52cad ocfs2: wait for recovering done after direct unlock request d4a546452dcc kbuild: clean compressed initramfs image d983182d4002 crypto: hisilicon - Fix double free in sec_free_hw_sgl() 22c788ba7a52 hypfs: Fix error number left in struct pointer member bbd76d9514c7 pktcdvd: remove warning on attempting to register non-passthrough dev 0840daeea6cb fat: work around race with userspace's read via blockdev while mounting 297904ea60a3 ARM: 8903/1: ensure that usable memory in bank 0 starts from a PMD-aligned address 9a87ab2b4d60 security: smack: Fix possible null-pointer dereferences in smack_socket_sock_rcv_skb() 69a32a7306dd PCI: exynos: Propagate errors for optional PHYs 1264d2e7b75b PCI: imx6: Propagate errors for optional regulators 403d6c9284f1 PCI: histb: Propagate errors for optional regulators ac9c0e2ecc49 PCI: rockchip: Propagate errors for optional regulators 709c4841e51f HID: apple: Fix stuck function keys when using FN 31e98cba55ed rtc: pcf85363/pcf85263: fix regmap error in set_time 607f95788fa9 rtc: snvs: fix possible race condition 078937549f47 ARM: 8875/1: Kconfig: default to AEABI w/ Clang 3039c788d648 soundwire: intel: fix channel number reported by hardware 6a684e002561 ARM: 8898/1: mm: Don't treat faults reported from cache maintenance as writes 0f0ced702d53 livepatch: Nullify obj->mod in klp_module_coming()'s error path 78a1138672af HID: wacom: Fix several minor compiler warnings 3b7fbbddeb7a PCI: tegra: Fix OF node reference leak c74a801ded7d mfd: intel-lpss: Remove D3cold delay 70bb4bf9fdfb i2c-cht-wc: Fix lockdep warning 371077ea2e75 MIPS: tlbex: Explicitly cast _PAGE_NO_EXEC to a boolean 3ed14a8d2fe7 MIPS: Ingenic: Disable broken BTB lookup optimization. 5b400fed74df ext4: fix potential use after free after remounting with noblock_validity 81fbd2327c32 dma-buf/sw_sync: Synchronize signal vs syncpt free c76e18970d93 scsi: core: Reduce memory required for SCSI logging c6304d4d7458 clk: sprd: add missing kfree 7cd89b8db60c mbox: qcom: add APCS child device for QCS404 324b0c9efc77 powerpc: dump kernel log before carrying out fadump or kdump 72884423e77f clk: at91: select parent if main oscillator or bypass is enabled 952d1c6d7cf0 arm64: fix unreachable code issue with cmpxchg b25bd837a637 pinctrl: meson-gxbb: Fix wrong pinning definition for uart_c b717a47dd913 powerpc/
[OE-core] [zeus 13/21] cve-check: failure to parse versions should be more visible
From: Ross Burton Signed-off-by: Armin Kuster --- meta/classes/cve-check.bbclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/classes/cve-check.bbclass b/meta/classes/cve-check.bbclass index f87bcc9..1c8b222 100644 --- a/meta/classes/cve-check.bbclass +++ b/meta/classes/cve-check.bbclass @@ -222,7 +222,7 @@ def check_cves(d, patched_cves): to_append_start = (operator_start == '>=' and LooseVersion(pv) >= LooseVersion(version_start)) to_append_start |= (operator_start == '>' and LooseVersion(pv) > LooseVersion(version_start)) except: -bb.note("%s: Failed to compare %s %s %s for %s" % +bb.warn("%s: Failed to compare %s %s %s for %s" % (product, pv, operator_start, version_start, cve)) to_append_start = False else: @@ -233,7 +233,7 @@ def check_cves(d, patched_cves): to_append_end = (operator_end == '<=' and LooseVersion(pv) <= LooseVersion(version_end)) to_append_end |= (operator_end == '<' and LooseVersion(pv) < LooseVersion(version_end)) except: -bb.note("%s: Failed to compare %s %s %s for %s" % +bb.warn("%s: Failed to compare %s %s %s for %s" % (product, pv, operator_end, version_end, cve)) to_append_end = False else: -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [zeus 12/21] linux-yocto/5.2: update to v5.2.20
From: Bruce Ashfield Updating linux-yocto/5.2 to the latest korg -stable release that comprises the following commits: 56fd0c9f5473 Linux 5.2.20 6f375cee0394 vfs: set fs_context::user_ns for reconfigure fbad63fcf7f8 9p/cache.c: Fix memory leak in v9fs_cache_session_get_cookie 23721140761c KVM: hyperv: Fix Direct Synthetic timers assert an interrupt w/o lapic_in_kernel f6e1c74f5664 kexec: bail out upon SIGKILL when allocating memory. a761ba725477 NFC: fix attrs checks in netlink interface 08519f370a57 dm raid: fix updating of max_discard_sectors limit 069a73c93447 smack: use GFP_NOFS while holding inode_smack::smk_lock 73cf33180fd5 Smack: Don't ignore other bprm->unsafe flags if LSM_UNSAFE_PTRACE is set e4875cfb207f soundwire: fix regmap dependencies and align with other serial links 455807823191 arm: use STACK_TOP when computing mmap base address a7d44c89fb47 arm: properly account for stack randomization and stack guard gap d474fced6704 mips: properly account for stack randomization and stack guard gap 5edc5cfcd1ce arm64: consider stack randomization for mmap base only when necessary 0499bb1b61cd kmemleak: increase DEBUG_KMEMLEAK_EARLY_LOG_SIZE default to 16K b71617b36dc6 ocfs2: wait for recovering done after direct unlock request 5f63ef732675 kbuild: clean compressed initramfs image 26235380e633 crypto: hisilicon - Fix double free in sec_free_hw_sgl() ef1bb2f3c68c hypfs: Fix error number left in struct pointer member 86fa1c1b3ab1 pktcdvd: remove warning on attempting to register non-passthrough dev 30ef03cb2c46 fat: work around race with userspace's read via blockdev while mounting 049e9c72a671 ARM: 8903/1: ensure that usable memory in bank 0 starts from a PMD-aligned address 68a14319be38 ARM: 8905/1: Emit __gnu_mcount_nc when using Clang 10.0.0 or newer b10ee4270915 PCI: Use static const struct, not const static struct 88b4b5b7e2a8 security: smack: Fix possible null-pointer dereferences in smack_socket_sock_rcv_skb() 0728352751bb PCI: exynos: Propagate errors for optional PHYs 6eb7a0a0eb86 PCI: imx6: Propagate errors for optional regulators 130642ed27a6 PCI: histb: Propagate errors for optional regulators dc35055b644f PCI: rockchip: Propagate errors for optional regulators 06f8fc7effb5 HID: apple: Fix stuck function keys when using FN 1c8c46bdfcde PCI: Add pci_info_ratelimited() to ratelimit PCI separately 400a250cc06f selinux: fix residual uses of current_security() for the SELinux blob 30f8969d6265 rtc: pcf85363/pcf85263: fix regmap error in set_time 1a5f6ad0 rtc: snvs: fix possible race condition 6edfcbdc24be ARM: 8875/1: Kconfig: default to AEABI w/ Clang 5a58f0bf27ff soundwire: intel: fix channel number reported by hardware 175f4efcb12a ARM: 8898/1: mm: Don't treat faults reported from cache maintenance as writes cf4e9c2472ac mips/atomic: Fix smp_mb__{before,after}_atomic() a7ef43bf9064 livepatch: Nullify obj->mod in klp_module_coming()'s error path 677540cb39e0 PCI: layerscape: Add the bar_fixed_64bit property to the endpoint driver 97c3d2a3dd8f PCI: pci-hyperv: Fix build errors on non-SYSFS config 57e4c0e0efce mips/atomic: Fix loongson_llsc_mb() wreckage 11daaf5c38f2 HID: wacom: Fix several minor compiler warnings 503aae8dcc18 PCI: tegra: Fix OF node reference leak b0a68c638875 mfd: intel-lpss: Remove D3cold delay b6cb1efe18cc i2c-cht-wc: Fix lockdep warning d1d45f98a6e6 MIPS: tlbex: Explicitly cast _PAGE_NO_EXEC to a boolean 7bd355196324 MIPS: Don't use bc_false uninitialized in __mm_isBranchInstr cac61f5b7d95 MIPS: Ingenic: Disable broken BTB lookup optimization. b67fd3bfeec5 ext4: fix potential use after free after remounting with noblock_validity ad849db7534b f2fs: fix to drop meta/node pages during umount ce7adbbc06e3 dma-buf/sw_sync: Synchronize signal vs syncpt free 99a2037bec11 scsi: core: Reduce memory required for SCSI logging cbd9a87fbdf9 clk: sprd: add missing kfree 4d5a7f001acc mbox: qcom: add APCS child device for QCS404 910d8b71530c powerpc: dump kernel log before carrying out fadump or kdump 04dddb1ca7ad clk: Make clk_bulk_get_all() return a valid "id" b6185efcf241 clk: imx: clk-pll14xx: unbypass PLL by default d54c3307cac1 clk: imx: pll14xx: avoid glitch when set rate 9b538d38aa92 clk: at91: select parent if main oscillator or bypass is enabled 39a3ff30b6ad arm64: fix unreachable code issue with cmpxchg 15786d677bbc mailbox: mediatek: cmdq: clear the event in cmdq initial flow 1496f3d15934 pinctrl: meson-gxbb: Fix wrong pinning definition for uart_c 112f51caf1b6 powerpc/pseries: correctly track irq state in default idle f87906966831 clk: qcom: gcc-sdm845: Use floor ops for sdcc clks e5169c0043af powerpc/eeh: Clean up EEH PEs after recovery finishes c25829e2e7de pstore: fs superblock limits b
[OE-core] [zeus 14/21] selftest: skip virgl test on centos 7 entirely
From: Alexander Kanavin With the sdl frontend, qemu isn't able to even boot fully, so let's skip the test early. Signed-off-by: Alexander Kanavin Signed-off-by: Ross Burton Signed-off-by: Armin Kuster --- meta-selftest/lib/oeqa/runtime/cases/virgl.py | 5 - meta/lib/oeqa/selftest/cases/runtime_test.py | 2 ++ 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/meta-selftest/lib/oeqa/runtime/cases/virgl.py b/meta-selftest/lib/oeqa/runtime/cases/virgl.py index d301a19..c0abfd1 100644 --- a/meta-selftest/lib/oeqa/runtime/cases/virgl.py +++ b/meta-selftest/lib/oeqa/runtime/cases/virgl.py @@ -13,11 +13,6 @@ class VirglTest(OERuntimeTestCase): @OETestDepends(['virgl.VirglTest.test_kernel_driver']) def test_kmscube(self): - -distro = oe.lsb.distro_identifier() -if distro and distro == 'centos-7': -self.skipTest('kmscube is not working when centos 7 is the host OS') - status, output = self.target.run('kmscube', timeout=30) self.assertEqual(status, 0, "kmscube exited with non-zero status %d and output:\n%s" %(status, output)) self.assertIn('renderer: "virgl"', output, "kmscube does not seem to use virgl:\n%s" %(output)) diff --git a/meta/lib/oeqa/selftest/cases/runtime_test.py b/meta/lib/oeqa/selftest/cases/runtime_test.py index 3f212bd..7d3922c 100644 --- a/meta/lib/oeqa/selftest/cases/runtime_test.py +++ b/meta/lib/oeqa/selftest/cases/runtime_test.py @@ -179,6 +179,8 @@ class TestImage(OESelftestTestCase): distro = oe.lsb.distro_identifier() if distro and distro == 'debian-8': self.skipTest('virgl isn\'t working with Debian 8') +if distro and distro == 'centos-7': +self.skipTest('virgl isn\'t working with Centos 7') qemu_packageconfig = get_bb_var('PACKAGECONFIG', 'qemu-system-native') features = 'INHERIT += "testimage"\n' -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [zeus 10/21] qemu-helper-native: pass compiler flags
From: Ross Burton Pass all of the compiler and linker flags so the build is correctly configured. Signed-off-by: Ross Burton Signed-off-by: Armin Kuster --- meta/recipes-devtools/qemu/qemu-helper-native_1.0.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-devtools/qemu/qemu-helper-native_1.0.bb b/meta/recipes-devtools/qemu/qemu-helper-native_1.0.bb index d9d9da0..372eebd 100644 --- a/meta/recipes-devtools/qemu/qemu-helper-native_1.0.bb +++ b/meta/recipes-devtools/qemu/qemu-helper-native_1.0.bb @@ -12,7 +12,7 @@ S = "${WORKDIR}" inherit native do_compile() { - ${CC} tunctl.c -o tunctl + ${CC} ${CFLAGS} ${LDFLAGS} -Wall tunctl.c -o tunctl } do_install() { -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [zeus 09/21] qemu-helper-native: showing help shouldn't be an error
From: Ross Burton Displaying a help message if help was requested isn't an error. Signed-off-by: Ross Burton Signed-off-by: Armin Kuster --- meta/recipes-devtools/qemu/qemu-helper/tunctl.c | 14 -- 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/meta/recipes-devtools/qemu/qemu-helper/tunctl.c b/meta/recipes-devtools/qemu/qemu-helper/tunctl.c index fc00e99..d745dd0 100644 --- a/meta/recipes-devtools/qemu/qemu-helper/tunctl.c +++ b/meta/recipes-devtools/qemu/qemu-helper/tunctl.c @@ -19,7 +19,7 @@ #define TUNSETGROUP _IOW('T', 206, int) #endif -static void Usage(char *name) +static void Usage(char *name, int status) { fprintf(stderr, "Create: %s [-b] [-u owner] [-g group] [-t device-name] " "[-f tun-clone-device]\n", name); @@ -28,7 +28,7 @@ static void Usage(char *name) fprintf(stderr, "The default tun clone device is /dev/net/tun - some systems" " use\n/dev/misc/net/tun instead\n\n"); fprintf(stderr, "-b will result in brief output (just the device name)\n"); - exit(1); + exit(status); } int main(int argc, char **argv) @@ -63,7 +63,7 @@ int main(int argc, char **argv) if(*end != '\0'){ fprintf(stderr, "'%s' is neither a username nor a numeric uid.\n", optarg); - Usage(name); + Usage(name, 1); } break; case 'g': @@ -76,7 +76,7 @@ int main(int argc, char **argv) if(*end != '\0'){ fprintf(stderr, "'%s' is neither a groupname nor a numeric group.\n", optarg); - Usage(name); + Usage(name, 1); } break; @@ -84,8 +84,10 @@ int main(int argc, char **argv) tun = optarg; break; case 'h': +Usage(name, 0); +break; default: -Usage(name); +Usage(name, 1); } } @@ -93,7 +95,7 @@ int main(int argc, char **argv) argc -= optind; if(argc > 0) -Usage(name); +Usage(name, 1); if((tap_fd = open(file, O_RDWR)) < 0){ fprintf(stderr, "Failed to open '%s' : ", file); -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [zeus 15/21] recipeutils-test: use a small dependency in the dummy recipe
From: Ross Burton recipeutils-test has virtual/libx11 as a DEPENDS, but this will cause errors if the recipe is built in an environment without x11 in DISTRO_FEATURES. This dependency isn't actually used for anything so we could remove it, but to save updating the test cases too just swap virtual/libx11 for zlib. [ YOCTO #13611 ] Signed-off-by: Ross Burton Signed-off-by: Armin Kuster --- meta-selftest/recipes-test/recipeutils/recipeutils-test_1.2.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-selftest/recipes-test/recipeutils/recipeutils-test_1.2.bb b/meta-selftest/recipes-test/recipeutils/recipeutils-test_1.2.bb index 7c20d9a..0cd0494 100644 --- a/meta-selftest/recipes-test/recipeutils/recipeutils-test_1.2.bb +++ b/meta-selftest/recipes-test/recipeutils/recipeutils-test_1.2.bb @@ -4,7 +4,7 @@ require recipeutils-test.inc LICENSE = "Proprietary" LIC_FILES_CHKSUM = "file://${WORKDIR}/somefile;md5=d41d8cd98f00b204e9800998ecf8427e" -DEPENDS += "virtual/libx11" +DEPENDS += "zlib" BBCLASSEXTEND = "native nativesdk" -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [zeus 16/21] patch: the CVE-2019-13638 fix also handles CVE-2018-20969
From: Ross Burton Signed-off-by: Ross Burton Signed-off-by: Richard Purdie Signed-off-by: Armin Kuster --- .../patch/0001-Invoke-ed-directly-instead-of-using-the-shell.patch| 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-devtools/patch/patch/0001-Invoke-ed-directly-instead-of-using-the-shell.patch b/meta/recipes-devtools/patch/patch/0001-Invoke-ed-directly-instead-of-using-the-shell.patch index f60dfe8..d13d419 100644 --- a/meta/recipes-devtools/patch/patch/0001-Invoke-ed-directly-instead-of-using-the-shell.patch +++ b/meta/recipes-devtools/patch/patch/0001-Invoke-ed-directly-instead-of-using-the-shell.patch @@ -6,8 +6,8 @@ Subject: [PATCH] Invoke ed directly instead of using the shell * src/pch.c (do_ed_script): Invoke ed directly instead of using a shell command to avoid quoting vulnerabilities. -CVE: CVE-2019-13638 -Upstream-Status: Backport[https://git.savannah.gnu.org/cgit/patch.git/patch/?id=3fcd042d26d70856e826a42b5f93dc4854d80bf0] +CVE: CVE-2019-13638 CVE-2018-20969 +Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/patch.git/patch/?id=3fcd042d26d70856e826a42b5f93dc4854d80bf0] Signed-off-by: Trevor Gamblin --- -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [zeus 18/21] rm_work: Promote do_image_qa stamps to setscene versions
From: Jacob Kroon [ YOCTO #13212 ] Suggested-by: Romuald Jeanne Signed-off-by: Jacob Kroon Signed-off-by: Richard Purdie Signed-off-by: Armin Kuster --- meta/classes/rm_work.bbclass | 9 + 1 file changed, 9 insertions(+) diff --git a/meta/classes/rm_work.bbclass b/meta/classes/rm_work.bbclass index a6bd3f7..0bbc450 100644 --- a/meta/classes/rm_work.bbclass +++ b/meta/classes/rm_work.bbclass @@ -64,6 +64,15 @@ do_rm_work () { mv $i `echo $i | sed -e "s#do_image_complete#do_image_complete_setscene#"` i=dummy ;; +*do_image_qa_setscene*) +# Ensure we don't 'stack' setscene extensions to this stamp with the section below +i=dummy +;; +*do_image_qa*) +# Promote do_image_qa stamps to setscene versions (ahead of *do_image* below) +mv $i `echo $i | sed -e "s#do_image_qa#do_image_qa_setscene#"` +i=dummy +;; *do_package_write*|*do_rootfs*|*do_image*|*do_bootimg*|*do_write_qemuboot_conf*|*do_build*) i=dummy ;; -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [zeus 17/21] linux-firmware: update packaging for brcm files
From: Samuli Piippo Add new package for bcm4366c and include available NVRAM config files into the corrent bcm* packages. Signed-off-by: Samuli Piippo Signed-off-by: Richard Purdie Signed-off-by: Armin Kuster --- .../linux-firmware/linux-firmware_20190815.bb | 18 +++--- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/meta/recipes-kernel/linux-firmware/linux-firmware_20190815.bb b/meta/recipes-kernel/linux-firmware/linux-firmware_20190815.bb index 5186388..d83000b 100644 --- a/meta/recipes-kernel/linux-firmware/linux-firmware_20190815.bb +++ b/meta/recipes-kernel/linux-firmware/linux-firmware_20190815.bb @@ -273,6 +273,7 @@ PACKAGES =+ "${PN}-ralink-license ${PN}-ralink \ ${PN}-bcm4358 \ ${PN}-bcm43602 \ ${PN}-bcm4366b \ + ${PN}-bcm4366c \ ${PN}-bcm4371 \ ${PN}-bcm4373 \ ${PN}-bcm43xx \ @@ -571,7 +572,7 @@ FILES_${PN}-bcm43xx-hdr = "${nonarch_base_libdir}/firmware/brcm/bcm43xx_hdr-0.fw FILES_${PN}-bcm4329-fullmac = "${nonarch_base_libdir}/firmware/brcm/bcm4329-fullmac-4.bin" FILES_${PN}-bcm43236b = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43236b.bin" FILES_${PN}-bcm4329 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4329-sdio.bin" -FILES_${PN}-bcm4330 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4330-sdio.bin" +FILES_${PN}-bcm4330 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4330-sdio.*" FILES_${PN}-bcm4334 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4334-sdio.bin" FILES_${PN}-bcm4335 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4335-sdio.bin" FILES_${PN}-bcm4339 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4339-sdio.bin" @@ -582,8 +583,8 @@ FILES_${PN}-bcm43242a = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43242a.bin FILES_${PN}-bcm43143 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43143.bin \ ${nonarch_base_libdir}/firmware/brcm/brcmfmac43143-sdio.bin \ " -FILES_${PN}-bcm43430a0 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43430a0-sdio.bin" -FILES_${PN}-bcm43455 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43455-sdio.bin" +FILES_${PN}-bcm43430a0 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43430a0-sdio.*" +FILES_${PN}-bcm43455 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43455-sdio.*" FILES_${PN}-bcm4350c2 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4350c2-pcie.bin" FILES_${PN}-bcm4350 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4350-pcie.bin" FILES_${PN}-bcm4356 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4356-sdio.bin" @@ -594,6 +595,7 @@ FILES_${PN}-bcm43602 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43602-pcie. ${nonarch_base_libdir}/firmware/brcm/brcmfmac43602-pcie.ap.bin \ " FILES_${PN}-bcm4366b = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4366b-pcie.bin" +FILES_${PN}-bcm4366c = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4366c-pcie.bin" FILES_${PN}-bcm4371 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4371-pcie.bin" # for i in `grep brcm WHENCE | grep ^File | sed 's/File: brcm.//g'`; do pkg=`echo $i | sed 's/-[sp40].*//g; s/\.bin//g; s/brcmfmac/bcm/g; s/_hdr/-hdr/g; s/BCM/bcm-0bb4-0306/g'`; echo -e "LICENSE_\${PN}-$pkg = \"Firmware-broadcom_bcm43xx\"\nRDEPENDS_\${PN}-$pkg += \"\${PN}-broadcom-license\""; done @@ -647,6 +649,8 @@ LICENSE_${PN}-bcm43602 = "Firmware-broadcom_bcm43xx" RDEPENDS_${PN}-bcm43602 += "${PN}-broadcom-license" LICENSE_${PN}-bcm4366b = "Firmware-broadcom_bcm43xx" RDEPENDS_${PN}-bcm4366b += "${PN}-broadcom-license" +LICENSE_${PN}-bcm4366c = "Firmware-broadcom_bcm43xx" +RDEPENDS_${PN}-bcm4366c += "${PN}-broadcom-license" LICENSE_${PN}-bcm4371 = "Firmware-broadcom_bcm43xx" RDEPENDS_${PN}-bcm4371 += "${PN}-broadcom-license" @@ -656,11 +660,11 @@ LICENSE_${PN}-cypress-license = "Firmware-cypress" FILES_${PN}-cypress-license = "${nonarch_base_libdir}/firmware/LICENCE.cypress" FILES_${PN}-bcm-0bb4-0306 = "${nonarch_base_libdir}/firmware/brcm/BCM-0bb4-0306.hcd" -FILES_${PN}-bcm43340 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43340-sdio.bin" -FILES_${PN}-bcm43362 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43362-sdio.bin" -FILES_${PN}-bcm43430 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.bin" +FILES_${PN}-bcm43340 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43340-sdio.*" +FILES_${PN}-bcm43362 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43362-sdio.*" +FILES_${PN}-bcm43430 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.*" FILES_${PN}-bcm4354 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4354-sdio.bin" -FILES_${PN}-bcm4356-pcie = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4356-pcie.bin" +FILES_${PN}-bcm4356-pcie = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4356-pcie.*" FILES_${PN}-bcm4373 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4373-sdio.bin \ ${nonarch_base_libdir}/firmware/brcm/brcmfmac4373.bin \ " -- 2.7.4 -- ___
[OE-core] [zeus 19/21] libtirpc: create the symbol link for rpc header files
From: Zhixiong Chi Since the Sun RPC is deprecated in glibc, the rpc header files are not provided any more, but it allows alternative RPC implementations, such as TIRPC or rpcsvc-proto, to be used. So we create the symbol link for rpc header files for tirpc to be more compatible with the glibc version and the application usage. Signed-off-by: Zhixiong Chi Signed-off-by: Richard Purdie Signed-off-by: Armin Kuster --- meta/recipes-extended/libtirpc/libtirpc_1.1.4.bb | 14 ++ 1 file changed, 14 insertions(+) diff --git a/meta/recipes-extended/libtirpc/libtirpc_1.1.4.bb b/meta/recipes-extended/libtirpc/libtirpc_1.1.4.bb index 9c480b8..8977a37 100644 --- a/meta/recipes-extended/libtirpc/libtirpc_1.1.4.bb +++ b/meta/recipes-extended/libtirpc/libtirpc_1.1.4.bb @@ -23,6 +23,20 @@ EXTRA_OECONF = "--disable-gssapi" do_install_append() { chown root:root ${D}${sysconfdir}/netconfig +install -d ${D}${includedir}/rpc +install -d ${D}${includedir}/rpcsvc +for link_header in ${D}${includedir}/tirpc/rpc/*; do +if [ -f $link_header -a ! -e ${D}/${includedir}/rpc/$(basename $link_header) ]; then +ln -sf ../tirpc/rpc/$(basename $link_header) ${D}${includedir}/rpc/$(basename $link_header) +fi +done +for link_header in ${D}${includedir}/tirpc/rpcsvc/*; do +if [ -f $link_header -a ! -e ${D}/${includedir}/rpcsvc/$(basename $link_header) ]; then +ln -sf ../tirpc/rpc/$(basename $link_header) ${D}${includedir}/rpcsvc/$(basename $link_header) +fi +done +ln -sf tirpc/netconfig.h ${D}/${includedir}/netconfig.h + } BBCLASSEXTEND = "native nativesdk" -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [zeus 21/21] pseudo: Add statx support to fix fedora30 issues
From: Richard Purdie Modern distros (e.g. fedora30) are starting to use the new statx() syscall through the newly exposed glibc wrapper function in software like coreutils (e.g. the ls command). Add support to intercept this to pseudo. Signed-off-by: Richard Purdie Signed-off-by: Armin Kuster --- .../pseudo/files/0001-Add-statx.patch | 106 + meta/recipes-devtools/pseudo/pseudo_git.bb | 1 + 2 files changed, 107 insertions(+) create mode 100644 meta/recipes-devtools/pseudo/files/0001-Add-statx.patch diff --git a/meta/recipes-devtools/pseudo/files/0001-Add-statx.patch b/meta/recipes-devtools/pseudo/files/0001-Add-statx.patch new file mode 100644 index 000..f01e699 --- /dev/null +++ b/meta/recipes-devtools/pseudo/files/0001-Add-statx.patch @@ -0,0 +1,106 @@ +From 4e41a05de1f34ba00a68ca4f20fb49c4d1cbd2d0 Mon Sep 17 00:00:00 2001 +From: Richard Purdie +Date: Wed, 6 Nov 2019 12:17:46 + +Subject: [PATCH] Add statx glibc/syscall support + +Modern distros (e.g. fedora30) are starting to use the new statx() syscall through +the newly exposed glibc wrapper function in software like coreutils (e.g. the ls +command). Add support to intercept this to pseudo. + +Signed-off-by: Richard Purdie +Upstream-Status: Submitted [Emailed to seebs] +--- + ports/linux/guts/statx.c | 48 + ports/linux/portdefs.h | 1 + + ports/linux/wrapfuncs.in | 1 + + 3 files changed, 50 insertions(+) + create mode 100644 ports/linux/guts/statx.c + +diff --git a/ports/linux/statx/guts/statx.c b/ports/linux/statx/guts/statx.c +new file mode 100644 +index 000..a3259c4 +--- /dev/null b/ports/linux/statx/guts/statx.c +@@ -0,0 +1,42 @@ ++/* ++ * Copyright (c) 2019 Linux Foundation ++ * Author: Richard Purdie ++ * ++ * SPDX-License-Identifier: LGPL-2.1-only ++ * ++ * int ++ * statx(int dirfd, const char *pathname, int flags, unsigned int mask, struct statx *statxbuf) { ++ *int rc = -1; ++ */ ++ pseudo_msg_t *msg; ++ PSEUDO_STATBUF buf; ++ int save_errno; ++ ++ rc = real_statx(dirfd, pathname, flags, mask, statxbuf); ++ save_errno = errno; ++ if (rc == -1) { ++ return rc; ++ } ++ ++ buf.st_uid = statxbuf->stx_uid; ++ buf.st_gid = statxbuf->stx_gid; ++ buf.st_dev = makedev(statxbuf->stx_dev_major, statxbuf->stx_dev_minor); ++ buf.st_ino = statxbuf->stx_ino; ++ buf.st_mode = statxbuf->stx_mode; ++ buf.st_rdev = makedev(statxbuf->stx_rdev_major, statxbuf->stx_rdev_minor); ++ buf.st_nlink = statxbuf->stx_nlink; ++ msg = pseudo_client_op(OP_STAT, 0, -1, dirfd, pathname, &buf); ++ if (msg && msg->result == RESULT_SUCCEED) { ++ pseudo_debug(PDBGF_FILE, "statx(path %s), flags %o, stat rc %d, stat uid %o\n", pathname, flags, rc, statxbuf->stx_uid); ++ statxbuf->stx_uid = msg->uid; ++ statxbuf->stx_gid = msg->gid; ++ statxbuf->stx_mode = msg->mode; ++ statxbuf->stx_rdev_major = major(msg->rdev); ++ statxbuf->stx_rdev_minor = minor(msg->rdev); ++ } else { ++ pseudo_debug(PDBGF_FILE, "statx(path %s) failed, flags %o, stat rc %d, stat uid %o\n", pathname, flags, rc, statxbuf->stx_uid); ++ } ++ errno = save_errno; ++/*return rc; ++ * } ++ */ +diff --git a/ports/linux/statx/portdefs.h b/ports/linux/statx/portdefs.h +new file mode 100644 +index 000..bf934dc +--- /dev/null b/ports/linux/statx/portdefs.h +@@ -0,0 +1,6 @@ ++/* ++ * SPDX-License-Identifier: LGPL-2.1-only ++ * ++ */ ++#include ++#include +diff --git a/ports/linux/statx/wrapfuncs.in b/ports/linux/statx/wrapfuncs.in +new file mode 100644 +index 000..c9cd4c3 +--- /dev/null b/ports/linux/statx/wrapfuncs.in +@@ -0,0 +1 @@ ++int statx(int dirfd, const char *pathname, int flags, unsigned int mask, struct statx *statxbuf); +diff --git a/ports/linux/subports b/ports/linux/subports +index a29044a..49081bf 100755 +--- a/ports/linux/subports b/ports/linux/subports +@@ -54,3 +54,13 @@ else + fi + rm -f dummy.c dummy.o + ++cat > dummy.c < ++struct statx x; ++EOF ++if ${CC} -c -o dummy.o dummy.c >/dev/null 2>&1; then ++ echo "linux/statx" ++fi ++rm -f dummy.c dummy.o ++ +-- +2.17.1 + diff --git a/meta/recipes-devtools/pseudo/pseudo_git.bb b/meta/recipes-devtools/pseudo/pseudo_git.bb index 78500e1..1f2df4a 100644 --- a/meta/recipes-devtools/pseudo/pseudo_git.bb +++ b/meta/recipes-devtools/pseudo/pseudo_git.bb @@ -7,6 +7,7 @@ SRC_URI = "git://git.yoctoproject.org/pseudo \ file://moreretries.patch \ file://toomanyfiles.patch \ file://0001-maketables-wrappers-use-Python-3.patch \ + file://0001-Add-statx.patch \ " SRCREV = "060058bb29f70b244e685b3c704eb0641b736f73" -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.op
[OE-core] [zeus 20/21] initscripts/sysfs.sh: Mount /sys/firmware/efi/efivars when possible
From: Haris Okanovic Without this change, efibootmgr is unable to recover BootOrder if lost during a previous write operation, e.g. exceeded storage capacity. This is problematic using EFI to manage boot flow from Linux (E.g. via RAUC). https://www.kernel.org/doc/Documentation/filesystems/efivarfs.txt Signed-off-by: Haris Okanovic Signed-off-by: Richard Purdie Signed-off-by: Armin Kuster --- meta/recipes-core/initscripts/initscripts-1.0/sysfs.sh | 4 1 file changed, 4 insertions(+) diff --git a/meta/recipes-core/initscripts/initscripts-1.0/sysfs.sh b/meta/recipes-core/initscripts/initscripts-1.0/sysfs.sh index f5b5b99..4871ee9 100644 --- a/meta/recipes-core/initscripts/initscripts-1.0/sysfs.sh +++ b/meta/recipes-core/initscripts/initscripts-1.0/sysfs.sh @@ -26,6 +26,10 @@ if [ -e /sys/kernel/config ] && grep -q configfs /proc/filesystems; then mount -t configfs configfs /sys/kernel/config fi +if [ -e /sys/firmware/efi/efivars ] && grep -q efivarfs /proc/filesystems; then + mount -t efivarfs efivarfs /sys/firmware/efi/efivars +fi + if ! [ -e /dev/zero ] && [ -e /dev ] && grep -q devtmpfs /proc/filesystems; then mount -n -t devtmpfs devtmpfs /dev fi -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 1/4] cve-update-db-native: don't hardcode the database name
Don't hardcode the database filename, there's a variable for this in cve-check.bbclass. Signed-off-by: Ross Burton --- meta/recipes-core/meta/cve-update-db-native.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-core/meta/cve-update-db-native.bb b/meta/recipes-core/meta/cve-update-db-native.bb index 19875a49b1c..c15534de08b 100644 --- a/meta/recipes-core/meta/cve-update-db-native.bb +++ b/meta/recipes-core/meta/cve-update-db-native.bb @@ -28,8 +28,8 @@ python do_populate_cve_db() { BASE_URL = "https://nvd.nist.gov/feeds/json/cve/1.0/nvdcve-1.0-"; YEAR_START = 2002 -db_dir = os.path.join(d.getVar("DL_DIR"), 'CVE_CHECK') -db_file = os.path.join(db_dir, 'nvdcve_1.0.db') +db_file = d.getVar("CVE_CHECK_DB_FILE") +db_dir = os.path.dirname(db_file) json_tmpfile = os.path.join(db_dir, 'nvd.json.gz') # Don't refresh the database more than once an hour -- 2.20.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 4/4] cve-check: rewrite look to fix false negatives
A previous optimisation was premature and resulted in false-negatives in the report. Rewrite the checking algorithm to first get the list of potential CVEs by vendor:product, then iterate through every matching CPE for that CVE to determine if the bounds match or not. By doing this in two stages we can know if we've checked every CPE, instead of accidentally breaking out of the scan too early. Signed-off-by: Ross Burton --- meta/classes/cve-check.bbclass | 63 ++ 1 file changed, 34 insertions(+), 29 deletions(-) diff --git a/meta/classes/cve-check.bbclass b/meta/classes/cve-check.bbclass index 419b2c9148f..e95716d9ded 100644 --- a/meta/classes/cve-check.bbclass +++ b/meta/classes/cve-check.bbclass @@ -165,7 +165,6 @@ def check_cves(d, patched_cves): """ Connect to the NVD database and find unpatched cves. """ -import ast, csv, tempfile, subprocess, io from distutils.version import LooseVersion cves_unpatched = [] @@ -187,68 +186,74 @@ def check_cves(d, patched_cves): cve_whitelist = d.getVar("CVE_CHECK_WHITELIST").split() import sqlite3 -db_file = d.getVar("CVE_CHECK_DB_FILE") -conn = sqlite3.connect(db_file) +db_file = d.expand("file:${CVE_CHECK_DB_FILE}?mode=ro") +conn = sqlite3.connect(db_file, uri=True) +# For each of the known product names (e.g. curl has CPEs using curl and libcurl)... for product in products: -c = conn.cursor() if ":" in product: vendor, product = product.split(":", 1) -c.execute("SELECT * FROM PRODUCTS WHERE PRODUCT IS ? AND VENDOR IS ?", (product, vendor)) else: -c.execute("SELECT * FROM PRODUCTS WHERE PRODUCT IS ?", (product,)) +vendor = "%" -for row in c: -cve = row[0] -version_start = row[3] -operator_start = row[4] -version_end = row[5] -operator_end = row[6] +# Find all relevant CVE IDs. +for cverow in conn.execute("SELECT DISTINCT ID FROM PRODUCTS WHERE PRODUCT IS ? AND VENDOR LIKE ?", (product, vendor)): +cve = cverow[0] if cve in cve_whitelist: bb.note("%s-%s has been whitelisted for %s" % (product, pv, cve)) # TODO: this should be in the report as 'whitelisted' patched_cves.add(cve) +continue elif cve in patched_cves: bb.note("%s has been patched" % (cve)) -else: -to_append = False +continue + +vulnerable = False +for row in conn.execute("SELECT * FROM PRODUCTS WHERE ID IS ? AND PRODUCT IS ? AND VENDOR LIKE ?", (cve, product, vendor)): +(_, _, _, version_start, operator_start, version_end, operator_end) = row +#bb.debug(2, "Evaluating row " + str(row)) + if (operator_start == '=' and pv == version_start): -to_append = True +vulnerable = True else: if operator_start: try: -to_append_start = (operator_start == '>=' and LooseVersion(pv) >= LooseVersion(version_start)) -to_append_start |= (operator_start == '>' and LooseVersion(pv) > LooseVersion(version_start)) +vulnerable_start = (operator_start == '>=' and LooseVersion(pv) >= LooseVersion(version_start)) +vulnerable_start |= (operator_start == '>' and LooseVersion(pv) > LooseVersion(version_start)) except: bb.warn("%s: Failed to compare %s %s %s for %s" % (product, pv, operator_start, version_start, cve)) -to_append_start = False +vulnerable_start = False else: -to_append_start = False +vulnerable_start = False if operator_end: try: -to_append_end = (operator_end == '<=' and LooseVersion(pv) <= LooseVersion(version_end)) -to_append_end |= (operator_end == '<' and LooseVersion(pv) < LooseVersion(version_end)) +vulnerable_end = (operator_end == '<=' and LooseVersion(pv) <= LooseVersion(version_end)) +vulnerable_end |= (operator_end == '<' and LooseVersion(pv) < LooseVersion(version_end)) except: bb.warn("%s: Failed to compare %s %s %s for %s" % (product, pv, operator_end, version_end, cve)) -to_append_end = False +vulnerable_end = False else: -
[OE-core] [PATCH 3/4] cve-check: neaten get_cve_info
Remove obsolete Python 2 code, and use convenience methods for neatness. Signed-off-by: Ross Burton --- meta/classes/cve-check.bbclass | 18 +- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/meta/classes/cve-check.bbclass b/meta/classes/cve-check.bbclass index 3326944d791..419b2c9148f 100644 --- a/meta/classes/cve-check.bbclass +++ b/meta/classes/cve-check.bbclass @@ -256,23 +256,15 @@ def check_cves(d, patched_cves): def get_cve_info(d, cves): """ Get CVE information from the database. - -Unfortunately the only way to get CVE info is set the output to -html (hard to parse) or query directly the database. """ -try: -import sqlite3 -except ImportError: -from pysqlite2 import dbapi2 as sqlite3 +import sqlite3 cve_data = {} -db_file = d.getVar("CVE_CHECK_DB_FILE") -placeholder = ",".join("?" * len(cves)) -query = "SELECT * FROM NVD WHERE id IN (%s)" % placeholder -conn = sqlite3.connect(db_file) -cur = conn.cursor() -for row in cur.execute(query, tuple(cves)): +conn = sqlite3.connect(d.getVar("CVE_CHECK_DB_FILE")) +placeholders = ",".join("?" * len(cves)) +query = "SELECT * FROM NVD WHERE id IN (%s)" % placeholders +for row in conn.execute(query, tuple(cves)): cve_data[row[0]] = {} cve_data[row[0]]["summary"] = row[1] cve_data[row[0]]["scorev2"] = row[2] -- 2.20.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 2/4] cve-update-db-native: add an index on the CVE ID column
Create an index on the PRODUCTS table which contains a row for each CPE, drastically increasing the performance of lookups for a specific CVE. Signed-off-by: Ross Burton --- meta/recipes-core/meta/cve-update-db-native.bb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meta/recipes-core/meta/cve-update-db-native.bb b/meta/recipes-core/meta/cve-update-db-native.bb index c15534de08b..08b18f064f0 100644 --- a/meta/recipes-core/meta/cve-update-db-native.bb +++ b/meta/recipes-core/meta/cve-update-db-native.bb @@ -120,11 +120,14 @@ python do_populate_cve_db() { def initialize_db(c): c.execute("CREATE TABLE IF NOT EXISTS META (YEAR INTEGER UNIQUE, DATE TEXT)") + c.execute("CREATE TABLE IF NOT EXISTS NVD (ID TEXT UNIQUE, SUMMARY TEXT, \ SCOREV2 TEXT, SCOREV3 TEXT, MODIFIED INTEGER, VECTOR TEXT)") + c.execute("CREATE TABLE IF NOT EXISTS PRODUCTS (ID TEXT, \ VENDOR TEXT, PRODUCT TEXT, VERSION_START TEXT, OPERATOR_START TEXT, \ VERSION_END TEXT, OPERATOR_END TEXT)") +c.execute("CREATE INDEX IF NOT EXISTS PRODUCT_ID_IDX on PRODUCTS(ID);") def parse_node_and_insert(c, node, cveId): # Parse children node if needed -- 2.20.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] bitbake: prserv: fix ResourceWarning due to unclosed socket
From: Gavin Li With PRSERV_HOST = "localhost:0", this message would occasionally pop up during the initial cache read: WARNING: /home/matic/ambayocto/poky/bitbake/lib/bb/cache.py:446: ResourceWarning: unclosed value = pickled.load() The file location stated is irrelevant; it just happens to be wherever CPython decides to run the garbage collector. The issue is that after we fork off a PRServer, self.socket is also duplicated. The parent side of it also needs to be closed. Signed-off-by: Gavin Li --- bitbake/lib/prserv/serv.py | 1 + 1 file changed, 1 insertion(+) diff --git a/bitbake/lib/prserv/serv.py b/bitbake/lib/prserv/serv.py index be3acec36a..1d9148b817 100644 --- a/bitbake/lib/prserv/serv.py +++ b/bitbake/lib/prserv/serv.py @@ -243,6 +243,7 @@ class PRServer(SimpleXMLRPCServer): try: pid = os.fork() if pid > 0: +self.socket.close() # avoid ResourceWarning in parent return pid except OSError as e: raise Exception("%s [%d]" % (e.strerror, e.errno)) -- 2.23.0 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 5/5] cve-update-db-native: don't refresh more than once an hour
On 11/7/19 3:58 PM, Ross Burton wrote: > We already fetch the yearly CVE metadata and check that for updates before > downloading the full data, but we can speed up CVE checking further by only > checking the CVE metadata once an hour. > > Signed-off-by: Ross Burton > --- > meta/recipes-core/meta/cve-update-db-native.bb | 10 +- > 1 file changed, 9 insertions(+), 1 deletion(-) > > diff --git a/meta/recipes-core/meta/cve-update-db-native.bb > b/meta/recipes-core/meta/cve-update-db-native.bb > index 2c427a5884f..19875a49b1c 100644 > --- a/meta/recipes-core/meta/cve-update-db-native.bb > +++ b/meta/recipes-core/meta/cve-update-db-native.bb > @@ -31,8 +31,16 @@ python do_populate_cve_db() { > db_dir = os.path.join(d.getVar("DL_DIR"), 'CVE_CHECK') > db_file = os.path.join(db_dir, 'nvdcve_1.0.db') > json_tmpfile = os.path.join(db_dir, 'nvd.json.gz') > -proxy = d.getVar("https_proxy") > > +# Don't refresh the database more than once an hour err, I thought the NVD db is only updated once every two hours. And why is this not a variable so folks can tweak accordingly? - armin > +try: > +import time > +if time.time() - os.path.getmtime(db_file) < (60*60): > +return > +except OSError: > +pass > + > +proxy = d.getVar("https_proxy") > if proxy: > # instantiate an opener but do not install it as the global > # opener unless if we're really sure it's applicable for all -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] ✗ patchtest: failure for bitbake: prserv: fix ResourceWarning due to unclosed socket
== Series Details == Series: bitbake: prserv: fix ResourceWarning due to unclosed socket Revision: 1 URL : https://patchwork.openembedded.org/series/21085/ State : failure == Summary == Thank you for submitting this patch series to OpenEmbedded Core. This is an automated response. Several tests have been executed on the proposed series by patchtest resulting in the following failures: * Issue Series sent to the wrong mailing list or some patches from the series correspond to different mailing lists [test_target_mailing_list] Suggested fixSend the series again to the correct mailing list (ML) Suggested ML bitbake-de...@lists.openembedded.org [http://git.openembedded.org/bitbake/] Patch's path:bitbake/lib/prserv/serv.py * Issue Series does not apply on top of target branch [test_series_merge_on_head] Suggested fixRebase your series on top of targeted branch Targeted branch master (currently at 4dc804b2de) If you believe any of these test results are incorrect, please reply to the mailing list (openembedded-core@lists.openembedded.org) raising your concerns. Otherwise we would appreciate you correcting the issues and submitting a new version of the patchset if applicable. Please ensure you add/increment the version number when sending the new version (i.e. [PATCH] -> [PATCH v2] -> [PATCH v3] -> ...). --- Guidelines: https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines Test framework: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest Test suite: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest-oe -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] ✗ patchtest: failure for "cve-update-db-native: don't ha..." and 3 more
== Series Details == Series: "cve-update-db-native: don't ha..." and 3 more Revision: 1 URL : https://patchwork.openembedded.org/series/21084/ State : failure == Summary == Thank you for submitting this patch series to OpenEmbedded Core. This is an automated response. Several tests have been executed on the proposed series by patchtest resulting in the following failures: * Issue Series does not apply on top of target branch [test_series_merge_on_head] Suggested fixRebase your series on top of targeted branch Targeted branch master (currently at 4dc804b2de) If you believe any of these test results are incorrect, please reply to the mailing list (openembedded-core@lists.openembedded.org) raising your concerns. Otherwise we would appreciate you correcting the issues and submitting a new version of the patchset if applicable. Please ensure you add/increment the version number when sending the new version (i.e. [PATCH] -> [PATCH v2] -> [PATCH v3] -> ...). --- Guidelines: https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines Test framework: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest Test suite: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest-oe -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 1/2] tune-riscv: Add support for hard and soft float
On Fri, Nov 8, 2019 at 3:14 PM Alistair Francis wrote: > > On Fri, Nov 8, 2019 at 3:07 PM Richard Purdie > wrote: > > > > On Fri, 2019-11-08 at 22:24 +0200, Adrian Bunk wrote: > > > Especially when looking at the arm64 situation I am wondering > > > whether the best option might be to throw away the tunes mess and let > > > the user write the compiler options directly. > > > > OE once did that. I think anyone who lived through it would say that > > the current situation *is* an improvement over a free-for-all. > > > > This is mainly as at least we're now consistent whereas before the same > > thing had different names in each BSP. > > > > I don't know what the answer is but I don't want to go back to that! > > Ha ok. I won't argue with that. > > I can just carry the patch locally, so I'm not in a rush to get this > in. I have reached out to Rich (musl maintainer) to see if he has any > ideas. I just realised I got my wires crossed here, ignore this. Alistair > > Alistair > > > > > Cheers, > > > > Richard > > > > > > -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH v7] mesa: Upgrade to 19.2.3
From: Alistair Francis Upgrade mesa and mesa-gl to 19.2.3. The license hash change was a trivial new line removal. The glx-tls option was removed as it isn't included in the meson.build file. It has been replaced with 'use-elf-tls' instead. We also added an INSANE_SKIP to fix this error do_package_qa: QA Issue: ELF binary '[...]libgles2-mesa/usr/lib/libGLESv2.so.2.0.0' has relocations in .text [textrel] The -Dasm=false was removed as it also is no longer included. Signed-off-by: Alistair Francis Signed-off-by: Alistair Francis Acked-by: Otavio Salvador --- v7: - Update to mesa 19.2.3 - Add INSANE_SKIP v6: - Rebase on master v4: - Add a patch (first patch in the series) to fix libsdl2 build v3: - Fix missing Upstream-Status v2: - Add back "make TLS ELF optional" patch ...k-for-all-linux-host_os-combinations.patch | 23 ...02-meson.build-make-TLS-ELF-optional.patch | 48 + ...on.build-make-TLS-GLX-optional-again.patch | 52 --- .../{mesa-gl_19.1.6.bb => mesa-gl_19.2.3.bb} | 0 meta/recipes-graphics/mesa/mesa.inc | 18 +++ .../mesa/{mesa_19.1.6.bb => mesa_19.2.3.bb} | 6 +-- 6 files changed, 73 insertions(+), 74 deletions(-) create mode 100644 meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch delete mode 100644 meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-GLX-optional-again.patch rename meta/recipes-graphics/mesa/{mesa-gl_19.1.6.bb => mesa-gl_19.2.3.bb} (100%) rename meta/recipes-graphics/mesa/{mesa_19.1.6.bb => mesa_19.2.3.bb} (77%) diff --git a/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch b/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch index 9fba5da4b2..1aff727455 100644 --- a/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch +++ b/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch @@ -1,8 +1,7 @@ -From ea966884e39aae9571c038fab55f3c1663d17850 Mon Sep 17 00:00:00 2001 -From: Fabio Berton -Date: Wed, 12 Jun 2019 13:40:20 -0300 +From 7547bd7340dc318392aee8b3a3ad1f9d902121db Mon Sep 17 00:00:00 2001 +From: Alistair Francis +Date: Mon, 11 Nov 2019 09:38:15 -0800 Subject: [PATCH] meson.build: check for all linux host_os combinations -Organization: O.S. Systems Software LTDA. Make sure that we are also looking for our host_os combinations like linux-musl etc. when assuming support for DRM/KMS. @@ -14,29 +13,33 @@ Upstream-Status: Pending Signed-off-by: Anuj Mittal Signed-off-by: Fabio Berton Signed-off-by: Otavio Salvador +Signed-off-by: Alistair Francis --- meson.build | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meson.build b/meson.build -index 567a81afd6f..b33b430aed4 100644 +index d58415270d0..a1f098c3b19 100644 --- a/meson.build +++ b/meson.build -@@ -107,7 +107,7 @@ with_any_opengl = with_opengl or with_gles1 or with_gles2 +@@ -117,7 +117,7 @@ with_any_opengl = with_opengl or with_gles1 or with_gles2 # Only build shared_glapi if at least one OpenGL API is enabled with_shared_glapi = get_option('shared-glapi') and with_any_opengl --system_has_kms_drm = ['openbsd', 'netbsd', 'freebsd', 'gnu/kfreebsd', 'dragonfly', 'linux'].contains(host_machine.system()) +-system_has_kms_drm = ['openbsd', 'netbsd', 'freebsd', 'gnu/kfreebsd', 'dragonfly', 'linux', 'sunos'].contains(host_machine.system()) +system_has_kms_drm = ['openbsd', 'netbsd', 'freebsd', 'dragonfly'].contains(host_machine.system()) or host_machine.system().startswith('linux') dri_drivers = get_option('dri-drivers') if dri_drivers.contains('auto') -@@ -845,7 +845,7 @@ if cc.compiles('int foo(void) __attribute__((__noreturn__));', +@@ -856,7 +856,7 @@ if cc.compiles('__uint128_t foo(void) { return 0; }', endif # TODO: this is very incomplete -if ['linux', 'cygwin', 'gnu', 'gnu/kfreebsd'].contains(host_machine.system()) +if ['cygwin', 'gnu', 'gnu/kfreebsd'].contains(host_machine.system()) or host_machine.system().startswith('linux') pre_args += '-D_GNU_SOURCE' - endif - + elif host_machine.system() == 'sunos' + pre_args += '-D__EXTENSIONS__' +-- +2.23.0 + diff --git a/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch b/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch new file mode 100644 index 00..c3b5e14cd6 --- /dev/null +++ b/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch @@ -0,0 +1,48 @@ +From edd03b8ea66ccf81b0c1d27868756d06e2d177ab Mon Sep 17 00:00:00 2001 +From: Alistair Francis +Date: Wed, 23 Oct 2019 09:46:28 -0700 +Subject: [PATCH] meson.build: make TLS ELF optional + +USE_ELF_TLS has replaced GLX_USE_TLS so this patch is the original "make +TLS GLX optional again" patch updated to the latest mesa. + +Upstream-Status: Inappropriate [
Re: [OE-core] [PATCH] oeqa: Fix subTest result reporting
Hi Joshua On Fri, 2019-11-08 at 13:21 -0600, Joshua Watt wrote: > Fixes the way that subTest results are reported so that each subTest > is > reported independently, with it's own status. The base test case is > also > reported, but only if it actually had a status. > > Signed-off-by: Joshua Watt > --- > meta/lib/oeqa/core/runner.py| 44 + > > meta/lib/oeqa/core/utils/concurrencytest.py | 3 ++ > 2 files changed, 39 insertions(+), 8 deletions(-) > This is causing errors: https://autobuilder.yoctoproject.org/typhoon/#/builders/79/builds/476 https://errors.yoctoproject.org/Errors/Details/275668/ Traceback (most recent call last): File "/home/pokybuild/yocto-worker/oe-selftest- centos/build/meta/lib/oeqa/core/utils/concurrencytest.py", line 299, in fork_for_tests process_suite.run(ExtraResultsEncoderTestResult(subunit_result)) File "/usr/lib64/python3.6/unittest/suite.py", line 122, in run test(result) File "/usr/lib64/python3.6/unittest/case.py", line 670, in __call__ return self.run(*args, **kwds) File "/usr/lib64/python3.6/unittest/case.py", line 630, in run self._feedErrorsToResult(result, outcome.errors) File "/usr/lib64/python3.6/unittest/case.py", line 555, in _feedErrorsToResult result.addSubTest(test.test_case, test, exc_info) File "/home/pokybuild/yocto-worker/oe-selftest- centos/build/meta/lib/oeqa/core/utils/concurrencytest.py", line 85, in addSubTest self._addResult(self.result.addSubTest, test, subtest, outcome, exception = (outcome is not None), **kwargs) AttributeError: 'AutoTimingTestResultDecorator' object has no attribute 'addSubTest' 2019-11-11 19:14:43,928 - oe-selftest - INFO - runtime_test.Postinst.test_failing_postinst (subunit.RemotedTestCas Thanks, Anuj -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 02/20] OEQA: Add qemu checks
Some test should not be run in QEMU systems so add some checks to make that easier Signed-off-by: Armin Kuster --- meta/lib/oeqa/core/decorator/data.py | 45 1 file changed, 45 insertions(+) diff --git a/meta/lib/oeqa/core/decorator/data.py b/meta/lib/oeqa/core/decorator/data.py index ff92fba..bc4939e 100644 --- a/meta/lib/oeqa/core/decorator/data.py +++ b/meta/lib/oeqa/core/decorator/data.py @@ -27,6 +27,16 @@ def has_machine(td, machine): return True return False +def is_qemu(td, qemu): +""" +Checks if MACHINE is qemu. +""" + +machine = td.get('MACHINE', '') +if (qemu in td.get('MACHINE', '') or +machine.startswith('qemu')): +return True +return False @registerDecorator class skipIfDataVar(OETestDecorator): @@ -175,3 +185,38 @@ class skipIfMachine(OETestDecorator): self.logger.debug(msg) if has_machine(self.case.td, self.value): self.case.skipTest(self.msg) + +@registerDecorator +class skipIfNotQemu(OETestDecorator): +""" +Skip test based on MACHINE. + +value must be a qemu MACHINE or it will skip the test +with msg as the reason. +""" + +attrs = ('value', 'msg') + +def setUpDecorator(self): +msg = ('Checking if %s is not this MACHINE' % self.value) +self.logger.debug(msg) +if not is_qemu(self.case.td, self.value): +self.case.skipTest(self.msg) + +@registerDecorator +class skipIfQemu(OETestDecorator): +""" +Skip test based on Qemu Machine. + +value must not be a qemu machine or it will skip the test +with msg as the reason. + """ + +attrs = ('value', 'msg') + +def setUpDecorator(self): +msg = ('Checking if %s is this MACHINE' % self.value) +self.logger.debug(msg) +if is_qemu(self.case.td, self.value): + self.case.skipTest(self.msg) + -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 03/20] OEQA: Centrilize the base LTP routines
Signed-off-by: Armin Kuster --- meta/lib/oeqa/utils/ltp.py | 133 + 1 file changed, 133 insertions(+) create mode 100644 meta/lib/oeqa/utils/ltp.py diff --git a/meta/lib/oeqa/utils/ltp.py b/meta/lib/oeqa/utils/ltp.py new file mode 100644 index 000..5e07f4d --- /dev/null +++ b/meta/lib/oeqa/utils/ltp.py @@ -0,0 +1,133 @@ +# LTP base +# +# Copyright (c) 2019 MontaVista Software, LLC +# +# SPDX-License-Identifier: GPL-2.0-only +# + +import time +import datetime +import pprint + +from oeqa.runtime.case import OERuntimeTestCase + +class LtpBase(OERuntimeTestCase): +''' +Base routines for LTP based testing +''' + +@classmethod +def setUpClass(cls): +cls.ltp_startup() + +@classmethod +def tearDownClass(cls): +cls.ltp_finishup() + +@classmethod +def ltp_startup(cls): +cls.sections = {} +cls.failmsg = "" +cls.cmd = "" +test_log_dir = os.path.join(cls.td.get('WORKDIR', ''), 'testimage') +timestamp = datetime.datetime.now().strftime('%Y%m%d%H%M%S') + +cls.ltptest_log_dir_link = os.path.join(test_log_dir, 'ltp_log') +cls.ltptest_log_dir = '%s.%s' % (cls.ltptest_log_dir_link, timestamp) +os.makedirs(cls.ltptest_log_dir) + +cls.tc.target.run("mkdir -p /opt/ltp/results") + +if not hasattr(cls.tc, "extraresults"): +cls.tc.extraresults = {} +cls.extras = cls.tc.extraresults +cls.extras['ltpresult.rawlogs'] = {'log': ""} + +@classmethod +def runltp(cls, ltp_group): +starttime = time.time() +(status, output) = cls.tc.target.run(cls.cmd) +endtime = time.time() + +with open(os.path.join(cls.ltptest_log_dir, "%s-raw.log" % ltp_group), 'w') as f: +f.write(output) + +cls.extras['ltpresult.rawlogs']['log'] = cls.extras['ltpresult.rawlogs']['log'] + output + +# copy nice log from DUT +dst = os.path.join(cls.ltptest_log_dir, "%s" % ltp_group ) +remote_src = "/opt/ltp/results/%s" % ltp_group +(status, output) = cls.tc.target.copyFrom(remote_src, dst) +msg = 'File could not be copied. Output: %s' % output +self.assertEqual(status, 0, msg=msg) + +parser = LtpParser() +results, sections = parser.parse(dst) + +runtime = int(endtime-starttime) +sections['duration'] = runtime +cls.sections[ltp_group] = sections + +failed_tests = {} +for test in results: +result = results[test] +testname = (logname + "." + ltp_group + "." + test) +cls.extras[testname] = {'status': result} +if result == 'FAILED': +failed_tests[ltp_group] = test + +if failed_tests: +cls.failmsg = cls.failmsg + "Failed ptests:\n%s" % pprint.pformat(failed_tests) + +class LtpTestBase(LtpBase): +''' +Ltp normal section definition +''' +@classmethod +def ltp_finishup(cls): +cls.extras['ltpresult.sections'] = cls.sections + +# update symlink to ltp_log +if os.path.exists(cls.ltptest_log_dir_link): +os.remove(cls.ltptest_log_dir_link) +os.symlink(os.path.basename(cls.ltptest_log_dir), cls.ltptest_log_dir_link) + +if cls.failmsg: +cls.fail(cls.failmsg) + +class LtpPosixBase(LtpBase): +''' +Ltp Posix section definition +''' + +@classmethod +def ltp_finishup(cls): +cls.extras['ltpposixresult.sections'] = cls.sections + +# update symlink to ltp_log +if os.path.exists(cls.ltptest_log_dir_link): +os.remove(cls.ltptest_log_dir_link) + +os.symlink(os.path.basename(cls.ltptest_log_dir), cls.ltptest_log_dir_link) + +if cls.failmsg: +cls.fail(cls.failmsg) + + +class LtpStressBase(LtpBase): +''' +Ltp Stress test section definition +''' + +@classmethod +def ltp_finishup(cls): +cls.extras['ltpstressresult.sections'] = cls.sections + +# update symlink to ltp_log +if os.path.exists(cls.ltptest_log_dir_link): +os.remove(cls.ltptest_log_dir_link) + +os.symlink(os.path.basename(cls.ltptest_log_dir), cls.ltptest_log_dir_link) + +if cls.failmsg: +cls.fail(cls.failmsg) -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 04/20] OEQA: update ltp runtimes to use new structure
Signed-off-by: Armin Kuster --- meta/lib/oeqa/runtime/cases/ltp.py| 85 ++- meta/lib/oeqa/runtime/cases/ltp_compliance.py | 73 +-- 2 files changed, 7 insertions(+), 151 deletions(-) diff --git a/meta/lib/oeqa/runtime/cases/ltp.py b/meta/lib/oeqa/runtime/cases/ltp.py index 3054864..bc6df6b 100644 --- a/meta/lib/oeqa/runtime/cases/ltp.py +++ b/meta/lib/oeqa/runtime/cases/ltp.py @@ -9,51 +9,10 @@ import time import datetime import pprint -from oeqa.runtime.case import OERuntimeTestCase from oeqa.core.decorator.depends import OETestDepends from oeqa.runtime.decorator.package import OEHasPackage from oeqa.utils.logparser import LtpParser - -class LtpTestBase(OERuntimeTestCase): - -@classmethod -def setUpClass(cls): -cls.ltp_startup() - -@classmethod -def tearDownClass(cls): -cls.ltp_finishup() - -@classmethod -def ltp_startup(cls): -cls.sections = {} -cls.failmsg = "" -test_log_dir = os.path.join(cls.td.get('WORKDIR', ''), 'testimage') -timestamp = datetime.datetime.now().strftime('%Y%m%d%H%M%S') - -cls.ltptest_log_dir_link = os.path.join(test_log_dir, 'ltp_log') -cls.ltptest_log_dir = '%s.%s' % (cls.ltptest_log_dir_link, timestamp) -os.makedirs(cls.ltptest_log_dir) - -cls.tc.target.run("mkdir -p /opt/ltp/results") - -if not hasattr(cls.tc, "extraresults"): -cls.tc.extraresults = {} -cls.extras = cls.tc.extraresults -cls.extras['ltpresult.rawlogs'] = {'log': ""} - - -@classmethod -def ltp_finishup(cls): -cls.extras['ltpresult.sections'] = cls.sections - -# update symlink to ltp_log -if os.path.exists(cls.ltptest_log_dir_link): -os.remove(cls.ltptest_log_dir_link) -os.symlink(os.path.basename(cls.ltptest_log_dir), cls.ltptest_log_dir_link) - -if cls.failmsg: -cls.fail(cls.failmsg) +from oeqa.utils.ltp import LtpTestBase class LtpTest(LtpTestBase): @@ -64,42 +23,6 @@ class LtpTest(LtpTestBase): ltp_kernel = ["power_management_tests", "hyperthreading ", "kernel_misc", "hugetlb"] ltp_groups += ltp_fs -def runltp(self, ltp_group): -cmd = '/opt/ltp/runltp -f %s -p -q -r /opt/ltp -l /opt/ltp/results/%s -I 1 -d /opt/ltp' % (ltp_group, ltp_group) -starttime = time.time() -(status, output) = self.target.run(cmd) -endtime = time.time() - -with open(os.path.join(self.ltptest_log_dir, "%s-raw.log" % ltp_group), 'w') as f: -f.write(output) - -self.extras['ltpresult.rawlogs']['log'] = self.extras['ltpresult.rawlogs']['log'] + output - -# copy nice log from DUT -dst = os.path.join(self.ltptest_log_dir, "%s" % ltp_group ) -remote_src = "/opt/ltp/results/%s" % ltp_group -(status, output) = self.target.copyFrom(remote_src, dst) -msg = 'File could not be copied. Output: %s' % output -self.assertEqual(status, 0, msg=msg) - -parser = LtpParser() -results, sections = parser.parse(dst) - -runtime = int(endtime-starttime) -sections['duration'] = runtime -self.sections[ltp_group] = sections - -failed_tests = {} -for test in results: -result = results[test] -testname = ("ltpresult." + ltp_group + "." + test) -self.extras[testname] = {'status': result} -if result == 'FAILED': -failed_tests[ltp_group] = test - -if failed_tests: -self.failmsg = self.failmsg + "Failed ptests:\n%s" % pprint.pformat(failed_tests) - # LTP runtime tests @OETestDepends(['ssh.SSHTest.test_ssh']) @OEHasPackage(["ltp"]) @@ -111,8 +34,10 @@ class LtpTest(LtpTestBase): @OETestDepends(['ltp.LtpTest.test_ltp_help']) def test_ltp_groups(self): for ltp_group in self.ltp_groups: -self.runltp(ltp_group) +self.cmd = '/opt/ltp/runltp -f %s -p -q -r /opt/ltp -l /opt/ltp/results/%s -I 1 -d /opt/ltp' % (ltp_group, ltp_group) +self.runltp(ltp_group, 'ltpresult') @OETestDepends(['ltp.LtpTest.test_ltp_groups']) def test_ltp_runltp_cve(self): -self.runltp("cve") +self.cmd = '/opt/ltp/runltp -f cve -p -q -r /opt/ltp -l /opt/ltp/results/cve -I 1 -d /opt/ltp' +self.runltp('cve') diff --git a/meta/lib/oeqa/runtime/cases/ltp_compliance.py b/meta/lib/oeqa/runtime/cases/ltp_compliance.py index ba47c78..8b09c0a 100644 --- a/meta/lib/oeqa/runtime/cases/ltp_compliance.py +++ b/meta/lib/oeqa/runtime/cases/ltp_compliance.py @@ -13,85 +13,16 @@ from oeqa.runtime.case import OERuntimeTestCase from oeqa.core.decorator.depends import OETestDepends from oeqa.runtime.decorator.package import OEHasPackage from oeqa.utils.logparser im
[OE-core] [PATCH 00/20] QA updates
This series moves several manual tests to selftest, deletes others and some cleanup. Deletes manual tests covered by runtime or selftests. Deletes eclipse manual test resulting in three manual json files removed. The following changes since commit 4dc804b2deda249f72c6941639e781dfe6ca865e: systemd: Add runtime dependency on new ldconfig package (2019-11-11 14:07:01 +) are available in the git repository at: git://git.openembedded.org/openembedded-core-contrib akuster/qa http://cgit.openembedded.org/openembedded-core-contrib/log/?h=akuster/qa Armin Kuster (20): OEQA: Add a check for MACHINE OEQA: Add qemu checks OEQA: Centrilize the base LTP routines OEQA: update ltp runtimes to use new structure OEQA/runtime: Add ltp stress test OEQA/manual: remove crash stress test manual qa: drop ltpstress test manual qa/bsp-qemu: remove rpm tests already done in runtime manual qa/bsp-qemu: remove KVM enabled which is already done in selftest runqemu manual/bsp-qemu: drop xserver test done at runtime manual/bsp-qemu: remove only_one_connmand_in_background test done at runtime OEQA: remove postinit test done w/selftest runtime OEQA: eclipse support was dropped in warrior OEQA: move manual bash test to runtime OEQA: remove manual bash test OEQA: remove manual useradd test OEQA: move list-packageconfig-flags tests from manual to self OEQA: remove manual PACKAGECONFIG_FLAGS tests OEQA: add crosstab selftest OEQA: remove crosstab test from manual meta/lib/oeqa/core/decorator/data.py | 89 +++ meta/lib/oeqa/manual/bsp-qemu.json| 222 -- meta/lib/oeqa/manual/compliance-test.json | 76 -- meta/lib/oeqa/manual/eclipse-plugin.json | 322 -- meta/lib/oeqa/manual/oe-core.json | 78 +-- meta/lib/oeqa/runtime/cases/ltp.py| 85 +-- meta/lib/oeqa/runtime/cases/ltp_compliance.py | 73 +- meta/lib/oeqa/runtime/cases/ltp_stress.py | 29 +++ meta/lib/oeqa/selftest/cases/oescripts.py | 59 + meta/lib/oeqa/selftest/cases/runtime_test.py | 95 meta/lib/oeqa/utils/ltp.py| 133 +++ 11 files changed, 413 insertions(+), 848 deletions(-) delete mode 100644 meta/lib/oeqa/manual/bsp-qemu.json delete mode 100644 meta/lib/oeqa/manual/compliance-test.json delete mode 100644 meta/lib/oeqa/manual/eclipse-plugin.json create mode 100644 meta/lib/oeqa/runtime/cases/ltp_stress.py create mode 100644 meta/lib/oeqa/utils/ltp.py -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 01/20] OEQA: Add a check for MACHINE
Signed-off-by: Armin Kuster --- meta/lib/oeqa/core/decorator/data.py | 44 1 file changed, 44 insertions(+) diff --git a/meta/lib/oeqa/core/decorator/data.py b/meta/lib/oeqa/core/decorator/data.py index 12d462f..ff92fba 100644 --- a/meta/lib/oeqa/core/decorator/data.py +++ b/meta/lib/oeqa/core/decorator/data.py @@ -18,6 +18,16 @@ def has_feature(td, feature): return True return False +def has_machine(td, machine): +""" +Checks for MACHINE. +""" + +if (machine in td.get('MACHINE', '')): +return True +return False + + @registerDecorator class skipIfDataVar(OETestDecorator): """ @@ -131,3 +141,37 @@ class skipIfFeature(OETestDecorator): self.logger.debug(msg) if has_feature(self.case.td, self.value): self.case.skipTest(self.msg) + +@registerDecorator +class skipIfNotMachine(OETestDecorator): +""" +Skip test based on MACHINE. + +value must be match MACHINE or it will skip the test +with msg as the reason. +""" + +attrs = ('value', 'msg') + +def setUpDecorator(self): +msg = ('Checking if %s is not this MACHINE' % self.value) +self.logger.debug(msg) +if not has_machine(self.case.td, self.value): +self.case.skipTest(self.msg) + +@registerDecorator +class skipIfMachine(OETestDecorator): +""" +Skip test based on Machine. + +value must not be this machine or it will skip the test +with msg as the reason. +""" + +attrs = ('value', 'msg') + +def setUpDecorator(self): +msg = ('Checking if %s is this MACHINE' % self.value) +self.logger.debug(msg) +if has_machine(self.case.td, self.value): +self.case.skipTest(self.msg) -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 06/20] OEQA/manual: remove crash stress test
Signed-off-by: Armin Kuster --- meta/lib/oeqa/manual/compliance-test.json | 48 --- 1 file changed, 48 deletions(-) diff --git a/meta/lib/oeqa/manual/compliance-test.json b/meta/lib/oeqa/manual/compliance-test.json index 367a416..e374c5b 100644 --- a/meta/lib/oeqa/manual/compliance-test.json +++ b/meta/lib/oeqa/manual/compliance-test.json @@ -1,52 +1,4 @@ [ -{ -"test": { -"@alias": "compliance-test.compliance-test.stress_test_-_Genericx86-64", -"author": [ -{ -"email": "corneliux.stoice...@intel.com", -"name": "corneliux.stoice...@intel.com" -} -], -"execution": { -"1": { -"action": "Bootup with core-image-sato-sdk image", -"expected_results": "" -}, -"2": { -"action": "Execute the crashme test with below command \n\n./opt/ltp/runltp f crashme", -"expected_results": "The stress testing should not make the target crash. Check CPU usage and basic functionality of the system after the tests are over. " -} -}, -"summary": "stress_test_-_Genericx86-64" -} -}, - { -"test": { - "@alias": "compliance-test.compliance-test.stress_test_-_- crashme_-_-Beaglebone", - "author": [ -{ - "email": "corneliux.stoice...@intel.com", - "name": "corneliux.stoice...@intel.com" -} - ], - "execution": { -"1": { - "action": " Get crashme from http://people.delphiforums.com/gjc/crashme.html";, - "expected_results": "" -}, -"2": { - "action": "Follow the setup steps on above URL, build crashme in target", - "expected_results": "" -}, -"3": { - "action": " Run crashme for 24 hours", - "expected_results": "Target should not crash with the program." -} - }, - "summary": "stress_test_-_crashme_-Beaglebone" -} - }, { "test": { "@alias": "compliance-test.compliance-test.stress_test_-_ltp_-Beaglebone", -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 05/20] OEQA/runtime: Add ltp stress test
Signed-off-by: Armin Kuster --- meta/lib/oeqa/runtime/cases/ltp_stress.py | 29 + 1 file changed, 29 insertions(+) create mode 100644 meta/lib/oeqa/runtime/cases/ltp_stress.py diff --git a/meta/lib/oeqa/runtime/cases/ltp_stress.py b/meta/lib/oeqa/runtime/cases/ltp_stress.py new file mode 100644 index 000..4fc549f --- /dev/null +++ b/meta/lib/oeqa/runtime/cases/ltp_stress.py @@ -0,0 +1,29 @@ +# LTP Stress runtime +# +# Copyright (c) 2019 MontaVista Software, LLC +# +# SPDX-License-Identifier: MIT +# + +import time +import datetime +import bb + +from oeqa.core.decorator.depends import OETestDepends +from oeqa.runtime.decorator.package import OEHasPackage +from oeqa.core.decorator.data import skipIfQemu +from oeqa.utils.ltp import LtpStressBase + +class LtpStressTest(LtpStressBase): +# LTP stress runtime tests +# crashme [NBYTES] [SRAND] [NTRYS] [NSUB] [VERBOSE] +# + +@skipIfQemu('qemuall', 'Test only runs on real hardware') + +@OETestDepends(['ssh.SSHTest.test_ssh']) +@OEHasPackage(["ltp"]) +def test_ltp_stress(self): +self.tc.target.run("sed -i -r 's/^fork12.*//' /opt/ltp/runtest/crashme") +self.cmd = '/opt/ltp/runltp -f crashme +2000 666 100 0:0:00 -p -q -r /opt/ltp -l /opt/ltp/results/crash -I 1 -d /opt/ltp ' +self.runltp('crashme') -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 12/20] OEQA: remove postinit test done w/selftest runtime
Signed-off-by: Armin Kuster --- meta/lib/oeqa/manual/bsp-qemu.json | 34 -- 1 file changed, 34 deletions(-) diff --git a/meta/lib/oeqa/manual/bsp-qemu.json b/meta/lib/oeqa/manual/bsp-qemu.json index 5ec275c..021ba57 100644 --- a/meta/lib/oeqa/manual/bsp-qemu.json +++ b/meta/lib/oeqa/manual/bsp-qemu.json @@ -1,40 +1,6 @@ [ { "test": { - "@alias": "bsps-qemu.bsps-tools.Post-installation_logging", - "author": [ -{ - "email": "yi.z...@windriver.com", - "name": "yi.z...@windriver.com" -} - ], - "execution": { -"1": { - "action": "Download the poky source and set environment \n", - "expected_results": "The /var/log/postinstall.log should exist in the first boot. The content of this log is like below: \n\nRunning postinst /etc/rpm-postinsts/man... \nList directory to check the output log \nbin \nboot \ndev \netc \nhome \nlib \nlost+found \nmedia \nmnt \nproc \nrun \nsbin \nsys \ntmp \nusr \nvar \nList nonexist directory to check the stderr redirection log \nls: /nonexist: No such file or directory " -}, -"2": { - "action": "Add the following lines to a .bb file. For expample, meta/recipes-connectivity/openssh/openssh_6.2p2.bb: \n\npkg_postinst_ontarget_${PN} () { \n #!/bin/sh -e \n if [ x\"$D\" = \"x\" ]; then \n echo \"List directory to check the output log\" \n ls / \n echo \"List nonexist directory to check the stderr redirection log\" \n ls /nonexist \n else \n exit 1 \n fi \n} \n\nMake sure the feature \"debug-tweaks\" is added in conf/local.conf \n", - "expected_results": "" -}, -"3": { - "action": "Add ssh-server-openssh to EXTRA_IMAGE_FEATURES in local.conf \n", - "expected_results": "" -}, -"4": { - "action": "Build core-image-minimal \n", - "expected_results": "" -}, -"5": { - "action": "Boot up the image and check the /var/log/postinstall.log ", - "expected_results": "" -} - }, - "summary": "Post-installation_logging" -} - }, - { -"test": { "@alias": "bsps-qemu.bsps-tools.Add_user_with_cleartext_type_password_during_filesystem_construction", "author": [ { -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 11/20] manual/bsp-qemu: remove only_one_connmand_in_background test done at runtime
Signed-off-by: Armin Kuster --- meta/lib/oeqa/manual/bsp-qemu.json | 30 -- 1 file changed, 30 deletions(-) diff --git a/meta/lib/oeqa/manual/bsp-qemu.json b/meta/lib/oeqa/manual/bsp-qemu.json index 7a3d994..5ec275c 100644 --- a/meta/lib/oeqa/manual/bsp-qemu.json +++ b/meta/lib/oeqa/manual/bsp-qemu.json @@ -61,36 +61,6 @@ }, { "test": { - "@alias": "bsps-qemu.bsps-runtime.only_one_connmand_in_background(auto)", - "author": [ -{ - "email": "alexandru.c.george...@intel.com", - "name": "alexandru.c.george...@intel.com" -} - ], - "execution": { -"1": { - "action": "Boot system", - "expected_results": "" -}, -"2": { - "action": "Run \"ps aux |grep connmand\" or \"ps -ef | grep connmand\" or \"ps | grep connmand\"", - "expected_results": "Connmand (connection manager, used to manage internet connections) should be shown as an active process \n\n" -}, -"3": { - "action": "Run command \"connmand\" to try to launch to a second connmand process", - "expected_results": "" -}, -"4": { - "action": "Check, with \"ps\" connmand if a second connmand can be generated ", - "expected_results": "There should be only one connmand process instance in background ." -} - }, - "summary": "only_one_connmand_in_background" -} - }, - { -"test": { "@alias": "bsps-qemu.bsps-runtime.check_bash_in_image", "author": [ { -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 07/20] manual qa: drop ltpstress test
ltpstress was removed in Oct 2018 https://github.com/linux-test-project/ltp/commit/e752f7c19674d9b2f7d37aed123561a3f6410e97#diff-5231627fc8640e0adb955f9e69c3c08d Remove LTP stress tests ltpstress.sh runs stress.part[1-3]. But these runtest files just duplicate definitions: * stress.part1: fs, mm, nfs * stress.part2: ipc, math, nptl * stress.part3: net.multicast, pty, syscalls The definitions are outdated anyway. There is no point trying to keep them sync. Signed-off-by: Armin Kuster --- meta/lib/oeqa/manual/compliance-test.json | 28 1 file changed, 28 deletions(-) delete mode 100644 meta/lib/oeqa/manual/compliance-test.json diff --git a/meta/lib/oeqa/manual/compliance-test.json b/meta/lib/oeqa/manual/compliance-test.json deleted file mode 100644 index e374c5b..000 --- a/meta/lib/oeqa/manual/compliance-test.json +++ /dev/null @@ -1,28 +0,0 @@ -[ - { -"test": { - "@alias": "compliance-test.compliance-test.stress_test_-_ltp_-Beaglebone", - "author": [ -{ - "email": "corneliux.stoice...@intel.com", - "name": "corneliux.stoice...@intel.com" -} - ], - "execution": { -"1": { - "action": "Build LTP with toolchain or in sdk image", - "expected_results": "" -}, -"2": { - "action": "Copy LTP folder into target, for example, /opt/ltp. Modify script, testscripts/ltpstress.sh, set Iostat=1, NO_NETWORK=1", - "expected_results": "" -}, -"3": { - "action": "cd testscripts/ && ./ltpstress.sh", - "expected_results": "This stress case will run for 24 hours Check the result\ntarget should not crash with the program " -} - }, - "summary": "stress_test_-_-ltp_-Beaglebone" -} - } -] -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 15/20] OEQA: remove manual bash test
Signed-off-by: Armin Kuster --- meta/lib/oeqa/manual/bsp-qemu.json | 18 -- 1 file changed, 18 deletions(-) diff --git a/meta/lib/oeqa/manual/bsp-qemu.json b/meta/lib/oeqa/manual/bsp-qemu.json index 021ba57..b19bf4b 100644 --- a/meta/lib/oeqa/manual/bsp-qemu.json +++ b/meta/lib/oeqa/manual/bsp-qemu.json @@ -25,22 +25,4 @@ "summary": "Add_user_with_cleartext_type_password_during_filesystem_construction" } }, - { -"test": { - "@alias": "bsps-qemu.bsps-runtime.check_bash_in_image", - "author": [ -{ - "email": "alexandru.c.george...@intel.com", - "name": "alexandru.c.george...@intel.com" -} - ], - "execution": { -"1": { - "action": "After system is up, check if bash command exists with command \"which bash\"", - "expected_results": "bash command should exist in image giving something as below \"/bin/bash\"" -} - }, - "summary": "check_bash_in_image" -} - } ] -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 10/20] manual/bsp-qemu: drop xserver test done at runtime
xserver testing is done at runtime and selftest via sato image Signed-off-by: Armin Kuster --- meta/lib/oeqa/manual/bsp-qemu.json | 22 -- 1 file changed, 22 deletions(-) diff --git a/meta/lib/oeqa/manual/bsp-qemu.json b/meta/lib/oeqa/manual/bsp-qemu.json index b49abf4..7a3d994 100644 --- a/meta/lib/oeqa/manual/bsp-qemu.json +++ b/meta/lib/oeqa/manual/bsp-qemu.json @@ -91,28 +91,6 @@ }, { "test": { - "@alias": "bsps-qemu.bsps-runtime.X_server_can_start_up_with_runlevel_5_boot", - "author": [ -{ - "email": "alexandru.c.george...@intel.com", - "name": "alexandru.c.george...@intel.com" -} - ], - "execution": { -"1": { - "action": "boot up system with default runlevel \n\n", - "expected_results": "X server can start up well and desktop display has no problem . \n\n" -}, -"2": { - "action": "type runlevel at command prompt", - "expected_results": "Output:N 5" -} - }, - "summary": "X_server_can_start_up_with_runlevel_5_boot" -} - }, - { -"test": { "@alias": "bsps-qemu.bsps-runtime.check_bash_in_image", "author": [ { -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 08/20] manual qa/bsp-qemu: remove rpm tests already done in runtime
Signed-off-by: Armin Kuster --- meta/lib/oeqa/manual/bsp-qemu.json | 60 -- 1 file changed, 60 deletions(-) diff --git a/meta/lib/oeqa/manual/bsp-qemu.json b/meta/lib/oeqa/manual/bsp-qemu.json index cf51b6a..f680f64 100644 --- a/meta/lib/oeqa/manual/bsp-qemu.json +++ b/meta/lib/oeqa/manual/bsp-qemu.json @@ -91,66 +91,6 @@ }, { "test": { - "@alias": "bsps-qemu.bsps-tools.rpm_-__install_dependency_package", - "author": [ -{ - "email": "alexandru.c.george...@intel.com", - "name": "alexandru.c.george...@intel.com" -} - ], - "execution": { -"1": { - "action": "Get a not previously installed RPM package or build one on local machine, which should have run-time dependency.For example, \"mc\" (Midnight Commander, which is a visual file manager) should depend on \"ncurses-terminfo\". \n\n$ bitbake mc \n\n\n", - "expected_results": "" -}, -"2": { - "action": "Copy the package into a system folder (for example /home/root/rpm_packages). \n\n\n", - "expected_results": "" -}, -"3": { - "action": "Run \"rpm -ivh package_name\" and check the output, for example \"rpm -ivh mc.rpm*\" should report the dependency on \"ncurses-terminfo\".\n\n\n\n", - "expected_results": "3 . rpm command should report message when some RPM installation depends on other packages." -} - }, - "summary": "rpm_-__install_dependency_package" -} - }, - { -"test": { - "@alias": "bsps-qemu.bsps-tools.Check_rpm_install/removal_log_file_size(auto)", - "author": [ -{ - "email": "alexandru.c.george...@intel.com", - "name": "alexandru.c.george...@intel.com" -} - ], - "execution": { -"1": { - "action": "Get some rpm or other kind of installation packages. \n\n", - "expected_results": "Steps 1- 4 (more than 2.3) \nEach file will occupy around 10MB, and there should be some method to keep rpm log in a small size. (the size of the db of RPMs must not be taking so much space) \nStep 5 (less than or equal to 2.3)\nThe size on /var/lib/rpm/ must keep around 30MB" -}, -"2": { - "action": "After system is up, check the size of log file named as \"log.xx\" on /var/lib/rpm/log \n\n", - "expected_results": "" -}, -"3": { - "action": "After several install/removal of packages, with either of the install/removal commands (rpm/smart/zypper/dnf install/removal), check again the size of log file. \n\n", - "expected_results": "" -}, -"4": { - "action": "For packages installation, there will be some database files under /var/lib/rpm/, named as \"__db.xxx\" and there will be some log files \nunder /var/lib/rpm/log, named as \"\"log.xx\"\". \n\nNote: You will only see the log. on /var/lib/rpm/log mentioned above if the poky version is minor than 2.3.For poky 2.3 or major versions this has been modified and the package RPM4 does not show the logs.. if major, follow the next step. \n\n", - "expected_results": "" -}, -"5": { - "action": "Repeat steps (1 and 3) and check the size of /var/lib/rpm/ \n\nMore info: https://bugzilla.yoctoproject.org/show_bug.cgi?id=9259";, - "expected_results": "" -} - }, - "summary": "Check_rpm_install/removal_log_file_size" -} - }, - { -"test": { "@alias": "bsps-qemu.bsps-runtime.only_one_connmand_in_background(auto)", "author": [ { -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 09/20] manual qa/bsp-qemu: remove KVM enabled which is already done in selftest runqemu
Signed-off-by: Armin Kuster --- meta/lib/oeqa/manual/bsp-qemu.json | 30 -- 1 file changed, 30 deletions(-) diff --git a/meta/lib/oeqa/manual/bsp-qemu.json b/meta/lib/oeqa/manual/bsp-qemu.json index f680f64..b49abf4 100644 --- a/meta/lib/oeqa/manual/bsp-qemu.json +++ b/meta/lib/oeqa/manual/bsp-qemu.json @@ -1,36 +1,6 @@ [ { "test": { - "@alias": "bsps-qemu.bsps-tools.qemu_can_be_started_with_KVM_enabled", - "author": [ -{ - "email": "alexandru.c.george...@intel.com", - "name": "alexandru.c.george...@intel.com" -} - ], - "execution": { -"1": { - "action": "Build a kernel with KVM enabled \n\nIn Local.conf add \n\nQEMU_USE_KVM = \"${@ '1' if os.access('/dev/kvm', os.R_OK|os.W_OK) else '0' }\" \n\n ", - "expected_results": "" -}, -"2": { - "action": "Start qemu with option \"kvm\" with runqemu \na. If you start qemu with kvm failed, maybe it is because host not install kvm and vhost_net module. Follow below link to install them. \nb. vhost_test refer: https://wiki.yoctoproject.org/wiki/Running_an_x86_Yocto_Linux_image_under_QEMU_KVM \nc. kvm refer: https://wiki.yoctoproject.org/wiki/How_to_enable_KVM_for_Poky_qemu";, - "expected_results": "" -}, -"3": { - "action": "Check if qemu starts up and if kvm_intel module is used", - "expected_results": "" -}, -"4": { - "action": "If kvm_intel module is not used when starting qemu, it will show 0 in \"Used by\" column when you run \"lsmod | grep kvm_intel\" ", - "expected_results": "KVM enabled with qemu \nExecute \"lsmod | grep kvm_intel\" from your host twice, before and after you \nstart the qemu with kvm option. Before start, the number should be 0, \nafter start, the number should bigger than 0." -} - }, - "summary": "qemu_can_be_started_with_KVM_enabled" -} - }, - { -"test": { "@alias": "bsps-qemu.bsps-tools.Post-installation_logging", "author": [ { -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 13/20] OEQA: eclipse support was dropped in warrior
remove test Signed-off-by: Armin Kuster --- meta/lib/oeqa/manual/eclipse-plugin.json | 322 --- 1 file changed, 322 deletions(-) delete mode 100644 meta/lib/oeqa/manual/eclipse-plugin.json diff --git a/meta/lib/oeqa/manual/eclipse-plugin.json b/meta/lib/oeqa/manual/eclipse-plugin.json deleted file mode 100644 index 9869150..000 --- a/meta/lib/oeqa/manual/eclipse-plugin.json +++ /dev/null @@ -1,322 +0,0 @@ -[ -{ -"test": { -"@alias": "eclipse-plugin.eclipse-plugin.support_SSH_connection_to_Target", -"author": [ -{ -"email": "ee.peng.y...@intel.com", -"name": "ee.peng.y...@intel.com" -} -], -"execution": { -"1": { -"action": "In Eclipse, swich to Remote System Explorer to create a connention baseed on SSH, input the remote target IP address as the Host name, make sure disable the proxy in Window->Preferences->General->Network Connection, set Direct as Active Provider field. ", -"expected_results": "the connection based on SSH could be set up." -}, -"2": { -"action": "Configure connection from Eclipse: Run->Run Configurations->C/C++ Remote Application\\ ->New Connection->General->SSH Only ", -"expected_results": "" -}, -"3": { -"action": "Then right click to connect, input the user ID and password. ", -"expected_results": "" -}, -"4": { -"action": "expand the connection, it will show the Sftp Files etc. \nNOTE. Might need to change dropbear to openssh and add the packagegroup-core-eclipse-debug recipe", -"expected_results": "" -} -}, -"summary": "support_SSH_connection_to_Target" -} -}, -{ -"test": { -"@alias": "eclipse-plugin.eclipse-plugin.Launch_QEMU_from_Eclipse", -"author": [ -{ -"email": "ee.peng.y...@intel.com", -"name": "ee.peng.y...@intel.com" -} -], -"execution": { -"1": { -"action": "Set the Yocto ADT's toolchain root location, sysroot location and kernel, in the menu Window -> Preferences -> Yocto ADT. \n \n", -"expected_results": "" -}, -"2": { -"action": "wget autobuilder.yoctoproject.org/pub/releases//machines/qemu/qemux86/qemu (ex:core-image-sato-sdk-qemux86-date-rootfs-tar-bz2) \nsource /opt/poky/version/environment-setup-i585-poky-linux \n\nExtract qemu with runqemu-extract-sdk /home/user/file(ex.core-image-sato-sdk-qemux86.bz2) \n/home/user/qemux86-sato-sdk \n\n", -"expected_results": " Qemu can be lauched normally." -}, -"3": { -"action": "(a)Point to the Toolchain: \n \nIf you are using a stand-alone pre-built toolchain, you should be pointing to the /opt/poky/{test-version} directory as Toolchain Root Location. This is the default location for toolchains installed by the ADT Installer or by hand. If ADT is installed in other location, use that location as Toolchain location.\nIf you are using a system-derived toolchain, the path you provide for the Toolchain Root Location field is the Yocto Project's build directory. \n \n E.g:/home/user/yocto/poky/build \n", -"expected_results": "" -}, -"4": { -"action": "(b)Specify the Sysroot Location: \nSysroot Location is the location where the root filesystem for the target hardware is created on the development system by the ADT Installer (SYSROOT in step 2 of the case ADT installer Installation). \n \n Local : e.g: /home/user/qemux86-sato-sdk \nUsing ADT : e.g :/home/user/test-yocto/qemux86 \n\n", -"expected_results": "" -}, -"5": { -"action": "(c)Select the Target Architecture: \n \nThe target architecture is the type of hardware you are going to use or emulate. Use the pull-down Target Architecture menu to make your selection. \n \n\n", -"expected_results": "" -}, -"6": { -"action": "(d) QEMU: \nSelect this option if you will be using the QEMU emulator. Specify the Kernel matching the QEMU architecture you are using. \n wget autobuilder.yoctoproject.org/pub/releases//machines/qemu/qemux86/bzImage-qemux86.bin \n e.g: /home/$USER/yocto/adt-installer/download_image/bzImage-qemux86.bin \n\n", -"expected_results": "" -},
[OE-core] [PATCH 14/20] OEQA: move manual bash test to runtime
Signed-off-by: Armin Kuster --- meta/lib/oeqa/selftest/cases/runtime_test.py | 17 + 1 file changed, 17 insertions(+) diff --git a/meta/lib/oeqa/selftest/cases/runtime_test.py b/meta/lib/oeqa/selftest/cases/runtime_test.py index 7d3922c..28804ea 100644 --- a/meta/lib/oeqa/selftest/cases/runtime_test.py +++ b/meta/lib/oeqa/selftest/cases/runtime_test.py @@ -322,3 +322,20 @@ class Postinst(OESelftestTestCase): self.assertFalse(os.path.isfile(os.path.join(hosttestdir, "rootfs-after-failure")), "rootfs-after-failure file was created") + + +class Bsp(OESelftestTestCase): +def test_bash_installed(self): +""" +Summary:The purpose of this test case is to verify that bash +in exists in the image. Test came from manual. +Expected: Bash is found. +""" + +features = 'IMAGE_INSTALL_append = " bash"\n' +self.write_config(features) +bitbake('core-image-minimal') + +with runqemu('core-image-minimal') as qemu: +result = runCmd("which bash" , shell=True) +self.assertEqual(0, result.status, "Couldn't find bash") -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 17/20] OEQA: move list-packageconfig-flags tests from manual to self
Signed-off-by: Armin Kuster --- meta/lib/oeqa/selftest/cases/oescripts.py | 59 +++ 1 file changed, 59 insertions(+) diff --git a/meta/lib/oeqa/selftest/cases/oescripts.py b/meta/lib/oeqa/selftest/cases/oescripts.py index 80d8b2c..41cbe04 100644 --- a/meta/lib/oeqa/selftest/cases/oescripts.py +++ b/meta/lib/oeqa/selftest/cases/oescripts.py @@ -65,6 +65,7 @@ class OEPybootchartguyTests(OEScriptTests): runCmd('%s/pybootchartgui/pybootchartgui.py %s -o %s/charts -f pdf' % (self.scripts_dir, self.buildstats, self.tmpdir)) self.assertTrue(os.path.exists(self.tmpdir + "/charts.pdf")) + class OEGitproxyTests(OESelftestTestCase): scripts_dir = os.path.join(get_bb_var('COREBASE'), 'scripts') @@ -127,3 +128,61 @@ class OeRunNativeTest(OESelftestTestCase): bitbake("qemu-helper-native -c addto_recipe_sysroot") result = runCmd("oe-run-native qemu-helper-native tunctl -h") self.assertIn("Delete: tunctl -d device-name [-f tun-clone-device]", result.output) + +class OEListPackageconfigTests(OEScriptTests): +#oe-core.scripts.List_all_the_PACKAGECONFIG's_flags +def check_endlines(self, results, expected_endlines): +for line in results.output.splitlines(): +for el in expected_endlines: +if line == el: +expected_endlines.remove(el) +break + +if expected_endlines: +self.fail('Missing expected listings:\n %s' % '\n '.join(expected_endlines)) + + +#oe-core.scripts.List_all_the_PACKAGECONFIG's_flags +def test_packageconfig_flags_help(self): +runCmd('%s/contrib/list-packageconfig-flags.py -h' % self.scripts_dir) + +def test_packageconfig_flags_default(self): +results = runCmd('%s/contrib/list-packageconfig-flags.py' % self.scripts_dir) +expected_endlines = [] +expected_endlines.append("RECIPE NAME PACKAGECONFIG FLAGS") +expected_endlines.append("pinentry gtk2 libcap ncurses qt secret") +expected_endlines.append("tar acl") + +self.check_endlines(results, expected_endlines) + + +def test_packageconfig_flags_option_flags(self): +results = runCmd('%s/contrib/list-packageconfig-flags.py -f' % self.scripts_dir) +expected_endlines = [] +expected_endlines.append("PACKAGECONFIG FLAG RECIPE NAMES") +expected_endlines.append("qt nativesdk-pinentry pinentry pinentry-native") +expected_endlines.append("secret nativesdk-pinentry pinentry pinentry-native") + +self.check_endlines(results, expected_endlines) + +def test_packageconfig_flags_option_all(self): +results = runCmd('%s/contrib/list-packageconfig-flags.py -a' % self.scripts_dir) +expected_endlines = [] +expected_endlines.append("pinentry-1.1.0") +expected_endlines.append("PACKAGECONFIG ncurses libcap") +expected_endlines.append("PACKAGECONFIG[qt] --enable-pinentry-qt, --disable-pinentry-qt, qtbase-native qtbase") +expected_endlines.append("PACKAGECONFIG[gtk2] --enable-pinentry-gtk2, --disable-pinentry-gtk2, gtk+ glib-2.0") +expected_endlines.append("PACKAGECONFIG[libcap] --with-libcap, --without-libcap, libcap") +expected_endlines.append("PACKAGECONFIG[ncurses] --enable-ncurses --with-ncurses-include-dir=${STAGING_INCDIR}, --disable-ncurses, ncurses") +expected_endlines.append("PACKAGECONFIG[secret] --enable-libsecret, --disable-libsecret, libsecret") + +self.check_endlines(results, expected_endlines) + +def test_packageconfig_flags_optiins_preferred_only(self): +results = runCmd('%s/contrib/list-packageconfig-flags.py -p' % self.scripts_dir) +expected_endlines = [] +expected_endlines.append("RECIPE NAME PACKAGECONFIG FLAGS") +expected_endlines.append("pinentry gtk2 libcap ncurses qt secret") + +self.check_endlines(results, expected_endlines) + -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 18/20] OEQA: remove manual PACKAGECONFIG_FLAGS tests
Signed-off-by: Armin Kuster --- meta/lib/oeqa/manual/oe-core.json | 36 +--- 1 file changed, 1 insertion(+), 35 deletions(-) diff --git a/meta/lib/oeqa/manual/oe-core.json b/meta/lib/oeqa/manual/oe-core.json index 3ee0aa9..6191d4f 100644 --- a/meta/lib/oeqa/manual/oe-core.json +++ b/meta/lib/oeqa/manual/oe-core.json @@ -43,40 +43,6 @@ }, { "test": { - "@alias": "oe-core.scripts.List_all_the_PACKAGECONFIG's_flags", - "author": [ -{ - "email": "yi.z...@windriver.com", - "name": "yi.z...@windriver.com" -} - ], - "execution": { -"1": { - "action": " Download the poky source and setup the environment. ", - "expected_results": "" -}, -"2": { - "action": "Run \"../scripts/contrib/list-packageconfig-flags.py\" ", - "expected_results": "In step 2, will list available pkgs which have PACKAGECONFIG flags: \nPACKAGE NAME (or RECIPE NAME) PACKAGECONFIG FLAGS \n== \nalsa-tools-1.0.26.1 defaultval gtk+ \navahi-ui-0.6.31defaultval python \nbluez4-4.101alsa defaultval pie \n" -}, -"3": { - "action": "Run \"../scripts/contrib/list-packageconfig-flags.py -f\" ", - "expected_results": "In step 3, will list available PACKAGECONFIG flags and all affected pkgs \nPACKAGECONFIG FLAG PACKAGE NAMES (or RECIPE NAMES) \n \n3g connman-1.16 \n\navahicups-1.6.3 pulseaudio-4.0 \nbeecrypt rpm-5.4.9 rpm-native-5.4.9 \n" -}, -"4": { - "action": "Run \"../scripts/contrib/list-packageconfig-flags.py -a\" ", - "expected_results": "In step 4, will list all pkgs and PACKAGECONFIG information: \n== \ngtk+-2.24.18 \n/home/jiahongxu/yocto/poky/meta/recipes-gnome/gtk+/gtk+_2.24.18.bb \nPACKAGECONFIG x11 \nPACKAGECONFIG[x11] --with-x=yes --with-gdktarget=x11,--with-x=no,${X11DEPENDS} \nxf86-video-intel-2.21.9 \n/home/jiahongxu/yocto/poky/meta/recipes-graphics/xorg-driver/xf86-video-intel_2.21.9.bb \nPACKAGECONFIG None \nPACKAGECONFIG[xvmc] --enable-xvmc,--disable-xvmc,libxvmc \nPACKAGECONFIG[sna] --enable-sna,--disable-sna \n" -}, -"5": { - "action": "Run \"../scripts/contrib/list-packageconfig-flags.py -p\" ", - "expected_results": "In step 5, will list pkgs with preferred version: \nPACKAGE NAME (or RECIPE NAME) PACKAGECONFIG FLAGS \n=== \nalsa-tools-1.0.26.1 defaultval gtk+ \navahi-ui-0.6.31 defaultval python \nbluez4-4.101 alsa defaultval pie \nbluez5-5.7alsa defaultval obex-profiles \n\n\n\n " -} - }, - "summary": "List_all_the_PACKAGECONFIG's_flags" -} - }, - { -"test": { "@alias": "oe-core.bitbake.Test_bitbake_menuconfig", "author": [ { @@ -231,4 +197,4 @@ "summary": "test_bitbake_sane_error_for_invalid_layer" } } -] \ No newline at end of file +] -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 19/20] OEQA: add crosstab selftest
Signed-off-by: Armin Kuster --- meta/lib/oeqa/selftest/cases/runtime_test.py | 78 1 file changed, 78 insertions(+) diff --git a/meta/lib/oeqa/selftest/cases/runtime_test.py b/meta/lib/oeqa/selftest/cases/runtime_test.py index 28804ea..ec99573 100644 --- a/meta/lib/oeqa/selftest/cases/runtime_test.py +++ b/meta/lib/oeqa/selftest/cases/runtime_test.py @@ -339,3 +339,81 @@ class Bsp(OESelftestTestCase): with runqemu('core-image-minimal') as qemu: result = runCmd("which bash" , shell=True) self.assertEqual(0, result.status, "Couldn't find bash") + + +class SystemTap(OESelftestTestCase): +""" +Summary:The purpose of this test case is to verify native crosstap +works while talking to a target. +Expected: The script should successfully connect to the qemu machine +and run some systemtap examples on a qemu machine. +""" + +@classmethod +def setUpClass(cls): +super(SystemTap, cls).setUpClass() +cls.image = "core-image-minimal" + +def default_config(self): +return """ +# These aren't the actual IP addresses but testexport class needs something defined +TEST_SERVER_IP = "192.168.7.1" +TEST_TARGET_IP = "192.168.7.2" + +EXTRA_IMAGE_FEATURES += "tools-profile dbg-pkgs" +IMAGE_FEATURES_append = " ssh-server-dropbear" + +# enables kernel debug symbols +KERNEL_EXTRA_FEATURES_append = " features/debug/debug-kernel.scc" +KERNEL_EXTRA_FEATURES_append = " features/systemtap/systemtap.scc" + +# add systemtap run-time into target image if it is not there yet +IMAGE_INSTALL_append = " systemtap" +""" + +def test_crosstap_helloworld(self): +self.write_config(self.default_config()) +bitbake('systemtap-native') +systemtap_examples = os.path.join(get_bb_var("WORKDIR","systemtap-native"), "usr/share/systemtap/examples") +bitbake(self.image) + +with runqemu(self.image) as qemu: +cmd = "crosstap -r root@192.168.7.2 -s %s/general/helloworld.stp " % systemtap_examples +result = runCmd(cmd) +self.assertEqual(0, result.status, 'crosstap helloworld returned a non 0 status:%s' % result.output) + +def test_crosstap_pstree(self): +self.write_config(self.default_config()) + +bitbake('systemtap-native') +systemtap_examples = os.path.join(get_bb_var("WORKDIR","systemtap-native"), "usr/share/systemtap/examples") +bitbake(self.image) + +with runqemu(self.image) as qemu: +cmd = "crosstap -r root@192.168.7.2 -s %s/process/pstree.stp" % systemtap_examples +result = runCmd(cmd) +self.assertEqual(0, result.status, 'crosstap pstree returned a non 0 status:%s' % result.output) + +def test_crosstap_syscalls_by_proc(self): +self.write_config(self.default_config()) + +bitbake('systemtap-native') +systemtap_examples = os.path.join(get_bb_var("WORKDIR","systemtap-native"), "usr/share/systemtap/examples") +bitbake(self.image) + +with runqemu(self.image) as qemu: +cmd = "crosstap -r root@192.168.7.2 -s %s/process/ syscalls_by_proc.stp" % systemtap_examples +result = runCmd(cmd) +self.assertEqual(0, result.status, 'crosstap syscalls_by_proc returned a non 0 status:%s' % result.output) + +def test_crosstap_syscalls_by_pid(self): +self.write_config(self.default_config()) + +bitbake('systemtap-native') +systemtap_examples = os.path.join(get_bb_var("WORKDIR","systemtap-native"), "usr/share/systemtap/examples") +bitbake(self.image) + +with runqemu(self.image) as qemu: +cmd = "crosstap -r root@192.168.7.2 -s %s/process/ syscalls_by_pid.stp" % systemtap_examples +result = runCmd(cmd) +self.assertEqual(0, result.status, 'crosstap syscalls_by_pid returned a non 0 status:%s' % result.output) -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 20/20] OEQA: remove crosstab test from manual
Signed-off-by: Armin Kuster --- meta/lib/oeqa/manual/oe-core.json | 42 --- 1 file changed, 42 deletions(-) diff --git a/meta/lib/oeqa/manual/oe-core.json b/meta/lib/oeqa/manual/oe-core.json index 6191d4f..fb47c5e 100644 --- a/meta/lib/oeqa/manual/oe-core.json +++ b/meta/lib/oeqa/manual/oe-core.json @@ -1,48 +1,6 @@ [ { "test": { - "@alias": "oe-core.scripts.Crosstap_script_check", - "author": [ -{ - "email": "alexandru.c.george...@intel.com", - "name": "alexandru.c.george...@intel.com" -} - ], - "execution": { -"1": { - "action": "Create the trace_open.stp script as follows in the host machine: \n\n\nprobe syscall.open \n\n{ \n\n\nprintf (\"%s(%d) open (%s)\\n\", execname(), pid(), argstr) \n\n} \n\n\n\nif the above failed, then create the below instead. \n\nprobe syscall.open \n{ \n printf (\"%s(%d) open\\n\", execname(), pid()) \n\n} \n \n", - "expected_results": "" -}, -"2": { - "action": "Add 'tools-profile' and 'ssh-server-openssh' to EXTRA_IMAGE_FEATURES in local.conf \n\n\n", - "expected_results": "" -}, -"3": { - "action": "Build a core-image-minimal image, build systemtap-native. Start the image under qemu. \n\n", - "expected_results": "" -}, -"4": { - "action": "Make sure that the ssh service is started on the Qemu machine. \n\n", - "expected_results": "" -}, -"5": { - "action": "From the host machine poky build_dir, run \"crosstap root@192.168.7.2 trace_open.stp\".", - "expected_results": "" -}, -"6": { - "action": "In QEMU, try to open some applications, such as open a terminal, input some command, \n\n", - "expected_results": "" -}, -"7": { - "action": "Check the host machine, \"crosstap\" has related output. \n\n\n\nNOTE: Do not build the kernel from shared state(sstate-cache) for this to work.", - "expected_results": "The script should successfully connect to the qemu machine and there \nshould be presented a list of services(pid, process name) which run on \nthe qemu machine. " -} - }, - "summary": "Crosstap_script_check" -} - }, - { -"test": { "@alias": "oe-core.bitbake.Test_bitbake_menuconfig", "author": [ { -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 16/20] OEQA: remove manual useradd test
useradd tested is done via: test_non_root_user_can_connect_via_ssh_without_password and test_non_root_user_can_connect_via_ssh_without_password Signed-off-by: Armin Kuster --- meta/lib/oeqa/manual/bsp-qemu.json | 28 1 file changed, 28 deletions(-) delete mode 100644 meta/lib/oeqa/manual/bsp-qemu.json diff --git a/meta/lib/oeqa/manual/bsp-qemu.json b/meta/lib/oeqa/manual/bsp-qemu.json deleted file mode 100644 index b19bf4b..000 --- a/meta/lib/oeqa/manual/bsp-qemu.json +++ /dev/null @@ -1,28 +0,0 @@ -[ - { -"test": { - "@alias": "bsps-qemu.bsps-tools.Add_user_with_cleartext_type_password_during_filesystem_construction", - "author": [ -{ - "email": "ke@windriver.com", - "name": "ke@windriver.com" -} - ], - "execution": { -"1": { - "action": "Download the poky source and set the environment \n\n", - "expected_results": "No error during image building procedure. \n" -}, -"2": { - "action": "Add the following lines in conf/local.conf \n\nINHERIT += \"extrausers\" \n\nEXTRA_USERS_PARAMS = \"\\ \nuseradd -s /bin/sh -P 'tester3' tester3;\\ \n\" \n\nThe above settings do the following things: \na. Add a user tester3 with cleartext password 'tester3' ", - "expected_results": "Image can boot up \n" -}, -"3": { - "action": "Build the image\n ", - "expected_results": "Login with user name \"tester3\" and password \"tester3\" " -} - }, - "summary": "Add_user_with_cleartext_type_password_during_filesystem_construction" -} - }, -] -- 2.7.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] archiver: avoid empty incfile in ar_recipe
Hi Andrei, On Monday, November 11, 2019 19:41, Andrei Gherzan wrote: > Hi, > > On 11/11/2019 12:29, Grygorii Tertychnyi (gtertych) wrote: >> Hi Andrei, >> >> From: Andrei Gherzan >> Sent: Monday, November 11, 2019 13:18 >> Subject: Re: [OE-core] [PATCH] archiver: avoid empty incfile in ar_recipe >> Not sure I understand. Archiver class does not interpret "include" directive. It just parses text files. The regular expression looks correct: These lines: 440 elif include_re.match(line): 441 incfile = include_re.match(line).group(1) put "${...}" _string_ into "incfile" variable. So, "incfile" is not None at "this stage. >> >>> "${...}" it's already expanded to a white-space. So in that case it >>> matches "include ". >> >> No. "incfile" is not expanded here, it actually contains "${...}", e.g. >> ${@bb.utils.contains('PACKAGECONFIG', 'scripting', 'perf-perl.inc', '', d)} > > Give me a simple way to reproduce this. 1. Put two lines to local.conf % cat <> conf/local.conf PACKAGECONFIG_remove_pn-perf = "scripting" INHERIT += "archiver" CONF 2. Run do_ar_recipe for perf % bitbake -c ar_recipe perf 3. Observe the output error: Exception: IsADirectoryError: [Errno 21] Is a directory -- Grygorii -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core