gnomebase.bbclass hardcodes the autotools inherit, so make it
configurable and allow meson to be specified instead.
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
[RP: patches tweaked to only need the one class] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Juro Bystricky [Thu, 4 Jan 2018 20:24:01 +0000 (12:24 -0800)]
gcc-runtime: improve reproducibility
Remove various build host references from packages:
libstdc++
libstdc++-staticdev
gcc-runtime-dbg
The references are removoved by correctly setting various compiler
-fdebug-prefix-map settings. There are two main issues:
The default DEBUG_PREFIX_MAP variable references WORKDIR, however,
gcc sources are in a shared folder (work-shared)/
Additionally, DWARF info seems to store symlink names but gcc
seems to resolve symlink names referenced in -fdebug-prefix-map.
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Juro Bystricky [Thu, 4 Jan 2018 20:01:13 +0000 (12:01 -0800)]
package_rpm.bbclass: clamp timestamps
Improve binary reproducibility of RPM packages.
Ensure timestamps in RPM packages are not later than the value
of SOURCE_DATE_EPOCH. If SOURCE_DATE_EPOCH is not set,
timestamps are not clamped.
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
glib-2.0: Remove python3 modules when building for mingw
Commit "glib-2.0: Add python3 modules required by gdbus-codegen"
(26af3b4b33a34d7e53059b07236f9d5aae5e004a) broke the MinGW build of
QEMU. To fix the build remove the python3 RDEPENDS for gdbus-codegen
when targeting mingw.
Signed-off-by: Alistair Francis <alistair.francis@xilinx.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Anuj Mittal [Thu, 4 Jan 2018 02:33:47 +0000 (10:33 +0800)]
gdb: fix build with x32
When compiling gdb for x32, it fails with errors:
|../../../gdb-8.0/gdb/gdbserver/linux-amd64-ipa.c: In function 'const target_desc* get_ipa_tdesc(int)':
|../../../gdb-8.0/gdb/gdbserver/linux-amd64-ipa.c:184:10: error: 'X86_TDESC_AVX512' was not declared in this scope
| case X86_TDESC_AVX512:
| ^~~~~~~~~~~~~~~~
|../../../gdb-8.0/gdb/gdbserver/linux-amd64-ipa.c:184:10: note: suggested alternative: 'X86_TDESC_AVX'
| case X86_TDESC_AVX512:
| ^~~~~~~~~~~~~~~~
| X86_TDESC_AVX
|../../../gdb-8.0/gdb/gdbserver/linux-amd64-ipa.c:185:14: error: 'tdesc_x32_avx512_linux' was not declared in this scope
| return tdesc_x32_avx512_linux;
| ^~~~~~~~~~~~~~~~~~~~~~
|../../../gdb-8.0/gdb/gdbserver/linux-amd64-ipa.c:185:14: note: suggested alternative: 'tdesc_x32_avx_linux'
| return tdesc_x32_avx512_linux;
| ^~~~~~~~~~~~~~~~~~~~~~
| tdesc_x32_avx_linux
|../../../gdb-8.0/gdb/gdbserver/linux-amd64-ipa.c: In function 'void initialize_low_tracepoint()':
|../../../gdb-8.0/gdb/gdbserver/linux-amd64-ipa.c:282:3: error: 'init_registers_x32_avx512_linux' was not declared in this scope
| init_registers_x32_avx512_linux ();
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|../../../gdb-8.0/gdb/gdbserver/linux-amd64-ipa.c:282:3: note: suggested alternative: 'init_registers_x32_avx_linux'
| init_registers_x32_avx512_linux ();
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| init_registers_x32_avx_linux
gobject-introspection: correct the --lib-dirs-envvar patch
The first version introduced a new branch in if-else statement, and so
discarded the actions in the branch taken previously. This seemed
to have no adverse effect for now, but let's do it right.
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
runtime/cases/ptest.py: fail when ptests fail on target
That's the whole point isn't it? Previously this testcase succeeded
even if some of the underlying on-target tests failed; the only way
to find out if anything was wrong was to manually inspect the logs.
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
testimage.bbclass: add ptest to the list of runtime tests whenever possible
If no ptest packages are installed in the image, the test does nothing;
if ptest packages are installed in the image, then they should be
run without user having to enable that manually.
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
runtime/cases/ptest.py: do not require ptest-pkgs in IMAGE_FEATURES; run only when ptest-runner is availalble;
Previously the test would execute only when all available ptests
for packages in the image were installed; some of those tests may
be broken, never finish, take a very long time or simply irrelevant
to the user who wants to check ptests of only a few specific packages,
and does so by listing them explicitly via IMAGE_INSTALL_append or similar.
Presence of ptest-runner means there is at least one ptest package installed
as they pull it in via a class dependency; ptest-runner is not generally
installed otherwise.
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The original recipe has been provided and improved by:
Ross Burton <ross.burton@intel.com>
Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
Adam C. Foltzer <acfoltzer@galois.com>
Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Linus Svensson <linussn@axis.com>
I have added patches to fix up gtk-doc and
gobject-introspection in cross-compilation environments,
and also change the order of linker arguments to replicate
autotools more closely (and fix linking errors in some corner
cases).
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Wed, 20 Dec 2017 17:09:47 +0000 (17:09 +0000)]
site/common: Allow ac_cv_path_SED to be overridden
There are tools in the wild where we need this to be a full path, even
if that doesn't make sense in most other cases due to libtool issues.
Allow those cases to override the default value as currently its near
impossible to do so.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Zhixiong Chi [Mon, 27 Nov 2017 06:53:59 +0000 (22:53 -0800)]
glibc: malloc: Add missing arena lock in malloc_info
There are the multiple process crashes seen while using malloc_info.
Obtain the size information while the arena lock is acquired, and only
print it later.
Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
gobject-introspection: do not export LD_LIBRARY_PATH prior to running qemu
Latest g-i upstream adds target paths to this variable which breaks
qemu in various confusing ways.
Instead, the list of target library paths is exported to GIR_EXTRA_LIBS_PATH,
so that it can be picked up automatically by the qemu wrapper script
and given to qemu (manually setting this variable from various recipes
will be removed in a different patch).
Also, re-enable parts of g-i on mips64, as it is the same issue.
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
kernel-fitimage.bbclass: Fix bad image type replacement for microblaze
When using kernel-fitimage class with microblaze, the image type has to be
linux.bin not zImage. This patch fixes the bad image type replacement
for microblaze
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Daniel Díaz [Mon, 13 Nov 2017 18:06:25 +0000 (12:06 -0600)]
cross-canadian: update GNU name for ILP32 triplet
As discussed and agreed in Linaro Connect Budapest 2017 [1],
the GNU name for ARM64 with 32-bit ABI has been changed, e.g.,
from:
aarch64_ilp32-linux-gnu
to:
aarch64-linux-gnu_ilp32
The current code has "ilp32" as an OS variant; this change
updates that variant to include the underscore in order to
match the agreed convention.
More information about ARM64 ILP32 can be found here:
* https://wiki.debian.org/Arm64ilp32Port
* https://wiki.linaro.org/Platform/arm64-ilp32
Richard Purdie [Tue, 2 Jan 2018 11:36:53 +0000 (11:36 +0000)]
runqemu: Add workaround for APIC hang on pre 4.15 kernels on qemux86
On pre 4.15 host kernels, an APIC window emulation bug can cause qemu
to hang. On 64 bit we can use the x2apic, for 32 bit, we just have to
disable the other timer sources and rely on kvm-clock.
[YOCTO #12301]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Jef Driesen [Fri, 22 Dec 2017 09:30:19 +0000 (10:30 +0100)]
glib-2.0: Add python3 modules required by gdbus-codegen
The gdbus-codegen tool depends on python3, python3-distutils and python3-xml at
runtime. But because these dependencies are not stated in the yocto recipe,
those python modules are not automatically included in the SDK.
Signed-off-by: Jef Driesen <jef.driesen@niko.eu> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Fri, 22 Dec 2017 08:57:53 +0000 (21:57 +1300)]
lib/oe/patch: add missing import
This module refers to oe.types, so it needs to actually import oe.types.
Fixes errors when parsing certain OE-Core recipes within the layer
index update script.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Tim Orling [Sat, 23 Dec 2017 02:46:17 +0000 (18:46 -0800)]
bmap-tools: fix RDEPENDS and update SRC_URI
* RDEPENDS are now all the python3 versions
* Upstream SRC_URI has moved to github.com/intel/bmap-tools
* Missing RDEPENDS on python3-setuptools added
- Provides import for pkg_resources
Fixes [YOCTO #12148]
Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Yi Zhao [Fri, 15 Dec 2017 01:18:38 +0000 (09:18 +0800)]
stat: remove the recipe
The stat hasn't any update since 2002. All modern Linux distributions
use stat from coreutils as default. After replace it with coreutils as
runtime dependency in hdparm, it is safe to drop this recipe and move it
to meta-oe.
Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Yi Zhao [Fri, 15 Dec 2017 01:18:37 +0000 (09:18 +0800)]
hdparm: replace stat with coreutils as runtime dependency
Currently only hdparm specifies stat as runtime dependency in oe-core.
But the stat hasn't any update since 2002. Replace it with coreutils as
runtime dependency since coreutils also provides stat program. Then we
can drop the stat recipe totally.
Also add a patch to fix stat path in wiper.sh.
Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Yi Zhao [Thu, 14 Dec 2017 06:45:04 +0000 (14:45 +0800)]
ltp: fix ar01 case failure
Our binutils is configured with --enable-deterministic-archives, so ar
runs in deterministic mode by default. The ar01 case would fail because
it doesn't consider this mode. Backport a patch from upstream to fix
this issue.
Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Robert Yang [Wed, 13 Dec 2017 02:45:52 +0000 (10:45 +0800)]
image-live.bbclass: add MLPREFIX to core-image-minimal-initramfs
The 32bit core-image-minimal-initramfs should be built when build lib32-iso, e.g.:
MACHINE = "qemux86-64"
require conf/multilib.conf
MULTILIBS = "multilib:lib32"
DEFAULTTUNE_virtclass-multilib-lib32 = "x86"
IMAGE_FSTYPES += "iso"
Aníbal Limón [Tue, 12 Dec 2017 15:38:17 +0000 (09:38 -0600)]
ptest-runner: Upgrade to 2.1.1
Contains fixes,
- timeout option missing the argument option ":" to getopt
- utils.c: Prefer monotonic clock to calculate elapsed time
- Add support to avoid load/run twice a run_ptest script
Signed-off-by: Aníbal Limón <anibal.limon@linaro.org> Signed-off-by: Ross Burton <ross.burton@intel.com>
wic: Fix a path to a psuedo state directory (PSEUDO_LOCALSTATEDIR).
In case of 'new_rootfs' the psuedo directory is not copied. Thus
PSEUDO_LOCALSTATEDIR should still point to the dsa
'native_sysroot'/../pseudo. Otherwise PSEUDO_LOCALSTATEDIR points to a not
existing director ('new_rootfs'/../pseudo) and UID and GUID attributes are not
applied to files of the image.
Signed-off-by: Adrian Fiergolski <adrian.fiergolski@cern.ch> Signed-off-by: Ross Burton <ross.burton@intel.com>
Ross Burton [Tue, 19 Dec 2017 14:33:38 +0000 (14:33 +0000)]
machine/include/qemu.inc: update RDEPENDS to match kernel naming
The kernel class now sets RDEPENDS_${KERNEL_PACKAGE_NAME}-base so this include
needs to do the same, otherwise bitbake emits a warning and the kernel isn't
removed.
Signed-off-by: Ross Burton <ross.burton@intel.com>
Haris Okanovic [Tue, 7 Nov 2017 18:40:39 +0000 (12:40 -0600)]
kernel: Add support for multiple kernel packages
Some distros may want to provide alternate kernel "flavors" via feeds or
within bootable images. For example, readily available builds which
provide certain diagnostic features can enable developers and testers to
more quickly resolve issues by avoiding lengthy kernel builds.
This change allows for building multiple flavors of the kernel and
module packages by templatizing kernel package names via a new
KERNEL_PACKAGE_NAME variable in kernel.bbclass. It defaults to the old
name of "kernel", but can be overridden by certain recipes providing
alternate kernel flavors.
To maintain compatibility, recipes providing alternate kernel flavors
cannot be the "preferred provider" for virtual/kernel. This is because
OE puts the preferred provider's build and source at
"tmp-glibc/work-shared/$MACHINE/kernel-build-artifacts/" and
"tmp-glibc/work-shared/$MACHINE/kernel-source/" instead of
"tmp-glibc/work/*/$PN/" like other recipes. Therefore, recipes using the
default KERNEL_PACKAGE_NAME="kernel" follows the old semantics -- build
in the old location and may be preferred provider -- while recipes using
all other KERNEL_PACKAGE_NAME's build from the normal WORKDIR and don't
provide "virtual/kernel".
Testing:
1. Add `KERNEL_PACKAGE_NAME_pn-linux-yocto-tiny = "tiny-linux"`
to local.conf so that linux-yocto-tiny may build alongside
the main kernel (linux-yocto).
2. `bitbake linux-yocto linux-yocto-tiny` to build both kernel flavors.
3. Verified image and modules IPKs exist for both:
tmp-glibc/deploy/ipk/qemux86/kernel-* for linux-yocto
tmp-glibc/deploy/ipk/qemux86/tiny-linux* for linux-yocto-tiny
4. Verified linux-yocto is the "preferred provider", and was built in
shared directory: tmp-glibc/work-shared/qemux86/kernel-*
5. Add `CORE_IMAGE_BASE_INSTALL_append_pn-core-image-base = "tiny-linux"`
to local.conf to install both kernel flavors in core-image-base.
6. `bitbake core-image-base` to build an image.
7. Verified image contains two bzImage's under /boot/, with
"yocto-standard" (linux-yocto recipe) selected to boot via symlink.
Stefan Agner [Tue, 12 Dec 2017 16:13:24 +0000 (17:13 +0100)]
waf.bbclass: explicitly pass bindir and libdir if supported
On some build hosts distros (e.g. Fedora 26) waf tries to be
smart about libdir detection and defaults to [EXEC_PREFIX/lib64].
This obviously is not what we want for 32-bit targets and usually
fails in the do_package phase:
WARNING: gstreamer1.0-plugins-imx-0.13.0-r0 do_package: QA Issue: gstreamer1.0-plugins-imx: Files/directories were installed but not shipped in any package:
/usr/lib64/libgstimxcommon.so.0
...
Depending on version, waf knows prefix or prefix, bindir and
libdir as default options. Explicitly pass the right set of
arguments.
Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Dengke Du [Tue, 12 Dec 2017 01:46:23 +0000 (09:46 +0800)]
avahi: upgrade to 0.7
Delete the unneeded patch, because the upstream contains the needed changes.
The new version of avahi 0.7 use "/run" directory to place some run-time
variable data, not /var/run, so in avahi.inc, we should remove the "/run"
not "/var/run".
Remove PACKAGECONFIG for pygtk which already dropped in upstream.
Signed-off-by: Dengke Du <dengke.du@windriver.com> Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Mike Crowe [Fri, 8 Dec 2017 13:43:26 +0000 (13:43 +0000)]
kernel.bbclass: Fix do_sizecheck behaviour
During the introduction of support for multiple kernel image types in 849b67b2e4820564b5e5c9bd4bb293c44351c5f3, do_sizecheck was changed to only
warn if any kernel was bigger than ${KERNEL_IMAGE_MAXSIZE}. (Well, it tried
to warn - it turns out that there's no function called "warn", it should be
"bbwarn".) The previous behaviour had been to fail the build if the single
kernel image did not fit.
It seems possible that people might be generating both compressed and
uncompressed kernels and only really care whether the compressed one fits.
This means that we shouldn't just always fail if any of the images are too
large. So, let's warn (correctly this time) on every image that is too
large, but only ultimately fail if no image will fit. The build will also
fail if ${KERNEL_IMAGETYPES} is empty, but I hope that no-one needs to do
that.
While we're here correct a typo in the KERNEL_IMAGE_MAXSIZE validity check.
Signed-off-by: Mike Crowe <mac@mcrowe.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Saul Wold [Tue, 5 Dec 2017 01:10:34 +0000 (17:10 -0800)]
mkelfimage: Remove un-needed recipe
As we are removing the ELF image type, we can now removed this older
mkelfimage recipe also, we reach back 3+ years in the coreboot git repo
to retrieve the source. This tool needs updating everything we change
binutils, which would normally be done by the upstream, but that is now
gone.
[YOCTO #11967]
Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Saul Wold [Tue, 5 Dec 2017 01:10:33 +0000 (17:10 -0800)]
image_types: Remove ELF type
As warned in a proir commit, it's time to remove the elf image type,
it is not long used anywhere (that I am aware of) and the mkelfimage
tool has been removed from the upstream coreboot code base.
Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Paul Eggleton [Tue, 12 Dec 2017 02:26:19 +0000 (15:26 +1300)]
oe-selftest: devtool: switch away from mkelfimage
mkelfimage is about to be removed, so test_devtool_modify_git needs to
use a different recipe. psplash is a reasonable choice given it uses a
git repository (and probably will forever), and doesn't have too many
dependencies, so change the test to use that recipe instead.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Previously oe-core had a development snapshot of rpm, it's better to update
to something more stable.
Removed patches:
0001-Add-PYTHON_ABI-when-searching-for-python-libraries.patch
(upstream is using pkg-config)
0001-When-nice-value-cannot-be-reset-issue-a-notice-inste.patch
(functionality has been moved to a plugin, we disable plugins
for rpm-native)
0012-Use-conditional-to-access-_docdir-in-macros.in.patch
(merged upstream)
Changed patches:
0001-Fix-build-with-musl-C-library.patch
(one previous musl issue has been resolved upstream; another has been added)
Rest of the patches are trivial rebases.
Update the signing oe-selftest so that the reference output matches
the upstream changes.
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
package.bbclass: replace rpm/debugedit with dwarfsrcfiles
Debugedit provided by rpm 4.14 is rewriting binaries in-place, and was
found to produce broken output at least for grub:
http://lists.openembedded.org/pipermail/openembedded-core/2017-November/143989.html
A replacement utility was suggested via private mail:
https://lists.fedorahosted.org/archives/list/elfutils-devel@lists.fedorahosted.org/message/VZP4G5N2ELYZEDAB3QYLXYHDGX4WMCUF/
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Bruce Ashfield [Thu, 21 Dec 2017 15:49:19 +0000 (10:49 -0500)]
linux-yocto/4.12: common-pc*: enable X2APIC by default
Enabling CONFIG_X86_X2APIC=y by default for common-pc* (and hence
qemux86*) to work around interrupt delivery issues when running on some
host kernels.
There's little overhead with this, and no impact to non x2apic
platforms, so we enable it for all builds.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>