]> code.ossystems Code Review - openembedded-core.git/log
openembedded-core.git
5 years agobuild-appliance-image: Update to master head revision 2020-04 2020-04-dunfell yocto-3.1
Richard Purdie [Tue, 7 Apr 2020 21:15:32 +0000 (22:15 +0100)]
build-appliance-image: Update to master head revision

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agoRevert "u-boot: cmd/gpt.c: fix memory leak"
Richard Purdie [Tue, 7 Apr 2020 21:15:07 +0000 (22:15 +0100)]
Revert "u-boot: cmd/gpt.c: fix memory leak"

This reverts commit 32f01f9e72089d4412cef5da80970c99c651cc49.

5 years agobuild-appliance-image: Update to master head revision
Richard Purdie [Tue, 7 Apr 2020 21:01:30 +0000 (22:01 +0100)]
build-appliance-image: Update to master head revision

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agolibubootenv: update to latest git hash
Max Krummenacher [Tue, 7 Apr 2020 18:05:01 +0000 (20:05 +0200)]
libubootenv: update to latest git hash

This adds the missing feature 'negative offsets' which was present
in the orginal U-Boot based tools.

git change log:
f4b9cde Allow negative offsets
45bf92a Detect sector size if not found in config
9f59db6 uboot_env: remove unused variables
65d243e README: libubootenv is now in oe-core

Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agou-boot: cmd/gpt.c: fix memory leak
Sakib Sajal [Mon, 6 Apr 2020 16:08:28 +0000 (09:08 -0700)]
u-boot: cmd/gpt.c: fix memory leak

Fixes CVE-2020-8432, a double free introduced
by commit 18030d04d25d7c08d3deff85881772a520d84d49

CVE: CVE-2020-8432
Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agoparselogs.py: update network interface related messages
Changqing Li [Tue, 7 Apr 2020 09:46:36 +0000 (17:46 +0800)]
parselogs.py: update network interface related messages

along with systemd upgrade, error message related change
network interface have changed, update it.

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agoRevert "dhclient: not always skip the nfsroot interface"
Mingli Yu [Tue, 7 Apr 2020 08:38:58 +0000 (16:38 +0800)]
Revert "dhclient: not always skip the nfsroot interface"

This reverts commit[27aec88 dhclient: not always skip
the nfsroot interface] which used to address the IP
address renew issue when boot a system in a nfsroot fs
and altogether boot with ip=dhcp.

But reported by some tester, the above commit introduces
below issue when run ltp test on a nfsroot system which
boot with ip=dhcp:
nfs: server 192.168.100.1 not responding, still trying
nfs: server 192.168.100.1 not responding, still trying
[snip]

So revert the above commit now to avoid blocking test.

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agoqemu: fix CVE-2020-11102
Lee Chee Yang [Tue, 7 Apr 2020 05:00:04 +0000 (13:00 +0800)]
qemu: fix CVE-2020-11102

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agoRevert "wic: Fix permissions when using exclude or include path"
Richard Purdie [Tue, 7 Apr 2020 20:52:20 +0000 (21:52 +0100)]
Revert "wic: Fix permissions when using exclude or include path"

This reverts commit 36993eea89d1c011397b7692b9b8d61b499d0171.

After discussion on the mailing list it was felt these changes
were not ready yet.

5 years agoRevert "wic: Add --embed-rootfs argument"
Richard Purdie [Tue, 7 Apr 2020 20:52:15 +0000 (21:52 +0100)]
Revert "wic: Add --embed-rootfs argument"

This reverts commit efdcf94801f6abe8e4099e324d9a3deccd8d4384.

After discussion on the mailing list it was felt these
changes were not ready yet.

5 years agobuild-appliance-image: Update to master head revision
Richard Purdie [Mon, 6 Apr 2020 15:50:35 +0000 (16:50 +0100)]
build-appliance-image: Update to master head revision

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agorunqemu-extract-sdk: fix install debugfs on rootfs
Adrian Freihofer [Mon, 6 Apr 2020 14:48:33 +0000 (16:48 +0200)]
runqemu-extract-sdk: fix install debugfs on rootfs

At least with my current setup and acc. the manual, the images are named
like image-dbg.rootfs.tar.bz2.

The filter has two bugs:
- expects something like -dbg.tar
- tar without compression suffix is not allowed

Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agoapt-native: don't let dpkg overwrite files by default
Jan Luebbe [Mon, 6 Apr 2020 13:23:57 +0000 (15:23 +0200)]
apt-native: don't let dpkg overwrite files by default

With --force-overwrite (implied by --force-all), dpkg will not abort
when a package overwrites files from different packages. As this can
also lead to "The following package disappeared from your system as
all files have been overwritten by other packages: <package>" and
subsequently broken dependencies, this makes the simple case of
conflicting files hard to debug.

Instead of finding all possibly required force options, only disable
overwrite for now.

Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agosystemd: Package systemd-hwdb-update.service into udev
Khem Raj [Mon, 6 Apr 2020 06:53:14 +0000 (23:53 -0700)]
systemd: Package systemd-hwdb-update.service into udev

Currently, this unit is packaged into udev-hwdb which then adds it as rdep
instead of rrecommends to systemd itself, this meant that even if we
added udev-hwdb to BAD_RECOMMENDATIONS, it would not be respected since
its a rdep, therefore move the service unit file into udev package
instead, this decouples the hard runtime dependency and restores the bad
recommendations expectations

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Alex Kiernan <alex.kiernan@gmail.com>
Cc: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agopseudo: During DB fix, remove files that do not exist
Ricardo Ribalda Delgado [Sun, 5 Apr 2020 11:47:12 +0000 (13:47 +0200)]
pseudo: During DB fix, remove files that do not exist

If a file does not exist, either because it has been removed outside
bitbake, or because only some of the files have been moved to a
different location, delete it from the pseudo-db is the user decides to
fix the database.

Signed-off-by: Ricardo Ribalda Delgado <ricardo@ribalda.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agowic: Add --embed-rootfs argument
Ricardo Ribalda Delgado [Wed, 4 Mar 2020 14:49:36 +0000 (15:49 +0100)]
wic: Add --embed-rootfs argument

This option adds the content of a rootfs on a specific location on the
rootfs.

It is very useful for making a partition that contains the rootfs for a
host and a target Eg:

/ -> Roofs for the host
/export/ -> Rootfs for the target (which will netboot)

Although today we support making a partition for "/export" this might
not be compatible with some upgrade systems, or we might be limited by
the number of partitions.

With this patch we can use something like:

part / --source rootfs --embed-rootfs target-image /export --embed-rootfs target-image2 /export2

on the .wks file.

