Paul Barker [Fri, 13 Oct 2017 19:25:29 +0000 (19:25 +0000)]
go: Export correct GO386 value for target
When compiling go code for the target we need to ensure that GO386 is exported
and set appropriately. This controls whether sse/sse2 instructions are used to
implement floating-point operations or not.
Signed-off-by: Paul Barker <pbarker@toganlabs.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Paul Barker [Fri, 13 Oct 2017 19:25:28 +0000 (19:25 +0000)]
goarch.bbclass: Define HOST_GO386 and TARGET_GO386
These variables are used to control the floating-point instructions emitted by
the go compiler for x86 architectures.
The default is '387' which disables the use of sse/sse2 instructions and is safe
to use on all x86 processors from the i486 onwards.
If TUNE_FEATURES contains a feature set which is known to support sse/sse2
instructions then they are set to 'sse2' to enable the use of these
instructions. This is suitable for most processors from Pentium 4 onwards.
Only the 'core2' and 'corei7' TUNE_FEATURES are defined in the oe-core layer and
are known to support ss2 instructions. Other layers may introduce additional
tunings which support sse2 instructions and for these layers, TARGET_GO386
or go_map_386 should be overridden as needed.
Signed-off-by: Paul Barker <pbarker@toganlabs.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Øystein Walle [Tue, 10 Oct 2017 12:59:40 +0000 (14:59 +0200)]
cmake: fix typo in toolchain file
The missing underscore makes CMake define a new variable named "CMAKE"
with the contents "ASM_FLAGS ${CMAKE_C_FLAGS}" instead of a variable
named "CMAKE_ASM_FLAGS" with contents equal to "CMAKE_C_FLAGS". It seems
clear that the intention was to assign "CMAKE_ASM_FLAGS".
CMake uses variables named "CMAKE_<LANG>_FLAGS" for defining default
compiler flags for a given language <LANG>. Leaving this flag unset may
have unintended consequences. Not doing so is however not an error as
far as CMake is concerned so it is silently accepted.
Signed-off-by: Øystein Walle <ow@datarespons.no> Signed-off-by: Ross Burton <ross.burton@intel.com>
Khem Raj [Sun, 8 Oct 2017 17:05:44 +0000 (10:05 -0700)]
gstreamer1.0-plugins-bad: Add dependency on libdrm when wayland is enabled
Fixes
WARNING: gstreamer1.0-plugins-bad-1.12.2-r0 do_package_qa: QA Issue: libgstwayland-1.0 rdepends on libdrm, but it isn't a build dependency, missing libdrm in DEPENDS or PACKAGECONFIG? [build-deps]
WARNING: gstreamer1.0-plugins-bad-1.12.2-r0 do_package_qa: QA Issue: gstreamer1.0-plugins-bad-waylandsink rdepends on libdrm, but it isn't a build dependency, missing libdrm in DEPENDS or PACKAGECONFIG? [build-deps]
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Andre McCurdy [Mon, 9 Oct 2017 16:00:35 +0000 (09:00 -0700)]
musl: use a more specific fix for ARM thumb + frame pointers
When compiling for Thumb or Thumb2, frame pointers _must_ be disabled
since the Thumb frame pointer in r7 clashes with musl's use of inline
asm to make syscalls (where r7 is used for the syscall NR).
In most cases, frame pointers will be disabled automatically due to
the optimisation level, but appending an explicit -fomit-frame-pointer
to CFLAGS handles cases where optimisation is set to -O0 or frame
pointers have been enabled by -fno-omit-frame-pointer earlier in
CFLAGS, etc.
Note that this limitation applies both to gcc and clang, the only
difference between the two being that where gcc aborts with an error
about reusing r7, clang apparently silently generates broken code:
https://bugs.llvm.org/show_bug.cgi?id=34165
Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
devtool: standard: Expand SRCREV before using it in _update_recipe_srcrev
If SRCREV contains a variable reference, any devtool command that
would try to update it would fail. E.g., if SRCREV = "R${PV}", then
devtool finish without having committed any changes would fail with:
oe.patch.CmdError: Command Error: 'sh -c 'git format-patch R${PV} -o
/tmp/oepatchb_doareb -- .'' exited with 0 Output:
fatal: bad revision 'R'
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Hongxu Jia [Wed, 11 Oct 2017 08:19:27 +0000 (04:19 -0400)]
mesa: explictly add lib expat to intel libvulkan's lib depends
While built with "-fvisibility=default"
...
|i586-oe-linux-gcc ... -fvisibility=default ... -o ommon/.libs/
common_libintel_common_la-gen_decoder.o
...
It triggered the failure
...
|i586-oe-linux-g++ ... common/.libs/libintel_common.a ... -o
vulkan/.libs/libvulkan_intel.so
|common/.libs/libintel_common.a(common_libintel_common_la-gen_decoder.o):
|In function `start_element':
|/usr/src/debug/mesa/2_17.1.7-r0/mesa-17.1.7/src/intel/common/gen_decoder.c:371:
undefined reference to `XML_GetCurrentLineNumber'
...
explictly add EXPAT_LIBS to intel's VULKAN_LIB_DEPS
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Hongxu Jia [Thu, 12 Oct 2017 07:37:33 +0000 (03:37 -0400)]
archiver: preserve sysroot paths in configured mode for multilib
In the following commit, the archiver expanded RECIPE_SYSROOT
to preserve sysroot paths in configured mode:
...
commit aa2240657b015d46e9ba4bcb6264709a82313d83
Author: Ross Burton <ross.burton@intel.com>
Date: Tue Jun 6 15:23:18 2017 +0100
archiver: preserve sysroot paths in configured mode
...
In meta/conf/multilib.conf, it overrides the variables
of STAGING_DIR_HOST, STAGING_DIR_TARGET and RECIPE_SYSROOT
with "${WORKDIR}/${MLPREFIX}recipe-sysroot".
So the archiver should also expand STAGING_DIR_HOST and
STAGING_DIR_TARGET to preserve sysroot paths in configured mode for
multilib.
[YOCTO #11584]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Maxin B. John [Thu, 12 Oct 2017 08:09:07 +0000 (11:09 +0300)]
sstate.bbclass: provide an exception for useradd scenario
Packages, which depend on users/groups created from other packages,
needs "shadow-native" as a build time dependency. So, add an exception
to the "shadow-native" from otherwise discarded native/cross tools
dependency.
Fixes [YOCTO #11960]
Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Mikko Ylinen [Tue, 10 Oct 2017 12:27:06 +0000 (15:27 +0300)]
linux-firmware: make i.MX SDMA split complete
The commit to split i.MX SDMA firmware blobs in their
own packages was not complete and results in a failure
when trying to install full linux-firmware:
* Solver encountered 1 problem(s):
* Problem 1/1:
* - nothing provides linux-firmware-imx-sdma-license needed
* by linux-firmware-1:0.0+git0+a61ac5cf83-r0.all
*
* Solution 1:
* - do not ask to install a package providing linux-firmware
Make the split complete by installing the license in
${PN}-imx-sdma-license and have the blob packages depend on it.
Signed-off-by: Mikko Ylinen <mikko.ylinen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Nikolay Merinov [Fri, 6 Oct 2017 19:00:39 +0000 (00:00 +0500)]
cross.bbclass: Remove usage of host flags for cross-compilation
BUILD_* flags can't be used as TARGET_* flags even for "cross" packages.
gcc-cross buils leaks config.log's through "gcc-stashed-builddir" and
TARGET_* flags to libgcc cross-build through "gcc/libgcc.mvars" file
on "gcc-stashed-builddir". This means that if BUILD_CFLAGS contains
host-specific flags like "-isystem/usr/include" libgcc build will
fail "do_qa_configure" and "do_package_qa" checks.
Remove host-related flags from TARGET_* flags for gcc-cross build.
Signed-off-by: Nikolay Merinov <n.merinov@inango-systems.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
bitbake.conf: add tools required by testimage to HOSTTOOLS conditionally
Add tools required by testimage to HOSTTOOLS only when testimage is
inherited. These tools, as described in the comment, are only required
by the testimage task. So this change should not have negtive effect.
This would also solve build error on hosts which miss some tool such as scp.
Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Juro Bystricky [Fri, 6 Oct 2017 23:30:46 +0000 (16:30 -0700)]
e2fsprogs: modify ptest script
e2fsprog testsuite used to log results into its own log file into
/usr/lib/e2fsprogs/ptest/test.log. Therefore console output was not available and
redirecting ptest-runner output into a log file would not capture output of any
individual tests. So overall the whole e2fsprogs testsuite consisting of about
300 tests was evaluated as a single test.
This patch ensures the e2fsprogs test_script output is not automatically redirected
while executing during run-ptest. Any redirection is up to the user.
Additionally, the results of tests are prefixed by more canonical "PASS:" FAIL:"
based on the actual test results.
Aditionally, remove various files created by the testsuite.
[YOCTO #12146]
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Otavio Salvador [Thu, 5 Oct 2017 18:00:06 +0000 (15:00 -0300)]
linux-firmware: Split i.MX SDMA firmwares
This splits out the i.MX SDMA firmwares for i.MX6 and i.MX7 SoCs. This
also includes the required runtime provides, conflicts and replaces
for the old firmware-imx which was provided by NXP BSP layer.
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Otavio Salvador [Mon, 2 Oct 2017 16:56:31 +0000 (13:56 -0300)]
lib/oe/package_manager.py (rpm): Allow use of non-signed packages
When we wish to use the package feed for local development, it does
not uses GPG signed feeds by default but dnf uses package signature
check. We need to configure the GPG signature check out so it works
out of box.
With this patch, installing non-signed packages works:
$: dnf install <package>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Ross Burton <ross.burton@intel.com>
Juro Bystricky [Tue, 3 Oct 2017 21:54:12 +0000 (14:54 -0700)]
siteinfo: nios2-linux - remove wrong mutex info
With the commit afa9f769d62034d4443dfe929422d1d591adf709 some nios2 builds
(uboot, core-image-minimal, etc) were broken due to db trying to use ARM instructions
in mutexes. The reason was db "configure" used the cached entry from nios2-linux
(which was incorrect). So the remedy was to remove the incorrect cached entry
and let db "configure" figure out which is the proper mutex to use.
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Ming Liu [Thu, 5 Oct 2017 14:23:02 +0000 (16:23 +0200)]
argp-standalone: drop RDEPENDS dev/staticdev packages on main package
This ensures argp-standalone-staticdev package could be installed
correctly(without depending on the empty argp-standalone package) if
it's being required during SDK population.
Signed-off-by: Ming Liu <liu.ming50@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Juro Bystricky [Thu, 5 Oct 2017 18:22:28 +0000 (11:22 -0700)]
python-ptest: various fixes
python-ptest needs python-tests package installed in order to
run any tests.
This patch adds python-tests as a runtime dependency, so the test suite
will be present in the image.
While in there, also removed several build host references.
[YOCTO #12144]
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Nikolay Merinov [Thu, 5 Oct 2017 07:46:07 +0000 (12:46 +0500)]
utils.bbclass: Support applications with arguments in check_app_exist()
check_app_exist function must support cases when "app" variable defined
as "progname --args". For example BUILD_CC="gcc -march=x86-64" must
pass sanity check.
Signed-off-by: Nikolay Merinov <n.merinov@inango-systems.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Nikolay Merinov [Thu, 5 Oct 2017 07:25:39 +0000 (12:25 +0500)]
nspr, nss: Use BUILD_CC instead of hardcoded "gcc"
Recipes nspr_4.16.bb and nss_3.31.1.bb ignored BUILD_CC and it's
BUILD_CFLAGS and tried to compile with hardcoded "gcc" instead. As
result build for this recipes will fail if host use different name for
compiler or require any flags.
Signed-off-by: Nikolay Merinov <n.merinov@inango-systems.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Mikko Ylinen [Tue, 3 Oct 2017 07:09:26 +0000 (10:09 +0300)]
staging.bbclass: handle postinst-useradd-* fixmes
After 02457ef7f600ce954874e2d11e74b1c6daaa3bfc, PSEUDO for
postinst-useradd-* scripts get to use only one PSEUDO_LOCALSTATEDIR
which is set under recipes ${WORKDIR}.
When the those scripts are run in a clean build environment that
is built from the sstate (populate_sysroot_setscene run for
postinst-useradd-* providers), pseudo fails to run because it cannot
access the PSEUDO_LOCALSTATEDIR (recipe ${WORKDIR}s do not exist).
This triggers a sysroot staging error.
Previously, the PSEUDO_LOCALSTATEDIR setting in useradd.bbclass
worked because the RSS sstate/staging logic automagically processed
${STAGING_DIR_TARGET} in postinst-useradd-* scripts to point under
the sysroot being built.
The fix uses the same fixme processing by adding PSEUDO_LOCALSTATEDIR
variable to it. Furthermore, LOGFIFO is added to be able to use
the logging fifo of the recipe that actually runs postinst-useradd-*.
Signed-off-by: Mikko Ylinen <mikko.ylinen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Andre McCurdy [Tue, 3 Oct 2017 01:03:04 +0000 (18:03 -0700)]
systemd: drop uclibc specific exp10 support patch
This patch is clearly uclibc specific and appears to have been
inadvertently left behind during the recent purging of uclibc
specific patches from oe-core:
Tom Rini [Fri, 29 Sep 2017 14:28:19 +0000 (10:28 -0400)]
image_types: Fix bmaptool support for RSS
With RSS we need to ensure that when making a bmap image that the
python3 that we created is found via /usr/bin/env rather than the host
python3. Otherwise we're relying on the build host to have bmaptool
support installed.
Signed-off-by: Tom Rini <trini@konsulko.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
license.py: Correct selection of licenses in is_included()
When faced with multiple sets of licenses combined with | (OR), it was
possible for oe.license.is_included() to choose a set of licenses with
a blacklisted license and then report failure, even if choosing
another set of licenses would have resulted in a successful
result. This happened when the chosen set still contained more
whitelisted licenses than the other set.
This change makes sure a set with any blacklisted license is always
considered with a lower weight than a set with only whitelisted
licenses.
Example: Faced with the license string "GPL-3.0 & GPL-2.0 & LGPL-2.1 |
Proprietary" and with "GPL-3.0" being blacklisted, the old code would
report a failure since "GPL-3.0 & GPL-2.0 & LGPL-2.1" still contains
more whitelisted licenses than "Proprietary" does.
This change also adds a unit test for oe.license.is_included().
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Matt Madison [Wed, 4 Oct 2017 18:21:52 +0000 (18:21 +0000)]
go-runtime: prevent host leakage into target objects
When building for a target whose architecture matches
the build host's, the second pass through make.bash
to build the shareable runtime would also overwrite
the target's static cgo library with host-compatibile
binaries.
Fix this by running the host-side build once and
target-only passes of make.bash twice, for static
and shareable. This ensures that what gets installed
is target-compatible.
Also fix an issue with x86-64 targets running MUSL by
removing the pre-built (for glibc) objects for the
race detector runtime before building.
[YOCTO #12136]
Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Ross Burton <ross.burton@intel.com>
Matt Madison [Thu, 28 Sep 2017 17:34:42 +0000 (10:34 -0700)]
goarch.bbclass: rework mips architecture checks
Remove the TUNE_FEATURES references from go_map_arch,
to avoid an unwanted variable dependency. Direct
comparisons of the architecture name are sufficient
for covering what Go currently supports, and using
TUNE_CCARGS_remove adequately handles the conflict
with the cgo-supplied flags for mips.
Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Ross Burton <ross.burton@intel.com>
meta: Fix return value checks from subprocess.call()'s
Python function subprocess.call() returns the return value of the
executed process. If return values are not checked, errors may
go unnoticed and bad things can happen.
Change all callers of subprocess.call() which do not check for
the return value to use subprocess.check_call() which raises
CalledProcessError if the subprocess returns with non-zero value.
Tested similar patch on top of yocto jethro. Only compile tested
core-image-minimal on poky master branch.
Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
]
Added return code checking to do_diffconfig. Although the change is
well intentioned, it isn't correct in this instance since 'diff' returns
'1' to indicate that there are differences in the files .. and not as
an error code.
subprocess.check_call() flags this as an error and the routine aborts.
We are already checking the inputs, and in fact already know there's a
diff in the files before we even make the call, so there's no need to
look for an error in this case.
Putting back subprocess.call() restores the routine to working order.
[YOCTO #12132]
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Generating the host keys atomically prevents power interruptions during the
first boot from leaving the key files incomplete, which often prevents users
from being able to ssh into the device.
[YOCTO #11671]
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Zhixiong Chi [Thu, 28 Sep 2017 08:06:05 +0000 (16:06 +0800)]
libarchive: CVE-2017-14502
read_header in archive_read_support_format_rar.c suffers from an
off-by-one error for UTF-16 names in RAR archives, leading to an
out-of-bounds read in archive_read_format_rar_read_header.
Backport the patch from
https://github.com/libarchive/libarchive/commit
commit 5562545b5562f6d12a4ef991fae158bf4ccf92b6
CVE: CVE-2017-14502
Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Mikko Ylinen [Wed, 27 Sep 2017 08:08:15 +0000 (11:08 +0300)]
package_manager: rpm: improve logging
To be able to better debug remove() behaviour, add more logging
to rpm calls via bb.note(). The change also makes remove() logging
more consistent with other package managers' remove() (e.g., opkg).
Signed-off-by: Mikko Ylinen <mikko.ylinen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Mikko Ylinen [Wed, 27 Sep 2017 08:08:14 +0000 (11:08 +0300)]
rootfs.py: remove update-alternatives correctly
With "read-only-rootfs" in IMAGE_FEATURES, packages in ROOTFS_RO_UNNEEDED
are removed when building the rootfs. The list of packages to remove is
passed to the package manager and the list is sorted so that
update-alternatives provider is the last entry. This is with the
assumption that the last entry on the list/command line is removed last.
However, it turns out rpm does not care about "last on the command
line" and update-alternatives provider is removed before other the
packages get to run their %preun scripts for update-alternatives.
This leaves broken alternative symlinks in rootfs.
The fix is to first remove all but update-alternatives provider and
after that update-alternatives provider in its own remove() call.
Signed-off-by: Mikko Ylinen <mikko.ylinen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Alistair Francis [Mon, 25 Sep 2017 22:56:55 +0000 (15:56 -0700)]
glib-2.0: Remove recommend shared-mime-info for MinGW
Commit glib-2.0: recommend shared-mime-info
(51e4f9ca5368af5cefa26f4ca50b282e858982f8) broke compilation when cross
compiling for Windows. This patch removes the recommendation for
shared-mime-info when using MinGW cross compile.
Signed-off-by: Alistair Francis <alistair.francis@xilinx.com> Cc: Ross Burton <ross.burton@intel.com> Cc: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Ross Burton <ross.burton@intel.com>
libparted: Use read only when probing devices on linux
When a device is opened for RW closing it can trigger other actions,
like udev scanning it for partition changes. Use read only for the
init_* methods and RW for actual changes to the device.
This adds _device_open which takes mode flags as an argument and turns
linux_open into a wrapper for it with RW_MODE.
_device_open_ro is added to open the device with RD_MODE and increment
the open_counter. This is used in the init_* functions.
_device_close is a wrapper around linux_close that decrements the
open_counter and is used in the init_* functions.
All of these changes are self-contained with no external API changes.
The only visible change in behavior is that when a new PedDevice is
created the device is opened in RO_MODE instead of RW_MODE.
Currently systemd-boot actually incorporates libgcc, since the
systemd-boot needs to be built with 64bit instructions it can not
use the x32 based libgcc.
Use the new override to ensure it gets overriden, linux-gnux32 could
not be used because x86-64 has higher priority.
Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is needed as an x32 more generic x32 override later in the
OVERRIDES, currently linux-gnux32 is the first override, but we
need a stronger (later in the list) x32 override to deal with some
needed x32 dependency overrides.
Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
With default --without-nghttp2 flag set there was no way to get
http2 protocol support using nghttp2 library. Instead moved it to
PACKAGECONFIG options
Signed-off-by: baali <shantanu@senic.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
selftest/cases/runtime_test: ignore removal errors when cleaning temporary gpg directory
The high-level method tempfile.TemporaryDirectory give us no way to ignore erros on
removal thus use tempfile.mkdtemp instead. Ignoring possible issues on removal
is neccesary because it contains gpg sockets that are automatically removed by
the system once the process terminates, otherwise the following log is observed:
File "/usr/lib/python3.5/shutil.py", line 436, in _rmtree_safe_fd
os.unlink(name, dir_fd=topfd)
FileNotFoundError: [Errno 2] No such file or directory: 'S.gpg-agent.browser'
Newer versions of gpg (at least 2.1.5 and 2.2.1) have issues when signing occurs in parallel
so (unfortunately) the signing must be done serially. Once the upstream problem is fixed,
this patch must be reverted, otherwise we loose all the intrinsic parallelism from
bitbake.
[YOCTO #12022]
Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Mon, 25 Sep 2017 20:21:55 +0000 (21:21 +0100)]
core-image-sato-sdk-ptest: reduce size
This image is very large and is skirting the maximum size of hddimg images (4GB,
as they're embedded inside FAT partitions). Making the image 10MB bigger can be
enough to cause the build to fail. This image is also used by QA so currently
we need to keep it working.
The default values for expanding an image to give it usable space are quite
generous, (3GB rootfs * 1.3 gives 1GB of empty space), so change the overhead
multiplier to 1.0x and explicitly request just 0.5GB of empty space in the
images.
This should give us a bit more breathing room until we can either remove hddimg
from the default build, or make this image dramatically smaller.
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Create an option to wic doesn't change fstab file, the final
fstab file will be same that in rootfs and wic doesn't update
file, e.g adding a new mount point.
Users can control the fstab file content in base-files recipe.
This is useful if you want to only create an partition but not
add fstab mount point or add new mount point using label e.g:
LABEL=recovery /recovery auto defaults 0 1
Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Matt Madison [Sat, 23 Sep 2017 00:58:22 +0000 (17:58 -0700)]
go_1.9: remove obsolete overrides
Now that mips and security flags fixes are in place
in the bbclasses, remove the local settings in this
recipe.
Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Matt Madison [Sat, 23 Sep 2017 00:58:21 +0000 (17:58 -0700)]
go: disable PIE flags for cgo
If the security_flags.inc file is included, gcc
will do PIE builds by default. These flags need
to be disabled for go packages that use cgo.
Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Matt Madison [Sat, 23 Sep 2017 00:58:20 +0000 (17:58 -0700)]
goarch.bbclass: fixups for Go mips32 support
* Fix the regular expression in the mips test
* Flag as incompatible any mips32 tunes for n32 ABI
or soft-float, as go does not support them.
* Replace mips32r2 tune with mips32r1. Go only supports
mips32r1, which is a strict subset of r2. Adjusting
this tune is not ideal, but is hopefully a temporary
measure until more complete mips32 ISA coverage
arrives upstream.
[YOCTO #12108]
Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Stefan Agner [Wed, 13 Sep 2017 23:05:49 +0000 (16:05 -0700)]
linux-firmware: bump to latest linux-firmware git revision
This requires MD5 sum updates for
- LICENSE.QualcommAtheros_ath10k: year change
- WHENCE: various version updates and addition of new firmwares
The new firmware for Qualcom Venus causes a QA error:
QA Issue: linux-firmware: Recipe inherits the allarch class, but has packaged architecture-specific binaries
Since firmware typically do not run on the CPU, the architecture of
the firmware file is independent from the CPU architecture the image
will be running on. Disable the QA check for the linux-firmware
package by default.
Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Signed-off-by: California Sullivan <california.l.sullivan@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
qemurunner: print tail qemu log in case bootlog is empty
There are cases where the 'while loop' waiting for login prompt fails
and the bootlog variable does not get populated, thus use the the new
qemurunner member (self.msg) which stores all output coming from the qemu
process.
[YOCTO #12113]
Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Mon, 25 Sep 2017 11:23:35 +0000 (00:23 +1300)]
classes: drop image dependencies on TOPDIR variable
We don't need a dependency on this variable changing, and having one
causes locked signature warnings during eSDK installation if you have
INITRAMFS_IMAGE_* set (since TOPDIR will always be different between
the eSDK and the environment in which it was built).
Relates to [YOCTO #12102].
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
André Draszik [Fri, 22 Sep 2017 09:00:10 +0000 (10:00 +0100)]
useradd-staticids: don't create username-group if gid is specified
Adding distcc to an image, and having staticids enabled,
doesn't work as it causes a a superfluous 'distcc' group
being added using a conflicting GID, thus failing the
build:
| ERROR: distcc-3.2-r0 do_prepare_recipe_sysroot: distcc: groupadd command did not succeed.
Compared to other recipes, the distcc recipe only
specifies --gid for the primary group, and doesn't specify
--no-user-group, but when --gid is given, it doesn't make
sense to create a matching username-group in addition,
even if --no-user-group was not specified, and 'useradd'
actually complains if --gid and --user-group are given
both.
If only --gid is given, the current code in here
effectively behaves as if --user-group was specified,
taking the group-id of the username-group from the
--gid parameter. This causes the error above, as we try
to add a new group (distcc) with an existing group-id
(nogroup).
This is contrary to the comment in this file just above,
contrary to what useradd can do, contrary to behaviour
without the useradd-staticids bbclass, and non-intuitive.
Change the code such that a username-group is only created
- if a primary group using --gid was not specified, or
- if --no-user-group was not specified
To be in line with useradd, if gid is not given, and
--no-user-group is given, we add the user to the group
'users', which mimics useradd's behaviour.
Signed-off-by: André Draszik <adraszik@tycoint.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Thu, 21 Sep 2017 22:19:10 +0000 (23:19 +0100)]
staging: Reduce verbosity of log messages
The staging changes were very verbose in their logging and whilst this is useful
when staging issues occur, those thankfully seem rare now and we can tune down
the logging to a sane level. This improves the readability of error messages from
functions that fail.
The code is still verbose when its replacing things in the sysroot.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Fri, 22 Sep 2017 11:39:33 +0000 (12:39 +0100)]
pseudo: Add fastop reply fix
This changes the pseudo FASTOP functionality so that a reply to the
operation is required. This means we then cannot lose data if a connection
is closed. This in turn stops corruption if we run out of file handles
and have to close connections.
This tweaks the connection closure patch to update the comment there which
is now outdated.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The idea came up here:
https://bugzilla.yoctoproject.org/show_bug.cgi?id=11309
and here:
http://lists.openembedded.org/pipermail/openembedded-core/2017-August/141491.html
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This causes circular dependencies when UBOOT_SIGN_ENABLE is active.
These are usually caused by circular dependencies and any circular dependency chains found will be printed below. Increase the debug level to see a list of unbuildable tasks.
Identifying dependency loops (this may take a short while)...
Otavio Salvador [Thu, 21 Sep 2017 13:58:33 +0000 (10:58 -0300)]
kernel-devicetree.bbclass: Add support to generate append to kernel
The are use cases where the Device Tree appended to the kernel is
convinient, so we generate the bundle concatenating the kernel (and
potentionally the initramfs) and the Device Tree binaries.
To enable it, set KERNEL_DEVICETREE_BUNDLE variable to '1'
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Ross Burton <ross.burton@intel.com>
Li Zhou [Thu, 21 Sep 2017 02:16:18 +0000 (10:16 +0800)]
xf86-video-intel: use uxa to replace sna as the default acceleration mode
The sna mode causes screen distortion issue on board MinnowMAX
described in this link:
https://bugs.freedesktop.org/show_bug.cgi?id=100700
The uxa mode is verified to not have above issue.
uxa is more stable and has more releases than sna.
So use uxa to replace sna as the default acceleration mode.
Signed-off-by: Li Zhou <li.zhou@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
André Draszik [Wed, 20 Sep 2017 09:41:56 +0000 (10:41 +0100)]
kernel-uboot: support compressed kernel on MIPS
MIPS generates vmlinuz.bin when compression in the kernel build is
enabled, including any necessary objcopy so we can leverage that
and skip our manual invocation of objcopy here. We just have to
put the file into the right place for the rest of the build to
find it.
Signed-off-by: André Draszik <adraszik@tycoint.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
André Draszik [Wed, 20 Sep 2017 09:41:53 +0000 (10:41 +0100)]
kernel-fitimage: sanitize dtb section name (unbreak MIPS)
We can't build fitImages for MIPS any more:
| Error: fit-image.its:21.27-28 syntax error
| FATAL ERROR: Unable to parse input tree
| uboot-mkimage: Can't read arch/mips/boot/fitImage.tmp: Invalid argument
Since commit cd2ed7f80b555add07795cc0cbaee866e6c193a3
("kernel-fitimage: dtb sections named by their filenames
and one config section for each dtb"), commit 1ec405ef5df82884c8997878bbe6c66d924b5127 in yocto, dtb
sections are named by the DTB filename, but the filename
can legally be in a subdirectory below
arch/$arch/boot/dts/, and on MIPS all DTBs are actually
in a subdirectory.
If so, mkimage fails with the above error message.
Unbreak this by replacing the offending character
(directory separator /)
Signed-off-by: André Draszik <adraszik@tycoint.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Set RCONFLICTS to disallow multiple syslog daemon providers to be installed
on the target, and remove codes that deal with such situation.
Also, set ALTERNATIVE_PRIORITY back to 100. It was set to '10' in case of
systemd because sysklogd didn't have systemd support. For now, if we disallow
multiple syslog daemons to be installed, and it stays '10', then if sysklogd
is installed on target, the /sbin/syslogd would link to /bin/busybox.nosuid,
causing sysklogd service files using busybox's utility.
Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Set RCONFLICTS to disallow multiple syslog daemon providers to be installed
on the target at the same time, and remove codes which dealt with such
situation.
Supporting multiple syslog daemons on the same image doesn't have much sense.
rsyslog and syslog-ng in meta-oe have set RCONFLICTS to disallow this. And
we do the same for busybox.
Also, remove the line of creating a meaningless symlink of
/lib/systemd/syslog.service to /dev/null.
Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
106b59d9 broke SSH host key generation when systemd and a read-only root file
system are in use because there isn't a way for systemd to get the optional
weak assigment of SYSCONFDIR from /etc/default/sshd and still provide a default
value if it is not specified. Instead, move the logic for determining if keys
need to be created to a helper script that both the SysV init script and the
systemd unit file can reference.
This does mean that the systemd unit file can't check for file existence to
know if it should start the service, but it wasn't able to do that correctly
anyway anymore. This should be a problem since the serivce is only run once per
power cycle by systemd, and should exit quickly if the keys already exist
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>