Commit Graph

3842 Commits

Author SHA1 Message Date
Khem Raj
c5d7c65c9e musl: Update to latest master
sys/user.h related API fixed on ppc/ppc64

Detailed log [1]

https://git.musl-libc.org/cgit/musl/log/?qt=range&q=29e8737f81ccc9fbadcf61a75318aa3d0516aafa..6ad514e4e278f0c3b18eb2db1d45638c9af1c07f

(From OE-Core rev: 961312512fa80622143c35c4edaa19287be01bbb)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-09-06 14:58:09 +01:00
Richard Purdie
ac5479a3a3 binutils/glibc-testsuite: inherit nopackages to fix world builds
These recipes don't need to generate packages but did contain the packaging tasks which
would be triggered by a world build. They showed warnings or errors. Simplest fix
is to remove the unneeded tasks with the nopackages class.

Also don't attempt stash_locales task

(From OE-Core rev: a34420e1bdb9a695fe7abd3b26426d7ae6113349)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-09-06 12:45:47 +01:00
Nathan Rossi
182267b305 glibc-testsuite: Create a recipe to implement glibc test suite
A recipe needs to be created for the test suite due to the dependency
chain between libgcc -> glibc -> libgcc-initial, and the requirements of
the test suite to have libgcc for compilation and execution.

The glibc test suite does not use dejagnu like the gcc test suites do.
Instead a test wrapper script is used along with the assumed dependency
of having the same filesystem available on build host and target. For
qemu linux-user the same filesystem is inherently available, for remote
targets NFS is used. Separate test wrapper scripts are created for qemu
linux-user or ssh targets, with the same TOOLCHAIN_TEST_* variables used for
configuration.

(From OE-Core rev: 6c4d581c35ebd51c4b080ac38175d93f0480f97d)

Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-09-06 12:45:47 +01:00
Adrian Bunk
49224db935 systemd: Update to the latest 242 branch
Remove patch for issue fixed upstream.

(From OE-Core rev: 8f06385bb4a8244ca51daeef0018bfbdd0a93161)

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-09-06 08:15:45 +01:00
Nathan Rossi
1c115da446 Clean up remnants of glibc-initial
Remove remnants of the glibc-initial recipe.

(From OE-Core rev: 332b1e21db3e0cbeeb14f12dd6aeedb89b76d761)

Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-09-06 08:15:45 +01:00
Ross Burton
efafb13e2e systemd: explicitly set the path to nologin
Set the path to nologin as with sulogin etc so we don't try to execute binaries
from the build path on the target (as the build finds a nologin in the sysroot
at build time).

(From OE-Core rev: 15d57de00a5c2763cc9ddb71d3e6b52a57f3fcd1)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-09-06 08:15:45 +01:00
Adrian Bunk
c4f07b04f6 libxcrypt: Fix the build with -Os
| In file included from ../git/lib/alg-des.c:66:
| ../git/lib/alg-des.c: In function '_crypt_des_set_key':
| ../git/lib/byteorder.h:24:1: error: inlining failed in call to 'be32_to_cpu': call is unlikely and code size would grow [-Werror=inline]
|  be32_to_cpu (const unsigned char *buf)
|  ^~~~~~~~~~~
| ../git/lib/alg-des.c:81:13: note: called from here
|    rawkey1 = be32_to_cpu (&key[4]);
|              ^~~~~~~~~~~~~~~~~~~~~

(From OE-Core rev: 5d4720dfc8ec29ff3f487f84c5c874678ba20851)

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-09-01 22:33:08 +01:00
Jason Wessel
eddbd0c314 serial-getty@.service: Allow device to fast fail if it does not exist
Some BSPs use a USB serial port which may or may not actually be
plugged all the time.  It is quite useful to have a USB serial port
have a getty running but it does not make sense to wait for it for 90
seconds before completing the system startup if it might never get
plugged in.  The typical example is that a USB serial device might
only need to be plugged in when debugging, upgrading, or initially
configuring a device.

This change is somewhat subtle.  Systemd uses the "BindsTo" directive
to ensure existence of the device in order to start the service as
well as to terminate the service if the device goes away.  The "After"
directive makes that same relationship stronger.  When used together
this has the undesired side effect that systemd will wait until its
internal time out value of 90 seconds for the device to come on line
before executing a fail operation or letting other tasks and groups
continue.  This is certainly the kind of behavior we want for a disk,
but not for serial ports in general.