Signed-off-by: Ricardo Ribalda Delgado <ricardo@ribalda.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agowic: Fix permissions when using exclude or include path
Ricardo Ribalda Delgado [Wed, 4 Mar 2020 14:49:35 +0000 (15:49 +0100)]
wic: Fix permissions when using exclude or include path

When parameters include_path or exclude_path are passed to the rootfs
plugin, it will copy the partition content into a folder and make all
the modifications there.

This is done using copyhardlinktree(), which does not take into
consideration the content of the pseudo folder, which contains the
information about the right permissions and ownership of the folders.

This results in a rootfs owned by the user that is running the wic
command (usually UID 1000), which makes some rootfs unbootable.

To fix this we copy the content of the pseudo folders to the new folder
and modify the pseudo database using the "pseudo -B" command.

Signed-off-by: Ricardo Ribalda Delgado <ricardo@ribalda.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agopseudo: Force seccomp to return success when in fact doing nothing
Richard Purdie [Fri, 3 Apr 2020 12:55:12 +0000 (13:55 +0100)]
pseudo: Force seccomp to return success when in fact doing nothing

Pseudo changes the syscall access patterns which makes it incompatible with
seccomp. Therefore intercept the seccomp syscall and alter it, pretending that
seccomp was setup when in fact we do nothing. If we error as unsupported,
utilities like file will exit with errors so we can't just disable it.

This works around issues on platforms where seccomp is enabled in file
(e.g. archlinux).

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agoWindows: Enable Windows builds under WSLv2 and warn accordingly
Alejandro Hernandez Samaniego [Sun, 15 Mar 2020 06:13:11 +0000 (23:13 -0700)]
Windows: Enable Windows builds under WSLv2 and warn accordingly

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 > 18917

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

C:\Users\myuser>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> 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> wsl --set-version <Distro> 2

e.g

C:\WINDOWS\system32> 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 "*<DISTRO>*" | Select PackageFamilyName

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

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

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

 C:\Users\<user>\AppData\Local\Packages\<PackageFamilyName>\LocalState\

 e.g.

 ls C:\Users\<user>\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\<user>\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\<user>\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.

Signed-off-by: Alejandro Hernandez Samaniego <alejandro@enedino.org>
Signed-off-by: Alejandro Hernandez Samaniego <alhe@linux.microsoft.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agobusybox: sysctl: ignore EIO of stable_secret below /proc/sys/net/ipv6/conf
Yi Zhao [Sat, 4 Apr 2020 09:11:08 +0000 (17:11 +0800)]
busybox: sysctl: ignore EIO of stable_secret below /proc/sys/net/ipv6/conf

