<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/poky.git/meta/classes/sanity.bbclass, branch 3.2_M2</title>
<subtitle>Mirror of git.yoctoproject.org/poky</subtitle>
<id>https://git.enea.com/cgit/linux/poky.git/atom?h=3.2_M2</id>
<link rel='self' href='https://git.enea.com/cgit/linux/poky.git/atom?h=3.2_M2'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/'/>
<updated>2020-05-24T22:56:03+00:00</updated>
<entry>
<title>sanity.bbclass: Detect and fail if 'inherit' is used in conf file</title>
<updated>2020-05-24T22:56:03+00:00</updated>
<author>
<name>Gregor Zatko</name>
<email>gzatko@gmail.com</email>
</author>
<published>2020-05-24T10:24:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=d16186c47cd58fd6d0a0ddd2ba412c8ed1753551'/>
<id>urn:sha1:d16186c47cd58fd6d0a0ddd2ba412c8ed1753551</id>
<content type='text'>
'inherit' directive may not be used in conf files as it's supposed
to be used for the inheritance of classes.
Correct form in conf file is INHERIT.

This commit adds:
- a sanity check to find whether the wrong case exists
- fail the build if so
- tell user about the difference in directives

[YOCTO #5426]

(From OE-Core rev: 07bf9b460fe97dec86439302a83bbefa8bac9d70)

Signed-off-by: Gregor Zatko &lt;gzatko@gmail.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>sanity: Require gcc 6 or later</title>
<updated>2020-05-02T08:08:52+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2020-04-29T21:59:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=f7b8747c528a1a78c0eec68f9b63eb1dcbb404f3'/>
<id>urn:sha1:f7b8747c528a1a78c0eec68f9b63eb1dcbb404f3</id>
<content type='text'>
New versions of rpm have issues with the libgomp support in gcc 5.x
so raise the minimum to 6 or later. This mainly affects Ubuntu 16.04.

(From OE-Core rev: aca2e5816203b54e0955eaa99fc980d010052d5d)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>Windows: Enable Windows builds under WSLv2 and warn accordingly</title>
<updated>2020-04-06T13:25:52+00:00</updated>
<author>
<name>Alejandro Hernandez Samaniego</name>
<email>alhe@linux.microsoft.com</email>
</author>
<published>2020-03-15T06:13:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=26da8460345d1e9e82cd0c25df307ed75518eda2'/>
<id>urn:sha1:26da8460345d1e9e82cd0c25df307ed75518eda2</id>
<content type='text'>
Due to the architectural changes between Windows Subsystem for Linux v2,
and WSL v1 it should now be possible to run bitbake on the several distros
offered through the Microsoft Store.

WSLv2 is available on Windows 10 build number &gt; 18917

The current build number may be checked by opening a cmd prompt on Windows
and running:

C:\Users\myuser&gt;ver

Microsoft Windows [Version 10.0.19041.113]

If a distro has already been installed via the Microsoft Store, then we can
check which WSL version its using by opening a Windows Powershell (notice this
is a powershell and not a cmd prompt):

C:\WINDOWS\system32&gt; wsl -l -v
  NAME      STATE           VERSION
  * Ubuntu    Running         2
    Debian    Stopped         1

In this case it shows two distros installed, Ubuntu running WSLv2 and
Debian running WSLv1

To change the version of WSL being used by a certain distro run:

C:\WINDOWS\system32&gt; wsl --set-version &lt;Distro&gt; 2

e.g

C:\WINDOWS\system32&gt; wsl --set-version Debian 2

For more information on installing WSLv2 please look at:

  https://docs.microsoft.com/en-us/windows/wsl/wsl2-install

There are some caveats related to the way storage is handled by WSLv2 though,
and at this point these have to be managed by the user manually, the storage
space used by WSL is not reflected immediately and since bitbake heavily uses
storage, after several builds this can prove to be a bit of an issue.

WSLv2 uses a VHDX file for storage, this issue can be easily avoided by
optimizing this file every now and then, this can be done via the following:

1.- Find the location of your VHDX file:
 - Get the distro app package directory.
 - Open Windows Powershell as Administrator and run:
  Get-AppxPackage -Name "*&lt;DISTRO&gt;*" | Select PackageFamilyName

 e.g.:
  PS C:\WINDOWS\system32&gt; Get-AppxPackage -Name "*Ubuntu*" | Select PackageFamilyName

 PackageFamilyName
  -----------------
   CanonicalGroupLimited.UbuntuonWindows_79abcdefgh

 Replace the PackageFamilyName (and your user) on the following path:

 C:\Users\&lt;user&gt;\AppData\Local\Packages\&lt;PackageFamilyName&gt;\LocalState\

 e.g.

 ls C:\Users\&lt;user&gt;\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79abcdefgh\LocalState\

 Mode                 LastWriteTime         Length Name
  -a----         3/14/2020   9:52 PM    57418973184 ext4.vhdx

 The VHDX file path is:
  C:\Users\&lt;user&gt;\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79abcdefgh\LocalState\ext4.vhdx

2.- Optimize your VHDX file (Also on Powershell):
 - Make sure WSL is shutdown
  wsl --shutdown

 - Optimize it
  optimize-vhd -Path C:\Users\&lt;user&gt;\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79abcdefgh\LocalState\ext4.vhdx -Mode full

 A progress bar should be shown while optimizing the VHDX file.

 As an example, after building core-image-sato, removing the TMPDIR did not reflect
 any changes on Windows Explorer for storage space being used, after optimizing the
 VHDX file, 14 extra GB were shown as free.

 So, as long as the the user optimizes its storage, the builds should run smoothly.

This patch warns the user that is running bitbake under WSLv2, that they should
optimize the VHDX file eventually to avoid storage issues.

The same check previoulsy used for WSLv1 works for WSLv2, checking for the kernel
version:
WSLv1:
Linux version 4.4.0-19041-Microsoft (Microsoft@Microsoft.com)

WSLv2:
Linux version 4.19.84-microsoft-standard (oe-user@oe-host)

Builds have been tested under Ubuntu and Debian distros offered and installed through
the Microsoft Store, and other distros should be able to run builds just as fine.

Performance wise, using the same hardware, and same configuration a comparison between
builds using native Linux vs WSLv2 for the following targets has been performed:
- core-image-minimal
- core-image-sato
- core-image-sato-sdk
- meta-toolchain

No real evidence of any performance changes could be found, with WSLv2 builds running even
faster in some cases.

Running a recently built image can be done just as smoothly, if using "nographic" as
argument for runqemu, or if its a graphical image, installing an X server and running
runqemu runs just as fine.

Happy bitbaking.

(From OE-Core rev: c42cec0c1c57c4e67dc7cdb07c5e4aba14a847d3)

Signed-off-by: Alejandro Hernandez Samaniego &lt;alejandro@enedino.org&gt;
Signed-off-by: Alejandro Hernandez Samaniego &lt;alhe@linux.microsoft.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>sanity.bbclass: echo current SDK_VENDOR if it is invalid</title>
<updated>2020-04-05T10:46:38+00:00</updated>
<author>
<name>Paul Gortmaker</name>
<email>paul.gortmaker@windriver.com</email>
</author>
<published>2020-04-03T16:21:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=45157a4e8217f997996cd6b0ab47f0a3c4cc1f48'/>
<id>urn:sha1:45157a4e8217f997996cd6b0ab47f0a3c4cc1f48</id>
<content type='text'>
It can be frustrating if this sanity check triggers, but you
don't know why; you haven't explicitly set any SDK vars, or
similar.

At least echo out the offending value, so the end user has
a bit more information to go on.

Before:
  SDK_VENDOR should be of the form '-foosdk' with a single dash
After:
  SDK_VENDOR should be of the form '-foosdk' with a single dash; found '-overc-sdk'

Cc: Ross Burton &lt;ross.burton@intel.com&gt;
(From OE-Core rev: e238fa177bd72bc5d165fbe4f640132267a1d3fd)

Signed-off-by: Paul Gortmaker &lt;paul.gortmaker@windriver.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>sanity: Require gcc 5.0 minimum version</title>
<updated>2020-04-05T10:46:37+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2020-04-02T15:45:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=4c9cfe61a58eccad7b18d8a58583de5057d3f60d'/>
<id>urn:sha1:4c9cfe61a58eccad7b18d8a58583de5057d3f60d</id>
<content type='text'>
After polling various develoeprs, its clear that many layers are struggling
with gcc 4.8 and its better for the project to adopt 5.0 as a minimum
version at this point in time. We should have technology like
buildtools-extended-tarball available to ensure things still work on Centos 7
and Debian 8.

(From OE-Core rev: abc741af16311cb473b7e3185ae34265b243d804)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>sanity.bbclass: add test for gcc &lt; 4.8</title>
<updated>2020-04-01T10:44:24+00:00</updated>
<author>
<name>Tim Orling</name>
<email>timothy.t.orling@linux.intel.com</email>
</author>
<published>2020-03-31T20:03:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=37833137005980c41bc2c898d0e011f74da8cf8c'/>
<id>urn:sha1:37833137005980c41bc2c898d0e011f74da8cf8c</id>
<content type='text'>
It is known that old versions of gcc prior to 4.8 causes builds to fail.

Add a test for BUILD_CC == 'gcc' and gcc &lt; 4.8 and recommend using
scripts/install-buildtools or user built buildtools-extended-tarball.

Use the new get_host_compiler_version function from lib/oe/utils.py

NOTE: another solution is to install devtoolset-6+ from scl [1], but
this is a rather large install (&gt; 1 Gb) and fairly invasive.

[1] https://www.softwarecollections.org/en/scls/rhscl/devtoolset-6/

Adding this code means we can increase the minimum version easily
in the future too (which will soon be needed).

RP: Change minimum version from 5.0 to 4.8 for initial patch
(From OE-Core rev: 3bb3b9cbad82b2f09386153226d1d4e769b7347b)

Signed-off-by: Tim Orling &lt;timothy.t.orling@linux.intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>sanity.bbclass: recommend using install-buildtools</title>
<updated>2020-04-01T10:44:23+00:00</updated>
<author>
<name>Tim Orling</name>
<email>timothy.t.orling@linux.intel.com</email>
</author>
<published>2020-03-31T20:03:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=8c1aeb60c8a682be059c8615152cf1e96f8b1cb5'/>
<id>urn:sha1:8c1aeb60c8a682be059c8615152cf1e96f8b1cb5</id>
<content type='text'>
For old tar version (&lt; 1.28), recommend using
scripts/install-buildtools

Drop check for tar version 1.24. Dubious extra value.

(From OE-Core rev: 7a66434cf11b7f051699b774e4fccd6738351368)

Signed-off-by: Tim Orling &lt;timothy.t.orling@linux.intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake.conf/sanity: Drop makeinfo as being required on buildhost</title>
<updated>2020-02-03T00:10:11+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2020-01-28T14:46:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=a264dc462c578ac6d7c40bd9489c19fb624f16b5'/>
<id>urn:sha1:a264dc462c578ac6d7c40bd9489c19fb624f16b5</id>
<content type='text'>
This is a long standing 'odd' dependency which we've meant to
resolve. We shouldn't need it and it introduces reproducability issues.

We already have texinfo-dummy-native and texinfo-native which can
provide it but the work to remove the hosttool was never completed.

After cleaning up texinfo.bbclass, this can now be removed with
minimal impact on build time.

[YOCTO #13753]

(From OE-Core rev: 0c58c479af151969dfb84d8763696da657f7248d)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>sanity.bbclass: Move sanity_info from conf to cache</title>
<updated>2020-01-10T21:18:22+00:00</updated>
<author>
<name>Peter Kjellerstedt</name>
<email>peter.kjellerstedt@axis.com</email>
</author>
<published>2020-01-07T22:10:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=2f90c165aa93c00d504775b6cea77e88c7011690'/>
<id>urn:sha1:2f90c165aa93c00d504775b6cea77e88c7011690</id>
<content type='text'>
Since this file is written during recipe parsing, having it in the
${BUILDDIR}/conf directory, which is covered by an inotify watcher,
will trigger a re-parse the next time bitbake is run and the resident
bitbake server is enabled. This causes the sanity_info file to be
updated again, which triggers a new parse the next time bitbake is run
ad infinitum. Moving it to ${BUILDDIR}/cache should avoid this.

(From OE-Core rev: f98103b548aa7dba6b1be6c8e02ef41858a8e85c)

Signed-off-by: Peter Kjellerstedt &lt;peter.kjellerstedt@axis.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>sanity: Add check for tar older than 1.28</title>
<updated>2019-11-22T23:13:06+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2019-11-21T14:59:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=2c7624c17e43f9215cf7dcebf7258d28711bc3ce'/>
<id>urn:sha1:2c7624c17e43f9215cf7dcebf7258d28711bc3ce</id>
<content type='text'>
Older versions break opkg-build when reproducible builds are enabled.
Rather than trying to be selective based on which features are enabled,
lets just make this a minimum version.

(From OE-Core rev: 0fdc43da005c3c6102cf07383ad6f451d2203fa5)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
</feed>