The "BindsTo" directive is replaced by the combination of the "PartOf"
and the "ConditionPathExists" directives.  The "After" directive is
unchanged because that will wait for the udev rules to process.  The
"PartOf" directive will issue a stop to the getty service if the
device goes away, similar to the "BindsTo" directive.  The
"ConditionPathExists" is what allows the service to fail fast vs
waiting for the timeout.  When a USB device is not plugged in at boot
you would find a message in the system journal like:

    systemd[1]: Condition check resulted in Serial Getty on \
                 ttyUSB0 being skipped.

If you want to observe the problem with qemu, it is easy to replicate.
Simply add the following line to your local.conf for a x86-64 qemu
build.

    SERIAL_CONSOLES="115200;ttyS0 115200;ttyUSB0"

Login right after the system boots and observe:

   root@qemux86-64:~# systemctl list-jobs |cat
   JOB UNIT                                 TYPE  STATE
     1 multi-user.target                    start waiting
    69 serial-getty@ttyUSB0.service         start waiting
    64 getty.target                         start waiting
    71 dev-ttyUSB0.device                   start running
    62 systemd-update-utmp-runlevel.service start waiting

   5 jobs listed.

You can see above that the dev-ttyUSB0.device will block for 1min 30
seconds.  While that might not be a problem for this reference build.
It is certainly a problem for images that have software watchdogs that
verify the system booted up all the way to systemd completion in less
than 90 seconds.

This other nice effect of this change is that the fast fail device
extend to additional serial ports that may not exist on ARM BSPs or
that might be configured in or out by the dtb files on different
boards.

(From OE-Core rev: f0f359ec9210759f6b4dbfb35d3fba8af208c43a)

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-09-01 22:33:08 +01:00
Oleksandr Kravchuk
118fb26ac9 ell: update to 0.22
Changelog:
- Fix issue with DHCP and T1 timeout handling.
- Fix issue with escape characters in peer identity string.
- Add support for setting peer certificate's subject CN mask.

(From OE-Core rev: cbf84908716c867b8bf530460a4eb0dff81da9f4)

Signed-off-by: Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-09-01 22:33:08 +01:00
Adrian Bunk
bac4bc9aa6 Remove LSB support
LSB as a standard isn't current and isn't well suited to embedded
anyway. Its putting artifical constraints on the system and with modern
layer technology, would now be better off as its own layer. As such
its time to split it out.

The only part with some (marginal) usage is lsb_release,
which is split from the lsb package into an own lsb-release
package.

(From OE-Core rev: fb064356af615d67d85b65942103bf943d84d290)

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-29 14:05:12 +01:00
Adrian Bunk
7e158306e6 systemd: Update to the latest 242 branch
Remove backported patches applied upstream.

(From OE-Core rev: 5919729f1bd21ba8bf08ce02edb7cc3624c5d4b9)

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-28 11:31:22 +01:00
Adrian Bunk
e886473bd4 systemd: Print a buildtime warning about the status with musl
It is possible if a user really has to use it, but not recommended.

(From OE-Core rev: 10c1a27501a32740a03c3c6c0684c7d24374af08)

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-28 11:31:22 +01:00
Andre McCurdy
b054f8d3ba base-files: nsswitch.conf is glibc specific
(From OE-Core rev: e9f751a6fd6a4fc1cfac74202e1b71291aade705)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-28 11:31:22 +01:00
Andre McCurdy
cfbd8247a6 packagegroup-core-boot: drop duplicate MACHINE_ESSENTIAL_EXTRA_RDEPENDS, etc
Default values for MACHINE_ESSENTIAL_EXTRA_RDEPENDS and
MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS are set from bitbake.conf and so
don't need to be duplicated in the packagegroup-core-boot recipe.

