Jussi Kukkonen [Wed, 12 Jul 2017 12:11:43 +0000 (15:11 +0300)]
mesa: Avoid installing khrplatfrom.h when not needed
Fix the conflict between mesa and userland (when former is used to
provide GL and letter used to provide EGL+GLES) by not installing
khrplatform.h header when its not needed.
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
recipetool: git reformat URI mangling & parameter stripped
recipetool seems to be mangling and stripping out the parameters for git
URI. This will fix this issue as well as resolve the conflict of
protocol parameter added by user. If a user adds their own protocol as
an argument, it'll be honored.
[YOCTO #11390]
[YOCTO #11391]
Signed-off-by: Stanley Cheong Kwan, Phoong <stanley.cheong.kwan.phoong@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
This is because we are not creating proper symlinks for BFD
and Gold linker in gcc installation
Secondly, we end up with dangling fortran compiler symlinks
if fortran is not enabled when confguring gcc, therefore
create these symlinks only when fortran support is enabled
in gcc
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Maxin B. John [Tue, 11 Jul 2017 12:58:13 +0000 (15:58 +0300)]
libxt: fix build failure
libxt build fails with this error:
/home/maxin/poky/build/tmp/work/i586-poky-linux/libxt/1_1.1.5-r0/recipe-sysroot/usr/include/bits/long-double.h:57:33:
fatal error: bits/long-double-64.h: No such file or directory
| compilation terminated.
| Makefile:408: recipe for target 'makestrs.o' failed
Fix the makestrs build.
Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Maxin B. John [Tue, 11 Jul 2017 12:58:12 +0000 (15:58 +0300)]
libx11: fix build error
libx11 build fails with this error:
fatal error: bits/long-double-64.h: No such file or directory
| compilation terminated.
This is due to the fact that "makekeys" should be compiled for the host
since it is executed at build time to generate ks_tables.h. Since we have
the X11 include files in the standard path of oe-core, we can remove the
X11_CFLAGS from Makefile.
Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Jussi Kukkonen [Tue, 11 Jul 2017 12:26:21 +0000 (15:26 +0300)]
vulkan-demos: Add recipe
Sascha Willems collection of Vulkan demos is useful as a smoke testing
tool.
* Add patch to install binaries and data.
* Add patch to fix build on X86
* Use a combination of patch and do_install_append to avoid some 3D
models with unclear licensing.
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Jussi Kukkonen [Tue, 11 Jul 2017 12:03:04 +0000 (15:03 +0300)]
acpitests: Remove as unmaintained
This recipe was last upgraded about ~30 releases or three years ago,
it seems to only be touched when something breaks. It also has an
'interesting' license that maybe is open source...
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Currently, RPM4 supports to sign the files in RPM payload with plugin
mechanism. We introduce more definitions to make the file signing
available for the users:
- RPM_FILE_CHECKSUM_DIGEST
Global switch to enable file signing.
- RPM_FSK_PATH
The file signing key.
- RPM_FSK_PASSWORD
The password of file signing key.
- RPM_FILE_CHECKSUM_DIGEST
The file checksum digest.
Signed-off-by: Lans Zhang <jia.zhang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Ed Bartosh [Fri, 7 Jul 2017 15:03:45 +0000 (18:03 +0300)]
image_types: fix squashfs-lzo and squashfs-xz builds
Dependencies required for squashfs-lzo and squashfs-xz image builds were
assigned to do_image_squashfs-lzo and do_image_squashfs-xz. As these
tasks don't exist the dependencies were not installed and builds
were failing.
Correct task names for these image types are: do_image_squashfs_lzo and
do_image_squashfs_xz because '-' and '.' are replaced by '_' in all
do_image* task names.
[YOCTO #11760]
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Ed Bartosh [Fri, 7 Jul 2017 15:12:23 +0000 (18:12 +0300)]
imagefeatures: add test_image_fstypes test case
Tested if core-image-minimal can be built for existing fstypes by
building an image and checking if result file <image>.<fstype> exists
in the image deploy directory.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Ed Bartosh [Fri, 14 Jul 2017 12:33:07 +0000 (15:33 +0300)]
selftest: fixed 5 wic test cases
Added core-image-minimal -> syslinux dependency to ensure
syslinux artifacts are available from core-image-minimal
build. This should fix test_iso_image, test_bootloader_config and
test_default_output_dir test cases.
Used --native-sysroot in test_image_vars_dir_long and
test_image_vars_dir_short test cases to point out to wic-tools
native sysrtoot.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Ed Bartosh [Fri, 14 Jul 2017 12:33:06 +0000 (15:33 +0300)]
wic: isoimage-isohybrid: use grub-efi from deploy dir
isoimage-isohybrid plugin tries to build grub-efi in its working
directory if it can't find efi binary. Wic should avoid doing anything
in working directories of other recipes. It should use artifacts from
the image deployment directory instead.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Ed Bartosh [Fri, 14 Jul 2017 12:33:05 +0000 (15:33 +0300)]
image_types_wic: set default WKS_FILE_DEPENDS
The default set of dependencies used via wic-tools is not used
anymore as wic images don't depend on wic-tools.
Set of packages required to produce wic image depends on the content
of the .wks file, so WKS_FILE_DEPENDS variable should be used to
provide correct list of dependencies when WKS_FILE variable is set.
As WKS_FILE_DEPENDS is not used in many existing recipes yet we need
to provide default value for it to ensure that removal of wic-tool
dependency doesn't cause image build failures.
Initialized WKS_FILE_DEPENDS with the set of dependencies previously
brought by wic-tool. This is done to provide compatibility and to
avoid breakages of existing image recipes that rely on current set
of dependencies.
Note: This is a temporary solution for transition period.
After some time the list will be either reduced or removed.
Recommended solution is to use WKS_FILE_DEPENDS in image recipes
together with WKS_FILE to specify dependencies.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Ed Bartosh [Fri, 14 Jul 2017 12:33:02 +0000 (15:33 +0300)]
wic: build wic-tools only if wic is run manually
When wic can't find native sysroot it tries to build wic-tools
However, it's not possible when wic is run from bitbake.
Moreover, it's not even feasible anymore as wic-tools should be
used only when wic is run manually.
Checked if wic is run manually before building wic-tools.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Ed Bartosh [Fri, 14 Jul 2017 12:33:01 +0000 (15:33 +0300)]
wic: isoimage: do not remove temp directory
Removed isodir subrdirectory instead of removing temporary
working directory as working directory can contain copy of
rootfs partition and shouldn't be removed by any plugin.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Ed Bartosh [Fri, 14 Jul 2017 12:33:00 +0000 (15:33 +0300)]
wic: get rid of using wic-tools
At the moment, when building images with IMAGE_FSTYPES=wic one ends up
depending on wic-tools and thus syslinux and grub-efi even when not
using those at all. Ideally, building an image with wic should only
build the tools and components really needed.
The problem is that "wic-tools" is needed also for the manual
invocations of wic, in which case everything that might be needed has to
be built in advance.
Replaced dependency on wic-tools with dependency to a much shorter set
of tools that wic uses almost for any image: 'parted', 'gptfdisk',
'dosfstools' and 'mtools'.
[YOCTO #11552]
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
distro_alias.inc: update unmap packages to other distro
Added packages with different names or based on sources that
generates multiple binaries eg: python-pycurl source generates
python3-pycurl as well. Currently, some of these packages are not
displayed as part of other distro due to naming differences on
the source rather than the binaries as a single source could
produce multiple binaries with different names.
Signed-off-by: Shen Joon Tan <shen.joon.tan@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Ross Burton [Mon, 10 Jul 2017 16:29:58 +0000 (17:29 +0100)]
lib/oe/sstatesig: exclude ccache-native from signature hashes
Enabling ccache should not cause a complete rebuild, so filter out ccache-native
from the dependencies the same way we do for quilt-native (so the world doesn't
repatch if quilt changes).
This doesn't effect the actual dependencies, just the dependencies that impact
the hash.
[ YOCTO #11417 ]
Signed-off-by: Ross Burton <ross.burton@intel.com>
Ross Burton [Mon, 10 Jul 2017 15:31:31 +0000 (16:31 +0100)]
ccache: don't export CCACHE_DISABLE globally
CCACHE_DISABLE was added to bitbake.conf in oe-core dd2bab (June 2012) because
autogen-native exports HOME=/dev/null during the build, which is then used by a
host ccache to construct the path to it's cache (/dev/null/.ccache) and this
fails.
However we now always export CCACHE_DIR to solve the same problem in a more
efficient way so CCACHE_DISABLE can be deleted.
Signed-off-by: Ross Burton <ross.burton@intel.com>
Ed Bartosh [Tue, 11 Jul 2017 14:34:23 +0000 (17:34 +0300)]
runqemu: reworked exception handling
Introduced custom RunQemuException that script raises on known
errors. This exception is handled in one place and prints
error output without printing Python traceback. This shoud make
error output less scary for the end user.
Handling of unknown errors has not been changed - both error and
traceback will be printed.
Reimplemented OEPathError exception code to handle it similarly
to RunQemuException.
Moved exception handling code into main() to keep it in one place.
[YOCTO #11719]
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
gcc: Fix libssh_nonshared linker specs for ppc/musl
The change to link libssp_nonshared.a only for musl was to move
spec file changes to config/linux.h under a conditional when
DEFAULT_LIBC == LIBC_MUSL which worked fine for all but ppc
since gcc for ppc provided its own linux.h overrides which are
used. This patch duplicates the change in those headers too
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Khem Raj [Mon, 12 Jun 2017 21:54:24 +0000 (14:54 -0700)]
musl: Update to latest on master
Bring in following changes
* fix missing volatile qualifier on lock in __get_locale
* remove ineffective compiler assist from printf
* fix undefined behavior in ptrace
* unify the use of FUTEX_PRIVATE
* fix undefined behavior in free
* reapply va_arg hacks removal to wprintf
* remove useless declarations in string.h
* allow specifying argv[0] when invoking a program via ldso command
* fix regression in dlopen promotion from RTLD_LOCAL to RTLD_GLOBAL
* ldso: avoid spurious & possible erroneous work for libs with no deps
* powerpc64: add single-instruction math functions
* fix clang CFLAGS checks and silence unused argument warnings
* s390x: add single-instruction math functions
* fix arm run-time abi string functions
* fix regression in getspnam[_r] error code for insufficient buffer size
* fix omission of microblaze user.h definitions
* fix iconv conversions for iso88592-iso885916
* handle errors from localtime_r in ctime_r
* set errno when getpw*_r, getgr*_r, and getspnam_r fail
* handle localtime errors in ctime
* handle mremap failure in realloc of mmap-serviced allocations
* getdate: correctly specify error number
* catopen: set errno to EOPNOTSUPP
* fix glob failure to match plain "/" to root directory
* use hard-coded sh4a atomic opcodes to avoid linker errors on sh
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Richard Purdie [Fri, 7 Jul 2017 12:55:06 +0000 (13:55 +0100)]
oeqa/tinfoil: Improve test_wait_event for race issues
The test could break in a variety of ways:
a) If BB_HEARTBEAT_EVENT was less than ~0.25 it would hang indefinitely
b) The mask is set after draining the event queue meaning a heartbeat event
could have happened
c) The test exits once it sees the events it wants, it doesn't check for
spurious events such as heartbeats which shouldn't have occured.
d) The hardcoded delay of 0.25 is nasty and shouldn't be needed.
I found a bitbake bug and fixed that meaning we don't need the delay any
more which fixes d). That means a) is no longer an issue either.
We now set the mask, then drain the queue meaning no spurious events should
be able to sneak in. The test is also tweaked to wait for 5s in total to
ensure spurious events don't occur such as heartbeat events we shouldn't see.
[YOCTO #11045]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
never result in npm in the sysroot within devshell. The reason is the
addto_recipe_sysroot stamp isn't removed when do_fetch is run but the sysroot
is cleaned.
With this patch, the second devshell will contain npm, which I think is probably
the best outcome we can hope for here.
[YOCTO #11461]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
oeqa/sdk: Replace buildiptables for buildlzip tests
Buildiptables test cases are conflicting with images built with “musl”
as standard C library, in order to avoid those issues lzip package was
selected to be used on the tests as this does not have any "musl"
dependency.
[YOCTO #11713]
Signed-off-by: Jose Perez Carranza <jose.perez.carranza@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
oeqa/runtime: Replace buildiptables for buildlzip on runtime tests
Buildiptables test cases are conflicting with images built with “musl”
as standard C library, in order to avoid those issues lzip package was
selected to be used on the tests as this does not have any "musl"
dependency.
This patch is applicable for testimage tests
[YOCTO # 11713]
Signed-off-by: Jose Perez Carranza <jose.perez.carranza@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Andre McCurdy [Thu, 6 Jul 2017 19:49:02 +0000 (12:49 -0700)]
mirrors.bbclass: remove stale lsof ftp mirrors
Replace with an mapping for http://www.mirrorservice.org to align
with recent changes to SRC_URI in the lsof recipe and allow
non-current lsof tar files to be found in the /OLD subdirectory.
Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Andre McCurdy [Thu, 6 Jul 2017 19:49:01 +0000 (12:49 -0700)]
lsof: update SRC_URI
Upstream lsof releases are hosted on an ftp server which times out
download attempts from hosts for which it can not perform a DNS
reverse-lookup. See:
https://people.freebsd.org/~abe/
http://www.mirrorservice.org seems to be the most commonly used
alternative (and using it for SRC_URI allows the custom
UPSTREAM_CHECK_URI to be removed).
Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Ming Liu [Thu, 6 Jul 2017 11:50:31 +0000 (13:50 +0200)]
linuxloader.bbclass: add musl libc support
Current linuxloader.bbclass does not support musl libc ldso, so add it
in.
After changing, now the linuxloader function will call a subfunction
according to which virtual/libc is being used, glibc or musl, the
linuxloader_musl function is made on top of the LDSO macro defined
in musl source, by mapping related OE variables to it.
Change tested on following machines:
"genericx86"
"genericx86-64"
"beaglebone"
"qemumips64"
"qemuarm64"
"mpc8315e-rdb"
"edgerouter"
"qemumips"
"kc705-microblazeel" - meta-xilinx
"qemuppc"
Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Otavio Salvador [Wed, 5 Jul 2017 21:36:27 +0000 (18:36 -0300)]
mesa: etnaviv: fix shader miscompilation with more than 16 labels
The labels array may change its virtual address on a reallocation, so
it is invalid to cache pointers into the array. Rather than using the
pointer directly, remember the array index.
Fixes miscompilation of shaders in glmark2 ideas, leading to GPU hangs.
This is a backport from 17.1.5.
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Ross Burton <ross.burton@intel.com>
GCC44_IA32_X64_DLINK_COMMON and GCC49_IA32_X64_DLINK_COMMON
variables add to final linker flags that ovmf build forms
on its own, so trying to inject it from environment will not
work.
Here we add option to disable pie during linking, which should
have been accompanied with correcponding gcc/cflags.
Fixes
| /mnt/a/oe/build/tmp/work/i586-bec-linux/ovmf/git-r0/git/Build/OvmfIa32/RELEASE_GCC5/IA32/OvmfPkg/AcpiTables/AcpiTables/OUTPUT/./Facs.dll: Bad definition for symbol '<unknown>'@0 or unsupported symbol type. For example, absolute and undefined symbols are not supported.
security_flags.inc: Do not build gcc for powerpc with PIE defaults
Since we have disabled FPIE from SECURITY_CFLAGS already, we have
to ensure the same with gcc, otherwise gcc (on-device) will be built
defaulting to PIE, and such binaries will fail to execute
Khem Raj [Wed, 28 Jun 2017 02:11:44 +0000 (19:11 -0700)]
gcc: Link libssp_nonshared.a only on musl targets
glibc already provides the content for libssp_nonshared
in libc_nonshared.a therefore we dont need to make it
universal.
This also fixed build issues on glibc when linking statically
and using -fstack-protector
Fixed errors like
/mnt/a/oe/build/tmp/work/i586-bec-linux/aufs-util/3.14+gitAUTOINC+bdfcc0dcfc-r0/recipe-sysroot/usr/lib/../lib/libc.a(stack_chk_fail.o): In function `__stack_chk_fail': /usr/src/debug/glibc/2.26-r0/git/debug/stack_chk_fail.c:27: multiple definition of `__stack_chk_fail_local' /mnt/a/oe/build/tmp/work/i586-bec-linux/aufs-util/3.14+gitAUTOINC+bdfcc0dcfc-r0/recipe-sysroot/usr/lib/../lib/libssp_nonshared.a(libssp_nonshared_la-ssp-local.o):/usr/src/debug/gcc-runtime/7.1.0-r0/gcc-7.1.0/build.i586-bec-linux.i586-bec-linux/i586-bec-linux/libssp/../../../../../../../../work-shared/gcc-7.1.0-r0/gcc-7.1.0/libssp/ssp-local.c:47: first defined here collect2: error: ld returned 1 exit status
These need to be expanded in the multiconfig data store but then placed
into the shared main datastore used by the siggen code. The only other
alternative would be a siggen instance for each multiconfig however that
seemed even more complex and invasive.
In real world usage, this issue would mean a qemux86 base config with
other armv5 and armv7 configs (e.g. beaglebone and qemuarm) would
try and build gcc-cross twice since dependencies normaly excluded
(e.g. linux-libc-headers) would now be included. This breaks sstate reuse
as well as breaking builds unless separate tmpdirs are used.
This patch adds all the entries for each multiconfig. Whilst there may
be duplicates, this shouldn't be an issue.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Amarnath Valluri [Thu, 15 Jun 2017 10:32:39 +0000 (13:32 +0300)]
image.bbclass: create root symlinks in nativesdk target sysroot
To match with the target image, the generated nativesdk's target sysroot also
should have the root symlinks(/lib*, /bin/, /sbin). So, extended the
'create_merged_usr_symlinks' to reuse symlink creation part even for nativesdk
using POPULATE_SDK_PRE_TARGET_COMMAND.
Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Amarnath Valluri [Wed, 14 Jun 2017 11:30:45 +0000 (14:30 +0300)]
image: create symlinks needed for merged /usr
Prepare the symlinks required for merged /usr at the time of rootfs creation.
The links created in rootfs are:
/bin --> /usr/sbin
/sbin --> /usr/sbin
/lib --> /usr/lib
/lib64 --> /usr/lib64
We cannot make these symlinks as part of 'base-files' or some other package.
Because at rootfs creation, installation of the package(say kernel) that depends
on these root folders/links fails, if package manager installs this package
prior to base-files.
These symbolic links in top level folder should be present as long as
- kernel tools use /lib/{module,firmware}
- shell scripts uses "#!/bin/sh"
Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Amarnath Valluri [Wed, 14 Jun 2017 11:30:44 +0000 (14:30 +0300)]
systemd: changes to support merged /usr
- Enable/disable the split-usr support in systemd based on 'usrmerge'
DISTRO_FEATURE.
- Modify rootprefix to point to ${root_prefix}, rather than ${base_prefix}.
- And fixed firmware path to use ${nonarch_base_libdir} instead of hard-coded
'/lib', because when 'usrmege' distro feature enabled this path would be
'/usr/lib'.
Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Amarnath Valluri [Wed, 14 Jun 2017 11:30:43 +0000 (14:30 +0300)]
cross.bbclass: merged /usr support
Use ${root_prefix} instead of ${base_prefix} while setting
${target_base_prefix}, otherwise we might loose the root prefix configuration
change in case of 'usrmerge' distro feature is enabled.
Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Amarnath Valluri [Wed, 14 Jun 2017 13:05:55 +0000 (16:05 +0300)]
bitbake.conf: support for merged usr with DISTRO_FEATURE usrmerge
A new configuration variable ${root_prefix} added, which shall be used by all
base_{lib,bin,sbin}dir variables. When usrmerge DISTRO_FEATURE is enabled
${root_prefix} points to ${exec_prefix} otherwise to ${base_prefix}
Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
ltp: add acl, attr, curl and util-linux runtime dependencies
* Use a list and re-order alphabetically to make it easier to read and
update.
* Add missing runtime dependencies:
- acl (getfacl/setfacl commands are required)
- attr (getfattr/setfattr commands are required)
- iproute2 (required for netns tests)
- curl (curl command is required)
- util-linux (ipcs command is required)