summaryrefslogtreecommitdiff
path: root/meta/classes
AgeCommit message (Collapse)AuthorFiles
2016-05-09image_types: fix image/compression dependency collectionRoss Burton1
As compressions can be chained (i.e. cpio.bz2.md5sum) we need to walk the fstype list to collect the dependencies from each step. Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-05-09image_types.bbclass: add WIC_CREATE_EXTRA_ARGSChristopher Larson1
This'll be of use to pass things like --bmap. Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-05-09image-live.bbclass: make the INITRD optionalChristopher Larson1
This aligns with image-vm, and makes sense for wic bootimg-efi images, which don't actually want any of the live installer bits. Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-05-06packagegroup.bbclass: set LICENSE and LIC_FILES_CHKSUMRobert Yang1
* 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 Yang1
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 Yang1
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 Gicquel1
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 Gicquel1
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 Gicquel1
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 Gicquel1
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 Burton1
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 Cetola1
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 Yang1
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. Kanevskiy1
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 Burton1
Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-04-29image.bbclass: don't emit redundant IMAGE_CMD_xxx functionsAndre McCurdy1
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 Burton1
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 Bilovol1
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 Lehtonen1
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 Salvador1
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 Hatle1
[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 Purdie1
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 Salvador1
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 Jansa2
* 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 Lehtonen1
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 Vasut1
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 Purdie1
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 Burton1
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 Luo1
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 McGregor1
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 Kang1
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 Foll1
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 Randle1
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 Burton1
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 Purdie1
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 Burton1
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 Randle1
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 Burton1
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 Lock1
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 Purdie1
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 Purdie1
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 Purdie1
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 Yang2
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 Yang1
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 Yang1
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 Asselstine1
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 Asselstine1
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 Bartosh1
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 Yang1
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>
2016-04-08devtool: Create unlocked-sigs.inc containing items in the workspaceRandy Witt1
When a recipe is added to the workspace, the signatures for the tasks will change. This means that bitbake must be told to allow the signatures to be different if they are in locked-sigs.inc. This is done by creating an unlocked-sigs.inc file which contains all the recipes in the workspace each time devtool reads the workspace. So not only will necessary things get added, previously added items will be removed by virtue of them no longer being in the workspace. This also makes sure that the extensible sdk picks up unlocked-sigs.inc as part of the configuration. [YOCTO #9195] Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>