(From OE-Core rev: 82983c94da2446ab86b189a0278156ee884d0976)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-28 11:31:22 +01:00
Adrian Bunk
3c15c31cce glib-networking: Upgrade 2.60.2 -> 2.60.3
(From OE-Core rev: d0dcbf1f52e5754dfa3c17e132c6354d730a5e75)

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-28 11:31:21 +01:00
Martin Hundebøll
4cac7b1553 initscripts: remove warnings on read-only-rootfs (again)
When the populate-volatile.sh initscript tests if a configured symlink
is already in place, it uses readlink with the '-f' (follow) option:

> [ "$(readlink -f $source)" = "$dest" ]

If the test fails, it proceeds to delete the exisiting folder/file, and
create the configured symlink.

However, the '-f' option to readlink makes it follow symlinks pointing
at symlinks. If the $dest argument is a symlink, the above test fails,
and warnings are printed due to changing a read-only rootfs.

This is the case for /tmp, and /etc/resolv.conf:
> /tmp -> /var/tmp -> /var/volatile/tmp
> /etc/resolv.conf -> /var/run/resolv.conf -> /run/resolv.conf

Fix the warnings by removing the '-f' option, so that the test matches
the configuration.

[ YOCTO #10814 ]

(From OE-Core rev: fb028a0a25c02ab56ad262afd8e6e9495a44673d)

Signed-off-by: Martin Hundebøll <martin@geanix.com>
Signed-off-by: Jacob Kroon <jacob.kroon@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-28 11:31:21 +01:00
Alexander Kanavin
3f5c70649a images: use 512M of RAM in qemu if 'opengl" is in DISTRO_FEATURES
256M was found to be no longer sufficient, as the X server fails to
start with the modesetting driver and 3D enabled.

Only images that actually include X11 are adjusted.

(From OE-Core rev: 9dd0812acc73287287b48d28e0935baf7f545b58)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-28 11:31:21 +01:00
Hongxu Jia
fc85db13d9 ncurses: upgrade 6.1+20181013 -> 6.1+20190803
(From OE-Core rev: 8c5dc072b24c1b82b9254a80efde91aff8e8fa76)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-22 22:48:27 +01:00
Ross Burton
58ab85d3e0 systemd: add PACKAGECONFIG for gnu-efi
Add a PACKAGECONFIG for gnu-efi, by default the meson.build looks explicitly in
/usr/include and /usr/lib for gnu-efi, and if it is present on the host the
build will fail.

[ YOCTO #13487 ]

Original patch by Chin Huat Ang.

(From OE-Core rev: 050cda9f02c6a5c773edf092514b173839569a48)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-21 21:52:59 +01:00
Jason Wessel
fb20d73461 cross-localedef-native: Add hardlink resolver from util-linux
The hard link resolver that is built into localedef cannot be run in
parallel.  It will search sibling directories (which are be processed
in parallel) and perform a creation of a .tmp file and remove the
original and move the .tmp file in.  The problem is that if a probe
occurs a hard link can be requested to the file that is being removed.
This will lead to a stray copy or potentially, on a loaded system
cause race condition which pseudo cannot deal with, where it is left
with a hard link request to a file that no longer exists.  In this
situation psuedo will inherit the permissions of what ever the target
inode had to offer.

In short, there are two problems:

  1) You will be left with stray copies when using the hard link
     resolution that is built in while running in parallel with
     localedef.

  2) When running under pseudo the possibility exists for uid/gid
     leakage when the source file is removed before the hard link can
     be completed.

The solution is to call localedef with --no-hard-links and separately
process the hardlinks at a later point.  To do this requires the
inclusion of the hardlink utility found in modern versions of
util-linux.  Most host systems do not have this, so it will be
included with the cross-localedef binary.

There are two patches here.  The first imports the raw version of
hardlink.c and a couple of header files directly from util-linux. The
second patch applies the fix-ups to make it compile, along with a
change to recipe to package the new binary.

