Juro Bystricky [Thu, 1 Mar 2018 22:53:18 +0000 (14:53 -0800)]
libjpeg-turbo: improve reproducibility
Build date ends up embbedded in binary images, breaking reproducibility
of jpeg-tools and libturbojpeg. To enable reproducible builds, build date can be
specified during configuration, via "--with_build_date=<date>".
If SOURCE_DATE_EPOCH is specified we configure libjpeg-turbo with this value as
build date. Although the build date is a generic string, we keep it in the same
format YYYYMMDD.
[YOCTO #12526]
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Ross Burton [Thu, 1 Mar 2018 22:20:39 +0000 (22:20 +0000)]
libepoxy: improve musl patch
dlvsym() is used by the libepoxy test suite, but this is glibc-specific and
isn't present in musl.
Instead of adding an option to control whether dlvsym is available (which could
be detected by Meson), as we don't install the test suite simply add an option
to disable the entire test suite (and submit the patch upstream).
Also remove the build dependency on util-macros as that is a remnant of the
autotools build.
Signed-off-by: Ross Burton <ross.burton@intel.com>
libepoxy 1.4.3 did not compile successfully because of
implicit symbol definitions and link-time errors.
Patch to disable 'dlvsym' has also been forward-ported
to be applicable to version 1.5.0.
The patch 'Add-fallback-definition-for-EGL-CAST.patch' is
mainline now; thus it can be safely removed.
Also, the patch
0001-Define-MESA_EGL_NO_X11_HEADERS-before-including-eglp.patch
is no longer required since mainline fixed this too.
Signed-off-by: Francesco Giancane <francescogiancane8@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Martin Jansa [Thu, 1 Mar 2018 10:11:38 +0000 (10:11 +0000)]
libpam: be more strict about user's sanity
* replace do_pam_sanity function with distro_features_check inherit
* fixes:
WARNING: libpam-1.3.0-r5 do_pam_sanity: Building libpam but 'pam' isn't in DISTRO_FEATURES, PAM won't work correctly
in world builds and prevents user to build libpam at all without pam
in DISTRO_FEATURES, I don't see any users of this which wouldn't respect
pam in DISTRO_FEATURES
* only libuser is depending on libpam without respecting DISTRO_FEATURES
* there are few recipes in meta-oe layers depending on libpam without
respecting DISTRO_FEATURES, I've sent patch for them:
samba, openwsman, pam-ssh-agent-auth, sblim-sfcb, passwdqc, python-pam, smbnetfs
and omxplayer in meta-raspberrypi, I've sent PR for that one:
https://github.com/agherzan/meta-raspberrypi/pull/192
* poky-lsb will need to add pam to DISTRO_FEATURES in order to build
packagegroup-core-lsb
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Bruce Ashfield [Wed, 28 Feb 2018 02:06:54 +0000 (21:06 -0500)]
linux-yocto/4.14/4.15: yaffs2 fixes
Integrating the following fixes for yaffs2:
9f9649fffac9 yaffs2: Adjust the timer callback and init functions 0ef24a829eee yaffs2: include rawnand.h instead of nand.h
Signed-off-by: Kevin Hao <kexin.hao@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Paulo Neves [Sun, 25 Feb 2018 16:49:25 +0000 (17:49 +0100)]
wic: partition plugin wrongly assumes it is rootfs
The partition plugin is used as the base for other plugins.
One of the methods the plugins use, is the prepare_rootfs
method.
The prepare_rootfs method wrongly assumes that the value
ROOTFS_SIZE from bitbake datastore is relevant to every
invocation of prepare_rootfs, which it clearly is not, for
example in the bootimg-partition case.
This commit adds an optional argument to prepare_rootfs
where a caller can tell prepare_rootfs if it is an actual
rootfs and whether related rootfs information retrieved from
bitbake is valid. The default behavior of this optional
argument is to assume that the invocation is an actual
rootfs, to maintain compatibility with previous
implementations.
Signed-off-by: Paulo Neves <ptsneves@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
do_post_partition hook is needed if some operations like security signing
the parition needs to be done. source plugins can make use of this to implement
post operatiosn in do_post_partition. do_post_partition is called after
do_prepare_partition if present.
Signed-off-by: Parthiban Nallathambi <pn@denx.de> Signed-off-by: Ross Burton <ross.burton@intel.com>
cmake: refactor compile and install for easier re-use
cmake_do_compile() and cmake_do_install() basically do the
same, except they use a different --target, and at the
moment this is copy/pasted code with a minor modification.
Other recipes which e.g. might want to support compilation
as part of ptest have to do the same. This is a bit
inconvenient.
By factoring out all of this into a common helper,
cmake_runcmake_build(), this is easily re-used. An
(imaginary) recipe can compile ptest support simply by
using
cmake_runcmake_build --target buildtest-TESTS
(assuming such a build target exists).
Robert Yang [Thu, 22 Feb 2018 09:19:42 +0000 (17:19 +0800)]
git: 2.15.0 -> 2.16.1
Add /usr/share/git-core/templates/hooks/fsmonitor-watchman.sample to PERLTOOLS to fix:
ERROR: git-2.16.1-r0 do_package_qa: QA Issue: /usr/share/git-core/templates/hooks/fsmonitor-watchman.sample contained in package git requires /usr/bin/perl, but no providers found in RDEPENDS_git? [file-rdeps]
ERROR: git-2.16.1-r0 do_package_qa: QA run found fatal errors. Please consider fixing them.
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Ross Burton [Thu, 1 Mar 2018 18:26:32 +0000 (18:26 +0000)]
populate_sdk: install UTF-8 locales in SDKs
As glibc 2.27 can't read older locale-archives, SDKs using glibc 2.27 on hosts
using glibc earlier than 2.27 won't be able to find any locales, so bitbake
won't start and Python can't use UTF-8.
So by default install all locales into the SDK. Special-case Extensible SDKs by
installing no locales as they ship glibc in a buildtools, and that will have the
locales.
Locale installation requires cross-localedef, so add that to DEPENDS.
Also remove the explicit en_US addition in buildtools-tarball as it is now
redundant.
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Thu, 1 Mar 2018 18:26:27 +0000 (18:26 +0000)]
glibc: relocate locale paths in nativesdk
nativesdk is built with a specific prefix but this will be different at install
time, however glibc hard-codes the path to locale files. Expand these strings to 4K and move them to a magic segment which we can relocate when the SDK is installed.
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Juro Bystricky [Tue, 27 Feb 2018 20:19:26 +0000 (12:19 -0800)]
dbus-test_1.12.2: various fixes
The result of running dbus-test-ptest was a series of
various segfaults, interpreted as FAILs. This was a direct consequence
of the test suite loading the installed shared library libdbus-1.so, not the
one built along the test suite.
While we normally want to test against the installed libraries, we cannot
do this in this case as the test suite expects a library that is configured/compiled
differently from the installed one. We could configure the installed library
identically as the test suite expects, (and there should be no issues), however
this is not desirable for performance reasons.
Hence we need to use the library built along with the test suite.
Of course, running the test suite against its own library does not
test the installed library, however they are both built from the same
sources so that can give us some kind of indication.
The following changes were made:
1. Configure the test library as close as possible to the installed one,
with some additional configuration options that are needed for testing.
(Use dbus_1.12.2.bb recipe as a template)
2. Include the shared libraries in the package, use LD_LIBRARY_PATH during
testing to load them instead of the installed ones.
3. Add a few more tests. (There are still some additional tests built that
are not used, but they would have to be special-cased).
4. When evaluating the test results, differentiate between "FAIL" and "SKIP"
Ross Burton [Wed, 28 Feb 2018 23:06:30 +0000 (23:06 +0000)]
package.bbclass: fetch PRIVATE_LIBS twice as we iterate twice
The shlibs detection/handling iterates the package list twice, but PRIVATE_LIBS
is only fetched in the first loop which means the second loop only considers the
value set.
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Wed, 28 Feb 2018 11:22:37 +0000 (11:22 +0000)]
meta-world-pkgdata: This recipe is machine specific, mark as such
The recipe depends on many machine specific tasks and should be marked
as machine specific itself. This fixes signature tests after some dependency
issues were fixed at the bitbake level which exposed that issue.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Mon, 26 Feb 2018 01:50:01 +0000 (14:50 +1300)]
devtool: search: tweak help text
* We now match on more than just target recipes, so don't specify that
only target recipes are searched.
* We're printing the SUMMARY value in addition to the name, so mention
that so it's clear where that text is coming from.
* Remind users that they should use quotes around the keyword to avoid
shell expansion when using regular expressions.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Mon, 26 Feb 2018 01:50:00 +0000 (14:50 +1300)]
devtool: search: also look in recipe cache
If pkgdata isn't present or is incomplete, then you get either a
traceback or you don't see the results you were hoping for. The recipe
cache that bitbake collects during startup contains some useful
information for each recipe that we could search through as well, and
we can access it easily using tinfoil's all_recipes() API function,
so add some code that does that. (We still show a warning if pkgdata
isn't present, as there are certain dynamic packages that are generated
at packaging time that won't show up in the cache).
One side-effect of this is that we will start showing non-target
recipes - that's actually a good thing, since seeing those is useful,
however we exclude nativesdk recipes when in the eSDK to avoid confusion
since nativesdk isn't directly applicable there.
Fixes [YOCTO #12356].
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Mon, 26 Feb 2018 01:49:58 +0000 (14:49 +1300)]
devtool: deploy-target: don't specify ssh/scp port unless user does
If the user doesn't specify a port then we should avoid specifying one
on the ssh/scp command line in case the user has configured one for the
host they are connecting to, which was being overridden unnecessarily.
Fixes [YOCTO #12381].
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Mon, 26 Feb 2018 01:49:57 +0000 (14:49 +1300)]
devtool: finish: fix erroneously creating bbappend for relative paths
After OE-Core rev 5e3fe00a0233d563781849a44f53885b4e924a9c we call
os.path.abspath() on the original layer path, but we later compare that
to the destination layer path. If that layer path isn't absolute but is
effectively the same path, it should be writing to the original recipe
but because we weren't making it absolute we were writing a bbappend
instead. Call os.path.abspath() on the destination path as well to avoid
that.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Mon, 26 Feb 2018 01:49:56 +0000 (14:49 +1300)]
devtool: reset: delete bbappend file if _check_preserve() doesn't
If the .devtool_md5 file doesn't contain a reference to the bbappend
file (e.g. because devtool was interrupted before it could write that
out) then _check_preserve() won't delete it, so we need to delete it
separately because otherwise the recipe won't actually be reset.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Mon, 26 Feb 2018 01:49:55 +0000 (14:49 +1300)]
devtool: fix poor handling of upgraded BBCLASSEXTENDed recipes
Fix two aspects of handling BBCLASSEXTENDed targets (e.g.
openssl-native) that have been run through "devtool upgrade":
* Fix recipe name not showing up in "devtool status"
* Fix "devtool reset" not deleting empty directories under the recipe
directory within the workspace, which may lead to problems if you
subsequently run "devtool upgrade" on the same target again
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Mon, 26 Feb 2018 01:49:54 +0000 (14:49 +1300)]
lib/oe/path: implement is_path_parent()
In a few places we have checks to see path B is the parent of path A, by
adding / to the end of the path B and then seeing if path A starts with
the suffixed path B. Unfortunately there are two potential flaws:
(1) path A needs to be suffixed with / as well or the directory itself
won't match (semantics perhaps, but in a lot of scenarios returning True
is correct); (2) you need to run os.path.abspath() on both paths first
or you will wrongly return False for some relative paths where you
should return True. Let's solve this once and for all by writing a
function that takes care of these and put it in oe.path.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Enrico Scholz [Tue, 27 Feb 2018 18:46:48 +0000 (19:46 +0100)]
oe-init-env: search 'bitbake' outside of oe-core
atm, 'oe-init-build-env' expects 'bitbake' to be within the OE core git
repository. This complicates the project setup because you have to
manage the 'bitbake' directory or symlink manually (or specify the
bitbake location explicitly).
Looking for 'bitbake' outside the main git repository will ease project
management significantly. Now, you can put everything into git submodules,
clone the project with
Richard Purdie [Mon, 18 Sep 2017 16:51:58 +0000 (17:51 +0100)]
package_manager: Filter to only rpms we depend upon
Currently do_rootfs gets to see all rpms in the deploy directory. This filters
that view to only rpms which the image recipe has actual depends upon which
potentially removes some sources of confusion in the image construction.
This makes builds more reproducibile and also fixes contamination issues
where dnf picks up packages it shouldn't be able to 'see'.
[YOCTO #12039]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Robert Yang [Thu, 22 Feb 2018 09:19:43 +0000 (17:19 +0800)]
time: 1.7 -> 1.8
* Remove debian.patch which is already in the source.
* License-Update: The license is changed to GPLv3, and move v2 one to meta-gplv2.
* Merge time.inc into time_1.8.bb.
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Khem Raj [Wed, 21 Feb 2018 03:12:48 +0000 (19:12 -0800)]
binutils: Upgrade to 2.30 release
Additionally cherry-pick
5ffeba4a09 Revert "PowerPC PLT speculative execution barriers" b01452b1d4 [PR22764][LD][AARCH64]Allow R_AARCH64_ABS16 and R_AARCH64_ABS32 against absolution symbol or undefine symbol in shared object. a985e9b9de Import patch from mainline to remove PROVODE qualifiers around definitions of __CTOR_LIST__ and __DTOR_LIST__ in PE linker scripts. eec4607fc5 Add support for DWARF-4 line number tables.
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Anuj Mittal [Wed, 21 Feb 2018 04:30:16 +0000 (12:30 +0800)]
libva-utils: upgrade to 2.1.0
Major changes:
* Refine gtest conformance cases
* vp9enc: add support low power mode
* vavpp: add support for RGBA/RGBX surface
* vainfo: add support new profile/entrypoint pairs
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Anuj Mittal [Wed, 21 Feb 2018 04:30:15 +0000 (12:30 +0800)]
libva: upgrade to 2.1.0
Major changes:
* Bump VA-API version to 1.1.0
* Add API for multi-frame processing
* Add entrypoint VAEntrypointStats for Statistics
* Add data structures for HEVC FEI support
* Add new attributes for decoding/encoding/video processing
* Add new VPP filter for Total Color Correction
* Add blending interface in VPP
* Add rotation interface in VPP
* Add mirroring interface in VPP
* Add Chroma siting flags in VPP
* Add new color standard definitions
* Add new interface for exporting surface
* Add message callbacks for drivers to use
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
The debug output tells us that the NONDIGITS check failed to remove
the digits using the tr expression. Enclosing the expression in
quotes causes it to work properly.
Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Ross Burton [Tue, 20 Feb 2018 22:43:53 +0000 (22:43 +0000)]
xcb-proto: don't compile for Python 2
Remove the do_install_append to create the Python 2 pyc files, as nothing in the
build is using Python 2 anymore (libxcb is the only user, and that uses Python
3).
Also use variables instead of a patch to control what Python binary and path the
modules are installed to.
Signed-off-by: Ross Burton <ross.burton@intel.com>
Maxin B. John [Tue, 20 Feb 2018 15:44:04 +0000 (17:44 +0200)]
librsvg: provide RECIPE_NO_UPDATE_REASON
Rustification of librsvg from version 2.41.0 onwards creates the need
for Rust compiler to build it. We need to push the upgrade of
librsvg until we have Rust support in oe-core.
Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Otavio Salvador [Tue, 20 Feb 2018 13:28:07 +0000 (10:28 -0300)]
mesa: Upgrade 17.3.3 -> 17.3.5
The 17.3.5 release, published in February 19th, 2018 to fix a critical
regression from 17.3.4 release. They fix a number of issues since
17.3.3 release.
We need to use the meson.cross file when building for nativesdk.
Additionally, we need to trick meson's sanity tests, just as it is
done for target builds.
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Ross Burton [Tue, 20 Feb 2018 00:39:57 +0000 (00:39 +0000)]
libtirpc: stop dropping in NIS headers
libtirpc prior to 1.0.2 assumed that the system provided nis.h but this isn't
always true. Until now we've been using a tarball of the missing files from
Gentoo, but libtirpc 1.0.2 added a copy of nis.h to the sources so this isn't
required anymore.
Signed-off-by: Ross Burton <ross.burton@intel.com>
kernel.bbclass: explicitly depend on bison-native for deterministic builds
Explicitly depend on bison-native for deterministic builds, as it is required
for the build:
| HOSTCC scripts/basic/fixdep
| GEN ./Makefile
| HOSTCC scripts/kconfig/conf.o
| YACC scripts/kconfig/zconf.tab.c
| /bin/sh: bison: command not found
| scripts/Makefile.lib:217: recipe for target 'scripts/kconfig/zconf.tab.c' failed
In most cases, this dependency comes indirectly via toolchain dependencies,
specifically binutils-cross, which pulls bison-native. Different setups,
such as with external toolchain, would expose this problem, since correct
dependency is not marked explicitly.
Signed-off-by: Denys Dmytriyenko <denys@ti.com> Signed-off-by: Ross Burton <ross.burton@intel.com>