summaryrefslogtreecommitdiffstats
path: root/meta/classes/sanity.bbclass
AgeCommit message (Collapse)Author
2017-09-22sanity: check that path variables don't use ~Ross Burton
The core path variables (TMPDIR, DL_DIR, SSTATE_DIR) don't use tilde expansion but if the user does then the errors are very mysterious, so check on startup. Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-22sanity: correct Python version sanity checkRoss Burton
We now require Python 3.4, not 2.7. Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-07-17classes/sanity: check for case-sensitive file systemsRoss Burton
Case-insensitive file systems fail during builds in very mysterious ways, such as mpfr: ERROR: patch_do_patch: Not a directory The problem here being that mpfr has a PATCHES file, so when we try to copy the patches into ${S}/patches/ it fails. We can't and won't support case-insensitive file systems so add a sanity check to abort the build if one is found. Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-07-06sanity.bbclass: fix AttributeError in mirror format checksMikko Ylinen
mirrors is a list after split() and results in: AttributeError: 'list' object has no attribute 'strip' when the 'mirror values are pairs' check fails. Signed-off-by: Mikko Ylinen <mikko.ylinen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-07-06insane: remove obsolete gcc 4.5 checkRoss Burton
As gcc 4.5 is very old now (released in 2010, gcc 4.6 released in 2011) this check can be removed now. Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-07-06sanity.bbclass: remove ASSUME_PROVIDED checks that can't succeedRoss Burton
qemu-arm and libsdl-native are not in HOSTTOOLS, so there's no point in checking that they're on PATH. Also qemu uses pkg-config to find SDL, so libsdl-native isn't required. Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-04-05sanity: explain where TMPDIR is if we're telling the user to delete itRoss Burton
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-30sanity: Drop obsolete TMPDIR ABI conversionsRichard Purdie
When we get to version 12 we have a hard break as we can't convert to newer versions. There is no point in running the old conversions on an old tmpdir only to hit that block. Remove all the old conversions to avoid that and make things clearer. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-16sanity.bbclass: modify check for shellJuro Bystricky
Due to the recently implemented update-alternatives for bash binary, sanity checker may end up with a (false-positive) error such as: Error, /bin/sh links to /bin/bash.bash, must be dash or bash This patch modifies the test: presence of "/bash" or "/dash" in shell binary name results in pass. [YOCTO#11108] Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-10sanity.bbclass: allow s3 protocol when sanity checking MIRRORS, etcAndre McCurdy
Bitbake now supports an Amazon AWS S3 fetcher: http://git.openembedded.org/bitbake/commit/?id=6fe07ed25457dd7952b60f4b2153d56b15d5eea6 Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-03-03sanity: Allow whitespace only mirror entriesRichard Purdie
Forcing the use of "\n" in mirror variables is pointless, we can just require that there are pairs of values. With the bitbake restriction relaxed, we can relax the sanity check too. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-02-15sanity.bbclass: Add which to SANITY_REQUIRED_UTILITIES.Philip Balister
Using docker with the Fedora 23 container exposed an issue with the rpm-native configure step. If which is not present the configure script fork bombs. After much pain, I tracked this to which not being present in the default container. Add a check for which so others do not have to have this experience. Signed-off-by: Philip Balister <philip@balister.org> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-02-15classes: Drop now unneeded update_data callsRichard Purdie
Now that the datastore works dynamically we don't need the update_data calls so we can just remove them. They're not actually done anything at all for a while. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23sanity/abi-version: Force a clean TMPDIR after recipe specific sysroot changesRichard Purdie
With the recipe specific sysroots, we need a clean tmpdir, else pseudo-native, openssl-native, subversion-native and serf-native need to be manually cleaned. After these there are probably more places where software doesn't rebuild correctly even if we pass in new parameters to it. The simplest solution is to force people to start from a clean TMPDIR since everything would rebuild anyway. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-17sanity.bbclass: Improved error messageJuro Bystricky
When a non-existing MACHINE is specified, sanity check issues the following message: Please set a valid MACHINE in your local.conf or environment However, MACHINE can also be set in multiconfig .conf file(s). Hence we may have several different MACHINE settings within one (multiconfig) build, so the present error message is fairly ambiguous. This patch remedies this by explicitly naming the offending MACHINE and by amending the list of places where this erroneous MACHINE definition could have originated. MACHINE=xyz is invalid. Please set a valid MACHINE in your local.conf, environment or other configuration file. [YOCTO#10810] Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-06meta/scripts: Various getVar/getVarFlag expansion parameter fixesRichard Purdie
There were a few straggling expansion parameter removals left for getVar/getVarFlag where the odd whitespace meant they were missed on previous passes. There were also some plain broken ussages such as: d.getVar('ALTERNATIVE_TARGET', old_name, True) path = d.getVar('PATH', d, True) d.getVar('IMAGE_ROOTFS', 'True') which I've corrected (they happend to work by luck). Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-16meta: remove True option to getVar callsJoshua Lock
getVar() now defaults to expanding by default, thus remove the True option from getVar() calls with a regex search and replace. Search made with the following regex: getVar ?\(( ?[^,()]*), True\) Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-11-23sanity.bbclass: fix check_connectivity() for BB_NO_NETWORK = "0"Robert Yang
The old code: network_enabled = not d.getVar('BB_NO_NETWORK', True) It is True only when BB_NO_NETWORK is not set (None), but BB_NO_NETWORK = "0" should also be True while "1" means no network, "0" means need network in a normal case. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-11-23sanity.bbclass:check_connectivity(): print more error messagesRobert Yang
This can help fix the problem when the error happens. Now the error message is: Fetcher failure for URL: 'https://www.example.com/'. URL https://www.example.com/ doesn't work. Please ensure your host's network is configured correctly, or set BB_NO_NETWORK = "1" to disable network access if all required sources are on local disk. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-11-15sanity.bbclass: fix logging of an errorMarkus Lehtonen
Fixes a crash in exception handler. All bb logging functions need an string instances as arguments. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-09-16sanity.bbclass: split out config re-parse checkMarkus Lehtonen
Split out the functionality doing configuration re-parse check into a separate event handler that is hooked into ConfigParsed event. This will make config re-parsing actually work. Re-parsing in bitbake is triggered by setting BB_INVALIDCONF whose value is checked after configuration has been parsed (after ConfigParsed event). However, previously BB_INVALIDCONF was set in SanityCheck event handler which caused re-parsing never to happen. [YOCTO #10188] Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-13sanity: fix hardcoded references to gccJérémy Rosen
Signed-off-by: Jérémy Rosen <jeremy.rosen@smile.fr> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-20sanity.bbclass: Ensure we expand BUILD_PREFIXRichard Purdie
This likely used to work when we expanded python functions and broke when we stopped. Since it defaults to "", it never caused an issue but is incorrect usage so fix it. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-17sanity.bbclass: Only verify /bin/sh link if it's a linkOlof Johansson
If /bin/sh is a regular file (and not a symlink), we assume it's a reasonable shell and allow it. Signed-off-by: Olof Johansson <olof.johansson@axis.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-06-02sanity: Switch urlparse to urllib.parseJeremy Puhlman
urlparse is replaced with urllib.parse functionality in python3 Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-06-02classes/lib: Convert to use python3 octal syntaxRichard Purdie
The syntax for octal values changed in python3, adapt to it. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-06-01sanity: Drop setting C localeRichard Purdie
We really want the en_US locale as per the configuration and previous patches. Don't set it back to C as things will break under python3. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-30sanity: check that the en_US.UTF-8 locale existsRoss Burton
Signed-off-by: Ross Burton <ross.burton@intel.com>
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-06sanity.bbclass: fix a hardcode in check_path_length()Robert Yang
* Fixed: 410 -> limit Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-05sanity: Increase minimum git version to 1.8.3.1Richard Purdie
The kernel tools assume git > 1.7.9.5, I'm unsure of the exact version but the oldest in our infrastructure is 1.8.3.1. The git fetcher also currently has nasty workarounds for git < 1.7.9.2. Moving to 1.8.3.1 as our minimum version seems sane at this point as the oldest we're testing/supporting. [YOCTO #6162] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-30sanity.bbclass: Use pythonexception to raise real exceptions without backtracesRichard Purdie
If the sanity code encounters a version change is doesn't understand, the current output is unreadable and confusing for the user, particularly due to the presence of the backtrace. Use improved functionality in bitbake to improve this and correctly pass python exceptions around. [YOCTO #9291] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-26classes/sanity: use proper multi-line string literalsPaul Eggleton
A python string literal isn't meant to be split over multiple lines unless it is explicitly multi-line. Use three quotes to indicate that. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-24sanity.bbclass: check host tool dependencies on change in NATIVELSBSTRINGBill Randle
When a user upgrades their host distro, it may no longer have all the required tools installed, but this won't be caught by bitbake resulting in possible build errors. Rather than check for installed tools on every startup, use the NATIVELSBSTRING change as indicator to rescan for host tool dependencies. Store the NATIVELSBSTRING in the sanity_info file. [YOCTO #8585] Signed-off-by: Bill Randle <william.c.randle@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-03-24sanity.bbclass cleanupBill Randle
Limit search for a version var name to start at the beginning of a line, otherwise, if the var name is used in a comment, that comment line will be replaced, rather than the desired assignment line. Move bblayer update message into function where it's actually updated, rather than assuming all successful config file update are to the bblayers.conf file. Replace a stray tab with spaces for consistency. [Fixes YOCTO #9318] Signed-off-by: Bill Randle <william.c.randle@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-03-20sanity.bbclass: allow customizing config file update error messagesPatrick Ohly
The default file pattern may be amiguous and "meld" might not always be the preferred tool, so allow distros to override those parts of the error messages. Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-03-20sanity.bbclass: fix success message when config file was updatedPatrick Ohly
The code now iterates over different config files, but always printed a message about conf/bblayers.conf for each file. Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-03-20sanity.bbclass: expand error messages for version checksPatrick Ohly
The ${WORKDIR} variable was not getting expanded (anymore?), leading to less helpful error messages like: Exception: NotImplementedError: Your version of bblayers.conf has the wrong LCONF_VERSION (has 7, expecting 8). Please compare your file against bblayers.conf.sample and merge any changes before continuing. "meld conf/bblayers.conf ${COREBASE}/meta*/conf/bblayers.conf.sample" is a good way to visualise the changes. ERROR: Execution of event handler 'check_sanity_eventhandler' failed After adding expansion, embedding ${LCONF_VERSION} and ${LAYER_CONF_VERSION} in the error message seems a bit more readable and consistent. Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-03-02sanity: Do not mistake meta-yocto-bsp for meta-yoctoPeter Kjellerstedt
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 Yang
[YOCTO #9161] Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-28sanity: Fix int verses string referenceRichard Purdie
The sanity update code needs to be passed an int, not string. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-28mirrors/own-mirrors/sanity: Updates after npm fetcher additionRichard Purdie
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-28sanity: Improve configuration upgrade capabilities (support meta-yocto -> ↵Richard Purdie
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-11classes/sanity: check_perl_modules provide output when failAníbal Limón
When check_perl_modules fail is a good idea to print perl interpeter output for debug purposes. Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-07sanity.bbclass: add more information to error message about TUNE_PKGARCH ↵Martin Jansa
missing in PACKAGE_ARCHS * sometimes it's hard to see what's wrong here * error message: Error, the PACKAGE_ARCHS variable does not contain TUNE_PKGARCH (cortexa7t2hfhf-vfp-vfpv4-neon). doesn't help much to understand what exactly went wrong and where Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-01sanity: don't enforce DISPLAY for testimageRoss Burton
Now that qemurunner doesn't need DISPLAY set, let whether DISPLAY is set be up to the user. Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-10-24sanity: check that the host has file installedRoss Burton
Now that file-native is ASSUME_PROVIDED, check that it's actually present. Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-10-21sanity.bbclass: expand warning when chmod failsAlex Franco
As suggested, add exception message to warning in sanity.bbclass when chmod fails on TMPDIR. [YOCTO #7669] Signed-off-by: Alex Franco <alejandro.franco@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-09-28sanity.bbclass: show warning when chmod failsAlex Franco
* for some reason this part of: http://patchwork.openembedded.org/patch/102561/ wasn't ever merged. [YOCTO #7669] Signed-off-by: Alex Franco <alejandro.franco@linux.intel.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-09-11sanity.bbclass: remove abspath warning for SSTATE_MIRRORSChristopher Larson
The sstate URI is relative to begin with, so it's completely valid to want to alter it in a way that keeps it relative using a mirror, and I have real world cases where this is causing issues. Remove the warning. Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Ross Burton <ross.burton@intel.com>