summaryrefslogtreecommitdiff
path: root/meta/classes
AgeCommit message (Collapse)AuthorFiles
2016-03-07sstate: Allow late expansion of NATIVELSBSTRINGRichard Purdie1
uninative needs to adjust NATIVELSBSTRING fairly late in the configuration parsing process but the sstate code encodes it into variables. Since this string doesn't vary on a per recipe basis, we defer its expansion until usage time. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-07linuxloader/image-prelink/image-mklibs: Fix non-standard path prelinkingRichard Purdie3
Prelinking on x86-64 wasn't working out the box as it uses /lib and not /lib64 for libs. Prelink was refusing to link as the dynamic loader didn't match its idea of the right path. Passing in the --dyanmic-linker option avoids this. We can share code from image-mklibs so abstract that into a new class, linuxloader.bbclass. This does break prelinking of multilib images, I've opened a bug so we can loop back and fix that problem, the code would need to iterate the dynamic loaders (and setup ld.so.conf files for it). Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-06insane/prelink: Handle nonstandard library pathsRichard Purdie2
Prelink contains some hardcoded assumptions about the path layout of the target system. Unfortunately if the system doesn't match, prelink doesn't work. This breaks: a) prelink of those images b) the unsafe-references-in-binaries QA test (which uses prelink-rtld) One way to work around this is to construct an ld.so.conf file which lists the library paths in question. We do this in sanity QA check and in the rootfs prelink code, being careful not to trample any existing target ld.so.conf. There is an additional problem that $LIB references in RPATHs won't be handled correctly, I've not see any system use these in reality though so this change at least improves things. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-04devtool: add build-sdk subcommandPaul Eggleton1
Add a build-sdk command which is only available within the extensible SDK that builds a derivative extensible SDK. The idea is recipes in the workspace become a part of the new SDK - for example, this allows taking a vendor provided SDK, adding a few libs and then producing a new SDK with those included. When normally building the extensible SDK, the workspace is excluded; here we need to copy into the new SDK (renaming it in the process); the recipes' task signatures become locked and thus the sources are no longer needed, so they are removed along with the workspace bbappends which would interfere with the locked signatures. Additionally we need to just copy the configuration files (i.e. local.conf and auto.conf) rather than filtering and appending to them since that work has already been done when constructing the original SDK. The extra sstate artifacts from workspace recipes are also determined and copied into the new SDK in minimal mode (on the assumption that you won't set up a new sstate mirror). This reuses some code from build-image, so that needed to be generalised to allow that. Implements [YOCTO #8892]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-04insane.bbclass: make the checking stricter for unsafe references in scriptsChen Qi1
Previously, the checking for unsafe references is not strict enough. It only checks whether '/usr/' is in the script. As a result, any script containing statements like below will match this check. PATH="/bin:/sbin:/usr/bin:/usr/sbin" However, as we can see, this is actually not an unsafe reference. What we really want to check is something like '/usr/bin/tail', so we should make the checking stricter. This patch solves the QA warning in gzip and nfs-utils. Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-03-02bootimg: set default value for LABELS variableEd Bartosh1
With empty LABELS variable build_efi_cfg skips most of its functionality producing warning message: 'LABELS not defined, nothing to do' This causes build failure for efi images. Setting default value for LABELS to 'boot install' should fix this issue. Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-02sanity: Do not mistake meta-yocto-bsp for meta-yoctoPeter Kjellerstedt1
The code in oecore_update_bblayers() handling the transition from meta-yocto to meta-poky was not very resilient. It would, e.g., mistake meta-yocto-bsp for meta-yocto if the former occurred before the latter in BBLAYERS. The code also failed to update multiple existences of meta-yocto in the bblayers.conf file, e.g., if it was present in BBLAYERS_NON_REMOVABLE in addition to BBLAYERS (which it is by default). Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-03-02sanity.bbclass: remove conflict checking for image vm and liveRobert Yang1
[YOCTO #9161] Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-03-02syslinux.bbclass: make vm and live can be built togetherRobert Yang5
* The vm image(hdddirect, vmdk, qcow2, vdi) and live image (hddimg, iso) couldn't be built together because the following vars settings are conflicted: - SYSLINUX_ROOT (/dev/sda2 vs /dev/ram0) - LABELS (boot vs boot install) - INITRD (None vs live install) - SYSLINUX_CFG (see above) Introduce new vars (SYSLINUX_ROOT_VM/_LIVE, the samilar to others) to make them can work together, now we can build all of them together: IMAGE_FSTYPES += "live iso hddimg hdddirect vmdk qcow2 vdi" * Use SYSLINUX_CFG rather than SYSLINUXCFG to keep align with others SYSLINUX vars. * The SYSLINUX_TIMEOUT had been set, but it didn't work since AUTO_SYSLINUXMENU wasn't set, this would cause confusions, so also set AUTO_SYSLINUXMENU. * Move SYSLINUX_PROMPT and SYSLINUX_TIMEOUT to syslinux.bbclass rather than in separate classes since they are the same. * Set SYSLINUX_TIMEOUT to 50 to have a unique timeout for syslinux. [YOCTO #9161] Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-03-02classes/externalsrc: fix symlinking if symlink exists pointing to another pathPaul Eggleton1
If the oe-workdir / oe-logs symlink exists and points to a different path then the symlink needs to be removed before calling os.symlink() or it'll fail. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-02populate_sdk_ext: Only write LCONF_VERSION to bblayers if it is setRandy Witt1
It is possible that LCONF_VERSION won't be set, such as if meta-poky is used. Without this change, bblayers.conf would have LCONF_VERSION = "None" if LCONF_VERSION wasn't set, which would cause a sanity check failure. Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-02populate_sdk_base: handle empty SDK_PACKAGING_FUNCChristopher Larson1
Currently, the pre/post process command variables are parsed as shell, even though they're not shell anymore. As a result, an empty SDK_PACKAGING_FUNC results in a parsing error. Rather than manually adding their vardeps, only append its ; when the var is set. Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-02populate_sdk_ext: Delete the buildtools tar file after installationRandy Witt1
When installing the ext sdk, buildtools is extracted and installed as well. The tar file containing buildtools isn't used after installation so was wasted space and clutter. [YOCTO #9172] Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-03-02classes/populate_sdk_ext: prepend to PATH rather than appendingPaul Eggleton1
The rest of the environment setup script prepends to PATH, so when we add the path to run devtool we should be prepending as well. This also ensures that when you run the environment setup script from extensible SDK installation A and then in the same shell session run the environment setup script from installation B, and then run devtool, that you're running B's devtool and not A's. Fixes [YOCTO #9046]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-03-02classes/module: allow substitution of the modules_install target namePaul Eggleton1
Quite a few external kernel modules I've found floating around don't have a modules_install target, but they do have an install target that basically differs only in name. To make it easier to build these just make this a MODULES_INSTALL_TARGET variable that you can set from the recipe - the alternative would be copy-and-paste the do_install definition from this class which is potentially fragile. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-28sanity: Fix int verses string referenceRichard Purdie1
The sanity update code needs to be passed an int, not string. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-28rootfs-postcommands: fix ssh_allow_empty_password checkingJonathan Liu1
The ssh_allow_empty_password function doesn't check if sshd_config_readonly exists before running sed which can result in an error if sshd_config exists but sshd_config_readonly doesn't. Signed-off-by: Jonathan Liu <net147@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-28classes/testsdk: Pass tcname to SDK and SDKExt contextsAníbal Limón1
tcname is needed for eSDK update testcase will be used for publish it and then try to update Signed-off-by: Aníbal Limón <limon.anibal@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-28classes/testsdk: Move the removal of bitbake PATH to eSDK context onlyAníbal Limón1
The removal of bitbake and scripts PATH is only needed by eSDK tests so move to eSDK context only. This also it's a support for eSDK update test because it needs to execute oe-publish-sdk from scripts. Signed-off-by: Aníbal Limón <limon.anibal@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-28classes/testsdk: Move code for avoid PATHs to oeqa.utilsAníbal Limón1
Due to the neeed to use in other modules. Signed-off-by: Aníbal Limón <limon.anibal@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-28populate_sdk_ext: Add images to SDK_INSTALL_TARGETSRandy Witt1
When running ext-sdk-prepare.py during sdk installation a check is done to make sure no tasks would run that aren't provided by the "leaf" recipes specified in SDK_INSTALL_TARGETS. However sometimes an image recipe can cause other images to be created such as an initramfs. So make sure those additional images are recognized by ext-sdk-prepare.py and don't flag an error. Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-28boot-directdisk.bbclass: drop IS_VM chechkingRobert Yang1
The IS_VM was used for making menus for vmdk, vdi and qcow2, except hddimg, there is no reason to not make menus for hddimg, so drop it. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-28image-live/boot-directdisk.bbclass: remove AUTO_SYSLINUXCFGRobert Yang2
No one uses it. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-28testimage.bbclass: reuse generic test suitesAlex Franco1
Modify existing default test suites to reuse the new generic test suites. Related to [YOCTO #8410] Signed-off-by: Alex Franco <alejandro.franco@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-28testimage.bbclass: add generic, image test suitesAlex Franco1
Add generic test suites MINTESTSUITE, NETTESTSUITE, DEVTESTSUITE to group common test suites. Add DEFAULT_TEST_SUITES_pn- variables for: * core-image-minimal-dev * core-image-full-cmdline * core-image-x11 * core-image-lsb * core-image-lsb-dev New default test suites use generic test suites. Existing default test suites not modified. [YOCTO #8410] Signed-off-by: Alex Franco <alejandro.franco@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-28uninative.bbclass: if the loader can't be found disable instead of failingRoss Burton1
Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-28uninative: use check_output instead of Popen directlyRoss Burton1
Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-28lib/oe/qa: add explicit exception for 'file isn't an ELF'Ross Burton2
Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-28buildstats.bbclass: Don't assume /proc/<pid>/io presentJuro Bystricky1
It is not guaranteed Linux kernel was configured with process I/O statistics enabled. If process I/O statistcs are not present, issue a one time warning and do not attempt to read the non-existing stats counters. [YOCTO#9025] Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-28package: check inherit instead of PN to decide if a recipe is a packagegroupRoss Burton1
Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-28mirrors/own-mirrors/sanity: Updates after npm fetcher additionRichard Purdie3
Update the classes after the addition of the npm fetcher to match the other fetcher additions. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-28npm.bbclass: Add npm class to match fetcherBrendan Le Foll1
npm class supports the npm fetcher, helping doing the basic compile/install stages of an npm package Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-28base: Add nodejs-native dependency for npm:// urlsRichard Purdie1
With the addition of the npm fetcher, we add the native dependency handling too. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-28sanity: Improve configuration upgrade capabilities (support meta-yocto -> ↵Richard Purdie1
poky transition) Right now, only one configuration file can be processed (conf/bblayers.conf) and it can only have one version number. This is a cause of immense friction between OE-Core and Poky since if one needs a version change, it shouldn't be forced on the other. We'd like to rename the meta-yocto layer (within the meta-yocto repository) to meta-poky. To do this, we need to correct the bblayers.conf file and that means changing the sanity version. After the pain this caused the last time, Paul made me promise never to have them out of sync between OE-Core and Poky, equally, having every distro changing config update OE-Core isn't scalable either. This patch changes the sanity upgrade method to list a more generic format: <config file>:<current version variable name>:<required version variable name>:<upgrade function> This in theory allows us to support upgrades to any of the core configuration files, and allow layers to extend them as needed. Files with the same name can be handled in different layers by setting a unique version name variable in the file itself. The upgrade code is only called if the version variable is set. To allow us to make the poky name change and use a new configuration file name, one last version bump is included for poky to handle the transition. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-28image: Run do_rootfs_wicenv after do_imageRichard Purdie1
do_image can modify the content of the rootfs directory so we need to run do_rootfs_wicenv after do_image compeltes or the command can fail. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-26signing-keys: Make signing keys the only publisher of keysRandy Witt2
Previously the keys were put into the os-release package. The package indexing code was also deploying the keys rather than only using the keys. This change makes signing-keys.bb the only publisher of the keys and also uses standard tasks that already have sstate. Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-21classes/populate_sdk_ext: add a better config extension mechanismPaul Eggleton1
The sdk_extraconf() method of setting the configuration was awkward since you needed to set it in a class and then inherit that class since function definitions aren't allowed in conf files. It seemed to me the a neater way to do this was to read the extra lines from an additional conf file sdk-extra.conf (which can be located in a conf/ directory anywhere along BBPATH as with other configuration files). Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-21staging.bbclass: remove trail slash from SYSROOT_DESTDIRRobert Yang1
Fixed path: QA Issue: <foo> sysroot-destdir//usr/lib/ <foo> Note the 2 slashes "//". Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-21terminal.bbclass: import oe.terminal for oe.terminal.prioritized()Robert Yang1
Fixed: INHERIT += "typecheck" $ bitbake -p ERROR: Failure expanding expression auto none ${@" ".join(o.name for o in oe.terminal.prioritized())} which triggered exception AttributeError: 'module' object has no attribute 'terminal' Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-21recipe_sanity.bbclass: skip DataSmart in recipe_sanity_eh()Robert Yang1
Fixed: $ bitbake quilt -crecipe_sanity File "/path/to/poky/bitbake/lib/bb/siggen.py", line 261, in dump_sigtask p = pickle.dump(data, stream, -1) PicklingError: Can't pickle <COWDict Level: 1 Current Keys: 0>: attribute lookup bb.COW.C failed This is because of: cfgdata[k] = d.getVar(k, 0) If d.getVar(k, 0) is a DataSmart (for example, BB_ORIGENV), it won't have the attribute of bb.COW.C, so the error happend. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-21image.bbclass: fix circular dependency when IMAGE_FSTYPES append hddimgRobert Yang1
Fixed: IMAGE_FSTYPES_append = " hddimg" $ bitbake -g core-image-minimal-initramfs NOTE: Resolving any missing task queue dependencies NOTE: Preparing RunQueue ERROR: Task /path/to/core-image-minimal-initramfs.bb (do_bootimg) has circular dependency on /path/to/core-image-minimal-initramfs.bb (do_image_complete) ERROR: Command execution failed: Exited with 1 This is because IMAGE_FSTYPES = "${INITRAMFS_FSTYPES}", and if IMAGE_FSTYPES append hddimg, then core-image-minimal-initramfs.bb would be circular dependency: do_bootimg -> do_image_complete -> do_bootimg. Now we check and error out. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-21toolchain-scripts.bbclass: add three other path to PATH in env.shJun Zhang1
in sdk,there are some utils in sysroot/host-os/bin, sysroot/host-os/sbin/,sysroot/host-os/usr/bin need to use, so add these three paths to PATH in env.sh. Signed-off-by: Jun Zhang <jun.zhang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-21populate_sdk_ext.bbclass: Add SDK_RECRDEP_TASKS variableRandy Witt1
Currently there isn't a way for the extensible sdk to know all the tasks that will need sstate for an image. This is because a layer can add it's on custom tasks that are required for an image to be generated. The extensible sdk solved this for poky by using recrdeptask and specifying the tasks known to be required for the image as well as for building new recipes. So the SDK_RECRDEP_TASKS variable allows a user to specify additional tasks that need to be pulled in. Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-21populate_sdk_ext: Don't ignore SDK_TARGETS valueRandy Witt1
This fixes a problem where SDK_INSTALL_TARGETS wouldn't pick up the value in SDK_TARGETS. It also removes the inline python to make the code more readable. Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-19cml1/sstate: Fix missing getVar parameterRichard Purdie2
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-19waf.bbclass: Remove --disable-static from EXTRA_OECONFFabio Berton1
As of commit OE-Core:773c9e18071d71454473dd81aff911104a2e9bc6 EXTRA_OECONF is appended with the option --disable-static on DISABLE_STATIC variable and this cause the error: waf: error: no such option: --disable-static So, we need to disable this option. Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-18sstate.bbclass: use oe.gpg_sign for gpg signingMarkus Lehtonen1
[YOCTO #9006] Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-18sign_rpm.bbclass: do not store key details in signer instanceMarkus Lehtonen1
Refactor the LocalSigner class. Do not store keyid or passphrase file in the signer object as they are only needed for some of the methods. For example, the newly added verify() method does not need any key parameters and export_pubkey only uses keyid. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-18insane.bbclass: print more info for build-deps and file-rdepsRobert Yang1
This is useful for oe newbie: * build-deps: print recipe name, and suggest fixing from DEPENDS or PACKAGECONFIG, for example: WARNING: QA Issue: patch rdepends on libattr, but it isn't a build dependency, missing attr in DEPENDS or PACKAGECONFIG? [build-deps] * file-rdeps: print RDEPENDS_pkg rather than RDEPENDS, for example: WARNING: QA Issue: /sbin/osd_login contained in package nfs-utils requires /bin/bash, but no providers found in RDEPENDS_nfs-utils? [file-rdeps] Fix a bug in file-rdeps, there was "@underscore@" in file-rdeps: WARNING: QA Issue: /sbin/osd@underscore@login_nfs-utils contained in [snip] [YOCTO #8922] [YOCTO #8847] Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-18cml1.bbclass: fix do_menuconfigMarkus Lehtonen1
The functionality got broken after bitbake commit 8bf33a8e92c0e188fa392030025756196c96fcbb which disabled the (bitbake) variable expansion inside python functions. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>