aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2016-01-14opkg-utils: store alternatives in nonarch_libdirdankm/libdirDaniel McGregor
opkg-utils-native stores alternative info in /usr/lib, so do the same on the target. Signed-off-by: Daniel McGregor <daniel.mcgregor@vecima.com>
2016-01-14bitbake.conf: make localedir nonarchDaniel McGregor
systemd and others expect locales to be in nonarch_libdir, regardless of the base library directory. Signed-off-by: Daniel McGregor <daniel.mcgregor@vecima.com>
2016-01-11update_font_cache: only scan system font directoriesRoss Burton
By default fc-cache will scan both system and user directories, which means it attempts to scan $HOME/.fonts. As this is the build host's idea of $HOME this generally doesn't exist, and causes fc-cache to exit with a failure. Solve this by passing --system-only so that fc-cache will only scan system directories, as is appropriate for a rootfs-time invocation. Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-11Add "CVE:" tag to current patches in OE-coreMariano Lopez
The currnet patches in OE-core doesn't have the "CVE:" tag, now part of the policy of the patches. This is patch add this tag to several patches. There might be patches that I miss; the tag can be added in the future. Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-11scripts/create-pull-request: fix git request-pull syntaxMartin Jansa
* at least with git 2.6.3 I see git request-pull failing when there is only :{BRANCH} as ending commit * $ git request-pull origin/dizzy git://git.openembedded.org/openembedded-core-contrib jansa/dizzy-backports:jansa/dizzy-backports The following changes since commit 7bb182bdd130266100fc541fd09b82d09c51cd80: build-appliance-image: Update to dizzy head revision (2015-09-29 14:56:04 +0100) ... And finds correct 7 changes there * $ git request-pull origin/dizzy git://git.openembedded.org/openembedded-core-contrib :jansa/dizzy-backports warn: No match for commit 6068d1c90336ddc1fb32856efd1d9ccf07733896 found at git://git.openembedded.org/openembedded-core-contrib warn: Are you sure you pushed 'jansa/dizzy-backports' there? The following changes since commit 97756472d3a69eaca95d105494ffea78c6b077e0: build-appliance-image: Update to dizzy head revision (2014-10-18 16:16:27 +0200) ... and lists all commits in _current_ branch since origin/dizzy, then it refuses to continue, because there are too many changes. * 6068d1c90336ddc1fb32856efd1d9ccf07733896 is this commit in jansa/master-submitted branch so it really shouldn't be included in pull request from jansa/dizzy branch. * git help says: <end> Commit to end at (defaults to HEAD). This names the commit at the tip of the history you are asking to be pulled. When the repository named by <url> has the commit at a tip of a ref that is different from the ref you have locally, you can use the <local>:<remote> syntax, to have its local name, a colon :, and its remote name. * maybe the syntax got changes since git 2.1.0 when Saul added :${BRANCH} * I haven't found how to respect ${COMMIT_ID in the new syntax Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-11qt4: fix-for-mips-n32.patch: remove itRobert Yang
Not needed it any more since qt4 has been moved to meta-qt4. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-11util-linux: create util-linux-runuser packageIoan-Adrian Ratiu
Split runuser into its own package (previously provided by util-linux). runuser is compiled only when DISTRO_FEATURES includes pam and also the package is created only when runuser exists. Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu@ni.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-11valgrind: include aarch64 in COMPATIBLE_HOSTAndre McCurdy
Valgrind has supported aarch64 since v3.10.0. Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-11valgrind: update to 3.11.0Alexander Kanavin
LICENSE checksums are changed due to a change in FSF address, or copyright years update. Added patches: 0001-Remove-tests-that-fail-to-build-on-some-PPC32-config.patch replaces remove-ppc-tests-failing-build.patch and removes only those tests that are known to break the build on ppc32 configurations tested by poky autobuilders Rebased patches: sepbuildfix.patch rebased to 0004-Fix-out-of-tree-builds.patch add-ptest.patch rebased to 0005-Modify-vg_test-wrapper-to-support-PTEST-formats.patch Removed patches: force-nostabs.patch removed because it's patching lines that have been removed upstream remove-ppc-tests-failing-build.patch replaced with 0001-Remove-tests-that-fail-to-build-on-some-PPC32-config.patch enable.building.on.4.x.kernel.patch removed because the problem is fixed upstream glibc.patch removed for the same reason Removed backports: pass-maltivec-only-if-it-supported.patch 0001-valgrind-Enable-rt_sigpending-syscall-on-ppc64-linux.patch Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-11local.conf.sample: add qemumips64Yi Zhao
Add the missing example machine configuration for qemumips64 Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-11valgrind: don't restrict to armv7aAndre McCurdy
Valgrind has been tested on armv5te/qemuarm, so it seems that valgrind's configure check for armv7 is over cautious. Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-11DpkgRootfs: Fix logcheck_error false-positive when use multilibAníbal Limón
Rootfs with dpkg was failing due to false-positive in logcheck_error because current logic of DpkgPM handles missing dependencies failure using apt-get -f install [1][2]. This support was broken due to addition of logcheck and don't take into account dpkgpm cases, in order to fix add an attr for specify expected errors regex'es by package manager. [1] http://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/meta/lib/oe/rootfs.py#n659 [2] http://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/meta/lib/oe/package_manager.py#n2038 Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-11package_deb.bbclass: add 'Multi-Arch: foreign' tag to allarch packagesMatt Madison
This tells APT that it can use such packages to resolve dependencies from packages of any architecture in a multilib build. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-11package_manager.py: fixes for multilib deb packaging buildsMatt Madison
* tmp/deploy/deb subdirectories do not get hyphens replaced with underscores, so don't do that translation when building the sources list. * Fix MULTILIB_VARIANTS handling to be more general and work for all architectures * Also include a fix for a warning generated by apt due to missing apt/preferences.d directory. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-11package_deb.bbclass, cross-canadian.bbclass: DPKG_ARCH mapping functionMatt Madison
Have DPKG_ARCH set by directly invoking a mapping function, rather than using an anonymous Python function modify the variable under the hood, so we can have proper handling of overrides. Also bring in some additional mappings to Debian architecture names that weren't being handled. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-11connman.inc: add missing RDEPENDSHongxu Jia
All of the connman-tools, connman-tests and connman-client runtime depends connman. Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-11meta: rename perl-native-runtimeEd Bartosh
The code in native.bbclass adds -native suffix to the package names that don't have it. perl-native-runtime becomes perl-native-runtime-native because of this. Renamed perl-native-runtime -> hostperl-runtime-native to avoid mangling it and to conform with the naming convetion for native packages. Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-11dbus: support large-file for stat64Hongxu Jia
While starting dbus-daemon on a 32-bit linux host and it invokes fstat to load /etc/dbus-1/system.conf through NFS. If system.conf was created with a large indoe number on 64-bit host. The above fstat invoking failed. Here is the log of strace: ............ $ ls -i /etc/dbus-1/system.conf 53778558109 /etc/dbus-1/system.conf $ strace /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation |open("/etc/dbus-1/system.conf", O_RDONLY) = 4 |fstat64(4, {st_mode=S_IFREG|0644, st_size=3340, ...}) = 0 |close(4) = 0 |close(3) = 0 |write(2, "Failed to start message bus: Fai"..., 109Failed to start message bus: Failed to stat "/etc/dbus-1/system.conf": Value too large for defined data type |) = 109 |exit_group(1) = ? |+++ exited with 1 +++ ............ In this situation, we should support large-file for stat64. Add marco AC_SYS_LARGEFILE to do the detection at configure time. It can be disabled by configuring with the `--disable-largefile' option. [YOCTO: #8863] Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-11freetype: enable out-of-tree builds, and use host zlibRoss Burton
Add a few ${S} and ${B} to make out of tree builds work, and stop using autotools-brokensep. Annoyingly we still need to use a custom do_configure so add a comment explaining why so someone else doesn't spend 30 minutes trying to make it work. Whilst here add a small patch so we don't need to tell the build where libtool is, and remove class-native do_configure as it doesn't appear to be required anymore. At this point I started to get carried away. The do_compile_prepend is redundant now that configure is being told what compiler to use for build tools, so remove that. Instead of using the integrated zlib fork, add a PACKAGECONFIG to use the zlib we build and enable that by default. Also add a disabled PACKAGECONFIG for bzip2 support. Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-11bluez5: upgrade to 5.37Maxin B. John
5.36 -> 5.37 Remove the backported patch: core-profile-Fix-possible-crash-when-registering-pro.patch Build bluez5 only when DISTRO_FEATURES include bluez5 Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-11cogl-1.0: fix may be used uninitialized errorRobert Yang
Fixed when DEBUG_BUILD = "1": test-backface-culling.c:206:7: error: 'cull_front' may be used uninitialized in this function [-Werror=maybe-uninitialized] | validate_part (framebuffer, | ^ | cc1: some warnings being treated as errors Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-11oeqa/runtime/logrotate: fix hardcoded root directoryYi Zhao
Use $HOME instead of /home/root in case user changes the default root directory by ROOT_HOME Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-11oeqa/runtime/smart: fix hardcoded root directoryYi Zhao
Use $HOME instead of /home/root in case user changes the default root directory by ROOT_HOME Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-11boost: update to 1.60.0Lukas Bulwahn
Due to the version update to 1.59.0, the two patches previously backported in this recipe are now dropped. The actual status of the arm-intrinsics.patch (reported with Upstream-Status: Backport) is unknown to the committer, and hence, that patch is kept in the recipe, even if it is possibly not required anymore. A deeper analysis is required to determine need and status of that patch. Second, boost 1.59.0 provides a new library, called timer, which is packaged as further library in the boost recipe. The update to boost 1.60.0 required no further changes beyond changing the checksum hashes. Third, on PPC architectures, qemuppc & mpc8315e-rdb [1] (tested by Ross Burton), the boost test library with the vanilla version 1.60.0 fails with: | gcc.compile.c++ bin.v2/libs/test/build/aca09349fdb84d131321425f6c3a38ed/execution_monitor.o | In file included from [...]/tmp/sysroots/mpc8315e-rdb/usr/include/fenv.h:114:0, | from [...]/tmp/sysroots/mpc8315e-rdb/usr/include/c++/5.3.0/fenv.h:36, | from ./boost/detail/fenv.hpp:97, | from ./boost/test/execution_monitor.hpp:64, | from ./boost/test/impl/execution_monitor.ipp:31, | from libs/test/src/execution_monitor.cpp:16: | ./boost/test/impl/execution_monitor.ipp: In function 'unsigned int boost::fpe::enable(unsigned int)': | ./boost/test/impl/execution_monitor.ipp:1383:7: error: expected id-expression before '(' token | ::feclearexcept(BOOST_FPE_ALL); | ^ | ./boost/test/impl/execution_monitor.ipp: In function 'unsigned int boost::fpe::disable(unsigned int)': | ./boost/test/impl/execution_monitor.ipp:1420:7: error: expected id-expression before '(' token | ::feclearexcept(BOOST_FPE_ALL); | ^ The commit f50e7bc9fed323c5705c0ed992c03e80eeec1dd6 from the boostorg/test github repository (branch: develop) [2] addresses that issue, but it was not merged in the 1.60.0 release. This commit adds this upstream-accepted patch, which was created by: `git checkout f50e7bc9fed323c5705c0ed992c03e80eeec1dd6 && git format-patch -1` [1] http://lists.openembedded.org/pipermail/openembedded-core/2016-January/114844.html [2] https://github.com/boostorg/test/commit/f50e7bc9fed323c5705c0ed992c03e80eeec1dd6 Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-11bitbake.conf: remove 'stamp-base'Chen Qi
Remove 'stamp-base' from this file as this flag is no longer used. [YOCTO #8468] Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-11gcc5: Fix build on NIOS2Marek Vasut
The gcc 5.3 does not build on NIOS2 due to a missing MUSL_DYNAMIC_LINKER definition in it's config file. Add the definition to fix the build issue. The output produced during the failing build is as follows: g++ -isystem/b/tmp/sysroots/x86_64-linux/usr/include -O2 -pipe -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -DHAVE_CONFIG_H -static-libstdc++ -static-libgcc -L/b/tmp/sysroots/x86_64-linux/usr/lib -L/b/tmp/sysroots/x86_64-linux/lib -Wl,-rpath-link,/b/tmp/sysroots/x86_64-linux/usr/lib -Wl,-rpath-link,/b/tmp/sysroots/x86_64-linux/lib -Wl,-rpath,/b/tmp/sysroots/x86_64-linux/usr/lib -Wl,-rpath,/b/tmp/sysroots/x86_64-linux/lib -Wl,-O1 gcc-ar.o -o gcc-ar \ file-find.o libcommon.a ../libcpp/libcpp.a ../libbacktrace/.libs/libbacktrace.a ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a In file included from ./tm.h:27:0, from /b/tmp/work-shared/gcc-5.3.0-r0/gcc-5.3.0/gcc/gcc.c:34: ./config/linux.h:92:28: error: expected ',' or ';' before 'MUSL_DYNAMIC_LINKER' BIONIC_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER) ^ ./config/linux.h:59:60: note: in definition of macro 'CHOOSE_DYNAMIC_LINKER1' "%{" LIBC2 ":" LD2 ";:%{" LIBC3 ":" LD3 ";:%{" LIBC4 ":" LD4 ";:" LD1 "}}}" ^ ./config/linux.h:91:3: note: in expansion of macro 'CHOOSE_DYNAMIC_LINKER' CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER, \ ^ ./config/nios2/linux.h:40:25: note: in expansion of macro 'GNU_USER_DYNAMIC_LINKER' -dynamic-linker " GNU_USER_DYNAMIC_LINKER "} \ ^ /b/tmp/work-shared/gcc-5.3.0-r0/gcc-5.3.0/gcc/gcc.c:884:32: note: in expansion of macro 'LINK_SPEC' static const char *link_spec = LINK_SPEC; ^ <command-line>:0:27: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings] /b/tmp/work-shared/gcc-5.3.0-r0/gcc-5.3.0/gcc/gcc.c:1295:48: note: in expansion of macro 'STANDARD_STARTFILE_PREFIX' static char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX; Signed-off-by: Marek Vasut <marex@denx.de> Cc: Khem Raj <raj.khem@gmail.com> Cc: Ross Burton <ross.burton@intel.com> Cc: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-11rpmresolve.c: Fix unfreed pointers that keep DB openedMariano Lopez
There are some unfreed rpmmi pointers in printDepList() function; this happens when the package have null as the requirement. This patch fixes these unfreed pointers and add small changes to keep consistency with some variables. [YOCTO #8028] Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-11tzdata: Make /etc/timezone optionalHaris Okanovic
Add INSTALL_TIMEZONE_FILE config variable to enable/disable installation of ${sysconfdir}/timezone (/etc/timezone) by tzdata packages. Defaults to "1" to maintain previous behavior. Most libc implementations can be configured to retrieve system's defaults timezone from /etc/localtime, and don't need a second file (/etc/timezone) to express this configuration. Maintaining this file is an unnecessary burden on sysadmins unless there's software using /etc/timezone directly (I.e. outside of libc). Some distributions may choose not to provide it. Testing: Built tzdata under default config and verified CONFFILES_tzdata still has both /etc/timezone and /etc/localtime and both are in the image. Built with INSTALL_TIMEZONE_FILE = "0" and verified /etc/timezone is removed from CONFFILES_tzdata and the image. Successfully installed package to an x64 target. Signed-off-by: Haris Okanovic <haris.okanovic@ni.com> Reviewed-by: Brad Mouring <brad.mouring@ni.com> Reviewed-by: Rich Tollerton <rich.tollerton@ni.com> Reviewed-by: Ken Sharp <ken.sharp@ni.com> Reviewed-by: Ross Burton <ross.burton@intel.com> Natinst-ReviewBoard-ID: 121628 Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-11systemd: arrange for volatile /etc/resolv.confChristopher Larson
On sysvinit systems, volatiles is configured to make /etc/resolv.conf symlink to a file in a volatile path, which lets us write to /etc/resolv.conf for read-only-rootfs. For systemd, this isn't set up unless we enable systemd-resolved, which we don't by default. When it's not enabled, create the /etc/resolv.conf symlink and ensure the volatile path is created on boot with tmpfiles.d. Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-11systemd: add myhostname to nsswitch.confChristopher Larson
We don't need nss-myhostname on systemd systems, because systemd already provides myhostname, but we weren't configuring nsswitch to use it. Being able to resolve the hostname is useful for a number of different applications, so enable it using the same postinst/prerm bits which are in nss-myhostname. Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-11opkg-utils: add update-alternatives PACKAGECONFIGChristopher Larson
This lets someone use a different update-alternatives-native provider. Without this available, they'll step on one another in the sysroot unconditionally, since we need to build opkg-utils-native for ipk based builds regardless. Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-11linux-dtb.inc: use absolute upd-alt pathsChristopher Larson
This works around a limitation of the chkconfig update-alternatives, so it works with all our update-alternatives providers. Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-11uclibc: Upgrade to 1.0.10Khem Raj
Drop upstreamed patches Seems to fix parallel build race with locales Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-11populate_sdk_ext: Pass excluded_targets as a list to prune_lockedsigsRandy Witt
prune_lockedsigs expects excluded_targets to be a list, whereas previously it was passed in as a string. Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-11populate_sdk_ext: Change to include siginfo and non sstate task sigsRichard Purdie
Right now, the locked task hashes list for the extensible SDK locks down only the sstate tasks. Whilst asthetically pleasing, this gives two problems: * Half the task are left floating meaning checksum mismatches are a pain to debug * The later code which copies relavent data files out the sstate cache can't use any of this data. This patch modifies things so all the checksums are listed in the locked file. An exclusion of tasks probably makes more sense for the library function rather than an allowed list. The only sstate task being deliberaly excluded here was do_package so add in a function to explictly exclude those sstate object files. The net result of this that siginfo files for all tasks are included in the SDK, which means commands like "bitbake -S printdiff" now function. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-11populate_sdk: Switch from bzip2 to xzRichard Purdie
xz gives *much* faster decompression times for the SDK which in itself is a good reason to use it. It also gives better compression. One downside is its slower but we care about the end user case first, build performance secondary. It also assumes the SDK user has a tar capable of understanding a xz compressed file but that should be common enough now. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-11classes: Fix do_rootfs referencesRichard Purdie
After the separation of do_rootfs, some rootfs references need changing to image_complete. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-11image: Create separate tasks for rootfs constructionRichard Purdie
This patch splits the code in lib/oe/image into separate tasks, one per image type. This removes the need for the simple task graph code and defers to the bitbake task management code to handle this instead. This is a good step forward in splitting up the monolithic code and starting to make it more accessible to people. It should also make it easier for people to hook in other tasks and processes into the rootfs code. Incidentally, the reason this code was all combined originally was due to limitations of fakeroot where if you exited the session, you lost permissions data. With pseudo this constraint was removed. We did start to rework the rootfs/image code previously and got so far with untangling it however we did prioritise some performance tweaks over splitting into separate tasks and in hindsight, this was a mistake and should have been done the other way around. That work was suspended due to changes in the people working on the project but this split has always been intended, now is the time to finish it IMO. There were some side effects of doing this: * The symlink for the manifest moves to the rootfs-postcommands class and into the manifest function. * There is no seperate "symlink removal" and "symlink creation", they are merged * The date/time stamps of the manifest and the built images can now be different since the tasks can be run separately and the datetime stamp will then be different between do_rootfs and the do_image_* tasks. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-11image: Move pre/post process commands to bbclassRichard Purdie
As the next step in splitting up do_image, move the pre and post processing commands to separate tasks. This also creates the do_image_complete task which acts as the end marker task for image generation. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-11image.bbclass: Separate out image generation into a new task, do_imageRichard Purdie
I've heard complaints from people trying to create more interesting image types about how hard it is to understand the rootfs/image generation code and that its a pain to develop/test/debug. Having looked at it myself, the internal construction of shell functions which then gets passed into a multiprocessing pool is rather convoluted and it places rather odd constraints on when variables are expanded. Its therefore no wonder people find it confusing/complex. This patch starts the process of splitting this up by separating out image generation from the do_rootfs task into a new do_image task. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-11populate_sdk_ext: Use new --setscene-only option to bitbake instead of ↵Richard Purdie
workarounds Rather than horrible workarounds, use the new --setscene-only option of bitbake to pre-populate the SDK structures. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-11sstatesig: Handle special case of gcc-source shared-workdir for printdiffRichard Purdie
Often, bitbake -S printdiff would show that there was a checksum not found which would turn out to be from gcc-source. This is due to it being a shared-workdir recipe. For now, hardcode the special case into the sstatesig code to stop people (including me) puzzling over this. If/as/when we add any other shared workdir recipes, we'll need to rethink this. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-11bitbake.conf: add virtual/libiconv-native to ASSUME_PROVIDEDRoss Burton
It's possible for a native recipe to have virtual/libiconv-native as a build dependency, but as we expect that the host provides that add it to ASSUME_PROVIDED. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-11devtool: build: support using BBCLASSEXTENDed namesPaul Eggleton
It's logical that you would want to build BBCLASSEXTENDed items separately through devtool build, so simply allow that - we're just passing the name verbatim to bitbake, so all it means is adjusting the validation. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-11devtool: reset: support recipes with BBCLASSEXTENDPaul Eggleton
If the recipe file itself was created in the workspace, and it uses BBCLASSEXTEND (e.g. through devtool add --also-native), then we need to clean the other variants as well. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-11devtool: refactor code for getting local recipe filePaul Eggleton
We're doing this in a couple of places, let's just find the recipe file if it exists within the workspace (which it will if it's been added through "devtool add") when we read in the workspace. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-11devtool: add: support adding a native variantPaul Eggleton
Sometimes you need to build a variant of a recipe for the build host as well as for the target (i.e. BBCLASSEXTEND = "native"); add a --also-native command line option to "recipetool create" that enables this and plumb it through from an identical option for "devtool add". (We could conceivably do the same for nativesdk, but I felt it might be confusing within the context of the extensible SDK, where nativesdk isn't really relevant to the user.) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-11devtool: reset: do clean for multiple recipes at once with -aPaul Eggleton
We need to run the clean for all recipes that are being reset before we start deleting things from the workspace; if we don't, recipes providing dependencies may be missing when we come to clean a recipe later (since we don't and couldn't practically reset them in dependency order). This also improves performance since we have the startup startup time for the clean just once rather than for every recipe. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-11recipetool: create: support creating standalone native/nativesdk recipesPaul Eggleton
If the recipe name ends with -native then we should inherit native; likewise if it starts with nativesdk- then inherit nativesdk. (Note that the recipe name must actually be specified by the user in order to trigger this - we won't do it based on any name auto-detected from e.g. the tarball name.) Since we're doing this based on the name, "devtool add" will also gain this functionality automatically. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-11recipetool: create: lower case name when determining from filenamePaul Eggleton
As a matter of general convention we expect recipe names to be lower case; in fact some of the packaging backends insist upon it. Since in this part of the code we're auto-determining the name, we should convert the name to lowercase if it's not already so that we're following convention and avoiding any validation issues later on. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>