summaryrefslogtreecommitdiffstats
path: root/meta/classes
Commit message (Collapse)AuthorAgeFilesLines
* cml1: fix tasks after default [dirs] changedRoss Burton2016-08-041-0/+2
| | | | | | | | | | | | These tasks relied upon [dirs] being ${B} by default. As the functions are not simple, add back [dirs] so they work again. [ YOCTO #10027 ] (From OE-Core rev: 614d976ee97d6386c37afb54add5b83741ca401e) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake.conf/toolchain-scripts.bbclass: Remove debug prefix mappings in SDKJacob Kroon2016-08-041-0/+3
| | | | | | | | | | | | CFLAGS/CXXFLAGS in the SDK environment script adds debug-prefix mappings that include staging area/work directories. Remove them since the SDK shouldn't be aware of them. (From OE-Core rev: 7918e73e9c5fe8c8c1c1d341eaa42f2f7d3ddb69) Signed-off-by: Jacob Kroon <jacob.kroon@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* useradd-staticids.bbclass: trigger reparsing when table files changePatrick Ohly2016-08-011-0/+13
| | | | | | | | | | | | | | | | This addresses (among others) the following problem: - USERADD_ERROR_DYNAMIC=error causes a recipe to get skipped because a static ID entry is missing - the entry gets added to the file - using the recipe still fails with the same error as before because the recipe gets loaded from the cache instead of re-parsing it with the new table content (From OE-Core rev: 799c93592a9aac571d6dc05529437c0eec7b08b8) Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/testimage: When image is systemd, enable debug log levelAníbal Limón2016-08-011-1/+4
| | | | | | | | | | | | | In order to get more information about systemd boot process to be able to debug random failures due to high I/O. [YOCTO #9299] (From OE-Core rev: a0bb64973e767c3b8e0bae18ee84ed92693922f0) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* useradd.bbclass: Fix delete user/group when more than one itemMariano Lopez2016-08-011-8/+14
| | | | | | | | | | | | | | Currently when a recipe adds more than one user/group, the cleansstate task will delete only the first user/group. This will solve this behavior and delete all users/groups. [YOCTO #9943] (From OE-Core rev: da191d5c139a6b400d1b8fe246912b081dd18176) Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/buildhistory: ensure eSDK sstate lists sorted secondarily by namePaul Eggleton2016-07-261-2/+2
| | | | | | | | | | | | I got fed up with seeing items dance around in sstate-package-sizes.txt in the buildhistory git repo simply because they have the same size. Let's sort the list first by size and then also by name to ensure items with the same size are deterministically sorted. (From OE-Core rev: 7340c1ea677731d21351d47d935d9de7d7e2eda5) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/buildhistory: add additional variables for eSDKPaul Eggleton2016-07-261-1/+1
| | | | | | | | | | Add SDK_INCLUDE_PKGDATA and SDK_INCLUDE_TOOLCHAIN to the variables that we put into sdk-info.txt (From OE-Core rev: 4bf5be6a1fc39f367bbb59e1787cb55e7b5835ae) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/populate_sdk_ext: add gdb to full extensible SDKPaul Eggleton2016-07-261-1/+1
| | | | | | | | | | | | | | | | | If SDK_EXT_TYPE is set to "full" then we really ought to be shipping everything that is expected to be in the SDK, and that includes gdb (it's already referred to by the environment setup script if nothing else). This is implemented by using the SDK_INCLUDE_TOOLCHAIN functionality I just added, since the only material thing that adds on top of a full SDK is gdb and we should always have the rest of it in a full SDK anyway. Fixes [YOCTO #9850]. (From OE-Core rev: 9872dcc25c5cdfb99bda197db08476085f8c7ecc) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/populate_sdk_ext: filter sstate within the extensible SDKPaul Eggleton2016-07-261-6/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the new oe-check-sstate to filter the sstate artifacts shipped with the extensible SDK by effectively running bitbake within the produced eSDK and and getting it to tell us which tasks it will restore from sstate. This has several benefits: 1) We drop the *-initial artifacts from the minimal + toolchain eSDK. This still leaves us with a reasonably large SDK for this configuration, however it does pave the way for future reductions since we are actually filtering by what will be expected to be there on install rather than hoping that whatever cuts we make will match. 2) We verify bitbake's basic operation within the eSDK, i.e. that we haven't messed up the configuration 3) We verify that the sstate artifacts we expect to be present are present (at least in the sstate cache for the build producing the eSDK). Outside deletion of sstate artifacts has been a problem up to now, and this should at least catch that earlier i.e. during the build rather than when someone tries to install the eSDK. This does add a couple of minutes to the do_populate_sdk_ext time, but it seems like the most appropriate way to handle this. Should mostly address [YOCTO #9083] and [YOCTO #9626]. (From OE-Core rev: 4b7b48fcb9b39fccf8222650c2608325df2a4507) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/populate_sdk_ext: allow including toolchain in eSDK on installPaul Eggleton2016-07-261-1/+18
| | | | | | | | | | | | | | | | | | | | | If we're to completely replace the standard SDK with the extensible SDK, we need to be able to provide the standard toolchain on install without doing anything other than installing it, so that you can install the SDK and then point your IDE at it. This is particularly applicable to the minimal SDK which normally installs nothing by default. NOTE: enabling this option currently adds ~280MB to the size of the minimal eSDK installer. If we need to reduce this further we would have to look at adjusting the dependencies and/or the sstate_depvalid() function in sstate.bbclass which eliminates dependencies, or look at reducing the size of the artifacts themselves. Implements [YOCTO #9751]. (From OE-Core rev: ed0d8ed72370df694f720cc13897493478dc1de9) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta-extsdk-toolchain: add meta-recipe to install toolchain into eSDKPaul Eggleton2016-07-261-0/+3
| | | | | | | | | | | | | | | | | | Add a meta-recipe to bring the toolchain into the extensible SDK. This was modelled on meta-ide-support but some adjustments were needed to the dependency validation function in sstate.bbclass to ensure that all of the toolchain gets installed into the sysroot. With this, after installing a minimal eSDK you only need to run the following after sourcing the environment setup script to get the toolchain: devtool sdk-install meta-extsdk-toolchain Addresses [YOCTO #9257]. (From OE-Core rev: 8110806b1b5534ae830a4fdd1a5293c86a712d0b) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/populate_sdk_ext: set default for SDK_INCLUDE_PKGDATAPaul Eggleton2016-07-261-0/+1
| | | | | | | | | | | We don't absolutely need this - it doesn't change the default behaviour, but it seems to me we have a convention to set default values so we should add one here. (From OE-Core rev: 4c734df1df3c19b0dabb9da5b4dc86b966a0d71c) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel.bbclass: explicitly set workdir in do_bundle_initramfsAndré Draszik2016-07-261-0/+1
| | | | | | | | | | | | | | | | | | | | bitbake rev 67a7b8b02 "build: don't use $B as the default cwd for functions" (included in current bitbake master) breaks the assumption that do_bundle_initramfs runs inside the build directory. This causes kernel_do_compile() as called from within do_bundle_initramfs() to fail, as the former is not being executed from the correct directory anymore. (Note that kernel_do_compile() as called from bitbake directly doesn't suffer from that problem, as it inherits the workdir from base_do_compile() in that case.) Set workdir explicitly. (From OE-Core rev: 4455da22a151c2ac006af63cbd39779b21b12580) Signed-off-by: André Draszik <git@andred.net> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* kernel-uimage.bbclass: indeed update var KERNEL_IMAGETYPE_FOR_MAKEKai Kang2016-07-261-2/+1
| | | | | | | | | | | | The replace() method of the python string class doesn't replace in-place, then the var KERNEL_IMAGETYPE_FOR_MAKE doesn't be updated as design. (From OE-Core rev: 392fc3cd276d5029314c7158245bc65dd82279cd) 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>
* insane: only check ${S} exists if we had sources to fetchRoss Burton2016-07-261-3/+2
| | | | | | | | | | | | | | Only check that ${S} actually exists if there was something in ${SRC_URI} to fetch, the argument being that if SRC_URI is empty the the recipe won't be using ${S} at all. In general recipes that have no sources can remove the unpack task, but expecting all recipes to do this relatively advanced operation isn't realistic. (From OE-Core rev: 8cba511ab6ea557fab9f7838dfe1fc8284bbdd68) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* packagefeed-stability.bbclass: copy all packages of a recipeRobert Yang2016-07-261-68/+35
| | | | | | | | | | | | | A recipes can generate several rpms such as a.rpm, a-dev.rpm, a-dbg.rpm, when update one of them in the repo, we'd better update all of them, otherwise, there might be a-dev.r0.1.rpm and a-dbg.r0.3.rpm in the repo, which looks strange. (From OE-Core rev: 2a7f203dbe4fda5dba9137503e93669392719aba) 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>
* packagefeed-stability.bbclass: minor fixesRobert Yang2016-07-261-3/+5
| | | | | | | | | | | | | | * fix for python3 iteritems() -> items() * Return immediately for native and cross. * Remove the usage of __BBDELTASKS, there is no such var in bitbake. (From OE-Core rev: ccfc13adedd97f57024420639053080e047529dc) 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>
* packagefeed-stability: add class to help reduce package feed churnPaul Eggleton2016-07-261-0/+270
| | | | | | | | | | | | | | | | | | | | | | | When a dependency causes a recipe to effectively be rebuilt, its output may in fact not change; but new packages (with an increased PR value, if using the PR server) will be generated nonetheless. There's no practical way for us to predict whether or not this is going to be the case based solely on the inputs, but we can compare the package output and see if that is materially different and based upon that decide to replace the old package with the new one. This class effectively intercepts packages as they are written out by do_package_write_*, causing them to be written into a different directory where we can compare them to whatever older packages might be in the "real" package feed directory, and avoid copying the new package to the feed if it has not materially changed. We use build-compare to do the package comparison. (From OE-Core rev: cc8b1a93912f830e605e6249c446b3764e550863) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package_deb.bbclass/package_ipk.bbclass: sort RPROVIDESRobert Yang2016-07-262-0/+4
| | | | | | | | | | | | | | | | | | | The dict.fromkeys() creates a dict without order, there might be a problem when build the same recipe again, for example: - First build of make: Provides: es-translation, make-locale - Second build of acl: Provides: make-locale, es-translation They are exactly the same Provides, but tools like "diff" doesn't think so. Sort RPROVIDES will fix the problem. (From OE-Core rev: 3506172d7d9f8d92362b6ebb75582b7c3e662dae) 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>
* package_deb.bbclass: fix Python 3 errorMatt Madison2016-07-261-2/+2
| | | | | | | | | | Don't modify an OrderedDict while walking its keys. (From OE-Core rev: eb7f08c4c01313afc8350200eeb63daefde8a6f6) Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/populate_sdk_ext: show progress when preparing build systemPaul Eggleton2016-07-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During the extensible SDK installation process the final step is to prepare the internal copy of the build system. This can take some time, especially if you have SDK_EXT_TYPE set to "minimal" (downloading sstate artifacts) and SDK_INCLUDE_PKGDATA set to "1" (restoring pkgdata for world). To make this a bit less painful, use BitBake's new quiet mode to display status during this operation so you have some idea of how it's progressing; instead of redirecting the output to preparing_build_system.log we grab the last console log and append it instead. One result of this change is that you get the errors printed on the console during normal output rather than this going to the preparing_build_system.log file first. In OE-Core revision 227d2cbf9e0b8c35fa6644e3d72e0699db9607fa, we changed to always print the contents of preparing_build_system.log on failure, but now at least the error contents of that log is duplicated. Besides, I intentionally didn't print out the contents of that log during normal usage because it's quite verbose - the bug that we were attempting to fix was about not getting this information when seeing failures in the automated tests, thus I've moved printing the log to the test handling code instead. Part of the implementation for [YOCTO #9613]. (From OE-Core rev: 0f7cb880c934b7871f3b8432f4f02603300f6129) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* siteinfo: Add mechanism to extend siteinfo information from BSP layerRichard Purdie2016-07-261-0/+8
| | | | | | | | | | | | | | | | | | | | | | In order to add a new architecture or sub-architecture to OE, you currently need to tweak the table in siteinfo.bbclass. This adds a mechanism so this can be done from a BSP layer. It needs a function definition which needs a class file but can then be done with something like: def rp_testfunc2(archinfo, osinfo, targetinfo, d): archinfo['testarch'] = "little-endian bit-32" osinfo['testos'] = "common-linux" targetinfo['mymach-linux'] = "mymach-linux-common" return archinfo, osinfo, targetinfo SITEINFO_EXTRA_DATAFUNCS = "rp_testfunc2" [YOCTO #8554] (From OE-Core rev: 2718bb9f2eabc15e3ef7cb5d67f4331de4f751d6) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: Add mechanism to extend QA machine information from BSP layerRichard Purdie2016-07-261-3/+13
| | | | | | | | | | | | | | | | | | | | | | In order to add a new architecture or sub-architecture to OE, you currently need to tweak the table in insane.bbclass. This adds a mechanism so this can be done from a BSP layer. It needs a function definition which needs a class file but can then be done with something like: def my_testfunc(machdata, d): machdata["testmachine"] = { "test64": ( 8, 0, 0, False, 32), "testel": ( 8, 0, 0, True, 32), } return machdata PACKAGEQA_EXTRA_MACHDEFFUNCS = "my_testfunc" [YOCTO #8554] (From OE-Core rev: c57550c9cca598315ba4408e44b138cecc22b8a0) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd: allow add users to groups in rootfs postprocessStephano Cetola2016-07-211-0/+9
| | | | | | | | | | | | | Currently the functionality checks for the "u" and "g" flags to create users and groups, but not the "m" flag to add users to groups. This change first checks to be sure that the users and groups are created, creates them if necessary, then adds the user to the group. (From OE-Core rev: f0a77bee3d092cf79b7e584b943a623eddd6e13d) Signed-off-by: Stephano Cetola <stephano.cetola@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image: add do_image_qa task to run QA checks on the constructed imageJoshua Lock2016-07-201-0/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This task runs all functions in IMAGE_QA_COMMANDS after the image construction has completed in order to validate the resulting image. Image sanity checks should either be Python functions which raise bb.build.FuncFailed on failure or shell functions with return a non-zero exit code. Python functions may instead raise an oe.utils.ImageQAFailed Exception which takes an extra argument, a description of the failure. python image_check_python_ok () { if True: raise bb.build.FuncFailed('This check always fails') else: bb.note("Nothing to see here") } image_check_shell_ok () { if true exit 1 else exit 0 fi } [YOCTO #9448] (From OE-Core rev: c9bef2ecf1a30159d11781184829f41844a58c13) Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/license.bbclass: don't set [dirs] and [cleandirs]Ross Burton2016-07-201-2/+0
| | | | | | | | | | There's no need to set these as the restore from sstate will create the directories as required. (From OE-Core rev: 3ab3ebc06d22f0776091e39237235ea50c4503b2) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* testimage.bbclass: INHERIT -> IMAGE_CLASSESRobert Yang2016-07-201-1/+1
| | | | | | | | | | Use IMAGE_CLASSES which is only seen by image recipe. (From OE-Core rev: 7be8f1a9dad4512c3a979ad744e223edb38fccc6) 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>
* report-error: replace build paths with markers not whitespaceRoss Burton2016-07-201-3/+5
| | | | | | | | | | | | | | | | | | | | To remove potentially personal information and reduce irrelevant noise when searching for similar reports the error reporting class removes ${TOPDIR} from the logs. Whilst this is valid intention, the replacement of ' ' results in potentially confusing logs as it appears that builds are happening in /tmp, or whitespace can appear in places where it isn't allowed which can look like a bug. Solve both of these by replacing the value of TOPDIR with the literal string TOPDIR. Also replace TMPDIR after TOPDIR, as it's not uncommon to have TMPDIR somewhere other than directly under TOPDIR. (From OE-Core rev: 95794e261628f83ddab0aa7b8bafb6409cc9deb5) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate.bbclass: make PV to depend on PV variable valueEd Bartosh2016-07-201-0/+3
| | | | | | | | | | | | | | | | | | | | | Currently PV is defined in meta/conf/bitbake.conf as a python expression: "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE', False),d)[1] or '1.0'}". As FILE is whitelisted it causes PV to not depend on it. This causes sstate code to not detect that PV changes when recipe filename changes. Making PV to explicitly depend on PV variable value overrides default behaviour. Instead of depending on python expression bitbake depends on evaluated value of PV variable, which should fix the above mentioned issue. [YOCTO #9806] (From OE-Core rev: 918646ca803d56004fb0ab7c21e86cc9cb14513d) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image_types.bbclass: support template .wks.in files for wicChristopher Larson2016-07-201-0/+46
| | | | | | | | | | | | | | | | | | | | | These files are treated as the contents of a bitbake variable, so usual bitbake variable references are supported. I considered using another templating mechanism, for example the one used by yocto-layer, but then we'd end up largely mapping metadata variables to template fields anyway, which is a pointless indirection. Let bitbake expand the variables directly instead. This feature lets us, for example, reference ${APPEND} in --append, and avoid hardcoding the serial console tty in the wks file, and let the user's changes to APPEND affect wic the way they do the other image construction mechanisms. The template is read in and set in a variable at parse time, so changes to the variables referenced by the template will result in rebuilding the image. (From OE-Core rev: 51cb21fe5f050874d52f5b05a8a1de79ea4ebf2f) Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image_types.bbclass: add intermediate var for WKS_FILE_CHECKSUMChristopher Larson2016-07-201-1/+2
| | | | | | | | | | This is a bit nicer to work with, and easier to override. (From OE-Core rev: 44f1d3cc613563b8d5be61a2648d0cd336fea728) Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* testimage: swap sudoku for galculatorRoss Burton2016-07-201-4/+1
| | | | | | | | | | Also delete the removal of suduko for qemumips, as galculator builds fine on that hardware now. (From OE-Core rev: 4a81b3f669073455c9b2ee1514c43b96df9f7faa) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toaster.bbclass: only scan files-in-image.txt if it existsElliot Smith2016-07-191-9/+16
| | | | | | | | | | | | | | | | | We can reach the method in toaster.bbclass which tries to read from the files-in-image.txt file via a build which doesn't create that file (e.g. "bitbake core-image-minimal -c rootfs"). This causes the build to fail with an exception. Check that this file exists before trying to read from it. [YOCTO #9784] (From OE-Core rev: 8b369cdd73ab17cdf834a591b97b25840caeb740) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: bavery <brian.avery@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toaster.bbclass: remove directory scan logic for detecting artifactsElliot Smith2016-07-191-66/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | toaster.bbclass does a scan of the image deploy and SDK directories when a build finishes. However, this brings no benefit and could be better managed and made easier to modify if moved to toasterui and carried out when the BuildCompleted event occurs. Remove the image scan code from toaster.bbclass, prior to moving it to toasterui and buildinfohelper. Also remove the license manifest update code, as this can also be done from toasterui. The postfuncs for do_populate_sdk are retained, but no longer do the directory scan for SDK artifacts. Instead, they fire an event with the value of the TOOLCHAIN_OUTPUTNAME variable, as this is only accessible at the point when the do_populate_sdk and do_populate_sdk_ext tasks are run. The value of this can then be used by buildinfohelper to find the SDK artifacts produced by a target. [YOCTO #9002] (From OE-Core rev: 67ebb5406c0fcdd1b28bf446249aa6fe34a741a8) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: bavery <brian.avery@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* useradd-staticids: use map() instead of imap()George McCollister2016-07-121-1/+1
| | | | | | | | | | | In Python3 the itertools module's imap function has been migrated to the globalname space as map(). Calling itertools.imap() will fail because it no longer exists. (From OE-Core rev: da7a2c7b00b40a8759dbe9f4ab6df3e337e3d6b6) Signed-off-by: George McCollister <george.mccollister@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* buildstats-summary: round the floating point percentageChristopher Larson2016-07-121-1/+5
| | | | | | | | | | | | | This was rounded in python 2, but python 3 changed the default behavior of /. We could switch to the same behavior as previous by switching to // rather than /, but there's value in keeping at least one decimal point, to avoid the misleading case where it says 0% but the reuse is non-zero. (From OE-Core rev: 35d36a4d097ce8a0fd0be2f795e3d5052d4f753c) Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc: Upgrade to latest tip of masterKhem Raj2016-07-121-2/+2
| | | | | | | | | | | - libc-package.bbclass: Do not use --old-style This option has been dropped from latest glibc (From OE-Core rev: 78ab1e7cdedc6a73395af5d053b49cf081416732) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/libc-package: remove pointless copying when running localedefRoss Burton2016-07-101-22/+2
| | | | | | | | | | | | localedef handles attempts to read/write the archive in parallel correctly by creating the file atomically, gracefully handling racing to create, and has exclusive locks when writing. Therefore I can't see any purpose to copying the archive to /tmp and back again when manipulating it. (From OE-Core rev: 016e4a53e3251ffcdb3c260dd2837507b520ffa6) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libc-package: remove obsolete do_configure_prependRoss Burton2016-07-101-8/+0
| | | | | | | | | | | This fragment dates from when this class was used for more than just glibc locale packaging, and as glibc-locale disables do_configure it can't have been executed. (From OE-Core rev: 6483fbe70e52ec9a53c918fe81162fd0c566f80f) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/populate_sdk_ext: exclude initramfs images from locked signaturesPaul Eggleton2016-07-081-4/+5
| | | | | | | | | | | | | | | | | | | | | Tasks for image recipes cannot be locked - there's nothing to restore from shared state to cover them and as a result, if you had "live" in IMAGE_FSTYPES the build would fail with "taskhash mismatch" errors for do_rootfs and do_image_complete for the initramfs image recipe, since it had to try to run those. We should probably catch that issue earlier in the build and produce a proper error, but for now at least exclude these signatures from the locked-sigs.inc file so that extensible SDK installers built when IMAGE_FSTYPES includes "live". (It turned out we already had code to find other image tasks in the task list in order to generate the list of install targets.) Follow-up fix for [YOCTO #9826]. (From OE-Core rev: a7133bf6bb650b944d29d01129f36a56282acd2b) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/populate_sdk_ext: ensure tasks to build the image are includedPaul Eggleton2016-07-081-1/+7
| | | | | | | | | | | | | | | | | | | If you build an extensible SDK for an image and IMAGE_FSTYPES includes "live" then the extensible SDK will fail to install with a bunch of unexpected task execution errors, matching the missing items required to build the live image. The issue was we were still depending on do_rootfs rather than do_image_complete. The fix was slightly more complicated than just changing the task name as do_image_complete's dependencies are in the form of dependencies on tasks within the same recipe (represented in the "deps" varflag rather than the "depends" varflag). Fixes [YOCTO #9826]. (From OE-Core rev: 2b9c092e89b421bf7fd6a7c9604a83ae420d85ba) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devpyshell: python3: flush stdout explicitlyEd Bartosh2016-07-081-2/+2
| | | | | | | | | | | | | | Opening text stream in unbuffered mode raises the following exception In Python 3: ValueError: can't have unbuffered text I/O Fixed by leaving std* streams in text mode and flushing stdout explicitly. (From OE-Core rev: 732001cb268683f5b56e251e2964ec5b694a2147) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devshell.bbclass: fix double unbufferingEd Bartosh2016-07-081-1/+0
| | | | | | | | | | | | | | stdout is already unbuffered in bitbake code. Attempt to do it again in devshell.bbclass causes this crash when running devpyshell: File "scripts/oepydevshell-internal.py", line 29, in <module> pty = open(sys.argv[1], "w+b", 0) IOError: [Errno 13] Permission denied: '/dev/pts/6' (From OE-Core rev: 875910451e1ce97d0c42b41b1140c8160ed1f40a) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/cmake: enable progress for do_compilePaul Eggleton2016-07-081-0/+1
| | | | | | | | | | cmake outputs percentage complete as part of its compilation process, so we can enable BitBake's new progress scanning for do_compile here. (From OE-Core rev: f77ea95ba5cd337f01f2a1b4fe9466feb6af9440) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/populate_sdk_ext: eliminate double execution on installPaul Eggleton2016-07-082-4/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | Use the new BB_SETSCENE_ENFORCE functionality to avoid having to run bitbake twice on installing the extensible SDK - we can now do it all in one invocation which not only takes less time, but we should also get more meaningful errors for some types of failure, in particular where downloading from an sstate mirror fails. One result of this change is that you get the errors printed on the console during normal output rather than this going to the preparing_build_system.log file first. In OE-Core revision 227d2cbf9e0b8c35fa6644e3d72e0699db9607fa, we changed to always print the contents of preparing_build_system.log on failure, but now at least the error contents of that log is duplicated. Besides, I intentionally didn't print out the contents of that log during normal usage because it's quite verbose - the bug that we were attempting to fix was about not getting this information when seeing failures in the automated tests, thus I've moved printing the log to the test handling code instead. Part of the implementation of [YOCTO #9367]. (From OE-Core rev: e1390c1ef85862b91b067ab24f3c06ca506155ad) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/testsdk: print output correctly on failurePaul Eggleton2016-07-081-2/+2
| | | | | | | | | | | With Python 3 we get a bytes object from the command output and not a string, which gives some ugly formatting for error messages unless you decode it first. (From OE-Core rev: 798bec6fe43116b51247284eb4e415337b2e8e04) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/sstate: add a mode to error if sstate package unavailablePaul Eggleton2016-07-081-0/+23
| | | | | | | | | | | | | | If BB_SETSCENE_ENFORCE is set to "1" and an sstate package fails to download outside of the whitelist specified by BB_SETSCENE_ENFORCE_WHITELIST, then fail immediately so you can tell that the problem was caused by failing to restore the task from sstate. Part of the implementation of [YOCTO #9367]. (From OE-Core rev: 9e711b54487c3141d7264b8cf0d74f9465020190) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/sstate: show progress during sstate object availability checkPaul Eggleton2016-07-081-2/+4
| | | | | | | | | | | | | | Show progress through bitbake's standard terminal UI when checking for shared state object availability, since this can take some time if there are a large number of tasks to be executed and/or the network connection is slow. Part of the implementation for [YOCTO #5853]. (From OE-Core rev: 1a064385d6921ec90b33c9064dafaab11a36267c) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/image: implement progress support for do_rootfsPaul Eggleton2016-07-081-2/+17
| | | | | | | | | | | | Use the new task progress functionality to report progress during do_rootfs. This is a little coarse and ideally we would have some progress within the installation section, but it's better than nothing. (From OE-Core rev: 370f08d434480c1790950e40db8f7687da78cb14) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toolchain-scripts: add sysroot/usr/share/pkgconfig to PKG_CONFIG_PATHRoss Burton2016-07-011-2/+3
| | | | | | | | | | Otherwise architecture-independent pkg-config files such as wayland-protocols won't be found in the SDK. (From OE-Core rev: 1bea760f3f462fdcc3eefc0d8597688d61447ddd) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>