Drew Moseley [Thu, 27 Nov 2014 00:49:54 +0000 (19:49 -0500)]
glew: Additional fix for generation of glew.pc.
Without this fix, building mesa-demos with the glew
PACKAGECONFIG will result in errors like the below
being logged in tmp/work/*/mesa-demos/*/build/config.log:
configure:16529: checking for GLEW
configure:16536: $PKG_CONFIG --exists --print-errors "glew >= 1.5.4"
Package @requireslib@ was not found in the pkg-config search path.
Perhaps you should add the directory containing `@requireslib@.pc'
to the PKG_CONFIG_PATH environment variable
Package '@requireslib@', required by 'glew', not found
configure:16539: $? = 1
Chen Qi [Sun, 30 Nov 2014 08:46:37 +0000 (16:46 +0800)]
libxslt: create wrapper to avoid host system referencing
By default, xsltproc from libxslt would use configuration files under
/etc/xml. To avoid host system contamination, we create a wrapper for
this command to make it use configuration files in the sysroot directory.
Hongxu Jia [Fri, 21 Nov 2014 08:00:55 +0000 (16:00 +0800)]
package_manager.py: check the result of create_index
While invoking create_index failed, there was no error output
and didn't break the build until the package installation.
...
|ERROR: run-postinsts not found in the base feeds (qemux86 i586 x86
noarch any all).
...
The reason is we used multiprocessing to execute create_index, and
did not check its invoking result.
Hongxu Jia [Sat, 8 Nov 2014 09:04:38 +0000 (17:04 +0800)]
compress_doc.bbclass: support update-alternatives
While doc file make use of update-alternatives to fix confliction,
we should reconfigure update-alternatives for doc compression.
Such as util-linux-doc:
...
update-alternatives --install /usr/share/man/man1/last.1 last.1
/usr/share/man/man1/last.1.util-linux 100
...
was updated by doc_compress to
...
update-alternatives --install /usr/share/man/man1/last.1.bz2 last.1.bz2
/usr/share/man/man1/last.1.util-linux.bz2 100
...
Saul Wold [Mon, 24 Nov 2014 15:37:52 +0000 (07:37 -0800)]
resolvconf: add fixes for busybox and make it work
resolvconf was missing a script and needed readlink which was in
/usr/bin. Also the /etc/resolv.conf was not being correctly linked
to /etc/resolvconf/run/resolv.conf, which is fixed by the volaties
change which is now a file as opposed to created in do_install.
Ensure that the correct scripts for ifup/ifdown get installed and that
resolvconf is correctly enabled at startup
Richard Purdie [Thu, 27 Nov 2014 14:04:29 +0000 (14:04 +0000)]
qemu: Add missing wacom HID descriptor
The wacom driver we use is missing a HID descriptor causing it not to work
with 3.17 kernels and later. This patch adds in a descriptor to make the
driver work again.
Peter A. Bigot [Sat, 15 Nov 2014 19:53:54 +0000 (13:53 -0600)]
useradd.bbclass: set PSEUDO_PASSWD consistent with root directory
When installing into a sysroot this class examines $D/etc/passwd for
content, then invokes useradd to make changes. Under pseudo useradd
attempts to look up user information in directories specified by
$PSEUDO_PASSWD. For opkg multilib installs $D is not always the same as
$IMAGE_ROOT, and the user might already be in the IMAGE_ROOT files,
causing a failure during rootfs population.
Fix this by ensuring the files pseudo looks at when doing useradd stuff
are the same ones that useradd.bbclass will be manipulating.
Signed-off-by: Peter A. Bigot <pab@pabigot.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com>
Peter A. Bigot [Sat, 1 Nov 2014 12:25:39 +0000 (07:25 -0500)]
bitbake.conf: pseudo fall back to last-resort passwd files
Recipe packaging for the target requires permissions that are consistent
with meta/files/fs-perms.txt which specifies certain user and group
names. In the early parts of a target build base-passwd is not yet
available to provide the target /etc files used for user/group lookup.
Allow pseudo to fall-back to the last-resort files it installs if the
target ones aren't there yet.
Signed-off-by: Peter A. Bigot <pab@pabigot.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com>
Peter A. Bigot [Sat, 1 Nov 2014 11:48:03 +0000 (06:48 -0500)]
pseudo: provide fallback passwd and group files
Normally pseudo is built with --without-passwd-fallback, which requires
that somebody provide target passwd and group files. Those come from
base-passwd in OE, but base-passwd cannot be built without first
invoking operations under pseudo that require getpw*/getgr*.
Provide the absolute minimum stub files, matching in content what will
eventually be on the target, that can be used in the cases where the
target files are not yet available. The requirements for minimum stub
are the usernames and groups identified in meta/files/fs-perms.txt.
Signed-off-by: Peter A. Bigot <pab@pabigot.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com>
Peter A. Bigot [Fri, 31 Oct 2014 18:13:19 +0000 (13:13 -0500)]
pseudo: default --without-passwd-fallback
No good reason exists to fall back to the build host /etc files when
attempting to resolve user and group information. Recipe dependencies
should be updated so the correct target files are available.
Signed-off-by: Peter A. Bigot <pab@pabigot.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com>
Peter A. Bigot [Sat, 15 Nov 2014 04:58:16 +0000 (22:58 -0600)]
image.bbclass: search both rootfs and native staging for passwd files
When pseudo is configured to disallow fallback to the build host
/etc/hosts and /etc/group, the selection of ${IMAGE_ROOT} for
PSEUDO_PASSWD is insufficient as the necessary files will not be
available until base-passwd has been installed and its pkg_postinst
script run. Fall back to the ${STAGING_DIR_NATIVE} version of those
files until the rootfs versions are available. (The native copies are
never modified by the build; the ones in ${STAGING_DIR_TARGET} are
updated and may contain settings not consistent with what would be
created by post-install useradd/groupadd commands invoked in the image
rootfs.
Signed-off-by: Peter A. Bigot <pab@pabigot.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com>
Peter A. Bigot [Sun, 12 Oct 2014 21:58:52 +0000 (16:58 -0500)]
pseudo: support multiple search directories in PSEUDO_PASSWD
This makes it possible to use --without-passwd-fallback when building
images where the preferred passwd files are not available until after
installation has begun.
Signed-off-by: Peter A. Bigot <pab@pabigot.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Peter A. Bigot <pab@pabigot.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Yue Tao <Yue.Tao@windriver.com> Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com>
Jackie Huang [Tue, 18 Nov 2014 08:35:33 +0000 (03:35 -0500)]
python3: several fixes for cross compiling
* Add a patch to use CROSSPYTHONPATH as PYTHONPATH for
PYTHON_FOR_BUILD, otherwise CROSSPYTHONPATH is never used,
and it use the path in target builds to find libraries.
* Add a patch to avoid finding host headers and libs
Signed-off-by: Wolfgang Denk <wd@denx.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com>
Robert Yang [Thu, 13 Nov 2014 14:34:18 +0000 (06:34 -0800)]
toolchain-shar-template.sh: fix the text files in the top dir
It only fixed the text files in native_sysroot, but there might be some
files in the top installed dir (whose var name is target_sdk_dir in the
code) which are also needed to be fixed.
It used "find $native_sysroot", now also "find $target_sdk_dir -maxdepth 1",
and split the long line into small ones.
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com>
Hongxu Jia [Thu, 13 Nov 2014 10:05:30 +0000 (18:05 +0800)]
gcc-4.9: fix the compile failure of 'defaults.h' not found
While compiling gcc-crosssdk-initial-x86_64 on some host, there is
occasionally failure that test the existance of default.h doesn't
work.
...
| tmp/work-shared/gcc-4.9.1-r0/gcc-4.9.1/gcc/calls.c:1240:
error: 'STACK_CHECK_MAX_VAR_SIZE' was not declared in this scope
...
The reason is tm_include_list='** defaults.h' rather than
tm_include_list='** ./defaults.h'
Ming Liu [Tue, 21 Oct 2014 11:10:54 +0000 (19:10 +0800)]
rpm: realpath is required before expanding _dbpath in chroot
A regression is introduced by commit 66573093:
[ rpm: Fix rpm relocation macro usage ]
_usr turned out to be a relative path to support dyanmic config after
that, but it's being used somewhere as a indicator to locate substrings,
so we must get the real path of it in advance.
Signed-off-by: Ming Liu <ming.liu@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com>
populate_sdk_base: Extend TOOLCHAIN_TARGET_TASK to include multilib variants
Most people expect the toolchain from a multilib build to contain multilib
components. This change makes that happen and is easy for users to override
should they want something different.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The mapping clsextend.map_depends_variable("TOOLCHAIN_TARGET_TASK")
ends up with a wrong double extended package name like:
Chen Qi [Mon, 10 Nov 2014 08:58:44 +0000 (16:58 +0800)]
systemd: add PACKAGECONFIG for 'audit'
Add PACKAGECONFIG for 'audit', otherwise there would be warnings like
below which would possibly lead to do_rootfs failure.
WARNING: QA Issue: systemd-analyze rdepends on audit, but it isn't a build dependency? [build-deps]
WARNING: QA Issue: systemd rdepends on audit, but it isn't a build dependency? [build-deps]
Robert Yang [Mon, 10 Nov 2014 03:37:41 +0000 (19:37 -0800)]
apr-native: Set CONFIG_SHELL to /bin/bash
The apr-native provides usr/share/build-1/libtool which is required by
the recipe such as apache2-native. If we don't set the CONFIG_SHELL to
/bin/bash, then:
1) If we build apr-native on a host which is "/bin/sh -> bash", the
interpreter in usr/share/build-1/libtool would be "#!/bin/sh".
2) When we re-use apr-native's sstate on a host which is
"/bin/sh -> dash", there would be errors.
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com>
Kai Kang [Wed, 29 Oct 2014 11:16:07 +0000 (19:16 +0800)]
beecrypt: add option --with-dev-dsp
Add this configure option for developer to control if the
/dev/dsp should be used on target. Instead of judging it
based on the very device file of build server.
Signed-off-by: Zhang Xiao <xiao.zhang@windriver.com> Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com>
Martin Hundebøll [Thu, 30 Oct 2014 10:43:24 +0000 (11:43 +0100)]
scripts: use '/usr/bin/env' in shebangs with python
To support yocto on systems with python3 as default version, scripts
should use /usr/bin/env python in the shebang, as this allows the use of
a fake env to mimic python2 as default version.
This patch simply replaces occurrences of #!/usr/bin/python with
#!/usr/bin/env python and was done with this oneliner:
Gary Thomas [Wed, 5 Nov 2014 14:57:38 +0000 (07:57 -0700)]
python-pygtk: Clean up incorrect "fix"
This patch removes most of "dirty fix #1" which is no longer needed
(no dependency on python-pygobject-dev exists). A side effect is
that the pygtk code generator will also be installed.
Merge 'fix-path.inc' into this recipe as it is not used by any other
recipe.
Signed-off-by: Gary Thomas <gary@mlbassoc.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com>
Previously there was a change to the ncurses compile to make it more
like the typical way it was compiled on a host system. This fixed a
whole class of host machines, but masked the real underlying problem
with the display corruption issues and menuconfig.
The corner case that led to the discovery that the wrong curses.h file
was getting used was when there was no curses libraries at all on one
of the development hosts. What had happened before was that
/usr/include/curses.h on the host system had to match closely enough
to the curses.h in the sysroot and then linking against the sysroot
version of curses.so was ok (meaning no display corruption). But on
some systems with ncurses.h vs curses.h such as SuSE hosts, there were
still issues.
If we fix the root of the problem and force the mconf and lxdialog to
use the correct headers and libraries from the sysroot there is no
further issues and the menuconfig target works properly. It also
means we can back out the custom compilation flags to the ncurses
recipe because they are no longer needed.
For the kernel part of the menuconfig / nconfig changes it will be
merged separately and this is all based on:
Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Roy Li <rongqing.li@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com>
Chen Qi [Fri, 7 Nov 2014 08:47:19 +0000 (16:47 +0800)]
nfs-utils: change owner/group of directories in do_install
Previously, the owners/groups of directories like /var/lib/nfs/statd
are changed in the init script, /etc/init.d/nfscommon. This is actually
a workaround. We need to change them at do_install time.
This patch fixes the above problem by changing owners/groups at do_install
time.
Besides, configuration option '--with-staduser=nobody' is changed to be
'--with-statduser=rpcuser'. And /var/lib/nfs/statd/state is modified to have
permission 0644, just like other distros (ubuntu, fedora, etc.) do.
Jackie Huang [Thu, 6 Nov 2014 05:33:38 +0000 (00:33 -0500)]
perl: set the perl libraries search path
The default value for this is ../../lib which ends up with
something like:
| ./sysroots/x86_64-linux/usr/bin/perl-native/perl5.20.0.real \
| "-I../../lib" "-I../../lib" "-MExtUtils::Command::MM" -e pod2man \
| "--" --section=0 --perm_rw=644 perldoc.pod blib/man1/perldoc.1
in this case, nativeperl will find libraries from the target build,
When using an x86-64 host to target Haswell, you can end up with
../../lib including precompiled modules which use Haswell
instructions, it fails with:
| Running pm_to_blib for dist/if directly
| Skip ../../lib/if.pm (unchanged)
| Makefile:457: recipe for target 'manifypods' failed
| make[1]: *** [manifypods] Illegal instruction
So set it to use the -native ones instead of those from the target
build.
Richard Purdie [Wed, 5 Nov 2014 18:49:03 +0000 (18:49 +0000)]
perl: Enable rebuilds to account for configuration changes
If configure/compile was rerun for perl, changes such as libdir changes
were not being picked up. To fix this we we add "make clean"
functionality, if the makefile is present.
We also in this case need to delete the .so file, else some perl modules
try and load the target arch libraries leading to build failures. I'd
love it if there were a better way to do this and am open to better
proposals but this was the best I could find, not being a perl expert.
Jackie Huang [Fri, 31 Oct 2014 14:41:49 +0000 (10:41 -0400)]
gcc: backport two patches to fix ICE in dwarf2out_var_location
The first patch fixes the ICE in dwarf2out_var_location, at
dwarf2out.c.
r212171:
* except.c (emit_note_eh_region_end): New helper function.
(convert_to_eh_region_ranges): Use emit_note_eh_region_end to
emit EH_REGION_END note.
* jump.c (cleanup_barriers): Do not split a call and its
corresponding CALL_ARG_LOCATION note.
But it introduced a regression issue:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63348
so backport the fix for the regression as well:
r215613:
PR rtl-optimization/63348
* emit-rtl.c (try_split): Do not emit extra barrier.
Hongxu Jia [Wed, 29 Oct 2014 05:54:50 +0000 (13:54 +0800)]
python-smartpm: report warn rather than error during install with --attempt
With the following config and build image:
...
IMAGE_INSTALL_append = "shadow man-pages"
EXTRA_IMAGE_FEATURES += "doc-pkgs"
...
There is an error during install with --attempt, and it breaks the build.
...
|error: file /usr/share/man/man5/passwd.5 from install of
shadow-doc-4.2.1-r0.i586 conflicts with file from package
man-pages-3.71-r0.i586
...
For complementary and 'attemptonly' package processing, we should make sure
the warn rather than error messages reported.
Hongxu Jia [Wed, 29 Oct 2014 05:54:49 +0000 (13:54 +0800)]
man-pages/shadow: resolve man pages confliction
Invoke smart/rpm to install man-pages and shadow-doc, there
is a build failure:
...
|error: file /usr/share/man/man5/passwd.5 from install of
shadow-doc-4.2.1-r0.0.core2_64 conflicts with file from
package man-pages-3.70-r0.0.core2_64
|error: file /usr/share/man/man3/getspnam.3 from install of
shadow-doc-4.2.1-r0.0.core2_64 conflicts with file from
package man-pages-3.70-r0.0.core2_64
...
Use alternatives mechanism to fix it.
As README in man-pages said: "Note that sometimes these
pages are duplicates of pages also distributed in other
packages. Be careful not to overwrite more up-to-date
versions. So we set man-pages with lower priority.
The subordinate IDs support in pkg-shadow allows unprivileged users to manage a
set of UIDs and GIDs. These subordinate IDs are specified by root, and can be
further used by the unprivileged user they have been assigned to. This user can
then create an e.g. user namespace, where he is allowed to manage his own set of
users and group from the pool of subordinate IDs. More details can be found at
http://lwn.net/Articles/533617/.
Pull a required change from upstream in order to make shadow cross-compile with
subordinate IDs support. Enable flag in recipe.
Roy.Li [Wed, 29 Oct 2014 06:01:07 +0000 (14:01 +0800)]
iproute2: backport a patch to make adding vxlan link success
If without this patch:
$ ip link add vxlan0 type vxlan id 51 group 238.1.1.1 dev eth0
Error: argument "vxlan0" is wrong: Unknown device
$
With this patch;
$ ip link add vxlan0 type vxlan id 51 group 238.1.1.1 dev eth0
$ ifconfig -a |grep vxlan0
vxlan0 Link encap:Ethernet HWaddr da:61:56:2e:c2:20
$
Gary Thomas [Tue, 28 Oct 2014 15:05:47 +0000 (09:05 -0600)]
python-pygtk: Restore pkg-config file
Some previous version of this recipe was errantly removing the pygtk-2.0.pc
(pkg-config) file. This is needed for other packages to be able to build
against this library.
Also update the .pc file to match current pkg-config use (libdir was missing).
Signed-off-by: Gary Thomas <gary@mlbassoc.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Ming Liu <ming.liu@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com>
Chong Lu [Mon, 27 Oct 2014 05:24:23 +0000 (13:24 +0800)]
kmod: fix debuginfo is missing in shared library
INHIBIT_PACKAGE_STRIP variable will make debuginfo lose in shared library.
The test cases of kmod contain kernel modules for many different architectures,
strip and arch gets confused and throws errors. Pack kernel modules in test
cases to avoid strip command failed.
Ross Burton [Mon, 6 Oct 2014 22:09:15 +0000 (23:09 +0100)]
systemd: don't add files and dependencies from units Conflicts
Adding dependencies and moving files based on Conflicts tags in unit files isn't
right, mainly as it means that systemd depends on systemd-binfmt, because the
latter ends up containing the shutdown.target unit.
Paul Barker [Sun, 26 Oct 2014 19:36:22 +0000 (19:36 +0000)]
package_manager: Fix BAD_RECOMMENDATIONS for opkg
In package_manager.py, when using opkg as the packager, the command 'opkg <args>
info <pkg>' is called to get information about each pkg in BAD_RECOMMENDATIONS
in a format that can be written to the status file. The 'Status: ...' line is
modified and all other lines are passed through. Changing the verbosity level
argument for this command will change what it written into the status file.
Crucially, with the default verbosity level, no blank lines are being printed by
the opkg command and so no blank lines are being written to the status file to
separate each package entry.
The package parsing code in opkg expects package entries in the status file to
be separated by at least one blank line. If no blank line is seen, the next
package entry is interpreted as a continuation of the last package entry, but
the new values overwrite the old values.
So with the default verbosity level, a blank line follows some package entries
and these are parsed. The others are dropped due to the lack of blank lines. As
the verbosity increases, more debugging messages add blank lines and more
packages are parsed.
The solution to ensure that this works correctly regardless of the verbosity
level is simply add a blank line after the output of 'opkg info' is written to
the status file, ensuring that the next package is separated from the current
package.
Signed-off-by: Paul Barker <paul@paulbarker.me.uk> Cc: Chris Carr <chris.carr@ge.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com>
Johan Hovold [Fri, 24 Oct 2014 15:39:40 +0000 (17:39 +0200)]
udev: fix uevent-helper disable
Make sure that /proc/sys/kernel/hotplug exists before trying to disable
the uevent-helper mechanism.
Since kernel commit 86d56134f1b6 ("kobject: Make support for
uevent_helper optional.") the kernel can be built without uevent-helper
support. In this case /proc/sys/kernel/hotplug does not exist and the
current sysvinit script fails with
/etc/rcS.d/S04udev: line 132: can't create /proc/sys/kernel/hotplug: nonexistent directory
when trying to disable the uevent-helper mechanism during boot.
Note that a single NULL-character has always been sufficient to disable.
BusyBox: Fixing broadcast address is not fed and rightly initialized
When using udhcpc along with ip command(/sbin/ip), broadcast address is not
assigned. Broadcast address is successfully assigned when using udhcpc without
ip command existence.
with ip command:
$ifconfig eth0|grep Bcast
inet addr:128.224.162.141 Bcast:0.0.0.0 Mask:255.255.254.0
$
without ip command:
$ifconfig eth0|grep Bcast
inet addr:128.224.162.141 Bcast:128.224.163.255 Mask:255.255.254.0
$
/etc/udhcp.d/50default[simple.script] is called to set ip address by dhcp
client, In case of ifconfig, it doesn't care of it's existence because it
will automatically calculate broadcast address then assign it if there is
no broadcast option. However in case of ip command, it requires broadcast
address statically.
Signed-off-by: Hu <yadi.hu@windriver.com> Signed-off-by: Roy Li <rongqing.li@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Par Olsson <Par.Olsson@windriver.com> Signed-off-by: Shan Hai <shan.hai@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com>
There is a failure to build lib32-meta-toolchain:
...
|ERROR: lib32-packagegroup-core-standalone-sdk-target not found in the base
feeds (qemux86_64 x86 noarch any all).
...
In package_manager.py, the variable 'DEFAULTTUNE_virtclass-multilib-lib32'
is used to process multilib image/toolchain. But for the build of lib32-
meta-toolchain, the value of 'DEFAULTTUNE_virtclass-multilib-lib32' is
deleted. In 'bitbake lib32-meta-toolchain -e', we got:
...
|# $DEFAULTTUNE_virtclass-multilib-lib32 [2 operations]
|# set? /home/jiahongxu/yocto/build-20141010-yocto/conf/local.conf:237
|# "x86"
|# del data_smart.py:406 [finalize]
|# ""
|# pre-expansion value:
|# "None"
...
The commit 899d45b90061eb3cf3e71029072eee42cd80930c in oe-core deleted
it at DataSmart.finalize
...
Author: Richard Purdie <richard.purdie@linuxfoundation.org>
Date: Tue May 31 23:52:50 2011 +0100
bitbake/data_smart: Change overrides behaviour to remove
expanded variables from the datastore
...
We add an internal variable 'DEFAULTTUNE_ML_<multilib>', assign it with the
value of 'DEFAULTTUNE_virtclass-multilib-lib32' before deleting.
For rpm backend in package_manager.py, we use DEFAULTTUNE_virtclass-multilib
-lib32 first, if it is not available, and try to use DEFAULTTUNE_ML_<multilib>
Hongxu Jia [Wed, 8 Oct 2014 12:16:36 +0000 (20:16 +0800)]
opkg: fix remove pkg with --force-removal-of-dependent-packages failed
opkg remove perl --force-removal-of-dependent-packages
...
Removing package perl-module-extutils-mm-dos from root...
...
Removing package perl-module-extutils-mm-dos from root...
You can force removal of packages with failed prerm scripts with the option:
--force-remove
No packages removed.
Collected errors:
* pkg_run_script: Internal error: perl-module-extutils-mm-dos has a
NULL tmp_unpack_dir.
* opkg_remove_pkg: not removing package "perl-module-extutils-mm-dos",
prerm script failed
...
While remove pkg with '--force-removal-of-dependent-packages',
pkg may be added to remove list multiple times, add status
check to make sure pkg only be removed once.
Yuanjie Huang [Wed, 22 Oct 2014 08:47:57 +0000 (04:47 -0400)]
mtd-utils: Fix alignment trap triggered by NEON instructions
NEON instruction VLD1.64 was used to copy 64 bits data after type
casting, and they will trigger alignment trap.
This patch uses memcpy to avoid alignment problem.
Roy Li [Wed, 22 Oct 2014 08:35:43 +0000 (16:35 +0800)]
python3: do not replace ccache in the middle of a path
Python recipe did a sed s/ccache/$(CCACHE) on the Makefile, which
replaces all "ccache" including ones that consist of a full path.
This leads to build error when building in a project path with
"ccache" in its name. Fix it by only replacing "ccache " with
"$(CCACHE) ".
Same fix on python 2.xx is: 1181112cf65bc[python: do not replace ccache in the ]
Signed-off-by: Roy Li <rongqing.li@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com>
Hongxu Jia [Thu, 16 Oct 2014 07:16:25 +0000 (15:16 +0800)]
multilib.bbclass: fix incorrect TARGET_VENDOR in multilib image
While building multilib extended images such as libXX-core-image-minimal,
the WORKDIR has the same dir with the building of core-image-minimal.
$ ls tmp/work/qemux86_64-poky-linux/ -al
...
drwxrwxr-x 3 jiahongxu jiahongxu 4096 Oct 13 16:01 core-image-minimal
drwxrwxr-x 3 jiahongxu jiahongxu 4096 Oct 16 11:11 lib32-core-image-minimal
...
While image class is inherited, it did not assign OVERRIDES with
'virtclass-multilib-libXXX', so the reason is variable TARGET_VENDOR was
not override for multilib in that situation.
It refers what did for PN and MLPREFIX, and manually do the multilib
override for TARGET_VENDOR in RecipePreFinalise handler.
Signed-off-by: Roy Li <rongqing.li@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com>
Pascal Bach [Fri, 24 Oct 2014 07:41:10 +0000 (09:41 +0200)]
image.py: Fix error in graph sorting
The graph sorting algorithm for image dependencies does a look for an
occurrence of a searched string instead of comparing the chunk to the
searched string. This leads to the problem that ubifs is recognized as ubi aswell.
This fixes this by splitting up the string into chunks.
Richard Purdie [Fri, 24 Oct 2014 14:14:31 +0000 (15:14 +0100)]
rm_work: Speed up rootfs/populate_sdk removal
Commands like bitbake X -c rootfs or bitbake X -c populate_sdk do not
trigger rm_work to clean up the directories afterwards since it
traditionally hooks onto do_build. This change means those two tasks now
clean up after themselves. We use the cleandirs function attribute to
handle this.
Maxin B. John [Fri, 5 Dec 2014 17:08:49 +0000 (18:08 +0100)]
python: fix ssl import error
Fix this ssl import error:
Python 2.7.3 (default, Dec 5 2014, 16:24:17)
[GCC 4.9.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import ssl
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/ssl.py", line 92, in <module>
import base64 # for DER-to-PEM translation
ImportError: No module named base64
Signed-off-by: Maxin B. John <maxin.john@enea.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com>
Bian Naimeng [Mon, 8 Dec 2014 05:45:07 +0000 (13:45 +0800)]
cpio: fix bug CVE-2014-9112 for cpio-2.11
Obtain detain from following URL.
http://lists.gnu.org/archive/html/bug-cpio/2014-12/msg00000.html
http://git.savannah.gnu.org/cgit/cpio.git/commit/?id=746f3ff670dcfcdd28fcc990e79cd6fccc7ae48d
Bian Naimeng [Mon, 8 Dec 2014 05:45:06 +0000 (13:45 +0800)]
cpio: fix bug CVE-2014-9112 for cpio-2.8
Obtain detain from following URL.
http://lists.gnu.org/archive/html/bug-cpio/2014-12/msg00000.html
http://git.savannah.gnu.org/cgit/cpio.git/commit/?id=746f3ff670dcfcdd28fcc990e79cd6fccc7ae48d
He Zhe [Tue, 21 Oct 2014 09:47:44 +0000 (17:47 +0800)]
kernel.bbclass: Create modules directory even if there is no modules installed
During kernel_do_install it needs to make symbol link at
${D}/lib/modules/${KERNEL_VERSION}/build, but there will not be
${D}/lib/modules/${KERNEL_VERSION} if there is no modules installed for current
image, which will result in a build failure.
Add "mkdir -p ${D}/lib/modules/${KERNEL_VERSION}" here to avoid this failure
and the need of similar changes in other scripts that also expect it to exist.
libavcodec/mjpegdec.c in FFmpeg before 2.4.2 considers only dimension
differences, and not bits-per-pixel differences, when determining whether an
image size has changed, which allows remote attackers to cause a denial of
service (out-of-bounds access) or possibly have unspecified other impact via
crafted MJPEG data.
Off-by-one error in libavcodec/smc.c in FFmpeg before 2.4.2 allows remote
attackers to cause a denial of service (out-of-bounds access) or possibly
have unspecified other impact via crafted Quicktime Graphics (aka SMC) video
data.
Signed-off-by: Roy Li <rongqing.li@windriver.com> Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com>
Tom Zanussi [Wed, 29 Oct 2014 22:04:20 +0000 (17:04 -0500)]
wic: Use overhead factor when creating partitions from rootfs directories
When creating partitions sized to given rootfs directories, filesystem
creation could fail in cases where the calculated target partition
size was too small to contain the filesystem created using mkfs. This
occurred in particular when creating partitions to contain very large
filesystems such as those containing sdk image artifacts.
This same limition is present in the oe-core image creation classes,
which can be readily see by changing IMAGE_OVERHEAD_FACTOR from the
default 1.3 to 1.0 and building a sato-sdk image.
It should be possible to calculate required sizes exactly given the
source rootfs and target filesystem types, but for now, to address the
specific problem users are hitting in such situations, we'll just do
exactly what oe-core does and define and use an IMAGE_OVERHEAD_FACTOR
or 1.3 in those cases.
Ross Burton [Wed, 5 Nov 2014 20:34:40 +0000 (20:34 +0000)]
buildtools-tarball: package all of Python
Instead of cherry-picking pieces of Python to put into the buildtools tarball,
ship all of it. We can't predict what bits of Python will be needed in the
future.
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Andrei Gherzan [Wed, 26 Nov 2014 16:22:14 +0000 (08:22 -0800)]
xkeyboard-config: Inherit gettext
In a GPLv3-free build we have two different versions of gettext in sysroot due
to GPLv3 restrictions. In this case we need gettext-native too so we can have
the needed macros and avoid errors like:
"error: possibly undefined macro: AM_GNU_GETTEXT"
The needed dependency is added by gettext class which is prefered because it
takes care of NLS flags too.
Signed-off-by: Andrei Gherzan <andrei.gherzan@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Wenzong Fan [Wed, 26 Nov 2014 16:22:12 +0000 (08:22 -0800)]
python: Fix CVE-2014-7185
Integer overflow in bufferobject.c in Python before 2.7.8 allows
context-dependent attackers to obtain sensitive information from
process memory via a large size and offset in a "buffer" function.
Signed-off-by: Javier Viguera <javier.viguera@digi.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Tom Zanussi [Wed, 26 Nov 2014 16:22:09 +0000 (08:22 -0800)]
wic: Update bootimg-partition to use bootimg_dir
Update bootimg-partition to use bootimg_dir instead of img_deploy_dir,
to match similar usage in other plugins.
As mentioned elsewhere, plugins should use the passed-in value for
bootimg_dir directly if non-null, which corresponds to a user-assigned
value specified via a -b command-line param, and only fetch the value
from bitbake if that value is null.
Tom Zanussi [Wed, 26 Nov 2014 16:22:08 +0000 (08:22 -0800)]
wic: Remove special-case bootimg_dir
The first iterations of wic very shortsightedly catered to two
specific use-cases and added special-purpose params for those cases so
that they could be directly given their corresponding boot artifacts.
(hdddir and staging_data_dir).
As more use-cases are added, it becomes rather obvious that such a
scheme doens't scale, and additionally causes confusion for plugin
writers.
This removes those special cases and states explicitly in the help
text that plugins are responsible for locating their own boot
artifacts.
Tom Zanussi [Wed, 26 Nov 2014 16:22:05 +0000 (08:22 -0800)]
wic: Don't allow mkfs to fail silently in partition command
The return code from the mkfs command used by the partition creation
command was being ignored, allowing it to silently fail and leaving
users mystified as to why the resulting filesystem was corrupted.
This became obvious when failures occurred when creating large
e.g. sdk filesystems [YOCTO #6863].