summaryrefslogtreecommitdiff
path: root/meta/classes
AgeCommit message (Collapse)AuthorFiles
2015-12-18buildstats: Separate out the build and task data to allow improvementsRichard Purdie1
The combined build and task data code makes changing things hard, separate out the functions so that changes can be made to the task data whilst the build data remains unchanged. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-18buildstats: Clean up e.data and bb.data referencesRichard Purdie1
Rather than bb.data and e.data, cleanup to use 'd' and match the standard coding style. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-18buildstats: Drop get_bn/set_pn and just use BUILDNAMERichard Purdie1
The current setting and getting of the "name" to use for buildstats is convoluted and not particularly interesting. We only need this for the e.getPkgs()[0] component of the path which is the first target listed on the commandline. This is pretty arbitrary. If we drop that piece, we can assume BUILDNAME is common for all events and simply use this and query it. If BUILDNAME did change, that would be a bug and it should be fixed elsewhere. Also take the opportunity to share some common code since the function now has the eventmask. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-18buildstats: Drop disk data from buildstatsRichard Purdie1
The existing diskstats data from buildstats simply isn't useful. It gives stats on the total IO counts on some random disk within the system. This means that the count includes data from all other tasks running at the same time and from any other process running on the system. I've been unable to find any use for the data so as a start at reworking the class, remove the related code. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-16uninative.bbclass: Choose the correct loader based on BUILD_ARCHRandy Witt1
Previously UNINATIVE_LOADER was always ld-linux-x86-64.so.2. That is incorrect when the host is 32-bit. This change also changes to using ?= so the user can override UNINATIVE_LOADER if so desired. [YOCTO #8124] Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-16license: Fix BB_TASKDEPDATA referencesRichard Purdie1
We shouldn't try and expand what is a python dict object and we don't want it to influence the task hashes, task dependencies are already accounted for. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-16meta: Drop now pointless manual -dbg packagingRichard Purdie3
With the autodebug package generation logic, specifically setting FILES_${PN}-dbg isn't needed in most cases, we can remove them. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-15package: Add auto package splitting of .debug filesRichard Purdie1
Creating FILES_${PN}-dbg is tedious and also pretty pointless. We might as well assume ".debug" is a special directory name and split into -dbg automatically. This change does so without changing the rest of the splitting logic too much. It can be disabled for the cases where we really do want manual control of the -dbg packages (e.g. qt4) with NOAUTOPACKAGEDEBUG = "1". Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-14nopackages: Add class for recipes which don't generate packagesRichard Purdie3
It turns out writing the same list of packaging tasks multiple times in multiple places is error prone. Move this to a new class 'nopackages", migrate existing users and add glibc-initial and libgcc-initial since we don't want packages for those recipes. This means the sstate for those recipes won't be installed, saving small amounts of build time and bandwidth. A reference to the old package_write task is also dropped. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-14sstate: Ensure populate_lic dependencies are not followedRichard Purdie1
It was observed that do_fetch dependencies (e.g. subversion-native of tremor) were being installed even when sstate was available and hence no fetch was needed. This turned out to be due to the recursive nature of the rootfs dependencies which include populate_lic. We can explicitly whitelist these dependencies as being ones we don't need to follow when installing sstate (the code defaults to being paranoid). [YOCTO #8746] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-14populate_sdk_ext/sign_rpm/sign_package_feed: Add missing getVar parameterRichard Purdie3
We should always pass a parameter to getVar, add missing default value. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-12mirrors: replace references to archive.apache.orgAlexander Kanavin1
archive.apache.org does not contain current releases, only historical ones, so upstream checks aren't accurate. It's replaced with official mirrors containing current versions. Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-12kernel.bbclass: drop unnecessary 'eval' from kernel_do_configure()Andre McCurdy1
KERNEL_CONFIG_COMMAND will be expanded by bitbake, so can be used directly in kernel_do_configure() Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-12insane: in libdir test allow libraries in libexecdirJuro Bystricky1
Some recipes, such as sudo and gcc, put libraries into libexecdir. Allow this in the sanity test so that we don't have to whitelist the libdir check. Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-09package_ipk: allow to specify OPKG_ARGS in local.confVladimir Zapolskiy1
If user specific parameters to opkg are set in local.conf, they are rewritten in package_ipk.bbclass and ignored, instead append package_ipk specific arguments to the user defined ones. The change is needed, if a user has to pass an alternative path to a temporary directory for opkg, e.g. OPKG_ARGS = "--tmp-dir=${TOPDIR}/tmp-opkg" The default /tmp directory may be unusable for do_rootfs task, for example if there is no enough space or /tmp is mounted with noexec mount option, then an alternative path allows to complete do_rootfs and fix the problems like this: ERROR: Unable to install packages. ... sh: /tmp/opkg-5jPLag/run-postinsts-UsUtaI/preinst: /bin/sh: bad interpreter: Permission denied sh: /tmp/opkg-5jPLag/base-files-4hFwQS/preinst: /bin/sh: bad interpreter: Permission denied sh: /tmp/opkg-5jPLag/run-postinsts-UsUtaI/preinst: /bin/sh: bad interpreter: Permission denied sh: /tmp/opkg-5jPLag/busybox-syslog-sJmfbw/preinst: /bin/sh: bad interpreter: Permission denied ... Signed-off-by: Vladimir Zapolskiy <vz@mleia.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-09systemd.bbclass: Allow enabling of parameterised servicesBob Ham1
Currently the systemd.class will check whether a service exists when it is requested to enabled it. However, its check does not take into account that a service like 'foo@eth0.service' can be enabled from a service named 'foo@.service'. This patch alters the check function in systemd.class to look for 'foo@.service' if the normal check fails. Signed-off-by: Bob Ham <bob.ham@collabora.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-09base: check for existing prefix when expanding names in PACKAGECONFIGRoss Burton1
When the DEPENDS are added as part of the PACKAGECONFIG logic the list of packages are expanded so that any required nativesdk-/-native/multilib prefixes and suffixes are added. However the special handling of virtual/foo names doesn't check that the prefix already exists, which breaks under nativesdk as in that situation there's an explicit nativesdk- prefix *and* MLPREFIX is set to nativesdk-. This results in the same prefix being applied twice, and virtual packages such as virtual/libx11 ending up as virtual/nativesdk-nativesdk-libx11. Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-08package_regex.inc: split entries with odd-even versioning into their own recipesAlexander Kanavin1
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-08toolchain-scripts.bbclass: unset command_not_found_handleFang Jia1
On Ubuntu-system, When sourcing the env.sh from an exported sdk, and running a bogus linux command (for example "asd"), a core dump of python is usually generated. Unset the command_not_found_handle to fix it. Signed-off-by: Fang Jia <fang.jia@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-08waf.bbclass: remove unused parameter from get_waf_parallel_make()Andre McCurdy1
Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-07base: Improve handling of switching virtual/x providersRichard Purdie1
If you build virtual/kernel, then change PREFERRED_PROVIDER_virtual/kernel from say "linux-yocto" to "linux-yocto-dev", you see errors from the sysroot about overlapping files. The automatic uninstall logic doesn't trigger since the other recipes is still technically parsed/buildable. What we can do is look at the value of PREFERRED_PROVIDER_virtual/X and raise SkipRecipe (skip parsing) if it provides this thing and its not selected. We skip cases no preferred provider is set, or the value is in MULTI_PROVIDER_WHITELIST.We also inform the user if they try to build something which conflicts with the configuration: $ bitbake linux-yocto-tiny ERROR: Nothing PROVIDES 'linux-yocto-tiny' ERROR: linux-yocto-tiny was skipped: PREFERRED_PROVIDER_virtual/kernel set to linux-yocto, not linux-yocto-tiny [YOCTO #4102] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01python3: Upgrade from 3.4.3 to 3.5Alejandro Hernandez3
python3-native_3.4.3.bb -> python3-native_3.5.0.bb: - changed version - changed cheksum - no license change, just dates python3_3.4.3.bb -> python3_3.5.0.bb: - changed version - changed cheksum - no license change, just dates New: - use_packed_importlib.patch: Fixes importlib on cross-compile environments Rebased: - Manifest - 000-cross-compile.patch - 020-dont-compile-python-files.patch - 04-default-is-optimized.patch - python-3.3-multilib.patch - distutils3-base.bbclass - distutils3-native-base.bbclass - python3native.bbclass Upstream: - makerace.patch Misc: - pip2 is handled as default on major distros, modified python3-pip to leave /usr/bin/pip available for pip2 - Fixed importing pip3 from python3 interpreter Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-01sanity: don't enforce DISPLAY for testimageRoss Burton1
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-12-01base: add automatic dependency on lzip-native for .lz SRC_URIRoss Burton1
Now that the SRC_URI is parsed this can be done without false-positives. Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-01base: decode SRC_URI before adding implicit fetch dependenciesRoss Burton1
To avoid false positives such as a SRC_URI for http://foo.xz/foo.zip gaining a dependnecy on xz-native decode the URI so that precise tests can be done. Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-01buildhistory.bbclass: support extending the content of the build historyPatrick Ohly1
The idea behind the implementation of Yocto #8138 was that an additional class can write additional files in the recipe directories, for example by hooking into the functions of buildhistory.bbclass or by implementing its own SSTATEPOSTINSTFUNCS function. However, when these additional files get created before buildhistory_emit_pkghistory(), they get removed again by that function because it contains code which removes everything it does not know about. The reason for that is that these unknown items are probably obsolete. This logic is the reason why the additional "kconfig" file from buildhistory-extra.bbclass never showed up in the final build history. To fix this, the hard-coded list of known files in buildhistory_emit_pkghistory() must be turned into a variable which derived classes can extend. Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-01license.bbclass: Create image license manifestMariano Lopez1
This change adds the license_deployed_manifest function that will create the manifest for the packages deployed next to the image but not installed in rootfs. Some examples of these recipes would be the bootloaders, or the kernel. This new function was added to ROOTFS_POSTPROCESS_COMMAND so it will run after every rootfs task. This change also modify the write_license_files because the image manifest is different from the root manifest. [YOCTO #6772] Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-01license.bbclass: Add function get_deployed_filesMariano Lopez1
This function will get the files that were deployed using the sstate-control manifest file. This will give a better view of what was deployed next to the image. [YOCTO #6772] Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
2015-12-01license.bbclass: Added function get_deployed_dependenciesMariano Lopez1
This change introduce a new function to get the dependencies that were deployed. It uses BB_TASKDEPDATAto get all the dependencies of the current task, so it is possible to get different packages depending at what point this function is called. [YOCTO #6772] Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
2015-12-01license.bbclass: Added get_boot_dependencies functionMariano Lopez1
This function gets the dependencies from the classes that create a boot image, this is required because sometimes the bootloader dependecy is in these classes. The current classes covered are bootimg and bootdirectdisk because these are the only clases that add dependencies. [YOCTO #6772] Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
2015-12-01license.bbclass: Split license create manifestMariano Lopez1
This changes moves the writing of the licenses to a separated function that could be called for other packages. With these change it will be easier to reuse the writing of the license for the packages deployed but not installed in the rootfs. [YOCTO #6772] Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
2015-12-01license.bbclass: Write recipeinfo file in license folderMariano Lopez1
Currently there is no way to get the recipe version when creating the rootfs. It is needed because the manifest file for the image has to contain this important piece of information. This change writes a new file in the license folder for every recipe. This file is called "recipeinfo" and have the information used to write the manifest file for the recipes deployed next to the image. [YOCTO #6772] Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
2015-12-01populate_sdk_ext.bbclass: Be more permissive on the name of the buildtoolsMark Hatle1
We want to support different names for the buildtools tarball. The name may not always be of the default oe-core format. For instance, at Wind River we define the built-tools name to be: ${SDK_ARCH}-buildtools-nativesdk-standalone-${DISTRO_VERSION} because thes standard SDK_NAME has additional information that is not relevant to the builtools tarball. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-01populate_sdk_base: Add sysroot symlink checkHaris Okanovic1
Add optional check to do_populate_sdk() that verifies SDK sysroots don't contain dangling or escaping symlinks before attempting to tar an archive. Such links may fail a `tar -h` operation (-h => follow symlinks) or archive the build system's files. Set CHECK_SDK_SYSROOTS = "1" to enable this check. Use case: The -h option may be set via SDKTAROPTS in some configurations to create symlink-less SDK archives for Windows file systems. Signed-off-by: Haris Okanovic <haris.okanovic@ni.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-01classes/populate_sdk_ext: fail if SDK_ARCH != BUILD_ARCHPaul Eggleton1
The extensible SDK relies upon uninative, and with the way that uninative works, the build system architecture must be the same as the SDK architecture or the extensible SDK won't be usable. At some point in future hopefully we can remove this limitation, but until then it's disingenuous to allow this to build, so add a check to ensure SDK_ARCH == BUILD_ARCH and fail if it isn't. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-01classes/populate_sdk_ext: tweak reporting of workspace exclusionPaul Eggleton1
If you have a local workspace layer enabled when building the extensible SDK, we explicitly exclude that from the SDK (mostly because the SDK has its own for the user to use). Adjust the message we print notifying the user of this so it's clear that we're excluding it from the SDK, and scale it back from a warning to a note printed with bb.plain(). Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-01classes/populate_sdk_ext: make it clear when SDK installation has failedPaul Eggleton1
When SDK preparation fails: * Insert an ERROR: in front of the error message * Add an error message to the environment setup script Hopefully this should make it more obvious when this happens. Fixes [YOCTO #8658]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-01classes/populate_sdk_ext: tidy up preparation log file writingPaul Eggleton1
Use a variable for the log file which includes the full path; this is not only neater but avoids us writing the first part (the output of oe-init-build-env) to a file in another directory since we are changing directory as part of this subshell. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-01boot-directdisk.bbclass: remove HDDIMG before createRobert Yang1
Fixed when rebuild: mkdosfs: file /path/to/hdd.image already exists Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-11-25sstate: Ensure siginfo and sig files are also touchedRichard Purdie1
Maintaining an sstate mirror is complicated at the moment as only the main sstate tgz files have their timestamp updated when they're used. This causes problems as the siginfo files can be removed from the server due to inactivity but the sstate fetch code tries to fetch them leading to confusing warnings and reduced debug capability. This change ensures we touch any sig/siginfo files present and should help ageing of the objects on sstate mirrors. It doesn't handle the intermediate task siginfo files but those are never fetched by the current sstate code so are an order of magnitude less problematic. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-24qemu.bbclass: fix vardeps of QEMU_OPTIONSChristopher Larson1
The variable name for QEMU_EXTRAOPTIONS is constructed programmatically, so we need an explicit variable dependency, otherwise changes to it won't cause e.g. qemuwrapper-cross to be rebuilt. Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-11-24qemu.bbclass: correct the fsl ppc QEMU_EXTRAOPTIONSChristopher Larson1
These need to be based on PACKAGE_ARCH rather than TARGET_ARCH, as we aren't using overrides for this. Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-11-24autotools: Allow recipe-individual configure scriptsJens Rehsack1
OpenJDK-8 has it's configure script at common/autotools - which will cause the entire assumption of ${S}/configure is regenerated by autoreconf, intltoolize or alike fails heavily. Also - other configure mechanisms can be supported more similar (see how pkgsrc manages different ones ...) Signed-off-by: Jens Rehsack <sno@netbsd.org> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-11-24allarch: Force TARGET_*FLAGS variable valuesMike Crowe1
TARGET_CPPFLAGS, TARGET_CFLAGS, TARGET_CPPFLAGS and TARGET_LDFLAGS may differ between MACHINEs. Since they are exported they affect task hashes even if unused which leads to multiple variants of allarch packages existing in sstate and bouncing in the sysroot when switching between MACHINEs. allarch packages shouldn't be using these variables anyway, so let's ensure they have a fixed value in order to avoid this problem. (Compare with 05a70ac30b37cab0952f1b9df501993a9dec70da and 14f4d016fef9d660da1e7e91aec4a0e807de59ab.) Signed-off-by: Mike Crowe <mac@mcrowe.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-11-24image_types: improve wks path specificationChristopher Larson1
Hardcoding a full input path with zero flexibility goes against everything the Yocto Project is about. Rework it to let the user specify the wks base filename with WKS_FILE and it'll search the layers for the wks file and use it. Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-11-24insane.bbclass: Avoid libdir QA check if ↵Jian Liu1
PACKAGE_DEBUG_SPLIT_STYLE='debug-file-directory' If PACKAGE_DEBUG_SPLIT_STYLE='debug-file-directory', debuglibdir will be "/usr/lib/debug". Usually 64bit libs should be put under "/usr/lib64". This often cause an warning, so skip the checking. Signed-off-by: Jian Liu <jian.liu@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-11-24classes/cpan-base: fix libdir for nativesdkTyler Hall1
Immediate expansion of perl_get_libdirs() is too early for BBCLASSEXTEND. This results in a packaging QA error when building a cpan recipe as nativesdk. The split debug files do not get picked up by the dbg package because it looks in the wrong libdir. The is_target() function remains because it is used elsewhere. Signed-off-by: Tyler Hall <tylerwhall@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-11-24bbclass: fix spelling mistakesMaxin B. John12
Fix some spelling mistakes in bbclass files Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-11-24rootfs_*.bbclass: don't add BUILDNAME to do_rootfs vardepsexcludeMartin Jansa3
* rootfs_*.bbclass doesn't use this variable anymore, so we can drop it Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-11-24insane: Don't depend on BB_TASKDEPDATARichard Purdie1
The dependency data in BB_TASKDEPDATA is encoded into the sstate checksum in a much more reliable format. This dependency runs the risk of depending on the string representation of a dict which is a bad idea. Therefore remove the dependency. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Ross Burton <ross.burton@intel.com>