Hongxu Jia [Wed, 17 Jan 2018 08:25:58 +0000 (03:25 -0500)]
grub/grub-efi: fix conflict
While installing grub and grub-efi, there are conflict files
in ${sysconfdir} ${datadir} ${bindir} ${sbindir}.
- Since all of the conflicted files are tools which is
common for grub and grub-efi, we split them (except
grub-editenv) to grub-common in grub.
- The package grub-common runtime depends grub-editenv
- The package grub-editenv runtime provides grub-efi-editenv
- Remove SYSROOT_DIRS_BLACKLIST
- The recipe grub-efi does not generate the duplicated files
and use runtime depends grub-common to instead
Debian and Fedora do the similar thing.
Debian use a common package grub-common for both of pc bios and efi,
and use package grub-pc-bin for pc bios, grub-efi-amd64-bin for efi.
Both of grub-pc-bin and grub-efi-amd64-bin requires grub-common.
https://packages.debian.org/sid/grub-common
https://packages.debian.org/jessie/grub-pc-bin
https://packages.debian.org/jessie/grub-efi-amd64-bin
Fedora use a common package grub2-tools for both of pc bios and efi,
and use package grub2 for pc bios, grub2-efi-modules for efi.
Both of grub2 and grub2-efi-modules requires grub2-tools.
https://www.rpmfind.net/linux/RPM/fedora/devel/rawhide/x86_64/g/grub2-tools-2.02-0.34.fc24.x86_64.html
https://www.rpmfind.net/linux/RPM/fedora/devel/rawhide/x86_64/g/grub2-2.02-0.34.fc24.x86_64.html
https://www.rpmfind.net/linux/RPM/fedora/devel/rawhide/x86_64/g/grub2-efi-modules-2.02-0.34.fc24.x86_64.html
[YOCTO #11639]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Huang Qiyu [Thu, 18 Jan 2018 02:29:37 +0000 (10:29 +0800)]
tiff: 4.0.8 -> 4.0.9
1.Upgrade tiff from 4.0.8 to 4.0.9.
2.Delete CVE-2017-10688.patch, CVE-2017-11335.patch, CVE-2017-13726.patch, CVE-2017-13727.patch, CVE-2017-9147.patch, CVE-2017-9936.patch, since it is integrated upstream.
Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Ross Burton [Fri, 5 Jan 2018 16:39:28 +0000 (16:39 +0000)]
cmake: allow the generator to be changed
Add OECMAKE_GENERATOR variable to control which generator is used by CMake,
defaulting to the upstream default of Unix Makefiles for now. The other
supported option is Ninja, which is faster than Make for large projects (for
example, using Ninja takes three minutes off webkitgtk:do_compile for me).
Signed-off-by: Ross Burton <ross.burton@intel.com>
Martin Kelly [Wed, 17 Jan 2018 19:22:57 +0000 (11:22 -0800)]
meson.bbclass: add MESON_LINK_ARGS to vardeps
Currently, we include MESON_C_ARGS in write_config[vardeps], but we
don't include MESON_LINK_ARGS, which also affects meson.cross. In
addition, we include TOOLCHAIN_OPTIONS, from which both are derived.
Add MESON_LINK_ARGS, and remove TOOLCHAIN_OPTIONS, which does not
directly appear in meson.cross and should be pulled in indirectly by
MESON_C_ARGS and MESON_LINK_ARGS.
Signed-off-by: Martin Kelly <mkelly@xevo.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Martin Kelly [Wed, 17 Jan 2018 19:22:56 +0000 (11:22 -0800)]
meson.bbclass: include C{, XX}FLAGS in cross args
Currently, CFLAGS and CXXFLAGS are not making it into the compile line.
This is because meson appends CFLAGS/CXXFLAGS from the environment only
for native but not for cross builds (probably to keep cross-builds more
isolated). As a result, we need to make sure these vars goes into
meson.cross. This is similar to what cmake.bbclass does with
OECMAKE_C_FLAGS and OECMAKE_CXX_FLAGS.
Change c_args and cpp_args in meson.cross to include these vars, and
update write_config[vardeps] accordingly.
Signed-off-by: Martin Kelly <mkelly@xevo.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Martin Kelly [Wed, 17 Jan 2018 19:22:55 +0000 (11:22 -0800)]
meson.bbclass: compile with --buildtype plain
OE manages all the compile flags, so we don't want meson to inject its
own flags. Currently, it's injecting -O0 and causing build breaks when
security flags are enabled (because _FORTIFY_SOURCE requires an
optimized build and meson defaults to a debug -O0 build).
Add --buildtype plain so meson will not add its own optimization flags.
Signed-off-by: Martin Kelly <mkelly@xevo.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
- cmake-Prevent-the-detection-of-Qt5.patch: so it replaces the sed
command calls inside the cmake.inc
- 0001-FindCUDA-Use-find_program-if-find_host_program-is-no.patch:
merged upstream, so it has been removed.
- support-oe-qt4-tools-names.patch: rebased.
License-checksum-change: added new contributors Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Ross Burton <ross.burton@intel.com>
Ross Burton [Tue, 16 Jan 2018 14:02:52 +0000 (14:02 +0000)]
glib: improve gettext enabling/disabling
As we only seed gettext's msgfmt as /bin/false for native builds, explicitly set
USE_NLS to yes in the recipe (as it was previously) for targeget and nativesdk
builds.
Signed-off-by: Ross Burton <ross.burton@intel.com>
Andre McCurdy [Tue, 16 Jan 2018 03:30:38 +0000 (19:30 -0800)]
kernel: drop unnecessary True options from calls to getVar
The older style calls (plus a bashism in kernel.bbclass, fixed
separately) were introduced via the recent change to add support for
multiple kernel packages:
* Remove duplicated dependencies to reduce the size of the dot files.
For example, A->B, B->C, A->C, then A->C can be removed. The dot files are too
big, we nearly couldn't use 'dot -T' to generate pictcures for target recipes,
remove the duplicated dependencies makes is it possible.
$ bitbake core-image-sato -g
$ oe-depends-dot -r recipe-depends.dot
Saving reduced dot file to recipe-depends-reduced.dot
$ du -sh recipe-depends*.dot
608K recipe-depends.dot
32K recipe-depends-reduced.dot
It has been recuded from 608K to 32K, now we can generate a picture,
otherwise, it is too big:
$ dot -Tpng recipe-depends-reduced.dot -O
It also can handle task-depends.dot.
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Maxin John [Fri, 12 Jan 2018 12:26:37 +0000 (14:26 +0200)]
i2c-tools: upgrade to 4.0
Update the SRC_URI to point to kernel.org location where
i2c-tools is hosted these days.
Remove Modules.mk since it was used for deprecated binaries
(eepromer, eeprom)
Backported the following patches to fix races during build:
a) 0001-tools-Module.mk-Add-missing-dependencies.patch
b) 0001-i2c-tools-eeprog-Module.mk-Add-missing-dependency.patch
c) 0001-lib-Module.mk-Add-missing-dependencies.patch
Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Maxin B. John [Fri, 12 Jan 2018 12:26:36 +0000 (14:26 +0200)]
pkgconf: upgrade to 1.4.0
1.3.7 -> 1.4.0
Removed following upstreamed and backported patches:
1. 0001-stdinc.h-fix-build-with-mingw.patch
2. 0001-Minimal-tweaks-to-compile-with-Visual-C-2015.patch
Change in checksum is due to bump in copyrights to 2018.
Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Nicolas Dechesne [Fri, 12 Jan 2018 10:05:07 +0000 (11:05 +0100)]
linux-firmware: add packaging for QCOM firmware for APQ8016 and APQ8096
Firmware files for VPU and GPU found on various Qualcomm based devices, such as
Dragonboard 410c and/or Dragonboard 820c.
* venus-1.8 and adreno-a3xx firmware are VPU and GPU for Qualcomm APQ8016 SoC
* venus-4.2 and adreno-a530 firmware are VPU and GPU for Qualcomm APQ8096 SoC
Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org> Signed-off-by: Ross Burton <ross.burton@intel.com>
Hongxu Jia [Fri, 12 Jan 2018 08:11:22 +0000 (03:11 -0500)]
wget: improve reproducibility
Remove build host references from the internally
generated file version.c. The references get compiled into
executables, which leads to non-reproducible builds.
The removed references (--sysroot, -fdebug-prefix-map) were
only used as part of the `wget --version' which do not have
side effect.
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
tune-i686: Add new tune for better support of 686-class CPUs.
There isn't currently any tune available for i686 x86 optimizations.
The tune for i586 doesn't enable i686 specific optimizations, and the
one for core2 enables things that won't work on a i686 CPU (like SSE3).
Make the tune for core2 inherits from this one and move there the
setting of X86ARCH32.
Signed-off-by: Carlos Alberto Lopez Perez <clopez@igalia.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Wed, 17 Jan 2018 17:11:33 +0000 (17:11 +0000)]
buildhistory-diff: add support for colourising the output
Colour value removes in red and additions in green, making it easier to scan the
output for relevant changes.
This adds a --colour option to specify whether colouring should be on, off, or
detected. The default is detected, and depends on whether stdout is a TTY (same
behaviour as git).
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Alistair Francis [Wed, 17 Jan 2018 21:39:06 +0000 (13:39 -0800)]
qemu: Bump to version 2.11.0
Use the latest QEMU release 2.11. Remove all patches that are no longer
required as they have been merged into the 2.11 releaese. One patch had
to be updated to apply to the 2.11 tree.
This also applies a linux user patch to avoid webkitgtk build hangs.
Signed-off-by: Alistair Francis <alistair.francis@xilinx.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Tue, 16 Jan 2018 13:37:54 +0000 (13:37 +0000)]
classes/debian: clean up process spawning
This code is old and was of it's time, rewrite it to use modernish (we support
Python 3.4, so can't use subprocess.run()) subprocess and re idioms instead.
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Tue, 16 Jan 2018 13:37:53 +0000 (13:37 +0000)]
classes/debian: fix library path handling
The existing code is looking for libraries in all paths which end in ${libdir}.
This caused false-positives for recipes such as lz4 which had files called
/usr/lib/lz4/ptest/usr/lib/liblz4.so, and resulted in lz4-ptest being
incorrectly renamed to liblz4.
Solve this by explicitly looking for ${libdir} etc under the packages-split
directory.
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Otavio Salvador [Wed, 17 Jan 2018 15:59:32 +0000 (13:59 -0200)]
go-dep: upgrade 0.3.1 -> 0.3.2
The 0.3.2 version has been released in Oct 19, 2017, and has a great
set of features and improvements, as seen in the announcement summary:
,----
| NEW FEATURES:
|
| - Add support for importing from gvt and gb. (#1149)
| - Wildcard ignore support. (#1156)
| - Disable SourceManager lock by setting DEPNOLOCK environment
| variable. (#1206)
| - dep ensure -no-vendor -dry-run now exits with an error when
| changes would have to be made to Gopkg.lock. This is useful
| for CI. (#1256)
|
| BUG FIXES:
|
| - gps: Fix case mismatch error with multiple dependers. (#1233)
| - Skip broken vendor symlink rather than returning an error. (#1191)
| - Fix status shows incorrect reason for lock mismatch when ignoring
| packages. (#1216)
|
| IMPROVEMENTS:
|
| - Allow dep ensure -add and -update when lock is out-of-sync. (#1225)
| - gps: vcs: Dedupe git version list (#1212)
| - gps: Add prune functions to gps. (#1020)
| - gps: Skip broken vendor symlinks. (#1191)
| - dep ensure -add now concurrently fetches the source and adds the
| projects. (#1218)
| - File name case check is now performed on Gopkg.toml and Gopkg.lock.
| (#1114)
| - gps: gps now supports pruning. (#1020)
| - dep ensure -update now concurrently validates the passed project
| arguments. Improving performance when updating dependencies with
| -update. (#1175)
| - dep status now concurrently fetches repo info. Improving status
| performance. (#1135)
| - gps: Add SourceURLsForPath() to SourceManager. (#1166)
| - gps: Include output in error. (#1180)
`----
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Tue, 16 Jan 2018 13:25:15 +0000 (13:25 +0000)]
cmake: allow target names to be overridden
Don't hardcode the targets used in do_compile and do_install, instead build
"all" and "install" by default but respect OECMAKE_TARGET_COMPILE and
OECMAKE_TARGET_INSTALL variables.
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Otavio Salvador [Wed, 17 Jan 2018 16:05:03 +0000 (14:05 -0200)]
libarchive: Enable xz and lzo by default
The XZ format is widely used and multiple recipes inside OE-Core
already use it, so making the XZ enabled by default align the
expectation of users. The LZO, on the other side, is commonly used in
embedded systems due its performance so it makes sense to be available
by default.
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The order was wrong: GST_PLUGIN_SCANNER_1_0 was previously set before
GTKDOC_EXTRA_ENVIRONMENT and so was overriden by upstream setting it
from there. This changes the location of GST_PLUGIN_SCANNER_1_0 setting
to come after GTKDOC_EXTRA_ENVIRONMENT.
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Catalin Enache [Tue, 19 Dec 2017 10:39:12 +0000 (12:39 +0200)]
qemu: CVE-2017-17381
The Virtio Vring implementation in QEMU allows local OS guest users to
cause a denial of service (divide-by-zero error and QEMU process crash)
by unsetting vring alignment while updating Virtio rings.
Richard Purdie [Sat, 13 Jan 2018 17:57:24 +0000 (17:57 +0000)]
cross-canadian/gettext: Drop unneeded nativesdk-gettext dependency
In line with the other gettext cleanups, drop the nativesdk-gettext dependency
as it isn't needed (similarly to the previous target gettext dependencies).
This then means we can drop DEPENDS_GETTEXT as there are no other users.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Tue, 9 Jan 2018 17:50:06 +0000 (17:50 +0000)]
glib: remove gettext-native dependency for native builds
By removing gettext-native as a build dependency in glib-2.0-native we can delay
the build of gettext-native further. The gettext class will add the dependency
for target builds.
Don't forcibly set USE_NLS=yes so that NLS support is supposedly disabled in
native builds. GLib will then force it back on, but we shouldn't be using it in
any other native recipes so seed the autoconf cache so GLib will run /bin/false
instead of msgfmt. Quite a kludge, but it works and should fail obviously if
the kludge stops being sufficient.
Signed-off-by: Ross Burton <ross.burton@intel.com>
Jackie Huang [Wed, 10 Jan 2018 01:53:06 +0000 (09:53 +0800)]
rpcbind: Stop freeing a static pointer
commit 7ea36ee introduced a svc_freeargs() call
that ended up freeing static pointer.
It turns out the allocations for the rmt_args
is not necessary . The xdr routines (xdr_bytes) will
handle the memory management and the largest
possible message size is UDPMSGSIZE (due to UDP only)
which is smaller than RPC_BUF_MAX
Signed-off-by: Jackie Huang <jackie.huang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Fixed:
$ oe-selftest -r devtool.DevtoolTests.test_create_workspace
[snip]
2017-12-20 18:28:59,404 - oe-selftest - INFO - Traceback (most recent call last):
File "/workspace2/lyang1/poky/meta/lib/oeqa/core/decorator/__init__.py", line 32, in wrapped_f
return func(*args, **kwargs)
File "/workspace2/lyang1/poky/meta/lib/oeqa/selftest/cases/devtool.py", line 177, in test_create_workspace
self.assertTrue('/workspace' not in result.output, 'This test cannot be run with a workspace layer in bblayers.conf')
AssertionError: False is not true : This test cannot be run with a workspace layer in bblayers.conf
[snip]
The value was hardcoded from the time it couldn't be computed, which
is no longer the case. After C99 'bool' is only defined if stdbool.h
is included, it's implementation defined and not required to be 1, so
caching it doesn't make sense and certain recipes whoose code test
ac_cv_sizeof_bool fail to build.
Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu@ni.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Ross Burton [Tue, 9 Jan 2018 00:21:10 +0000 (00:21 +0000)]
autotools: don't wipe gettext macros from gettext
We usually forcibly delete any gettext macros we come across to ensure that the
latest versions we ship are used, but if we're building gettext then it's a bad
idea to delete the gettext macros.
Historically this hasn't been a problem as the top-level gettext configure
doesn't use AM_GNU_GETTEXT so the deletion was never done, but this may change.
Signed-off-by: Ross Burton <ross.burton@intel.com>
Anuj Mittal [Sat, 13 Jan 2018 10:02:37 +0000 (18:02 +0800)]
libxml2: fix makefile for ptests
Changes to Makefile in latest version mean when "make -k runtests" is executed,
it leads to errors like:
| make: *** No rule to make target 'runtest.c', needed by 'runtest.o'.
| make: *** No rule to make target 'SAX.c', needed by 'SAX.lo'.
| make: *** No rule to make target 'entities.c', needed by 'entities.lo'.
| make: *** No rule to make target 'encoding.c', needed by 'encoding.lo'.
Make sure that we don't try to check and compile the tests again on the target.
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Juro Bystricky [Thu, 11 Jan 2018 21:16:57 +0000 (13:16 -0800)]
qemu-2.10.1.bb: support mingw build
The patch chardev-connect-socket-to-a-spawned-command.patch calls
"socketpair". This function is missing in mingw, so the patch
needs to be modified accordingly, otherwise we end up with a broken
mingw build.
While it is possible to simply remove the patch on a recipe level for
mingw platform, it makes more sense to modify the patch itself.
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Jackie Huang [Thu, 2 Nov 2017 06:40:40 +0000 (14:40 +0800)]
glibc/nscd: do not cache for netgroup by default
We don't have /etc/netgroup by default, so do not
cache for netgroup by default to avoid:
nscd[529]: 529 disabled inotify-based monitoring for file `/etc/netgroup': No such file or directory
nscd[529]: 529 stat failed for file `/etc/netgroup'; will try again later: No such file or directory
bash: ptest dependency on locale should honor virtual/libc-locale
meta/conf/distro/include/tclibc-glibc.inc weakly assigns PREFERRED_PROVIDER
for virtual/libc-locale to glibc-locale, but allows adjusting it if needed.
Hence, bash should not depend on glibc-locale directly, but instead use this
virtual/libc-locale variable.
Signed-off-by: Denys Dmytriyenko <denys@ti.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When we run wic within eSDK:
$ wic create mkefidisk -e core-image-minimal
ERROR: BUILDDIR not found, exiting. (Did you forget to source oe-init-build-env?)
In order to figure out variable values, one must have sourced
the OE build environment setup script. However, when we are in
within the eSDK environment which isn't initialised like the
normal OE build environment, we can't use wic utility with eSDK.
While wic ought to be fixed to be able to run without bitbake
& native tools [YOCTO #11281], but this is a workaround to set
BUILDDIR in the environment so that bitbake environment is setup
for wic to build its required native tools.
Signed-off-by: Chang Rebecca Swee Fun <rebecca.swee.fun.chang@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
scripts/wic: fix error of import wic module in eSDK environment
wic modules in scripts/lib/ are needed for wic to work, but path to
the python module is not exported in eSDK environment and we were
using an absolutized path of wic script within the sysroots.
We now changed to use real script path instead, where the wic modules
are located. This will also resolved the tracebacks found when running
wic from within the eSDK environment.
Traceback (most recent call last):
File "/tmp/deploy/sdk/poky_sdk/sysroots/x86_64-pokysdk-linux/usr/bin/wic", line 58, in <module>
from wic import WicError
ImportError: No module named 'wic'
Signed-off-by: Chang Rebecca Swee Fun <rebecca.swee.fun.chang@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
scripts/wic: append bitbake executable file path in eSDK environment
wic needs a set of tools to be available from sysroots.
wic will find bitbake executable within the environment,
and wic was unable to locate bitbake executable within eSDK
because it wasn't setup with the OE build environment script.
Hence, we need to add bitbake file path into the environment
PATH for wic to be able to discover it and import bb modules.
Signed-off-by: Chang Rebecca Swee Fun <rebecca.swee.fun.chang@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
webkitgtk: update to 2.18.5 (includes Spectre mitigations; see commit description)
This is the only available stable version with mitigation fixes for Spectre.
Webkit upstream developers do not port CVE fixes to earlier stable series,
no exception was made in this case.
at: explicitly depend on bison-native for deterministic builds
Usually bison-native gets into sysroot through indirect dependencies,
even with RSS. But when bison-native is not in sysroot, due to different
system config, it falls back to using "yacc" instead and fails like this:
| yacc -d parsetime.y
| make: yacc: Command not found
| Makefile:82: recipe for target 'y.tab.c' failed
| make: *** [y.tab.c] Error 127
Signed-off-by: Denys Dmytriyenko <denys@ti.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Explicitly depend on bison-native and flex-native for deterministic builds,
as those are required for the build:
| Makefile.config:129: *** Error: flex is missing on this system, please install it. Stop.
| Makefile.perf:205: recipe for target 'sub-make' failed
| make[1]: *** [sub-make] Error 2
| Makefile:68: recipe for target 'all' failed
| make: *** [all] Error 2
| Makefile.config:133: *** Error: bison is missing on this system, please install it. Stop.
| Makefile.perf:205: recipe for target 'sub-make' failed
| make[1]: *** [sub-make] Error 2
| Makefile:68: recipe for target 'all' failed
| make: *** [all] Error 2
In most cases, those dependencies come indirectly via toolchain dependencies,
specifically binutils-cross, which pulls both bison-native and flex-native.
Different setups, such as with external toolchain, would expose this problem,
since correct dependency is not marked explicitly.
The change is build-tested on all qemu architectures.
Signed-off-by: Denys Dmytriyenko <denys@ti.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Thu, 11 Jan 2018 16:49:49 +0000 (16:49 +0000)]
gcc: Add missing flex-native dependency
This is needed for all stages of the cross/target/canadian compilers
and without it (and with indirect gcc dependencies disabled), the steps
fail. Add missing dependencies.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Wed, 10 Jan 2018 17:28:58 +0000 (17:28 +0000)]
gettext: rationalise optional dependencies
gettext has optional dependencies on libxml2, glib, libcroco and libunistring.
If they're not available then gettext will use internal copies, but it can also
use system libraries.
For gettext-native and nativesdk-gettext continue to use the internal copies to
reduce the dependencies, but for target use the system shared libraries.
Also gettext 0.19.7 onwards swapped expat for libxm2, so remove the build
dependency on expat.
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Wed, 10 Jan 2018 17:28:57 +0000 (17:28 +0000)]
glib-2.0: rationalise build dependencies
nativesdk-glib-2.0 doesn't build-depend on nativesdk-gettext, but all variations
need to depend on gettext-native as they need msgfmt (so gettext-minimal-native
isn't an option).
Also add virtual/libintl as glib explicitly needs this. Generally this is
provided by glibc but some platforms (such as MinGW) don't.
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
gnupg: use native version for signing, rather than one provided by host
Using host gpg has been problematic, and particularly this removes
the need to serialize package creation, as long as --auto-expand-secmem
is passed to gpg-agent, and gnupg >= 2.2.4 is in use
(https://dev.gnupg.org/T3530).
Sadly, gpg-agent itself is single-threaded, so in the longer run
we might want to seek alternatives:
https://lwn.net/Articles/742542/
(a smaller issue is that rpm itself runs the gpg fronted in a serial
fashion, which slows down the build in cases of recipes with very
large amount of packages, e.g. glibc-locale)
Note that sstate signing and verification continues to use host
gpg, as depending on native gpg would create circular dependencies.
[YOCTO #12022]
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The entries of the created manifest file are always in a
different order. To ensure a deterministic build output
the entries are ordered alphabetically.
Signed-off-by: Michael Blättler <michael.blaettler@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Robert Yang [Mon, 8 Jan 2018 09:33:05 +0000 (17:33 +0800)]
multilib.bbclass: remove invalid PACKAGE_INSTALL
The PACKAGE_INSTALL is only used by image recipe, the previous code had
handled it in "if bb.data.inherits_class('image', d)", handle it again
doesn't make any sense (there is no PACKAGE_INSTALL for non-image
recipe), so remove it.
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Robert Yang [Mon, 8 Jan 2018 09:33:00 +0000 (17:33 +0800)]
sstate.bbclass: sstate_hardcode_path(): fix for multilib
It only substituted staging_target for target recipe which didn't work
for multilib, for example, postinst-useradd-lib32-polkit:
* No multilib:
PATH=/path/to/tmp-glibc/work/core2-64-wrs-linux/polkit/0.113-r0/recipe-sysroot-native/bin
staging_target=/path/to/tmp-glibc/work/core2-64-wrs-linux/polkit/0.113-r0/recipe-sysroot
The PATH would be substituted to:
FIXMESTAGINGDIRTARGET-native/bin
Not the funny "-native/bin", this works well.
* When multilib:
PATH=/path/to/tmp-glibc/work/core2-32-wrsmllib32-linux/lib32-polkit/0.113-r0/recipe-sysroot-native/bin
staging_target=/path/to/tmp-glibc/work/core2-32-wrsmllib32-linux/lib32-polkit/0.113-r0/lib32-recipe-sysroot
Now staging_target endswith "/lib32-recipe-sysroot", so it can't
replace '/recipe-sysroot-native' in PATH , so PATH can't be fixed, and
there would be build errors when building multilib + rm_work, for
example:
chown: invalid user: ‘polkitd:root’
Substitute staging_host for target recipe can fix the problem, now all
of native, cross and target need substitute staging_host, so we can
simply the code a little.
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Tue, 9 Jan 2018 11:20:31 +0000 (11:20 +0000)]
nativesdk/sdk: Update sdk dummy providers
When we migrated rpm v5 -> v4, we lost the ability to drop "per file"
dependencies from the rpm backend for things like "/bin/bash" and
"/usr/bin/env" which meant the sdks were becomming 'bloated'.
This restores the functionality using a dummy package, similarly to
the way the buildtools perl issue was addressed. It also removes
the non-functional old code so as not to confuse people in future.
I ran into this problem trying to filter dependencies to only rpms
a build directly depends upon and it turns out we have some determinism issues
in this area so this is something key to fix.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Tue, 9 Jan 2018 11:22:54 +0000 (11:22 +0000)]
package_deb: Handle / in dependency name
We can end up with / in dependency names from file dependencies but the
deb format doesn't allow this. Filter the names to allow such dependencies
to work. Names have to start with an alphanumeric digit so also handle this.
This allows for future handling of "per file" dependencies similarly to
the rpm backend, bring parity to the functionality of the backends.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>