Avoid confusing messages caused by EIO on reading
/proc/sys/net/ipv6/conf/*/stable_secret if those are not set yet.
Make it behave the same as procps(>=3.3.13).

Fixes:
$ sysctl -a | grep ipv6.conf | grep stable_secret
sysctl: error reading key 'net.ipv6.conf.all.stable_secret': Input/output error
sysctl: error reading key 'net.ipv6.conf.default.stable_secret': Input/output error
sysctl: error reading key 'net.ipv6.conf.eth0.stable_secret': Input/output error
sysctl: error reading key 'net.ipv6.conf.lo.stable_secret': Input/output error

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agoicu: Mark strtod_l unavailable on musl
Khem Raj [Sat, 4 Apr 2020 18:51:59 +0000 (11:51 -0700)]
icu: Mark strtod_l unavailable on musl

Musl version is just a wrapper to strtod and not an exposed API

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agoicu: Add knobs to generate a subset of ICU data
Khem Raj [Sat, 4 Apr 2020 23:02:57 +0000 (16:02 -0700)]
icu: Add knobs to generate a subset of ICU data

Recent versions of ICU (64+) provides a tool for configuring ICU
locale data file with finer granularity [1]

Default generated size for libicudata.so.66.1 is ~27M, which is quite
large for embedded systems and all of them may not even need all locale
data.

This patch calls the icudata buildtool during configure on the icudata
and utilizes a filter called 'filter.json` ( empty by default) to
create the data, default behavior should remain same but someone can
add a filter.json in own layer to configure this data, e.g.

{
  "localeFilter": {
    "filterType": "language",
    "whitelist": [
      "en",
      "de",
      "it"
    ]
  }
}

would only generate the locale data for english/german/italian

This would reduce the size of libicudata.so.66.1 to 12M

Ensure that icudata is generated using host-tools so it can deal with
endianness correctly, when host and target systems have different
endianness

install the icudtata file back into in/ folder so that main build
can now pickup this data file instead of regenerating it and wiping
out the filter changes that are expected to take effect

Use native compiler tools

Update the big-endian support patch to apply to latest Makefile.in
from icudata source and mark it as backport

defer applying 0001-Fix-big-endian-build.patch after moving new data/ in

[1] https://github.com/unicode-org/icu/blob/master/docs/userguide/icu_data/buildtool.md

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Suggested-by: Wouter Meek <w.meek@metrological.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agobinutils: Use configure options to disable gdb and dependencies
Khem Raj [Sat, 4 Apr 2020 00:44:45 +0000 (17:44 -0700)]
binutils: Use configure options to disable gdb and dependencies

Deleting sources is a rough way of dealing with disabling components,
using configure option is elegant way and we also keep the sources
unchanged, this should not cause any funcitonal changes otherwise

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agoscripts/install-buildtools: refactor for Python 3.4
Tim Orling [Fri, 3 Apr 2020 23:11:38 +0000 (16:11 -0700)]
scripts/install-buildtools: refactor for Python 3.4

Our least common denominator supported distro is debian-8
which has python 3.4. The whole point of the install-buildtools
script is to make it easier on the user to install buildtools
tarball. So it needs to run on Python 3.4.

The way we checked if the install was successful in the prior
version of the script was not workable in python 3.4. Since
the environment-setup-... script is currently just exporting
environment variables, use os.environ to do the equivalent from
values gleaned via regex from the environment-setup-... file.

Corrected a couple minor whitespace errors

NOTE: License changed to GPL-2.0-only due to inclusion of code
copied directly from bitbake/lib/bb/utils.py. This avoids the
need to depend on bitbake, which is now Python 3.5+ only.

Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agosanity.bbclass: echo current SDK_VENDOR if it is invalid
Paul Gortmaker [Fri, 3 Apr 2020 16:21:58 +0000 (12:21 -0400)]
sanity.bbclass: echo current SDK_VENDOR if it is invalid

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 <ross.burton@intel.com>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agonativesdk-binutils: correct path to ld.so.conf
Jeremy Puhlman [Fri, 3 Apr 2020 21:25:55 +0000 (14:25 -0700)]
nativesdk-binutils: correct path to ld.so.conf

The alternative ld.so patch is set up so the linker will search
the nativesdk sysroot before searching the host filesystem.

However the patch concatenates <sysroot>/etc and /etc/ld.so.conf
leading to a path that does not exist:

3061991 openat(AT_FDCWD, "/buildtools/sysroots/x86_64-pokysdk-linux/etc/etc/ld.so.conf",
O_RDONLY) = -1 ENOENT (No such file or directory)

In native-nspr, the build uses -lpthread, which triggers a search for librt, but because
of the above it drags in the system librt leading to errors as follows:

/buildtools/sysroots/x86_64-pokysdk-linux/usr/lib/gcc/x86_64-pokysdk-linux/
9.3.0/../../../../x86_64-pokysdk-linux/bin/ld: /lib64/librt.so.1:
undefined reference to `__clock_getcpuclockid@GLIBC_PRIVATE'

update concatenation to correctly construct the path to the nativesdk ld.so.conf

[YOCTO #13853]

Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agocdrtools-native: remove use of REALPV in versioning
rpjday@crashcourse.ca [Fri, 3 Apr 2020 19:49:31 +0000 (15:49 -0400)]
cdrtools-native: remove use of REALPV in versioning

There appears to be no need for the use of REALPV in the recipe for
cdrtools-native as the downloaded tarball has the official version in
it.

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agoglib-2.0: Backport GMainContext fixes
Daniel Gomez [Fri, 3 Apr 2020 07:20:18 +0000 (09:20 +0200)]
glib-2.0: Backport GMainContext fixes

Backport fixes introduced in 2.63.6 for memory leaks and memory corruption in
GMainContext

Upstream merge: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1353

Fixes SIGSEGV in GStreamer:

    Thread 2 "multihandlesink" received signal SIGSEGV, Segmentation fault.
    [Switching to Thread 0x7ffff6bb9700 (LWP 18045)]
    0x00007ffff7d65992 in g_source_unref_internal (source=0x7ffff00047d0, context=0x55555561c800, have_lock=1) at ../../../../../../../repo/workspace/sources/glib-2.0/glib/gmain.c:2146
    2146    ../../../../../../../repo/workspace/sources/glib-2.0/glib/gmain.c: No such file or directory.
    (gdb) bt
    #0  0x00007ffff7d65992 in g_source_unref_internal (source=0x7ffff00047d0, context=0x55555561c800, have_lock=1) at ../../../../../../../repo/workspace/sources/glib-2.0/glib/gmain.c:2146
    #1  0x00007ffff7d65bb6 in g_source_iter_next (iter=iter@entry=0x7ffff6bb8db0, source=source@entry=0x7ffff6bb8da8) at ../../../../../../../repo/workspace/sources/glib-2.0/glib/gmain.c:980
    #2  0x00007ffff7d67ef3 in g_main_context_prepare (context=context@entry=0x55555561c800, priority=priority@entry=0x7ffff6bb8e30) at ../../../../../../../repo/workspace/sources/glib-2.0/glib/gmain.c:944
    #3  0x00007ffff7d6896b in g_main_context_iterate (context=context@entry=0x55555561c800, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../../../../../repo/workspace/sources/glib-2.0/glib/gmain.c:3900
    #4  0x00007ffff7d68b4c in g_main_context_iteration (context=0x55555561c800, may_block=may_block@entry=1) at ../../../../../../../repo/workspace/sources/glib-2.0/glib/gmain.c:3981
    #5  0x00007ffff6be4482 in gst_multi_socket_sink_thread (mhsink=0x555555679ab0 [GstMultiSocketSink]) at ../../../gst-plugins-base-1.14.4/gst/tcp/gstmultisocketsink.c:1164
    #6  0x00007ffff7d8fb35 in g_thread_proxy (data=0x55555565c770) at ../../../../../../../repo/workspace/sources/glib-2.0/glib/gthread.c:784
    #7  0x00007ffff7841ebd in start_thread (arg=<optimized out>) at pthread_create.c:486
    #8  0x00007ffff7aa12bf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
    #8  0x00007ffff7aa12bf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Signed-off-by: Daniel Gomez <daniel@qtec.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agobusybox: on upgrade save busybox if it is the last shell
Jeremy Puhlman [Thu, 2 Apr 2020 22:58:20 +0000 (15:58 -0700)]
busybox: on upgrade save busybox if it is the last shell

During a busybox upgrade on a ipk based system, it is possible
that busybox is the only shell in the system. During the uninstall
the alternative for /bin/sh is removed and everything after that
goes down hill.

* Add a check to verify if busybox is the shell, and save it to
the busyboxrm directory created in tmp. Then add an alternative
for /bin/sh that points to that busybox at the lowest priority.

* Add PATH to the busyboxrm directory using shell(as during an upgrade
busybox and its links are missing).

* When install over remove extra busybox if present.

deb and rpm are uneffected by the bug because they both drag in bash,
however neither upgrade seemed to have issue with the changes.

[YOCTO 13850]

Signed-off-by: Jeremy A. Puhlman <jpuhlman@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agocmake: fix Python executable with cmake
Martin Kelly [Thu, 2 Apr 2020 20:56:32 +0000 (13:56 -0700)]
cmake: fix Python executable with cmake

Currently, CMake has two ways of finding Python executables:
FindPythonInterp and FindPython/FindPython3. FindPythonInterp is
deprecated and may be removed at some point. Currently, python3native
sets PYTHON_EXECUTABLE, which FindPythonInterp uses. This is a problem
for a few reasons:

- Setting PYTHON_EXECUTABLE as an environment variable doesn't work, as
  CMake needs it to be set as an explicit CMake option via -D.
- Projects using the newer FindPython/FindPython3 don't pickup the right
  Python, as the newer routines use Python_EXECUTABLE and
  Python3_EXECUTABLE.

Fix this by setting PYTHON_EXECUTABLE, Python_EXECUTABLE, and
Python3_EXECUTABLE using -D options to EXTRA_OECMAKE.

The CMake routines are documented below:
https://cmake.org/cmake/help/latest/module/FindPythonInterp.html
https://cmake.org/cmake/help/latest/module/FindPython.html
https://cmake.org/cmake/help/latest/module/FindPython3.html

Signed-off-by: Martin Kelly <mkelly@xevo.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agoprservice.py: fix do_package with newer Python in Ubuntu 20.04
Martin Jansa [Thu, 2 Apr 2020 17:05:14 +0000 (19:05 +0200)]
prservice.py: fix do_package with newer Python in Ubuntu 20.04

* with Ubuntu 20.04 which is using python 3.8 I'm seeing a lot of errors like:
  ERROR: libxml2-2.9.10-r0 do_package: Can NOT get PRAUTO, exception No module named '_sysconfigdata'
  not sure what caused this from python 3.8, but this seems to work
* PRserv is enabled with:
  PRSERV_HOST = "localhost:0"

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agocve-update-db-native: fix DB file version for '-'
Lee Chee Yang [Thu, 2 Apr 2020 11:48:55 +0000 (19:48 +0800)]
cve-update-db-native: fix DB file version for '-'

fix logic for CVE DB update so that when the CPE version is '-',
it keeps the version as '-' in the DB file too and leave other
operation as blank.

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agosanity: Require gcc 5.0 minimum version
Richard Purdie [Thu, 2 Apr 2020 15:45:26 +0000 (16:45 +0100)]
sanity: Require gcc 5.0 minimum version

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.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agodhcp: add RDEPENDS for dhcp-client
Mingli Yu [Thu, 2 Apr 2020 06:26:09 +0000 (14:26 +0800)]
dhcp: add RDEPENDS for dhcp-client

Add iproute2 RDEPENDS for dhcp-client as
/sbin/dhclient-systemd-wrapper which called
by dhclient.service depends on ip command which
provided by iproute2 package when systemd enabled
in DISTRO_FEATURES.

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agodhclient: not always skip the nfsroot interface
Mingli Yu [Thu, 2 Apr 2020 06:26:08 +0000 (14:26 +0800)]
dhclient: not always skip the nfsroot interface

Don't skip the nfsroot interface when use dhcp
to get the address for nfsroot interface as the
nfsroot interface may need dhclient to renew
the lease.

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agou-boot: Restore valid default environment for running system
Otavio Salvador [Thu, 2 Apr 2020 00:14:31 +0000 (21:14 -0300)]
u-boot: Restore valid default environment for running system

One significant change from previous OE-Core releases was the move from
u-boot-fw-utils to libubootenv which offers a generic and not machine
specific alternative. However, it is not fully functional as currently
we don't provide the default environment nor the required configuration
file to be used by it.

This change address this and include on the default u-boot.inc the
needed code to generate, install and deploy the default environment.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agoperf: fix compile error when rebuilding
Changqing Li [Wed, 1 Apr 2020 02:32:55 +0000 (10:32 +0800)]
perf: fix compile error when rebuilding

Fix error like:
Makefile.perf:597: recipe for target
'intel_x86_64-wrs-linux/perf/1.0-r9/perf-1.0/perf-in.o] Error 2
Makefile.perf:220: recipe for target 'sub-make' failed
make[1]: *** [sub-make] Error 2
Makefile:69: recipe for target 'all' failed
make: *** [all] Error 2

during rebuilding, when kernel version changed, some
source files also maybe changed. It could happened
that the source under ${S} messed up with some already
dropped files and also new files. Fix by clean the ${S}
before copy source files.

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agogstreamer1.0-plugins-good: Fix build when egl is enabled but no x11/wayland
Khem Raj [Wed, 1 Apr 2020 04:30:32 +0000 (21:30 -0700)]
gstreamer1.0-plugins-good: Fix build when egl is enabled but no x11/wayland

This fixes build errors seen in no-x11/no-wayland configuration ( eglfs
) and when QT5 support is enabled

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agoinetutils: Use alternatives to avoid manpage conflict
Ovidiu Panait [Wed, 1 Apr 2020 06:48:06 +0000 (09:48 +0300)]
inetutils: Use alternatives to avoid manpage conflict

Fix the following manpage conflicts:
 * check_data_file_clashes: Package inetutils-doc wants to install file /usr/share/man/man1/tftp.1
But that file is already provided by package  * tftp-hpa-doc
 * check_data_file_clashes: Package inetutils-doc wants to install file /usr/share/man/man8/tftpd.8
But that file is already provided by package  * tftp-hpa-doc
 * check_data_file_clashes: Package netkit-telnet-doc wants to install file /usr/share/man/man8/telnetd.8
But that file is already provided by package  * inetutils-doc

Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agowic: align layer plugin path
Lee Chee Yang [Wed, 1 Apr 2020 06:39:56 +0000 (14:39 +0800)]
wic: align layer plugin path

wic look for external layer source plugin under scripts/lib/
while other tools look for lib/.

allow wic to check for source plugin at both scripts/lib/ and
lib/ to align with other tools while avoid breaking any existing
source plugin in external layer.

[YOCTO #13056]

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agobinutils: Do not build gold linker on mips/glibc
Khem Raj [Wed, 1 Apr 2020 18:13:31 +0000 (11:13 -0700)]
binutils: Do not build gold linker on mips/glibc

Using gnu_hash style is unsupported on gold for now therefore disable
building gold on mips/glibc

Certain applications poke for presence of gold linker and silently use
it (webkit), therefore its best to disable building it

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agolib/oe/package_manager: don't try to rm /var/lib/opkg
Jan Luebbe [Wed, 1 Apr 2020 14:58:05 +0000 (16:58 +0200)]
lib/oe/package_manager: don't try to rm /var/lib/opkg

As opkglibdir starts with a /, os.path.join will ignore
self.target_rootfs, leading to an attempt to remove /var/lib/opkg.

This only fails if it exists on the host, explaining why this remained
undiscovered for long.

Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agolib/oe/package_manager: avoid installing provided packages via apt
Jan Luebbe [Wed, 1 Apr 2020 14:58:04 +0000 (16:58 +0200)]
lib/oe/package_manager: avoid installing provided packages via apt

If there already is a package providing (and conflicting against)
packages what should be installed, apt will try remove the conflicting
package (target-sdk-provides-dummy) and any that depend on it (like apt
and dpkg). This usually fails because of the protection of essential
packages. In that case, no -dev/-dbg packages are installed to the SDK.

Avoid this problem by checking which packages are already provided and
removing them from the list to be installed. Also sort the list to make
it easier to read when debugging.

Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agolib/oe/package_manager: collect provided package names when using debs
Jan Luebbe [Wed, 1 Apr 2020 14:58:03 +0000 (16:58 +0200)]
lib/oe/package_manager: collect provided package names when using debs

This is needed for a later change to avoid installing packages which are
already provided by an installed package.

Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agolib/oe/package_manager: fix handling of last package
Jan Luebbe [Wed, 1 Apr 2020 14:58:02 +0000 (16:58 +0200)]
lib/oe/package_manager: fix handling of last package

In commit 7d214b34e11dc57316ed5c1c7747c4601286f6d2, only the code in the
for loop was modified to store the pkgarch value. The code used if there
was no empty line at the end was not modified.

Instead of fixing the duplicated code, remove it and just make sure that
a final empty line is processed.

Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agolib/oe/package_manager: make sure to not remove packages in apt install
Jan Luebbe [Wed, 1 Apr 2020 14:58:01 +0000 (16:58 +0200)]
lib/oe/package_manager: make sure to not remove packages in apt install

apt install can decide to remove already installed packages if there are
conflicts. Avoid this by explicitly specifying --no-remove. This will
then cause a "E: Packages need to be removed but remove is disabled."
message.

Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agoscripts/oe-buildenv-internal: Add pointer to scripts/install-buildtools
Richard Purdie [Tue, 31 Mar 2020 21:54:16 +0000 (22:54 +0100)]
scripts/oe-buildenv-internal: Add pointer to scripts/install-buildtools

If the minimum python version isn't met, show a pointer to the new
install-buildtools script.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agoopenssl: update to 1.1.1f
Alexander Kanavin [Tue, 31 Mar 2020 21:12:48 +0000 (23:12 +0200)]
openssl: update to 1.1.1f

This also un-breaks python3 ptest which got broken
with 1.1.1e update.

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agoinstall-buildtools: bump default to yocto-3.1_M3, fixes
Tim Orling [Tue, 31 Mar 2020 20:03:06 +0000 (13:03 -0700)]
install-buildtools: bump default to yocto-3.1_M3, fixes

Add ability to check md5sum (yocto-3.1_M2 and before) or sha256
(yocto-3.1_M3 and beyond).

Make regex for path in checksum file optional, since
for yocto-3.1_M3 the format is <checksum>  <filename>,
but prior releases was <checksum>  <path><filename>

Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agosanity.bbclass: add test for gcc < 4.8
Tim Orling [Tue, 31 Mar 2020 20:03:05 +0000 (13:03 -0700)]
sanity.bbclass: add test for gcc < 4.8

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 < 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 (> 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
Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agolib/oe/utils.py: add get_host_compiler_version()
Tim Orling [Tue, 31 Mar 2020 20:03:04 +0000 (13:03 -0700)]
lib/oe/utils.py: add get_host_compiler_version()

Add helper function to get the host compiler and version.
Do not assume compiler is gcc.

NOTE: cannot set env to d.getVar("PATH") as that does not contain
the session PATH which was set by environment-setup-... which
breaks the install-buildtools use-case

Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agosanity.bbclass: recommend using install-buildtools
Tim Orling [Tue, 31 Mar 2020 20:03:03 +0000 (13:03 -0700)]
sanity.bbclass: recommend using install-buildtools

For old tar version (< 1.28), recommend using
scripts/install-buildtools

Drop check for tar version 1.24. Dubious extra value.

Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agooe-buildenv-internal: python 3.5 as min version
Tim Orling [Tue, 31 Mar 2020 20:03:02 +0000 (13:03 -0700)]
oe-buildenv-internal: python 3.5 as min version

Python 3.4 is EOL:
https://www.python.org/downloads/release/python-3410/

The last supported distro was probably CentOS-7, which has python36 available
from epel-7 or scl (as rh-python36) [1]

[1] https://www.softwarecollections.org/en/scls/rhscl/rh-python36/

Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agoscripts/install-buildtools: improvements
Tim Orling [Tue, 31 Mar 2020 20:03:01 +0000 (13:03 -0700)]
scripts/install-buildtools: improvements

* Install directory defaults to scripts/../buildtools
  e.g. --directory is set by default
  This avoids the user having to type in their sudo password
  to install in /opt/poky/<installer-version>

* Use "." rather than "source" for sourcing the environment script
  as not all distros (e.g. Debian) have "source" by default.

* Add buildtools/ to .gitignore

* Fix typos in example usage (--install-version -> --installer-version)

[YOCTO #13832]

Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agolinux-firmware: Add qcom-sdm845-{audio,compute,modem} firmware packages
Aníbal Limón [Tue, 31 Mar 2020 20:25:07 +0000 (14:25 -0600)]
linux-firmware: Add qcom-sdm845-{audio,compute,modem} firmware packages

Contains the firmware for the audio, compute and modem/wireless in SDM845 platforms.

Signed-off-by: Aníbal Limón <anibal.limon@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agocve-check: CPE version '-' as all version
Lee Chee Yang [Tue, 31 Mar 2020 07:26:03 +0000 (15:26 +0800)]
cve-check: CPE version '-' as all version

CPE version could be '-' to mean no version info.
Current cve_check treat it as not valid and does not report these
CVE but some of these could be a valid vulnerabilities.

Since non-valid CVE can be whitelisted, so treat '-' as all version
and report all these CVE to capture possible vulnerabilities.

Non-valid CVE to be whitelisted separately.

[YOCTO #13617]

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agopseudo: Ensure we use our own libsqlite
Richard Purdie [Mon, 30 Mar 2020 15:31:52 +0000 (16:31 +0100)]
pseudo: Ensure we use our own libsqlite

pseudo-native is special in that bitbake ends up executing it from the
sysroot-components directory before we have any workdirs for the bitbake
fakeroot worker. Since we switched to dynamically linking sqlite, it
means sqlite from the host system may be found, we really want the version
in sysroot-components. Trying to run tasks to create some special environment
for pseudo is hard and error prone. The simplest fix is to add an RPATH to
the binary so that it can correctly find the sqlite we want.

Unfortunately passing $ORIGIN into make doesn't work so well with shell
quoting so we have to fix that during do_install.

[YOCTO #13814]

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agopython3: fixing bpo-36852 patch for builds on i686 architecture
Matthias Schoepfer [Mon, 30 Mar 2020 09:41:11 +0000 (11:41 +0200)]
python3: fixing bpo-36852 patch for builds on i686 architecture

The original patch "bpo-36852: proper detection of mips architecture
for soft float" uses AC_CANONICAL_TARGET to determine the platform
triplet. While AC_CANONICAL_TARGET exports i686 as target_cpu, gcc
is using i386 instead. We fall back here to i386, as it is conform
to the previous behavior.

Upstream Status: Submitted [https://github.com/python/cpython/pull/13196]

Signed-off-by: Matthias Schoepfer <matthias.schoepfer@ithinx.io>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agoprservice.py: Use "with" to control file handle lifetime
Peter Kjellerstedt [Mon, 30 Mar 2020 08:33:51 +0000 (10:33 +0200)]
prservice.py: Use "with" to control file handle lifetime

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agoqemu: Add check for missing header
Oleksiy Obitotskyy [Mon, 30 Mar 2020 05:47:48 +0000 (05:47 +0000)]
qemu: Add check for missing header

Header missing and configure script detect this.
Add check before include header (if_alg.h).

Signed-off-by: Oleksiy Obitotskyy <oobitots@cisco.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agoRevert "ifupdown: create file interfaces if not exist"
Chen Qi [Mon, 30 Mar 2020 02:06:27 +0000 (10:06 +0800)]
Revert "ifupdown: create file interfaces if not exist"

This reverts commit 4e692daf66d2c9d51d418706e20f4527505dc0bd.

The patch did not take into consideration of read-only rootfs, causing
the following regression.

  ERROR "The following packages could not be configured offline and rootfs is read-only: ['100-ifupdown']"

The original patch was added to resolve problem running `ifup eth1' on
a systemd based rootfs. However, when using systemd, we do not use ifup
to manage our network interfaces.

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agosystemd: Add sch-fq-codel to RRECOMMENDS
Alex Kiernan [Fri, 27 Mar 2020 17:25:12 +0000 (17:25 +0000)]
systemd: Add sch-fq-codel to RRECOMMENDS

systemd sets net.core.default_qdisc = fq_codel, include
kernel-module-sch-fq-codel in RRECOMMENDS to satify this

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Acked-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agosystemd: Reinstate systemd-hwdb-update.service
Alex Kiernan [Fri, 27 Mar 2020 17:25:11 +0000 (17:25 +0000)]
systemd: Reinstate systemd-hwdb-update.service

systemd supports a distribution hwdb.bin in /usr/lib/udev/hwdb.bin,
which is used if /etc/udev/hwdb.bin is not present. When generating the
install time hwdb, for systemd, ensure that we put it in /usr/lib/udev,
which then ensures that at boot time we do not regenerate it, unless the
system is marked for update.

This allows fragments dropped into /etc/udev/hwdb.d to be processed
correctly, but without requiring a first boot time build:

root@qemumips:~# systemctl status systemd-hwdb-update.service
* systemd-hwdb-update.service - Rebuild Hardware Database
     Loaded: loaded (/usr/lib/systemd/system/systemd-hwdb-update.service; static; vendor preset: disabled)
     Active: inactive (dead)
  Condition: start condition failed at Wed 2020-03-04 15:18:11 UTC; 44s ago
             |- ConditionPathExists=|!/usr/lib/udev/hwdb.bin was not met
             |- ConditionPathExists=|/etc/udev/hwdb.bin was not met
             `- ConditionDirectoryNotEmpty=|/etc/udev/hwdb.d was not met
       Docs: man:hwdb(7)
             man:systemd-hwdb(8)

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Acked-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agosystemd: Replace nonarch_base_libdir with rootlibexecdir
Alex Kiernan [Fri, 27 Mar 2020 17:25:10 +0000 (17:25 +0000)]
systemd: Replace nonarch_base_libdir with rootlibexecdir

Use rootlibexecdir consistently rather than nonarch_base_libdir for udev
rules.

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agosystemd: Package udev rules explicitly
Alex Kiernan [Fri, 27 Mar 2020 17:25:09 +0000 (17:25 +0000)]
systemd: Package udev rules explicitly

udev is packaged before systemd so any wildcard inclusions in FILES will
override later specifics. List all udev rules explicitly so that the
systemd specific rules, packaged alongside systemd, appear in the
correct package.

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agosystemd: Use PACKAGE_BEFORE_PN, not =+
Alex Kiernan [Fri, 27 Mar 2020 17:25:08 +0000 (17:25 +0000)]
systemd: Use PACKAGE_BEFORE_PN, not =+

By using PACKAGE_BEFORE_PN rather than =+ it's clearer how we expect the
package ordering to work. It also avoids the possibilty that dev/dbg/etc.
artefacts attempt to package as part of these packages.

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agomesa-gl: Allow mesa-gl to build without X11 enabled.
Mark Hatle [Thu, 26 Mar 2020 02:15:58 +0000 (21:15 -0500)]
mesa-gl: Allow mesa-gl to build without X11 enabled.

Trying to build mesa-gl without X11 enabled, results in numerous errors
about being incorrectly configured, such as:

  ERROR: Problem encountered: building dri drivers require at least one windowing system or classic osmesa

A rendering engine must be available, so per the error we enable osmesa
if X11 is not available.  Once 'osmesa' is enabled we also need to make
sure that swrast for DRI is also available.

Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agofile/elfutils: Adjust some appends to guarantee leading space
rpjday@crashcourse.ca [Sun, 29 Mar 2020 21:40:47 +0000 (17:40 -0400)]
file/elfutils: Adjust some appends to guarantee leading space

Add missing leading spaces or replace += usage with a leading space.

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agocore-image.bbclass: add mention of allow-root-login, stateless-rootfs
rpjday@crashcourse.ca [Sun, 29 Mar 2020 13:30:12 +0000 (09:30 -0400)]
core-image.bbclass: add mention of allow-root-login, stateless-rootfs

Add mention/description of missing IMAGE_FEATURES.

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agoyocto-check-layer: simple grammatical fixes
rpjday@crashcourse.ca [Sun, 29 Mar 2020 11:39:49 +0000 (07:39 -0400)]
yocto-check-layer: simple grammatical fixes

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agobinutils: Pregenerate autoconf files
Khem Raj [Wed, 25 Mar 2020 23:16:37 +0000 (16:16 -0700)]
binutils: Pregenerate autoconf files

libtool patch will result in configure file regeneration, instead of
doing that at build time, do it in patch itself, this avoids running
autoconf before configure step.

Since binutils needs specific version of autoconf ( which is 2.69 )
this will break on systems using newer or older verisons of autoconf
in current state.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agosystemd: Enable acl based on DISTRO_FEATURES
Alex Kiernan [Fri, 27 Mar 2020 17:25:17 +0000 (17:25 +0000)]
systemd: Enable acl based on DISTRO_FEATURES

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Acked-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agosystemd: Enable audit based on DISTRO_FEATURES
Alex Kiernan [Fri, 27 Mar 2020 17:25:16 +0000 (17:25 +0000)]
systemd: Enable audit based on DISTRO_FEATURES

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Acked-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agosystemd: Enable smack based on DISTRO_FEATURES
Alex Kiernan [Fri, 27 Mar 2020 17:25:15 +0000 (17:25 +0000)]
systemd: Enable smack based on DISTRO_FEATURES

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Acked-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agosystemd: Remove X11 related files when disabled
Alex Kiernan [Fri, 27 Mar 2020 17:25:14 +0000 (17:25 +0000)]
systemd: Remove X11 related files when disabled

When X11 isn't in DISTRO_FEATURES, remove X11 related files.

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Acked-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agosystemd: Add PACKAGECONFIG for sysvinit
Alex Kiernan [Fri, 27 Mar 2020 17:25:13 +0000 (17:25 +0000)]
systemd: Add PACKAGECONFIG for sysvinit

Add sysvinit PACKAGECONFIG which disables all sysvinit handling in
systemd if it isn't present.

Consolidate sysvinit handling so that when it's disabled we exclude all
sysvinit features.

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agolayer.conf: Drop zeus compatibility for dunfell release
Richard Purdie [Sun, 29 Mar 2020 11:23:01 +0000 (12:23 +0100)]
layer.conf: Drop zeus compatibility for dunfell release

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agoell: upgrade 0.28 -> 0.30
Pierre-Jean Texier [Thu, 26 Mar 2020 12:35:12 +0000 (13:35 +0100)]
ell: upgrade 0.28 -> 0.30

Since commit 5a0d5de68957ed11407694cf1acee1ab1cb4be79 ("build: Require at least version 0.29 when building with external ELL") in iwd [1]
ell version 0.29 is required.

Also, this is a bug fix release, see after:

ver 0.30:
Fix issue with missing export of RTNL helper functions.

ver 0.29:
  Fix issue with time overflow on 32-bit systems.
  Add support for RTNL helper functionality.

[1] - https://git.kernel.org/pub/scm/network/wireless/iwd.git/commit/?id=5a0d5de68957ed11407694cf1acee1ab1cb4be79

Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agoavahi: add LICENSE for individual packages
Matthew [Fri, 27 Mar 2020 16:43:18 +0000 (12:43 -0400)]
avahi: add LICENSE for individual packages

Fixes [YOCTO #13609]

avahi_0.7.bb defines 9 PACKAGES. However, avahi.inc generically sets
LICENSE to "GPLv2+ & LGPLv2.1+". The library specific
packages should be LGPLv2.1+ only.

Signed-off-by: Matthew Zeng <matthew.zeng@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agolibpam: Add userdb packageconfig
Ovidiu Panait [Fri, 27 Mar 2020 08:31:56 +0000 (10:31 +0200)]
libpam: Add userdb packageconfig

Add userdb packageconfig to control the building of the pam_userdb.so module.
This depends on dbm support being compiled in for the berkley db package.

Also, remove "--with-db-uniquename=_pam" from EXTRA_OECONF. It makes the checks
for libdb fail because it searches for the wrong symbols in libdb (and libdb
was not configured with --with-uniquename=_pam option).

db.do_configure:
    checking if --with-uniquename=NAME option specified... no

libpam.do_configure:
    checking for db_create_pam... no
    checking for db_create... no
    checking for dbm_store_pam... no
    checking for dbm_store... no
    checking for dbm_store in -lndbm... no

Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agodb: Add dbm packageconfig
Ovidiu Panait [Fri, 27 Mar 2020 08:31:55 +0000 (10:31 +0200)]
db: Add dbm packageconfig

Add "dbm" packageconfig to enable legacy dbm support in libdb. This support is
needed to build libpam pam_userdb.so plugin.

Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agorunqemu: Change nfs to mount via TCP
He Zhe [Fri, 27 Mar 2020 07:33:11 +0000 (15:33 +0800)]
runqemu: Change nfs to mount via TCP

Since kernel commit b24ee6c64ca7 ("NFS: allow deprecation of NFS UDP protocol"),
NFS UDP has been disabled by default due to the potential data corruption caused
by fragmentation during high loads. So now we cannot boot up with nfs mode and
default kernel.

We'd better turn to use TCP accordingly.

Signed-off-by: He Zhe <zhe.he@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agocve-update-db-native: clean DB if temporary file exist
Lee Chee Yang [Fri, 27 Mar 2020 03:57:43 +0000 (11:57 +0800)]
cve-update-db-native: clean DB if temporary file exist

when do_populate_cve_db forced stop at certain point, the
DB execution are stoped however the temporary database
file (DB-JOURNAL) are not removed. This db-journal file
indicates that DB is incomplete and set DB in readonly
mode. So when db-journal exist, remove both DB and the
db-journal and build the DB again from scratch.

[YOCTO #13682]

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agonativesdk-git: point to system gitconfig
Jeremy Puhlman [Fri, 27 Mar 2020 22:23:16 +0000 (15:23 -0700)]
nativesdk-git: point to system gitconfig

On a system with selinux turned on, trying to access a directory
that is in a tree that doesn't exist returns the error permission
denined rather then no such file or directory, which causes git
to die.

git clone git://git.yoctoproject.org/poky
Cloning into 'poky'...
fatal: unable to access '/opt/poky/3.0+snapshot/sysroots/x86_64-pokysdk-linux/etc/gitconfig': Permission denied

Switch to using the system gitconfig of the host.

Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agopulseaudio: fix for ARM thumb + frame pointers compilation error
Catalin Enache [Thu, 26 Mar 2020 15:26:29 +0000 (17:26 +0200)]
pulseaudio: fix for ARM thumb + frame pointers compilation error

When compiling for Thumb or Thumb2, frame pointers _must_ be disabled
since the Thumb frame pointer in r7 clashes with pulseaudio's use of inline
asm to make syscalls (where r7 is used for the syscall NR).

In most cases, frame pointers will be disabled automatically due to
the optimisation level, but appending an explicit -fomit-frame-pointer
to CFLAGS handles cases where optimisation is set to -O0 or frame
pointers have been enabled by -fno-omit-frame-pointer earlier in
CFLAGS, etc.

References:
https://www.openwall.com/lists/musl/2017/10/09/2

Signed-off-by: Catalin Enache <catalin.enache@windriver.com>
Signed-off-by: Stefan Ghinea <stefan.ghinea@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agogdk-pixbuf: remove a test that sporadically fails without reproducibility
Alexander Kanavin [Thu, 26 Mar 2020 20:53:44 +0000 (21:53 +0100)]
gdk-pixbuf: remove a test that sporadically fails without reproducibility

The test is randomly modifying file data and some of these random
modifications cause OOM failures. There is no way to preserve and repeat
what was modified, so the test needs to re-engineered to do
proper fuzzing.

See here for details:
https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/issues/146

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agoapr: add option for disabling time dependant tests
Jeremy Puhlman [Thu, 26 Mar 2020 20:14:11 +0000 (13:14 -0700)]
apr: add option for disabling time dependant tests

[YOCTO #13839]

Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agoutils: fix gcc 10 version detection
Charles-Antoine Couret [Thu, 26 Mar 2020 20:09:49 +0000 (21:09 +0100)]
utils: fix gcc 10 version detection

Utils can not detect GCC 10 correctly due to wrong regex.
It generates this error "ERROR: Can't get compiler version from gcc  --version output"

Sub-version numbers should be 1 or more digits instead of 1 only.

Signed-off-by: Charles-Antoine Couret <charles-antoine.couret@mind.be>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agoqemuarmv5.conf: drop stray comment including tune-arm1136jf-s.inc
Andre McCurdy [Mon, 16 Mar 2020 18:48:59 +0000 (11:48 -0700)]
qemuarmv5.conf: drop stray comment including tune-arm1136jf-s.inc

An old comment which appears to have been checked in by accident as
part of an unrelated change:

  https://git.openembedded.org/openembedded-core/commit/?id=e9ebcc4c19a624f76051c0a25d9ecf6ac4afb257

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agotune-arm1176jz-s.inc: fix typo in PACKAGE_EXTRA_ARCHS_tune-arm1176jzs
Andre McCurdy [Mon, 16 Mar 2020 18:48:58 +0000 (11:48 -0700)]
tune-arm1176jz-s.inc: fix typo in PACKAGE_EXTRA_ARCHS_tune-arm1176jzs

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agotune-arm1136jf-s.inc: restore vfp to TUNE_FEATURES_tune-arm1136jfs
Andre McCurdy [Mon, 16 Mar 2020 18:48:57 +0000 (11:48 -0700)]
tune-arm1136jf-s.inc: restore vfp to TUNE_FEATURES_tune-arm1136jfs

The change to TUNE_FEATURES_tune-arm1136jfs as part of:

  https://git.openembedded.org/openembedded-core/commit/?id=ac83d22eb5031f7fdd09d34a1a46d92fd3e39a3c

effectively removed both armv6 and vfp, when it should have removed
armv6 only. Add vfp back to TUNE_FEATURES_tune-arm1136jfs.

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agoopkg-utils: remove python scripts etc for the class-target only
Andre McCurdy [Mon, 16 Mar 2020 18:48:56 +0000 (11:48 -0700)]
opkg-utils: remove python scripts etc for the class-target only

OE's packaging functions assume that the opkg-utils python scipts are
always provided by opkg-utils-native, so the scripts should be removed
for class-target only.

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agogcc-runtime: apply ARM specific workaround to big-endian ARM too
Andre McCurdy [Mon, 16 Mar 2020 18:48:55 +0000 (11:48 -0700)]
gcc-runtime: apply ARM specific workaround to big-endian ARM too

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agoglibc: Backport patch to fix ifuncs on risc-v and gcc10 builds
Khem Raj [Thu, 26 Mar 2020 06:29:19 +0000 (23:29 -0700)]
glibc: Backport patch to fix ifuncs on risc-v and gcc10 builds

ifunc patch is needed to address a glibc ptests failure on riscv
long double double patch is backported to let 2.31 build with gcc10

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agovala.bbclass: add libdir to XDG_DATA_DIRS
Changqing Li [Thu, 26 Mar 2020 05:18:18 +0000 (13:18 +0800)]
vala.bbclass: add libdir to XDG_DATA_DIRS

Otherwise .gir files installed in the sysroot will not be found when
multilib is in use.

for vapigen, it need to find .vapi and .gir files under XDG_DATA_DIRS,
for gobject-introspection, multilib configurations use libdir rather
than datadir

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agoscripts/install-buildtools: add helper script to install buildtools
Tim Orling [Thu, 26 Mar 2020 04:26:55 +0000 (21:26 -0700)]
scripts/install-buildtools: add helper script to install buildtools

For distros such as CentOS-7 where the default buildtools are too
old we need to make it easy for users to install a pre-built SDK
with all of "build-essentials" included.

Other uses may include building older Yocto Project releases with
a distro where buildtools are too new.

For convenience, the standard buildtools installation is also
supported.

NOTE: extended buildtools is the default, e.g.
      --with-extended-buildtools is on by default

Example usage (extended buildtools from milestone):
  (1) using --url and --filename
      $ install-buildtools \
        --url http://downloads.yoctoproject.org/releases/yocto/milestones/yocto-3.1_M2/buildtools \
        --filename x86_64-buildtools-extended-nativesdk-standalone-3.0+snapshot-20200122.sh
  (2) using --base-url, --release, --installer-version and --build-date
      $ install-buildtools \
        --base-url http://downloads.yoctoproject.org/releases/yocto \
        --release yocto-3.1_M2 \
        --install-version 3.0+snapshot
        --build-date 202000122

Example usage (standard buildtools from release):
  (3) using --url and --filename
      $ install-buildtools --without-extended-buildtools \
        --url http://downloads.yoctoproject.org/releases/yocto/yocto-3.0.2/buildtools \
        --filename x86_64-buildtools-nativesdk-standalone-3.0.2.sh
  (4) using --base-url, --release and --installer-version
      $ install-buildtools --without-extended-buildtools \
        --base-url http://downloads.yoctoproject.org/releases/yocto \
        --release yocto-3.0.2 \
        --install-version 3.0.2

[YOCTO #13832]

Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agooeqa: default runtime json results for testexport
Stefan Kral [Wed, 25 Mar 2020 23:11:05 +0000 (00:11 +0100)]
oeqa: default runtime json results for testexport

Set the json result output dir in the oeqe runtime context to create
testresults.json file by default for exported runtime test runs.

Use current datetime for the json result property name (not DATETIME
from build) to allow multiple result entries.

Signed-off-by: Stefan Kral <sk@typedivision.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agooeqa/runtime/cases: Disable and stop systemd-timesyncd
Alex Kiernan [Thu, 26 Mar 2020 08:54:25 +0000 (08:54 +0000)]
oeqa/runtime/cases: Disable and stop systemd-timesyncd

Stopping systemd-timesyncd doesn't prevent it being restarted by a
different transaction within systemd. Disable the service instead during
the date test to ensure it can't be restarted.

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Acked-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agopsplash: Set RemainAfterExit on systemd units
Alex Kiernan [Thu, 26 Mar 2020 08:54:24 +0000 (08:54 +0000)]
psplash: Set RemainAfterExit on systemd units

psplash is only expected to run during startup, but if any dependency is
pulled into a transaction and the unit is inactive, then it can be
restarted.

Set RemainAfterExit to ensure that the unit remains active and is not
gratuitously restarted.

Drop the nonexistent systemd-start.service from the unit.

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Acked-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 years agooe/recipeutils: Drop obsolete GITDIR reference
Richard Purdie [Wed, 25 Mar 2020 16:16:18 +0000 (16:16 +0000)]
oe/recipeutils: Drop obsolete GITDIR reference

The fetcher GITDIR variable wase dropped a while back, drop the
obsolete reference to it (thanks Robert Day).

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>