aboutsummaryrefslogtreecommitdiffstats
path: root/meta/classes
AgeCommit message (Collapse)Author
2016-05-09classes/image: check kernel config supports IMAGE_FSTYPES itemspaule/kernel-checkPaul Eggleton
A lot of the IMAGE_FSTYPES items require the appropriate filesystem driver to be enabled in the kernel configuration; e.g. in order to read a btrfs filesystem, the kernel must enable CONFIG_BTRFS_FS. Add a check to ensure that is the case. Fixes [YOCTO #5574]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2016-05-09classes/kernel: check OLDEST_KERNEL at configure timePaul Eggleton
If the kernel being built is older than OLDEST_KERNEL and we're building with glibc, then the C library we're building is probably not going to be compatible with the kernel and we should warn the user. (This is easier to do here rather than when building glibc, because we don't necessarily have the information we need to determine the kernel version there, whereas we do here.) Fixes [YOCTO #8653]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2016-05-09classes/kernel: fix typoPaul Eggleton
KERNEL_VERISON -> KERNEL_VERSION (in a comment) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2016-05-09classes/kernel-check: add a class to check kernel config optionsPaul Eggleton
Some user-space software has specific requirements about the kernel configuration options selected. This class allows a recipe to explicitly state the kernel configuration options it needs (through a REQUIRED_KERNEL_OPTIONS variable). This is a space separated list, where each item is one of: (a) an option name (e.g. CONFIG_FHANDLE, in which case CONFIG_FHANDLE must be set to y or m to match) (b) optionname=value (e.g. CONFIG_FHANDLE=y, in which case CONFIG_FHANDLE must be set to y). If the specified value is n, it will also match if the option is not present. (c) optionname1|optionname2|... (e.g. CONFIG_EXT2_FS|CONFIG_EXT4_USE_FOR_EXT23, meaning that either CONFIG_EXT2_FS or CONFIG_EXT4_USE_FOR_EXT23 must be set to y or m to match). Inheriting the class will also add a dependency from do_configure on virtual/kernel:do_shared_workdir so that the kernel config is there to check. If one or more items are not matched, then a warning will be printed at do_configure time. (This is a warning rather than an error in case you are using linux-dummy with an externally built kernel). A separate function is also provided should you wish to check a config option from python code - but note you must only call this in a place where you can guarantee that the kernel config has been written to the sysroot (i.e. from a task that has virtual/kernel:do_shared_workdir in its depends varflag value). Fixes [YOCTO #5574]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2016-05-06packagegroup.bbclass: set LICENSE and LIC_FILES_CHKSUMRobert Yang
* Use "??=" in bitbake.conf to set LICENSE, so that it can overrided by packagegroup.bbclass and recipes. * Use "?=" to set LICENSE and LIC_FILES_CHKSUM to MIT by default in packagegroup.bbclass, this won't impact any packagegroup recipes which use non-MIT license, since they can be overrided by the recipe. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-06insane.bbclass: package_qa_check_license -> populate_lic_qa_checksumRobert Yang
The package_qa_check_license() was in do_qa_configure which had a potential problem, when the recipe sets do_configure[noexec] = "1", then the license checking won't run, which may hidden license issues. Rename it to populate_lic_qa_checksum() and run in do_populate_lic[postfuncs] which is more reasonable (when no populate license, no license checking). Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-06insane.bbclass: remove workdir from package_qa_check_license()Robert Yang
The parameter workdir is not used in package_qa_check_license() Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-06kernel: fitimage: basic support for fitimage signatureYannick Gicquel
This is an initial support of fitImage signature to enable U-Boot verified boot. This feature is implemented by adding a signature tag to the configuration section of the generated fit-image.its file. When a UBOOT_SIGN_ENABLE variable is set to "1", the signature procedure is activated and performs a second call to mkimage to sign the fitImage file and to include the public key in the deployed U-Boot device tree blob. (This implementation depends on the use of CONFIG_OF_SEPARATE in U-Boot.) As the U-Boot device tree blob is appended in the deploy dir, a dependency on 'u-boot:do_deploy' is added when the feature is activated. Signed-off-by: Yannick Gicquel <yannick.gicquel@iot.bzh> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-06kernel: fitimage: support device tree compiler optionsYannick Gicquel
This introduces a new variable to set the device tree compiler options while calling mkimage ('-D' option). By default, this variable is not set but it can be defined in a configuration file, as following example: UBOOT_MKIMAGE_DTCOPTS = "-I dts -O dtb -p 2000" Signed-off-by: Yannick Gicquel <yannick.gicquel@iot.bzh> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-06u-boot: deploy u-boot-nodtb and dtb filesYannick Gicquel
This enable the deployment of u-boot-nodtb.bin and u-boot.dtb files. Signed-off-by: Yannick Gicquel <yannick.gicquel@iot.bzh> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-06u-boot: basic support of dtb append for verified bootYannick Gicquel
This introduces a new uboot-sign.class to support U-Boot verified boot. This part delivers the new class file, with related environment variables, and a new task intended to run before do_install task and which performs the concatenation of the u-boot-nodtb.bin and the device tree blob. The 'cat' command used overrides the u-boot.bin in both DEPLOYDIR & build dir to propagate the changes in later tasks (do_install, do_package, etc.) Signed-off-by: Yannick Gicquel <yannick.gicquel@iot.bzh> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-06autotools: add default for CACHED_CONFIGUREVARSRoss Burton
Ensure that this variable has a default value so that we don't get debug messages that the variable couldn't be expanded. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-06toolchain-scripts: replace source built-in callStephano Cetola
Some shells (e.g. dash) do not support the source built-in. This replaces it with the dot operator. [ YOCTO #9535 ] Signed-off-by: Stephano Cetola <stephano.cetola@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-29utils.bbclass: note for deprecated base_containsRobert Yang
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-29image.bbclass: don't execute compression commands multiple timesAlexander D. Kanevskiy
In case of chained conversion methods are used via COMPRESS_CMD_* there is chance that some of steps would be executed multiple times. [YOCTO #9482] Signed-off-by: Alexander D. Kanevskiy <kad@kad.name> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-04-29autotools: warn when running intltoolize if intltool isn't a dependemcyRoss Burton
Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-04-29image.bbclass: don't emit redundant IMAGE_CMD_xxx functionsAndre McCurdy
IMAGE_CMD_xxx commands are always inlined within do_image_xxx. When IMAGE_CMD_xxx is defined as a function (e.g. IMAGE_CMD_btrfs, IMAGE_CMD_cpio, etc), a redundant copy of the function will be emitted by default. Remove IMAGE_CMD_xxx 'func' flags to prevent that. Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-04-29package: ensure do_split_packages doesn't return duplicatesRoss Burton
do_split_package() constructs a list of packages that were created as it iterates through the files, so if multiple files go into the same package then the package will be repeated in the output. Solve this by using a set() to store the created packages so that duplicates are ignored. Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-04-29kernel-uimage: change target image to vmlinuxRuslan Bilovol
Commit e69525: "kernel: Build uImage only when really needed" hardcoded target kernel image to zImage for case if uImage is generated by OpenEmbedded buildsystem. However not all kernel architectures support zImage target, for example AArch64 doesn't, so building of kernel is failing on this step. So instead of building zImage target that may not exist for many architectures, build vmlinux target that exists for all architectures. Since kernel-uboot.bbclass uses vmlinux anyway for creating image, there is no side effect on this change. Signed-off-by: Ruslan Bilovol <rbilovol@cisco.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-04-22license.bbclass: make sure that image manifest dir existsMarkus Lehtonen
Previously, write_deploy_manifest() was relying on write_package_manifest() to create the subdirectory for the manifest file. However, do_rootfs may be an empty function so that write_package_manifest() will not be called and the manifest subdirectory will not be created, causing a build failure. This patch fixes that by creating the directory hierarchy inside write_deploy_manifest(). [YOCTO #9446] Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-04-19syslinux.bbclass: Remove APPEND from variable dependencyOtavio Salvador
The value of APPEND is already being tracked and does impact on the generated configuration file. This reverts the OE-Core:3c2d7ae5 commit as it is not need anymore. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-19image.bbclass: The wrong name is being used for the debug filesystemMark Hatle
[YOCTO #9487] The debug filesystem file name is ending in "debug_tar", it should be simply "tar". Strip the "debug_" piece as necessary. To avoid deleting the tar ball, when we've asked for just the tarball we need to check 't' and not 'realt'. The two hunks were suggested by RP. I've implemented and verify they work with the settings: PACKAGE_CLASSES = "package_rpm" IMAGE_GEN_DEBUGFS = '1' IMAGE_FSTYPES_DEBUGFS = "tar.bz2" IMAGE_FSTYPES_DEBUGFS = "tar.gz" and IMAGE_FSTYPES_DEBUGFS = "tar" Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-19image_types: Ensure rootfs dependencies cover DEBUGFSRichard Purdie
If you configure a bz2 debugfs, pbzip2-native currently isn't built. This patch makes sure the dependencies are added. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-19syslinux.bbclass: The AUTO_SYSLINUXMENU value needs to be booleanOtavio Salvador
The python code expects AUTO_SYSLINUXMENU to be a boolean value, otherwise the logic fails. This fixes the code comparing the value to "1" which is the value expected by the shell script code, counterpart. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-19base.bbclass: Introduce PACKAGECONFIG_CONFARGS variableMartin Jansa
* add separate variable for configuration options generated from PACKAGECONFIG setting, this helps other bbclasses and recipes to take advantage of PACKAGECONFIG mechanism, without including other options from EXTRA_OECONF * e.g. meta-qt5 recipes are abusing EXTRA_OECONF to get options from PACKAGECONFIG: EXTRA_QMAKEVARS_PRE += but with conf/distro/include/no-static-libs.inc it means getting --disable-static as invalid option inside EXTRA_QMAKEVARS_PRE as reported by Alexandre Belloni who tried to use poky with meta-qt5. * once we migrate all bbclasses and recipes to PACKAGECONFIG_CONFARGS we should also restrict EXTRA_OECONF append only to autotools.bbclass like I did for cmake.bbclass Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-19license.bbclass: do write_deploy_manifest in image postprocessingMarkus Lehtonen
Call write_deploy_manifest() in image postprocessing phase, instead of rootfs postprocessing. The reason being that not necessarily all do_deploy tasks are dependencies of the do_rootfs and we might miss something. [YOCTO #9446] Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-18kernel: fitimage: Fix do_deploy taskhash mismatchMarek Vasut
The kernel_do_deploy_append() uses DATETIME variable , so the taskhash of the kernel_do_deploy() function changes if fitImage is used. The buildsystem will complain accordingly: ERROR: linux-yocto-4.4.3+gitAUTOINC+bcc6509084_1a72cec834-r0 do_deploy: Taskhash mismatch 49a5899a6895dcebd311dcb59870f370 verses 37c8dd3aae44134492a876f21c1b641b for /Yocto/poky/meta/recipes-kernel/linux/linux-yocto_4.4.bb.do_deploy ERROR: Taskhash mismatch 49a5899a6895dcebd311dcb59870f370 verses 37c8dd3aae44134492a876f21c1b641b for /Yocto/poky/meta/recipes-kernel/linux/linux-yocto_4.4.bb.do_deploy Fix this by excluding the DATETIME variable from the checksum. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-04-15buildstats: Fix tracebacks for early task failuresRichard Purdie
If a failure occurs early in the task, its possible we can have a TaskFailed before the TaskStarted event can be triggered. This in turn causes another traceback as the directory buildstats writes files into doesn't exist. Ensure the directory exists so we can see the original error. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-15buildhistory: don't alter SDK creation stampsRoss Burton
This class adds functions to the SDK creation hooks, so ensure that they're ignored in task stamps. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-15meta/classes/qemu.bbclass: set -cpu of ppce5500/ppce6500 to e500mcZhenhua Luo
The e5500 and e6500 cpu types are not supported by native qemu, set the value of -cpu to e500mc. Without this change, build will fail for packages which use qemuwrapper in compile phase due to the following error. | Unable to find CPU definition e.g. gobject-introspection Signed-off-by: Zhenhua Luo <zhenhua.luo@nxp.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-14package.bbclass: improve permission handlingDan McGregor
Change fs_link_table to be keyed by path, just like fs_perms_table. When a new entry is coming in for either table, remove any previous entry for that path. This way later permission file entries override earlier ones. [YOCTO #9430] Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-14useradd_base.bbclass: remove flock option '-w'Kai Kang
Option '-w 100' of flock is failsafe to finish if dead lock occurs. It should be impossible to occur dead lock. And option '-w' is not supported by busybox, so remove it. [YOCTO #9371] Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-04-14npm.bbclass: Stop packagenames containing underscores from being generatedBrendan Le Foll
Package names cannot contain underscores yet some npm modules use them as part of the name, replace them with hyphens in the package name. Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-04-14image.bbclass: add DEB_{PRE, POST}PROCESS_COMMANDS to ↵Bill Randle
rootfs_command_variables list Remove duplicate ROOTFS_POSTPROCESS_COMMAND in the rootfs_command_variables list. Add DEB_PREPROCESS_COMMANDS and DEB_POSTPROCESS_COMMANDS to rootfs_command_variables list for consistency with the RPM_ and OPKG_ versions of those variables. Note: the package manager specific pre and post process commands may removed entirely in Yocto 2.2 or later. Signed-off-by: Bill Randle <william.c.randle@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-04-14rootfs-postcommands: handle broken links when writing manifestRoss Burton
If the manifest link is broken then os.path.exists() returns False so the link isn't removed, resulting in the os.symlink() call failing as the file already exists. Prevent this by using os.path.lexists to check that the symlink itself exists, not the target. Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-04-13archiver: Improve debug outputRichard Purdie
Make the output from the task more informative about which directories are being referenced. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-13image.bbclass: use max() instead of indexing booleansRoss Burton
There's some code dotted around OE that uses (a, b)[foo < bar] instead of the more idiomatic "test and a or b". Or in this case, just max(). Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-13package.bbclass: handle links in sorted orderBill Randle
When processing links, the directories are processed in unsorted order which can result in cases like /var/lock -> /run/lock handled before /var/run -> /run throwing an error for /var/run because /run already exists. Change the link processing to ensure links are processed in sorted order of the destination. [YOCTO #9430] Signed-off-by: Bill Randle <william.c.randle@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-13sanity: allow sftp and ssh mirrorsRoss Burton
URLs in MIRRORS and PREMIRRORS are vetted against a hard-coded list of protocols which were missing sftp: and ssh:, so add them. [ YOCTO #9444 ] Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-13toaster.bbclass: improve package information collectionJoshua Lock
The PACKAGES variable doesn't include all packages potentially generated by a recipe, not least of all because it doesn't include dynamic packages created via do_split_packages() or similar. Instead of trying to guess which packages were generated, walk ${PKGDESTWORK}/runtime to find all package information that was written to disk. This allows us to read all information for the complete list of packages generated by the recipe. For example before this patch we get SinglePackageInfo events for 9 packages from ncurses. With the patch applied we get 20 events for all of the packages created during an ncurses build. As a bonus we also switch to using the same postfuncs for both do_packagedata and do_packagedata_setscene as they each result in a PKGDESTWORK with the relevant directories and files created. [YOCTO #9115] Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-12archiver: Ensure sstate-inputdir directory is createdRichard Purdie
Without this, do_archive_sources will fail for the gcc tasks where there is common source and the other tasks are not added as dependencies. The failure happens when trying to restore these tasks from sstate. To fix this ensure the sources directory is created as expected by the sstate code. [YOCTO #9433] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-09archiver: Fix ASSUME_PROVIDED issuesRichard Purdie
Currently the dependencies injected by this class for recipes in ASSUME_PROVIDED e.g. tar-native or chrpath-native are ignored. We need to use their "replacement" names, e.g. tar-replacement-native. This avoids broken archives and sstate failures with these recipes. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-09distrodata: Exclude DATETIME reference from sstate checksumRichard Purdie
Otherwise the task hash changes between server and worker context leading to changing task checksums. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-09image-vm.bbclass/image_types.bbclass: IMAGE_NAME -> IMAGE_LINK_NAMERobert Yang
If we create hdddirect in the first time, and run bitbake to create vmimg in the second time, then the previouse created ${IMAGE_LINK_NAME}.hdddirect may can not be found since it contains the data string which are different. Use IMAGE_LINK_NAME to fix the problem. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-09image_types.bbclass: fix elfRobert Yang
Fixed: | DEBUG: Executing shell function do_image_elf | Cannot open `/path/to/tmp/sysroots/qemux86-64/usr/src/kernel/bzImage': (null) | WARNING: exit code 1 from a shell command. The bzImage is in DEPLOY_DIR_IMAGE Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-09image_types.bbclass: set nodesize for btrfsRobert Yang
The default value is 16K which is too big to create image for core-image-minimal: rootfs.btrfs is too small to make a usable filesystem Minimum size for each btrfs device is 41943040. Use 4K as ext2/3/4 to fix the problem. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-09useradd_base.bbclass: prevent variable expansion in $optsMark Asselstine
Many user/group operations will involve hashes which will include '$' followed by a number or even possibly an env. variable name. Passing $opts to flock requires that we take additional precautions to prevent the unexpected expansion of these instances. This was found by an image which used usermod operations to set the password hash for root. The image could not be logged-in to and examining /etc/shadow clearly showed that $0 and other $* variables had been expanded unexpectedly. This change returnes the behavior to what existed prior to commit 2ebf697b46c42cee8bfa6d2e6087397f8cce385c [useradd_base.bbclass: replace retry logic with flock]. Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-09extrausers.bbclass: drop retry count for perform_user/group* callsMark Asselstine
Commit 2ebf697b46c42cee8bfa6d2e6087397f8cce385c [useradd_base.bbclass: replace retry logic with flock] dropped the 3rd (retry) parameter for these functions. These are simply being ignored now but we should remove the retry count to avoid confusion. Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-08toaster.bbclass: strip task from the targetEd Bartosh
Current code in toaster_buildhistory_dump assumes that bitbake target doesn't contain task name. It uses target as a part of path to the files with data that it analizes. It fails to find files if target contains task name. Stripping task from the target should solve this. Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-08image-live.bbclass: fix iso + efi onlyRobert Yang
When the user only builds iso + efi only, the syslinux-native which provides isohybrid is required to build iso, so add syslinux-native to DEPENDS. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>