[YOCTO #11299]
[YOCTO #12434]

(From OE-Core rev: 57e2e498ffb675d274aa95b10c14bd81742d2761)

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-21 15:29:02 +01:00
Kevin Hao
f45a48887f psplash: Avoid mount the psplash tmpfs twice
The /etc/init.d/psplash.sh will be invoked both in boot and
shutdown/reboot. And the psplash tmpfs will be mounted twice. This
will trigger a bug in umount and let the system hang when
shutdown/reboot. I already made a patch [1] to fix the issue in
umount, but there is no reason for the psplash to do the twice mount.
So also fix it.

[Yocto 13461]

[1] https://lore.kernel.org/util-linux/20190819083022.12289-1-kexin.hao@windriver.com/T/#u

(From OE-Core rev: 5cea0448c5c75b9defc5fc2582e9b0c14e26a4e9)

Signed-off-by: Kevin Hao <kexin.hao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-21 15:29:02 +01:00
Chen Qi
779875ad69 target-sdk-provides-dummy: extend packages for multilib case
If we have installed some lib32 package which depends on perl/bash,
then populating sdk for that image would fail with the following error.

  Error:
  Problem: package lib32-libxml-namespacesupport-perl-1.12-r0.corei7_32 requires lib32-perl, but none of the providers can be installed

    package target-sdk-provides-dummy-1.0-r0.sdk_provides_dummy_target conflicts with /usr/bin/perl provided by lib32-perl-5.30.0-r0.corei7_32
    package target-sdk-provides-dummy-1.0-r0.sdk_provides_dummy_target conflicts with libperl.so.5 provided by lib32-perl-5.30.0-r0.corei7_32

This could be produced by the following steps:
1. IMAGE_INSTALL_append = " lib32-valgrind"
2. bitbake core-image-minimal -c populate_sdk

We need to extend all packages in DUMMYPROVIDES to avoid such problems.

(From OE-Core rev: 6a38c6aafc2956bb6f7824eff4ac0f630f02da75)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-21 15:29:01 +01:00
Changqing Li
04414b62a3 dbus: disable test-bus
test-bus take long time to finish, sometimes longer than ptest-runner's
timeout limit 300s, so skipped it for now

[YOCTO #13409]

(From OE-Core rev: 76caa7aece5cc8513989f77bb15944a22d17edf5)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-21 15:29:01 +01:00
Khem Raj
b95140cad3 systemd: Refresh patch after removal of __secure_getenv patch
(From OE-Core rev: 5268ee5b0ae1a11bf3c6cf673c8c17932ba630d4)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-21 15:29:01 +01:00
Khem Raj
634b65b7ff util-linux: Make pam specific logic apply to target recipe alone
This helps with a case where a distro builds one image with systemd and
another with sysvinit, it ends up recompiling almost everything since
python3-native gets rebuilt and tracing dependencies with
bitbake-diffsigs shows that the chain ends at util-linux-native being
recompiled because distro features now does or does not have 'pam'

Hash for dependent task python/python3_3.7.4.bb:do_prepare_recipe_sysroot:virtual:native:/mnt/a/yoe/sources/openembedded-core/meta/recipes-devt
ools/python/python3_3.7.4.bb changed from 8befaac4f995aaff3f95d27c9caaf1006f86e1344b02c1ae82f5d12f885f2240 to 2a45fe0cd0d3640a88c4a5c8b1880c4e9
a089cc7446a91d2a920c1cef6fa916a
    Hash for dependent task util-linux/util-linux_2.34.bb:do_populate_sysroot:virtual:native:/mnt/a/yoe/sources/openembedded-core/meta/recipes-
core/util-linux/util-linux_2.34.bb changed from 0db292cb2e37d5788bdcf51038b2802d748b719d860aca3a26d7a793b0cf3905 to 15d6e165f025f10c2c455df8a87
5cafe021eaed4214c793e708d4827a58ca89d
        Hash for dependent task util-linux/util-linux_2.34.bb:do_install:virtual:native:/mnt/a/yoe/sources/openembedded-core/meta/recipes-core/util-linux/util-linux_2.34.bb changed from 54bb4ee6bdb5c7fc260dabddb4932cb0e554a62cd92aba080a18306291fb470b to e25b1119ce8dd7ca43fbd2db771e04fa
6ff6b9d701fd78ac6c443224b036ed9f                                                                                                                           basehash changed from 8e8687a866689a697001dedc0a43f478e68e6efe270bd77362f24c6000f9e882 to 62df6610eab9c1b1a17d7132943507641c8538690
f26186843c86144d4598e64
            Variable do_install value changed:

rm -f ${D}${bindir}/chkdupexe
-   if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then
+   if [ "${@bb.utils.filter('PACKAGECONFIG', 'pam', d)}" ]; then
        install -d ${D}${sysconfdir}/pam.d
        install -m 0644 ${WORKDIR}/runuser.pamd ${D}${sysconfdir}/pam.d/runuser
        install -m 0644 ${WORKDIR}/runuser-l.pamd ${D}${sysconfdir}/pam.d/runuser-l
@@ -47,5 +47,4 @@
        rm -f ${D}${base_sbindir}/nologin
        rm -f ${D}${base_bindir}/kill

    -DISTRO_FEATURES{pam} = Unset
    PACKAGECONFIG{pam} = Unset

So far it seems this pam conditional code in util-linux is target
specific and would not apply to native or nativesdk recipes

(From OE-Core rev: a57f56576eda4b3ad5496e375b432e06e34ad8b9)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-21 15:29:01 +01:00
Khem Raj
01165b43ff systemd: Drop musl __secure_getenv patch
This API is now implemented in musl [1]

[1] https://git.musl-libc.org/cgit/musl/commit/?id=7844ecb590893f8344324837956718001402d297

(From OE-Core rev: 46e49b14b52ebc9c7076488ad858083f8270ce9f)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-21 15:29:01 +01:00
Khem Raj
e3fa57021c musl: Update to latest tip
Fixes build regressions on risc-v
Detailed changelog is here [1]

[1] https://git.musl-libc.org/cgit/musl/log/?qt=range&q=d0b547dfb5f7678cab6bc39dd736ed6454357ca4..29e8737f81ccc9fbadcf61a75318aa3d0516aafa

(From OE-Core rev: 0e590898134e3a9ae971ab0c5c570c6de3e162bd)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-21 15:29:01 +01:00
Khem Raj
8af4442174 musl: Delete GLIBC_LDSO before creating symlink with lnr
Fixes rebuild failures after say do_compile fails

| ./tools/install.sh -D -r /mnt/a/yoe/build/tmp/work/riscv64-yoe-linux-musl/musl/1.1.23+gitAUTOINC+d0b547dfb5-r0/image/usr/lib/libc.so /mnt/a/yoe/build/tmp/work/riscv64-yoe-linux-musl/musl/1.1.23+gitAUTOINC+d0b547dfb5-r0/image/lib/ld-musl-riscv64.so.1 || true
| Traceback (most recent call last):
|   File "/mnt/a/yoe/sources/openembedded-core/scripts/lnr", line 24, in <module>
|     os.symlink(target, linkname)
| FileExistsError: [Errno 17] File exists: 'image/usr/lib/libc.so' -> '/mnt/a/yoe/build/tmp/work/riscv64-yoe-linux-musl/musl/1.1.23+gitAUTOINC+d0b547dfb5-r0/imageNone'

(From OE-Core rev: 78a75d240083a80d624074e058c9a222a8a7b5e7)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-14 17:33:49 +01:00
Alexander Kanavin
21b9552645 ovmf: fix upstream version check
(From OE-Core rev: 7ec9997c86df11a9a08e1531269435010b12e8da)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-14 17:33:49 +01:00
Ricardo Neri
c7fb87ee6f ovmf: Generate test Platform key and first Key Exchange Key
Commit from EDK2 be9470b3c91f ("OvmfPkg/EnrollDefaultKeys: enroll
PK/KEK1 from the Type 11 SMBIOS table") mandates that a Platform Key
and first Key Exchange Key certificate is provided to the
EnrollDefaultKeys application.

Previously, the application was using a hard-coded certificate
from Red Hat embedded in the application.

Create a certificate that can QEMU can subsequently pass to
EnrollDefaultKeys when running qemu-shell-image.

Cc: Ross Burton <ross.burton@intel.com>
Cc: Patrick Ohly <patrick.ohly@intel.com>
Cc: Alexander Kanavin <alex.kanavin@gmail.com>
(From OE-Core rev: daaf9d7bd8c3586609ab0eccf49af38dbdb0b02e)

Signed-off-by: Ricardo Neri <ricardo.neri-calderon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-12 16:23:57 +01:00
Ricardo Neri
29fb47861f ovmf: Use HOSTTOOLS' python3
Use the variable PYTHON_COMMAND to let know EDK2 base tools that python3
in the host shall be used.

In order build successfully, the host must have installed the
python3-distutils package or equivalent.

Based on an original patch by Ross Burton.

Cc: Ross Burton <ross.burton@intel.com>
Cc: Patrick Ohly <patrick.ohly@intel.com>
(From OE-Core rev: 435d1f8ffe9df86367316d25cb6def2ea2041642)

Signed-off-by: Ricardo Neri <ricardo.neri-calderon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-12 16:23:57 +01:00
Ricardo Neri
b7f92324cc ovmf: Set PV
Now that EDK2 has been tagging stable releases, we can also set PV
and drop UPSTREAM_VERSION_UNKNOWN.

Cc: Ross Burton <ross.burton@intel.com>
Cc: Patrick Ohly <patrick.ohly@intel.com>
(From OE-Core rev: b9851d612be842d35ebd78f5f21158beaaed8e64)

Signed-off-by: Ricardo Neri <ricardo.neri-calderon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-12 16:23:57 +01:00
Ricardo Neri
bc59000e77 ovmf: Update to version edk2-stable201905
Fixes [YOCTO #13438]

Update OVMF to edk2-stable201905. Since the last update, several things
have changed. Many of the patches we were carrying have now been taken
upstream in EDK2 or become obsolete. See below for details.

Also, as of commit 0c1ffb9504c3("CryptoPkg: Adding OpenSSL as one
submodule of EDKII repo"), openssl is not embedded into EDK2 using a
patching script but a git submodule. Then, use the gitsm bitbabke fetcher
and drop the extra SRC_URI from openssl when building with secureboot
enabled. Also remove all related variables.

OVMF switched to BSD+Patent license as detailed in
https://bugzilla.tianocore.org/show_bug.cgi?id=1373. Hence, update
LIC_FILES_CHKSUM accordingly to reflect this change.

Patches are updated as follows:

Drop 0001-ia32-Dont-use-pie.patch as it is implemented in upstream EDK2
in commits are 11d0cd23dd1b ("BaseTools/tools_def IA32: drop -no-pie linker
option for GCC49" and c25d3905523a ("BaseTools/tools_def IA32: disable PIE
code generation explicitly") for the applicable GCC versions.

Rebase 0003-BaseTools-makefile-adjust-to-build-in-under-bitbake.patch
to edk2-stable201905.

Drop VfrCompile-increase-path-length-limit.patch as it has been taken
upstream in EDK2 in commit ba78032bc8c9f("BaseTools/VfrCompile: Remove the
MAX_PATH limitation").

Rebase no-stack-protector-all-archs.patch to keep behavior on not using
stack protector on all archs.

Drop 0001-BaseTools-header.makefile-add-Wno-stringop-truncatio.patch,
0002-BaseTools-header.makefile-add-Wno-restrict.patch, and
0003-BaseTools-header.makefile-revert-gcc-8-Wno-xxx-optio.patch. These
patches have been taken in upstream EDK2 in commits 9222154ae7b3("BaseTools
/header.makefile: add "-Wno-restrict"), 1d212a83df0e("BaseTools/
header.makefile: add "-Wno-stringop-truncation"), and 777f4aa083e9
("BaseTools/header.makefile: revert gcc-8 '-Wno-xxx' options on OSX"),
respectively.

Also, drop 0004-BaseTools-GenVtf-silence-false-stringop-overflow-war.patch.
GenVtf has been removed from EDK2 in commit 64ab2c82e8f6("BaseTools:
Remove GenVtf"). Also, this patch had been taken in EDK2 upstream in
commit 9de306701312("BaseTools/GenVtf: silence false 'stringop-overflow'
warning with memcpy()").

Drop patch 0007-OvmfPkg-EnrollDefaultKeys-application-for-enrolling-.patch
as it also has been taken by EDK2.

Patches 0002-ovmf-update-path-to-native-BaseTools.patch and
0004-ovmf-enable-long-path-file.patch did not need any update.

Lastly, add a needed dependency on bc.

Cc: Ross Burton <ross.burton@intel.com>
Cc: Patrick Ohly <patrick.ohly@intel.com>
(From OE-Core rev: 1f64ecf92fa77b682b18efe72fb6b27ff64ee052)

Signed-off-by: Ricardo Neri <ricardo.neri-calderon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-12 16:23:57 +01:00
Khem Raj
4b592bb251 musl: Update to master tip
Fix for RISC-V build regression

64bit time syscall plumbing

Changes are here [1]

[1] https://git.musl-libc.org/cgit/musl/log/?qt=range&q=0ce49d0a301b4142741b32773492af90f66ed3ca..d0b547dfb5f7678cab6bc39dd736ed6454357ca4

(From OE-Core rev: 34196d2913027d1fc8c080ea0c392a387e70a162)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-12 16:23:57 +01:00
Oleksandr Kravchuk
7e0957764d ell: update to 0.21
Changelog:
- Fix issue with resetting DHCP lease on client stop.
- Add support for GPIO helper functionality.

(From OE-Core rev: ca881bcad40e461e93a71f05b65967e7906cf2e1)

Signed-off-by: Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-07 16:08:15 +01:00
Mark Hatle
38fce3d2fd glibc-package.inc: Add linux-libc-headers-dev to glibc-dev
Without linux-libc-headers-dev being added to the libc6-dev as a RDEPENDS,
the system may fail to install the necessary libc headers.

This can happen when NO_RECOMMENDATIONS = "1" is defined.

During the 'testsdk' this results in failures that look like:

    fatal error: linux/errno.h: No such file or directory
    # include <linux/errno.h>
              ^~~~~~~~~~~~~~~

This also matches the behavior of musl, which does not suffer from this
problem.

(From OE-Core rev: ad31c908c8267166ce6cce9d5085ef2ac099a6c5)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-07 16:08:15 +01:00
Khem Raj
1b6ac48914 systemd-boot: Add option to specify cross objcopy and use it
This is needed when build host != x86 box

(From OE-Core rev: 5096f535561d2fd608d622abec5bc2ddb79d49b7)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-07 16:08:15 +01:00
Khem Raj
196e56a5d9 glibc: Update to glibc 2.30
- Drop backported patches
- Move common pieces between cross-localedef and glibc into a common file
- Move latest checksums to glibc-common.inc and remove duplicates from glibc recipe
- Detailed release notes [1]

[1] https://sourceware.org/ml/libc-alpha/2019-08/msg00029.html

(From OE-Core rev: fe75808dca4bb56ac703d18ebbad4004678f69da)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-07 16:08:15 +01:00
Adrian Bunk
753949c81d Change ftp:// URIs to http(s)://
(From OE-Core rev: a11edd68b256fffb088cde5b7298a5749161f600)

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-03 23:56:01 +01:00
Yuan Chao
1d6d0982e6 glib-2.0:upgrade 2.60.5 -> 2.60.6
(From OE-Core rev: b5ab6ec534bfed8abd56a32296ae246fd9545e0a)

Signed-off-by: Yuan Chao <yuanc.fnst@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-31 23:03:01 +01:00
Chin Huat Ang
fa1a3f5328 cve-update-db-native: fix https proxy issues
When https_proxy is set, use proxy opener to open CVE metadata and
database URLs, otherwise fallback to the urllib.request.urlopen.

Also fix a minor issue where the json database which has been gzip
decompressed as byte object should be decoded as utf-8 string as
expected by update_db.

(From OE-Core rev: 95438d52b732bec217301fbfc2fb019bbc3707c8)

Signed-off-by: Chin Huat Ang <chin.huat.ang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-26 08:41:39 +01:00
Frederic Ouellet
21e2686775 systemd: Add partial support of drop-in configuration files to systemd-systemctl-native
Support for serive-name.service.d/ folders containing .conf files
It don't support all the partial folder names

See https://www.freedesktop.org/software/systemd/man/systemd.unit.html

(From OE-Core rev: 32ed8e53109f4384970fb540e44cc2f7fcafb2a5)

Signed-off-by: Frederic Ouellet <fredericouellet@eaton.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-26 08:41:38 +01:00
Khem Raj
002c33a38f musl-obstack: Add recipe
obstacks from GNUlib is used in some OE-Core packages e.g. elfutils
and other packages outside OE-Core, this recipe helps provide this
functionality standalone on musl systems, and helps in getting full
versions of dependent packages

(From OE-Core rev: a0fb9093733a0e7e3e83f9bcedbd0fcbf6e1a0d3)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-23 22:26:28 +01:00
Khem Raj
610502927d pam_systemd: Include missing.h for secure_getenv
'secure_getenv' api is not uniformly implemented across all C libraries
therefore its good to include missing.h so it can use the alternative
implementation where its not awvailable

Fixes
../git/src/login/pam_systemd.c:344:13: error: implicit declaration of function 'secure_getenv' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
        v = secure_getenv(key);

(From OE-Core rev: 6cdcb1488a84da6c15145944c2aab3c604252699)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-23 22:26:28 +01:00
Khem Raj
f24ef905ed sysvinit: Include sys/sysmacros.h for major/minor definitions on musl too
Fixes musl issue

implicit declaration of function 'minor' is invalid in C99 [-Wimplicit-function-declaration]
which eventually ends up with a linker error

(From OE-Core rev: 6b603924e50a5694421b9142494315799422928d)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-23 22:26:28 +01:00
Khem Raj
2ebc15672c musl: Upgrade to 1.1.23+
License-Update: Added contributor list and copyright years
https://git.musl-libc.org/cgit/musl/commit/COPYRIGHT?id=7a6c8a0df1b685d788fd4d3763681bb3018806d7
https://git.musl-libc.org/cgit/musl/commit/COPYRIGHT?id=d6dcd4185bddff34724d6d539f834e9daf7dcf3d

- include release 1.1.23
- Add riscv support
- Add syscall numbers upto 5.1 kernel

Detailed log
https://git.musl-libc.org/cgit/musl/log/?qt=range&q=ac304227bb3ea1787d581f17d76a5f5f3abff51f..0ce49d0a301b4142741b32773492af90f66ed3ca

(From OE-Core rev: 31a08144f9c739b8d4f0a968860a5de8af44fdce)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-23 22:26:28 +01:00
Oleksandr Kravchuk
ff44852a7b udev-extraconf: do not mount swap partitions
Swap is a special filesystem that cannot be mounted, so do not try to,
otherwise we will have service that tries and fails to mount it with
the following error:

systemd[1]: Mounting /run/media/nvme0n1p3...
mount[1229]: mount: /run/media/nvme0n1p3: unknown filesystem type 'swap'.

(From OE-Core rev: 7a2c56da85326043f0663c29535ac3fb555d96fe)

Signed-off-by: Oleksandr Kravchuk <oleksandr.kravchuk@pelagicore.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-23 22:26:28 +01:00
Stefan Agner
dda8f1bab2 psplash: create psplash tmpfs mount directory in psplash-init
The psplash binary uses TMPDIR as directory to store the FIFO to
communicate with the psplash tools. This directory can be in any
location an init system determines to be suitable, psplash-init
uses /mnt/ for it. Rather than creating the mount directory in
the recipe, just create it in the init script itself. This allows
other init scripts to use a different location without having
an unnecessary .psplash directory in /mnt.

(From OE-Core rev: dd8c7f2466d94fd8326b962e9bcfc4f42a35da38)

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-22 17:31:04 +01:00
Ross Burton
82b5ed6acf cve-update-db-native: clean up JSON fetching
Currently the code fetches the compressed JSON, writes it to a temporary file,
uncompresses that with gzip and passes the fake file object to update_db().

Instead, uncompress the gzip'd data in memory and pass the JSON directly to
update_db().

(From OE-Core rev: 9422745979256c442f533770203f62ec071c18fb)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-22 17:31:03 +01:00
Ross Burton
297605eec0 cve-update-db-native: improve metadata parsing
The metadata parser is fragile: first it coerces a bytes() to a str() (so the
string is b'LastModifiedDate:2019...'), assumes the first line is the date, and
then uses a regex to parse (which then includes the trailing quote as part of
the date).

Clean this up by parsing the bytes as UTF-8 (ASCII is probably fine, but this is
safer), iterate through the lines and split on colons to find the right
key/value pair.

(From OE-Core rev: bb4e53af33d6ca1e9346464adbdc1b39c47530f3)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-07-22 17:31:03 +01:00