Stefan Stanacar [Thu, 22 Aug 2013 12:02:55 +0000 (15:02 +0300)]
lib/oeqa: change behaviour for unskippable tests
When a test module wants to be skipped because it doesn't
apply to the image but it was nevertheless a required
test (one in TEST_SUITES), we issued an warning that it
was a required test and went on with running the module.
Usually all tests in the module failed (e.g gcc tests on a non-sdk image),
but this allowed us to know that something went wrong with the image
(some package/feature didn't make it).
However, instead of just issuing an warning and running the tests
it's better to throw an exception. The traceback will tell us what's wrong,
and we don't run every single test method.
Output will look like this:
--snip--
| NOTE: Test modules ['oeqa.runtime.ping', 'oeqa.runtime.ssh', 'oeqa.runtime.gcc']
| NOTE: Found 5 tests
| test_ping (oeqa.runtime.ping.PingTest) ... ok
| test_ssh (oeqa.runtime.ssh.SshTest) ... ok
| ERROR
|
| ======================================================================
| ERROR: setUpModule (oeqa.runtime.gcc)
| ----------------------------------------------------------------------
| Traceback (most recent call last):
| File "/mnt/back/yocto/poky/meta/lib/oeqa/runtime/gcc.py", line 8, in setUpModule
| skipModule("Image doesn't have tools-sdk in IMAGE_FEATURES")
| File "/mnt/back/yocto/poky/meta/lib/oeqa/oetest.py", line 108, in skipModule
| "\nor the image really doesn't have the requred feature/package when it should." % (modname, reason))
| Exception:
| Test gcc wants to be skipped.
| Reason is: Image doesn't have tools-sdk in IMAGE_FEATURES
| Test was required in TEST_SUITES, so either the condition for skipping is wrong
| or the image really doesn't have the requred feature/package when it should.
|
| ----------------------------------------------------------------------
| Ran 2 tests in 1.036s
|
| FAILED (errors=1)
| NOTE: Sending SIGTERM to runqemu
--snip--
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Stefan Stanacar [Thu, 22 Aug 2013 11:47:21 +0000 (14:47 +0300)]
lib/oeqa: make it possible to restart the target
Tweak QemuRunner so we can actually restart the
qemu target in a test (if we want more memory for example).
Also add a restart method to the base test class so that tests
can use it.
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Mihai Lindner [Mon, 19 Aug 2013 10:46:16 +0000 (13:46 +0300)]
lib/oeqa/utils: qemurunner: save host IP address
Save host IP address to host_ip.
Read /proc/PID/cmdline on host to look for IPs of target and host;
instead of running 'ps'.
Also removed some extra empty lines from file.
Signed-off-by: Mihai Lindner <mihaix.lindner@linux.intel.com> Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Stefan Stanacar [Tue, 20 Aug 2013 13:13:29 +0000 (16:13 +0300)]
lib/oeqa/runtime: rpm: add install and erase tests
Copies to target rpm-doc file from deploy_dir
and tries to install and then remove that package.
rpm-doc was chosen because it's small, it only adds
a few files to target, and it's almost always found in
deploy_dir for images with package-management/rpm.
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Mihai Prica [Fri, 23 Aug 2013 12:57:00 +0000 (15:57 +0300)]
connman-gnome: fix DHCP segfault
In networks that don't have a DHCP server configured, ipv4 address
allocation fails and the ipv4 structure doesn't get populated.
The patch checks this case also.
[YOCTO #3945]
Signed-off-by: Mihai Prica <mihai.prica@intel.com> Signed-off-by: Emilia Ciobanu <emilia.maria.silvia.ciobanu at intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Paul Eggleton [Fri, 23 Aug 2013 11:20:30 +0000 (12:20 +0100)]
busybox: enable shared memory logging for systemd
The default command-line options for launching busybox's syslogd are
"-C" if using sysvinit; but because we use /etc/default/busybox-syslog
when using systemd which the sysvinit initscript doesn't use, and no
/etc/default/busybox-syslog is installed by default in OE-Core, the
default arguments with systemd were no arguments at all with OE-Core
alone. Effectively merge in the bbappend from meta-oe that adds a
default file in order to set the default options to "-C" for systemd as
well.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Robert Yang [Thu, 18 Jul 2013 09:52:16 +0000 (17:52 +0800)]
e2fsprogs: add populate-extfs.sh
This script is originally from Darren Hart, it will be used for creating
the ext* filesystem from a given directory, which will replace the
genext2fs in image_types.bbclass at the moment, we may use the mke2fs to
replace this script again when it has the initial directory support.
Changes of the script:
* Rename it from mkdebugfs.sh to populate-extfs.sh
* Add a simple usage
* Add checking for the number of the parameters
* Add the "regular empty file" and "fifo" file type
* Set mode, uid and gid for the file
* Save the command lines to a file and batch run them
* Change the error message
* Improve the performance
* Add the support for hardlink
[YOCTO #3848]
Signed-off-by: Darren Hart <dvhart@linux.intel.com> Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Robert Yang [Thu, 22 Aug 2013 07:47:23 +0000 (15:47 +0800)]
e2fsprogs: properly set up extent header in do_write
do_write doesn't fully set up the first extent header on a new
inode, so if we write a 0-length file, and don't write any data
to the new file, we end up creating something that looks corrupt
to kernelspace:
EXT4-fs error (device loop0): ext4_ext_check_inode:464: inode #12: comm
ls: bad header/extent: invalid magic - magic 0, entries 0, max 0(0),
depth 0(0)
Do something similar to ext4_ext_tree_init() here, and
fill out the first extent header upon creation to avoid this.
[YOCTO #3848]
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Robert Yang [Thu, 18 Jul 2013 09:50:50 +0000 (17:50 +0800)]
e2fsprogs: the max length of debugfs argument is too short
The max length of debugfs argument is 256 which is too short, the
arguments are two paths, the PATH_MAX is 4096 according to
/usr/include/linux/limits.h, so use BUFSIZ (which is 8192 on Linux
systems), that's also what the ss library uses.
This patch has been reviewed by the linux-ext4 mailing list, but isn't
merged atm.
[YOCTO #3848]
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
- path normalization ('normalize' flag, defaults to enabled)
- existence verification for paths we know should exist ('mustexist' flag)
- supports clean handling of relative paths ('relativeto' flag)
Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Kai Kang [Thu, 22 Aug 2013 09:59:29 +0000 (17:59 +0800)]
alsa-lib: fix function definitions error for mips
Functions atomic_add(s) and atomic_sub(s) are defined with 'extern
__inline__' that may cause compile fails when cross compile for mips.
The error message looks like:
| pcm/.libs/libpcm.a(pcm_meter.o): In function
`snd_pcm_meter_update_scope':
| .../alsa-lib-1.0.27.2/src/pcm/pcm_meter.c:139: undefined reference to
`atomic_sub'
Replace the 'extern __inline__' with 'static __inline__' to fix this
issue.
Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Ross Burton [Thu, 22 Aug 2013 14:36:18 +0000 (15:36 +0100)]
runqemu-ifup: when tunctl can't be found, say what package builds it
If runqemu is used without actually building any qemu images (i.e. you
downloaded the images) it's likely that qemu-helper-native hasn't been built.
Instead of just saying what command can't be found, tell the user how to solve
their problem.
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Xufeng Zhang [Thu, 22 Aug 2013 03:12:28 +0000 (11:12 +0800)]
openssl: avoid NULL pointer dereference in three places
There are three potential NULL pointer dereference in
EVP_DigestInit_ex(), dh_pub_encode() and dsa_pub_encode()
functions.
Fix them by adding proper null pointer check.
Khem Raj [Thu, 22 Aug 2013 02:20:42 +0000 (19:20 -0700)]
glib-2.0: Specify libiconv when building on uclibc
We use GNU libiconv seprate package on uclibc
specifying this makes the configure clear of not
trying to detect glibc/iconv and then also finding
libiconv in sysroot and confusing itself with errors like
| gconvert.c:66:2: error: #error GNU libiconv not in use but included iconv.h is from libiconv
| #error GNU libiconv not in use but included iconv.h is from libiconv
| ^
We need this for certain nativesdk recipes, as we can't rely on the
certificate path or bundle path being the same across distros, and it's useful
in many cases on the target as well.
This is based on the 20130119 recipe from meta-oe, with the following changes:
- use the debian git repository to avoid vanishing sources
- obey our target paths
- default to a sysroot relative to the script location (make relocatable)
- define SUMMARY
- don't inherit autotools, this isn't an autotools package
- add MPL-2.0 to LICENSE, as that's the license of the certdata
- install the script man page
- use a native rather than cross recipe, as it's not bound in any way to the
target system
- add nativesdk to bbclassextend, for use in SDKs
Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Paul Eggleton [Sun, 25 Aug 2013 19:37:44 +0000 (20:37 +0100)]
xserver-nodm-init: improvements from meta-oe
Bring in some changes from the meta-oe version of this script in order
to bring them closer together. (Unfortunately it does not completely
supersede the recipes in meta-oe - there is still some unification to be
done between x11-common and xserver-common.)
* Add systemd support (with extensions for ROOTLESS_X)
* Remove sudo from RDEPENDS_${PN} since this hasn't been used by this
for a long time
* Rearrange recipe slightly to make the order logical
A couple of additional improvements at the same time:
* Use ROOT_HOME for root's home directory
* Set short description in SUMMARY instead of DESCRIPTION
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Richard Purdie [Sat, 24 Aug 2013 16:01:20 +0000 (17:01 +0100)]
classes: Remove references to _remove in function names since this may become a bitbake keyword
There is a good chance we might want to support a bitbake operator
"_remove" which works in a similar way to _append and _prepend. As
such, we can't use those keywords in function or variable names.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Bruce Ashfield [Fri, 23 Aug 2013 18:08:20 +0000 (14:08 -0400)]
linux-yocto: introduce v3.10
Introduce the 3.10 kernel. This is based on the 3.10.9 upstream kernel
and replaces the 3.8 recipes, which will be removed once all reference
boards have been updated.
3.10 also the latest LTSI and will be updated with that content when it
becomes available.
Other features of the 3.10 kernel include:
- refreshed -rt support
- refreshed yaffs2, aufs3
- cryptodev
- bfs, edf, and OCF staged features
- scrubbed and updated meta data for v3.10
- improved tools support for meta data updates and queue maintenance
- patch carry forward from all previous linux-yocto kernels and
configuration.
This kernel has been built and boot tested on all qemu machines and architectures.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
kernel commit 24b9f5017 [[media] V4L: Remove deprecated image centering controls]
removed the definitions of V4L2_CID_HCENTER and V4L2_CID_VCENTER after three
years of depreciation.
The ioctl values are still free, and the case statement which processess them
in v4l2 userspace falls through to the proper replacement. So in the short
term, we can explicitly define them using the old absolute values, and everything
will work.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The autobuilders and their long paths are still triggering errors during
the headers installation. Reinstate the previous patch for this,
after updating for 3.10.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The addition of ptrace_peeksiginfo_args to the uapi in kernel commit 84c751bd [ptrace: add ability to retrieve signals without removing from a queue (v4)]
means that existing applications using glibc versions that define ptrace_peeksiginfo_args
in sys/ptrace.h will get duplicate structure definitions like:
| In file included from /poky-master/build/tmp/work/i586-poky-linux/strace/4.8-r0/strace-4.8/process.c:66:0:
| /poky-master/build/tmp/sysroots/qemux86/usr/include/linux/ptrace.h:58:8: error: redefinition of 'struct ptrace_peeksiginfo_args'
| struct ptrace_peeksiginfo_args {
| ^
| In file included from /poky-master/build/tmp/work/i586-poky-linux/strace/4.8-r0/strace-4.8/defs.h:159:0,
| from /poky-master/build/tmp/work/i586-poky-linux/strace/4.8-r0/strace-4.8/process.c:37:
| /poky-master/build/tmp/sysroots/qemux86/usr/include/sys/ptrace.h:191:8: note: originally defined here
| struct ptrace_peeksiginfo_args
| ^
| make[2]: *** [process.o] Error 1
Reverting to the previous status of not exporting this structure temporarily
fixes applications, until they can be adjusted to not mix sys/ptrace.h and
linux/ptrace.h includes.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Bruce Ashfield [Fri, 23 Aug 2013 18:08:18 +0000 (14:08 -0400)]
linux-libc-headers: update to v3.10
Now that the 3.10 kernel has been released we can bump the libc-headers to
that version and remove the 3.8 variant. Userspace compatibility is
maintained through kernel versions, we also make the single 3.10 version the
toolchain default.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Bruce Ashfield [Fri, 23 Aug 2013 18:08:17 +0000 (14:08 -0400)]
guilt: update to latest git version
Uprev guilt to the latest guilt version from its upstream repository.
As part of the uprev all of the previous changes required for the
yocto kernel tools to use git to manipulate series files have been
dropped. These changes were specific to circumventing parts of guilt's
internal santiy checking to allow specific Yocto kernel manipluation
of sub-series files.
Since the kernel tools no longer need guilt, we can use an up to date
and nearly pure upstream version of guilt.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Bruce Ashfield [Fri, 23 Aug 2013 18:08:16 +0000 (14:08 -0400)]
kern-tools: usability, bug fixes and no guilt
Updating the kern-tools SRCREV to pick up the following fixes:
60a894e kgit-s2q: add proper commit ID handling for mixed am/apply usage 3b08257 kgit-s2q: delete pruning of path support. c5868b4 kgit-s2q: Restore implicit exit status to "git apply" section 1bd00b9 kgit-scc: mask warnings from cleanup phase 5 bb75299 kgit-s2q: fix commit warp when running "git am --abort" ef9571b kgit-scc: cleanup git rebase-apply dir fdb7d21 kgit-scc: ensure treegen stops if a meta series fails 008987b config: add kconfig cleaning options 69ff569 kgit-s2q: strip blank lines and comments e7b4540 kgit-init: disable garbage collection on a new tree 417eaed kgit-s2q: delete old LTSI patch dir finding code 21f2200 kgit-scc: better error checking on resume ad5084c kern-tools: use .meta as meta data container 1deb5d8 kgit-meta: don't push patches without a series file eb431a1 kgit-s2q: aid patch reject resolution via helper scripts f859c40 kgit-s2q: only use patch annotations when explicitly asked 333ae18 kgit: speed patch application by batching patches bf6991d kgit: teach tools about non-default meta dirs bcfc712 kgit-s2q: usability improvements cb28803 kgit-s2q: fix patch prefix stripping. 37f40e1 kgit-s2q: warn/exit with error if patch not in series f4704d2 kgit-s2q: consistent rm usage e11819c kgit-s2q: standardize on use of git mailinfo 36a5eda kgit: remove guilt dependency c461a4f spp/scc: export mark commands to meta-series 5311162 updateme: ensure that generated features are only used once 4f7a263 kgit-checkpoint: clear .gitignore for meta branch 21ee6f2 updateme: enforce a matching machine b08749d kgit-scc: remove -meta files after consruction
These are bug fixes, usability changes as well as the removal of the
guilt dependency. During the uprev of the guilt package, the amount of
circumvention of the typical guilt workflow and checks meant that using
it as a series -> branch manager was no longer appropriate. As a result
a new tools kgit-s2q (series 2 queue) was created based on git-quiltimport,
git am, and the LTSI tree generation scripts.
The result is better series to branch validation, faster application and
a simpler management model. This tool is backwards compatible with any
tree previously constructed with guilt. We are now "guilt free"
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Fri, 23 Aug 2013 16:28:49 +0000 (17:28 +0100)]
Add memory resident bitbake script
This adds an init script which instead of the standard bitbake, launches
a memory resident bitbake, defaulting to port 12345. It expects a port
number to use as the first option.
Right now this is experimental but I think its probably worth wrapping
up in a form people can more easily experiment with it. There are some
known issues:
a) It throws some debug output due to the lack of a UI which we need
to clean up
b) It should probably be able to auto select a free port
c) You get a nice backtrace if you specify a build directory but
not a port number
I'd also highlight there are security issues here if you don't trust
users who can connect into localhost. We might need to look at named
pipes or something similar for something limited to the current user.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Fri, 23 Aug 2013 09:02:21 +0000 (10:02 +0100)]
sstate: Fix the relative symlink replacement code
ant reported on irc that the sstate absolute to relative symlink creation
code wasn't working in klibc. He was correct although the level of breakage is
rather surprising since it only worked for one level of symlink (usr/include) with
everything else being broken.
The reason is probably that nothing really uses absolute paths, we use relative
paths where at all possible already. Nothing in the target sysroot should use
absolute paths for a start. In this regard, the klibc-dev package is broken and
needs fixing. It will currently break when building for one machine, then switching
to another of the same TUNE_PKGARCH and installing from sstate but that is a
separate issue.
This patch fixes the symlink creation code by firstly passing in the correct
value we need (where the symlink will end up) and seccondly, actually using it.
I've also tweaked the debug message to contain appropriate information and got
right of the double "//" value the existing code created in favour of the form
'./..' which looks neater.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Cristian Iorga [Fri, 23 Aug 2013 13:42:18 +0000 (16:42 +0300)]
packagegroup-self-hosted: Add the sato icon theme
Hicolor icon theme does not properly displays icons for
folders in Build Appliance.
Sato icon theme is working correctly.
Also, settings-daemon needs to be added to image in order to
properly display folder icons.
Signed-off-by: Cristian Iorga <cristian.iorga@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Andrei Gherzan [Fri, 23 Aug 2013 14:20:58 +0000 (17:20 +0300)]
eglibc.inc: Remove quotation marks from OPTION_EGLIBC_NSSWITCH_FIXED_*
Kconfig outputs strings with quotation marks. When eglibc tries to see if
the paths exists, uses wildcard make function which doesn't strip out the
quotation marks - checking for path fails. So strip out the quotation
marks from OPTION_EGLIBC_NSSWITCH_FIXED_* option-groups.config.
(see nss/Makefile)
Signed-off-by: Andrei Gherzan <andrei.gherzan@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Cristian Iorga [Wed, 21 Aug 2013 13:02:03 +0000 (13:02 +0000)]
default-providers: Set the preferred provider for bluez
There is a need for a default provider for bluez
now that bluez5 recipe is also present.
After the introduction of bluez5 recipe,
the following warnings are displayed:
"NOTE: multiple providers are available for runtime libasound-module-bluez (bluez4, bluez5)
NOTE: consider defining a PREFERRED_PROVIDER entry to match libasound-module-bluez"
Upon debug, bitbake shows:
DEBUG: checking PREFERRED_PROVIDER_bluez4 (value None) against ['bluez4', 'bluez5']
DEBUG: checking PREFERRED_PROVIDER_bluez4-4.101 (value None) against ['bluez4', 'bluez5']
DEBUG: checking PREFERRED_PROVIDER_bluez4-4.101-r5 (value None) against ['bluez4', 'bluez5']
DEBUG: checking PREFERRED_PROVIDER_bluez5 (value None) against ['bluez4', 'bluez5']
DEBUG: checking PREFERRED_PROVIDER_bluez5-5.7 (value None) against ['bluez4', 'bluez5']
DEBUG: checking PREFERRED_PROVIDER_bluez5-5.7-r0 (value None) against ['bluez4', 'bluez5']
Bitbake is faced with the question "what should provide libasound-module-bluez?"
which is a runtime name. It needs to try and find a PREFERRED_PROVIDER entry
which matches this but those use *build time* naming. So it converts "libasound-module-bluez"
into the canonical ${PN} of bluez4 and bluez5 and then tries to look those up.
What it actually should do is go one step further of mapping bluez4/bluez5
into the virtual/bluez but that does not happen.
Bug opened on this issue: YB5044
https://bugzilla.yoctoproject.org/show_bug.cgi?id=5044
[YOCTO #5030]
Signed-off-by: Cristian Iorga <cristian.iorga@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Thu, 22 Aug 2013 11:07:22 +0000 (11:07 +0000)]
chrpath: Add support for relocating darwin binaries
On darwin, install_name_tool can be used to relocate binaries/libraries. This
adds support for adjusting them with relative paths rather than hardcoded ones.
The Linux code is factored out into a function but is otherwise unchanged.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Thu, 22 Aug 2013 10:40:53 +0000 (10:40 +0000)]
Drop darwin8/darwin9 usage
There were darwin8/darwin9 overrides spinkled in the code from times gone
by. Lets settle on the darwin override and remove the others since its pointless
duplication. We always inject darwin into OVERRIDES if needed in the darwin8/9
cases.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Thu, 22 Aug 2013 10:24:57 +0000 (10:24 +0000)]
bitbake.conf: Work around dev symlink problems on darwin
On darwin, we have:
libxxx.dylib -> libxxx.Y.dylib
compared to Linux which has:
libxxx.so -> libxxx.so.Y
Our ordering of PACKAGES with -dev first and then ${PN} makes it impossible to
match the files correctly using simple globbing. This makes darwin targets
completely broken since both the libs and the dev symlinks end up in ${PN}-dev.
Whilst this commit is a hack, it at least puts the files into ${PN} and allows the
builds to be used. Symlinks don't take up much space so this isn't the end of
the world. I'm open to better solutions to this.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Thu, 22 Aug 2013 10:04:03 +0000 (10:04 +0000)]
gcc-cross.inc: Clean up after merge
* Remove the duplicate EXTRA_OECONF_PATHS that is overwritten
* Merge the do_compile and do_compile_prepend
* Group dependency and configuration variables together
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Hardcoding -nativesdk as the sdk package architecture is inflexible. We may have
multiple different target OS and we need a way to be able to separate them. Turning
this into a configurable value allows the flexibility we need to build different
SDKMACHINEs with different OS targets.
The commit should have no behaviour change, just makes things more configurable.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We never run nativesdk binaries so it doesn't make sense to use the relocatable
class. The chrpath calls at packaging time will ensure the binaries are relocated
in the final packages. The binaries in the sysroot are never used.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Tue, 20 Aug 2013 21:22:31 +0000 (21:22 +0000)]
gcc: Drop gcc-cross4.inc, its pointless now
The include was useful historically, its not anymore so lets remove it.
This should have no functional change except on any layers directly depending
on it or gcc-cross.inc but even then it would only impact sh4 and is easily
fixed if there was a problem.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Tue, 20 Aug 2013 21:17:55 +0000 (21:17 +0000)]
gcc-configure-sdk.inc: Don't build target-libgcc
I don't understand why we're building the target libgcc in the canadian-cross build
since it should have been built elsewhere. The compiler configuration isn't correct
to build a working target libgcc in all cases anyway.
To avoid various weird build errors, stop building it.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Tue, 20 Aug 2013 21:14:02 +0000 (21:14 +0000)]
gcc-package-sdk.inc: Allow executable extension to be overridden
On platforms like windows, executables have extensions. Whilst I'm not proposing
we wholesale support windows extensions, this small tweak allows a cross compiler
targetting mingw to be built which does seem like a good use case.
The patch therefore adds an EXEEXT which the mingw layer can set for the libexec
symlinks.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Tue, 20 Aug 2013 21:10:55 +0000 (21:10 +0000)]
gcc-package-sdk.inc: Use relative symlinks in libexec dir
We already use relative links for other gcc libexec links, this changes the sdk
do_install to match elsewhere and use relative symlinks too. This makes things
slightly easier in the SDK installation process and standardises.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Tue, 20 Aug 2013 21:02:30 +0000 (21:02 +0000)]
gcc-cross-canadian-4.8: Enable PARALLEL_MAKE
This disabling of PARALLEL_MAKE has been forward ported for gcc-cross-canadian
since at least 2009-09 and gcc 4.3.3, probably older.
I've tested this with high values of parallel make and it all seems to work and
we usually build gcc with parallel make so it seems unlikely there are issues.
Lets therefore enable it.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Tue, 20 Aug 2013 17:19:29 +0000 (17:19 +0000)]
libiconv: Extend to nativesdk and support non-linux targets
This library is currently only available when targeting non-libc. This patch
also makes it available when targetting non-linux since it is likely of use
then.
It also adds a BBCLASSEXTEND for nativesdk since again, it can be useful
in that context.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Tue, 20 Aug 2013 17:13:14 +0000 (17:13 +0000)]
gettext: Improve USE_NLS handling for nativesdk/crosssdk/cross-canadian
The gettext handling of USE_NLS has become a bit tricky to understand, or
alter from the SDK context. This patch introduces a SDKUSE_NLS which can
be set to configure a given SDK/ADT to use NLS or not. This is independent
of the target system NLS usage.
The code in gettext.bbclass is therefore simplified and the classes
themselves now set USE_NLS to appropriate values. No NLS is used
for native, cross and crosssdk since it is never used there and
would just increase build time.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Tue, 20 Aug 2013 13:01:49 +0000 (13:01 +0000)]
package.bbclass: Fix handling of symlinks in debug packages
When copying the sources for the debug source package we use cpio -Ll
which means to copy files as hardlinks and to dereference symlinks.
It appears there is a bug in cpio since -Ll will copy symlinks and
not dereference them. We therefore do a second pass over copied symlinks
resolving them into files. Ideally we would copy these as hardlinks as well
however it doesn't seem worth the extra code and effort for what amounts
to a corner case for a minor space improvement.
This means that the -dbg packages no longer contain broken symlinks.
[YOCTO #5020]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Thu, 22 Aug 2013 15:49:08 +0000 (15:49 +0000)]
mkfontscale: This no longer needs a full libx11, xproto suffices
configure just looks for xproto so we can drop the libx11 dependency and
reduce the amount we build for some small performance improvements and
less of the -native stack.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>