aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2017-09-14devtool: ensure recipes devtool is working on are unlocked within the eSDKpaule/devtool30-oePaul Eggleton
Alongside reworking the way devtool extracts source, we now need to ensure that within the extensible SDK where task signatures are locked, the signatures of the tasks for the recipes being worked on get unlocked at the right time or otherwise we'll now get taskhash mismatches when running devtool modify on a recipe that was included in the eSDK such as the kernel (due to a separate bug). The existing mechanism for auto-unlocking recipes was a little weak and was happening too late, so I've reimplemented it so that: (a) it gets triggered immediately when the recipe/append is created (b) we avoid writing to the unlocked signatures file unnecessarily (since it's a global configuration file) and (c) within the eSDK configuration we whitelist SIGGEN_UNLOCKED_RECIPES to avoid unnecessary reparses every time we perform one of the devtool operations that does need to change this list. Fixes [YOCTO #11883] (not the underlying cause, but this manifestation of the issue). Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2017-09-14devtool: rework source extraction so that dependencies are handledPaul Eggleton
Since it was first implemented, devtool's source extraction (as used by the devtool modify, extract and upgrade subcommands) ignored other recipe dependencies - so for example if you ran devtool modify on a recipe that fetches from svn or is compressed using xz then it would fail if those dependencies hadn't been built first. Now that we can execute tasks in the normal way (i.e. tinfoil.build_targets()) then we can rework it to use that. This is slightly tricky in that the source extraction needs to insert some logic in between tasks; luckily we can use a helper class that conditionally adds prefuncs to make that possible. Some side-effects / aspects of this change worth noting: * Operations are a little slower because we have to go through the task dependency graph generation and other startup processing. There's not really any way to avoid this though. * devtool extract didn't used to require a workspace, now it does because it needs to create a temporary bbappend for the recipe. (As with other commands the workspace be created on the fly if it doesn't already exist.) * I want any existing sysroot files and stamps to be left alone during extraction since we are running the tasks off to the side, and especially devtool extract should be able to be used without touching these. However, this was hampered by the automatic removal process in sstate.bbclass triggered by bb.event.ReachableStamps when the task signatures change, thus I had to introduce a way to disable this removal on a per-recipe basis (we still want it to function for any dependencies that we aren't working on). To implement this I elected to use a file written to tmp/sstate-control which gets deleted automatically after reading so that there's less chance of stale files affecting future sessions. I could have used a variable but this would have needed to be whitelisted and I'd have to have poked its value in using the setVariable command. Fixes [YOCTO #11198]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2017-09-11staging: gracefully abort if two recipes conflict in the sysrootRoss Burton
When building the per-recipe sysroot keep track of what files we're installing and where they came from, so we can detect when a file is installed by two different recipes and tell the user what these recipes are (instead of just showing a os.link() stack trace). [ YOCTO #11631 ] (From OE-Core rev: 606a8e0ca218f023e362c3678122d36d537f95de) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-11devtool: upgrade: check that user has configured git properlyPaul Eggleton
If user.name or user.email haven't been set then git rebase can't really work properly. Check that the user has set these and error out if not. (Elsewhere we are relying on OE's git patch functionality which forces a dummy OE value - that's OK there as it's completely under OE's control and therefore it's OK for a dummy OE user to be the committer, but here the rebase may require intervention so it's reasonable to have the user's actual name and email on the operation.) Fixes [YOCTO #11947]. (From OE-Core rev: 129a3be07e272013be2db17552c13b4d8cc2cf6e) Signed-off-by: paul <paul@peggleto-mobl.ger.corp.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-11go-helloworld: Use the Golang examples repositoryOtavio Salvador
This updates the recipe to use the Golang examples repository so it makes use of the unpack as well as standard tasks showing how easy it can be. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-11go-dep: Add 0.3.0 releaseOtavio Salvador
This is the Golang dependency management tool under development; it is ready for production use and intended to be merged onto Golang 1.10. Until that, projects are starting to use it and making it available on OE-Core reduces the Golang integration work for new recipes. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-11go.bbclass: add GO_INSTALL_FILTEROUT variableMatt Madison
When using the Go 'vendor' mechanism to bring in dependencies for a Go package, the default GO_INSTALL setting, which uses the '...' wildcard, will include the vendored packages in the build, which produces incorrect results. There are also some Go packages that are structured poorly, so that the '...' wildcard results in building example or test code that should not be included in the build, or fail to build. This patch adds a mechanism for filtering out a subset of the sources. It defaults to filtering out everything under the 'vendor' subdirectory under package's main directory, which is the normal location for vendored packages, but can be overridden by a recipe to filter out other subdirectories, if needed. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-11go.bbclass: add do_unpack function to handle common casesMatt Madison
Go source trees have a particular structure, with all sources located under ${GOROOT}/src/<import-path>. The fetcher step implemented by the 'go get' command automatically follows this structure, so we need to do the same here. Since most Go packages are hosted in git repositories, this adds a custom do_unpack() function that sets the destsuffix to match the expected directory structure, for any git SRC_URIs that haven't had a destsuffix explicitly set in the recipe. This simplifies recipe writing for the most common cases. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-11go.bbclass: separate ${S} and ${B}Matt Madison
Add a do_configure task to populate ${B} by symlinking in the src subdirectory under ${S}, which lets us point GOPATH at ${B}. This lets us take advantage of the automatic directory creation and cleaning for do_configure. This necessitates a change to do_install to split the installation of the sources and built artifacts. Taking advantage of some additional tar options, we can eliminate the extra staging area and extra recursive chown command. So overall efficiency should be improved. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-11go.bbclass: Use an auxiliary variable to add the build dependenciesOtavio Salvador
This is going to easy the addition of nativesdk and virtual providers in the future. This change is based on the meta-golang[1] layer. Thanks to Matt Madison <matt@madison.systems> for his work on this. 1. https://github.com/madisongh/meta-golang Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-11go.bbclass: exported function cleanupMatt Madison
Since this is a class, it should follow the class function export mechanism for its task functions, and should set directory-related flags for directories they need. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-11go.bbclass: Enable parallel buildOtavio Salvador
The parallel build is based on PARALLEL_MAKE variable but can be overriden setting the GO_PARALLEL_BUILD one. This change is based on the meta-golang[1] layer. Thanks to Matt Madison <matt@madison.systems> for his work on this. 1. https://github.com/madisongh/meta-golang Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-11go.bbclass: Use a global Go build flagsOtavio Salvador
We now use a GOBUILDFLAGS to provide a global variable to control the build flags to be given to Go. This change is based on the meta-golang[1] layer. Thanks to Matt Madison <matt@madison.systems> for his work on this. 1. https://github.com/madisongh/meta-golang Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-11goarch.bbclass: Add support for ARMv5Otavio Salvador
This adds support to return the proper ARMv5 format. This change is based on the meta-golang[1] layer. Thanks to Matt Madison <matt@madison.systems> for his work on this. 1. https://github.com/madisongh/meta-golang Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-11goarch.bbclass: Replace logic for setting GOARMWill Newton
The previous logic applied a regex to TUNE_FEATURES which could set the GOARM value to 7 incorrectly, for example when dealing with an arm1176 core. Simplify to check for the presence of "armv7" instead. At the same time add a check for "armv6" and set GOARM to 6 in that case. Signed-off-by: Will Newton <willn@resin.io> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-11go: Remove Go 1.6 and 1.7 releasesOtavio Salvador
The OE-Core has no reason to support multiple versions of Go as this increases the maintenance work and testing efforts. So we are going to support just a single version from now on which currently is 1.8.3. The 1.4 release is kept around as it is used for bootstrap, as such, it cannot be removed. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-11go.bbclass: Fix binary installation path detectionOtavio Salvador
Go toolchain changes the installation path when building for the same architecture as the build host. This was already been considered in the GO_BUILD_BINDIR variable but was not being used by the go class. This fixes following error: ,---- | ERROR: go-dep-0.3.0-r0 do_package: QA Issue: go-dep: Files/directories | were installed but not shipped in any package: | /usr/lib/x86_64-oel-linux/go/bin/dep | Please set FILES such that these items are packaged. Alternatively if | they are unneeded, avoid installing them or delete them within | do_install. `---- Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-11goarch.bbclass: Stop passing True as second argument of d.getVarOtavio Salvador
The d.getVar has the second argument as True by default, avoid passing it here. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-11linux-yocto: Make LINUX_VERSION_EXTENSION weakerSaul Wold
This allows for other layers to override this variable in addition to providing the distro or local.conf to override it. Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-11scripts/buildhistory-diff: use of argparse instead of optparseDaniela Plascencia
Optparse is deprecated since version 2.7 and won't be developed further. Argparse should be used instead as it provides better tools for parsing and handling arguments. [YOCTO #9635] Signed-off-by: Daniela Plascencia <daniela.plascencia@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-11libfm: remove file which conflicts with libfm-extraRoss Burton
Both libfm and libfm-extra provide /usr/include/libfm, so remove it from libfm to avoid sysroot conflicts. Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-11subversion: fix CVE-2017-9800Wenzong Fan
A maliciously constructed svn+ssh:// URL would cause Subversion clients before 1.8.19, 1.9.x before 1.9.7, and 1.10.0.x through 1.10.0-alpha3 to run an arbitrary shell command. Such a URL could be generated by a malicious server, by a malicious user committing to a honest server(to attack another user of that server's repositories), or by a proxy server. The vulnerability affects all clients, including those that use file://, http://, and plain (untunneled) svn://. Backport patch from: http://svn.apache.org/viewvc?view=revision&amp;sortby=rev&amp;revision=1804691 Reference: http://subversion.apache.org/security/CVE-2017-9800-advisory.txt Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-11foomatic: Add HOMEPAGE info into recipe file.Huang Qiyu
Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-11diffutils: Add HOMEPAGE info into recipe file.Huang Qiyu
Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-11iputils: backport patch to fix arping hang problemChen Qi
arping hangs if SIGALARM is blocked. Backport a patch to fix this problem. Unblock SIGALRM so that the previously called alarm() can prevent recvfrom() from blocking forever in case the inherited procmask is blocking SIGALRM and no packet is received. Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-11util-linux: Add HOMEPAGE info into recipe file.Huang Qiyu
Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-11glibc: do the multilib_header magic also for bits/pthreadtypes-arch.hChunrong Guo
Otherwise it will cause conflicts in mutlilib setting, as it varies from one machine to another. Signed-off-by: Chunrong Guo <chunrong.guo@nxp.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-11texinfo-dummy-native: port to Python 3Ross Burton
Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-11wic: run bmaptool with native Python3Ed Bartosh
Modified wic code to run bmaptool using native Python3 from wic-tools native sysroot. [YOCTO #11891] Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-11bmap-tools: switch to Python 3Ed Bartosh
bmap-tools is the only recipe in oe-core that still uses Python 2. Switching it to Python 3 should help to get rid of building native Python 2 and its dependencies. [YOCTO #11891] Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-11bmap-tools: upgrade to v3.4Ed Bartosh
Upgraded to the latest upstream release. Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-11cve-check-tool: change BB_NO_NETWORK error to a warningMikko Rapeli
It is perfectly fine to execute cve_check tasks against a cached CVE database during a BB_NO_NETWORK build. Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-11bootchart2: update python interpreterKai Kang
For bootchart2-native, the python interpreter "#!FIXMESTAGINGDIRHOST/usr/bin/python3" of file pybootchartgui is not right. Use '#!${USRBINPATH}/env python3' instead to fix the issue. Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-11xdg-utils: Add HOMEPAGE info into recipe file.Huang Qiyu
Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-11python3-setuptools: extend to nativesdkChen Qi
Extend python3-setuptools to nativesdk because nativesdk-python3-pip needs it. Also, adjust RDEPENDS variable setting to keep the runtime dependencies for nativesdk package the same with the target one. The native package and the target package's dependencies remain the same as before. Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-11python3-pip: extend to nativesdkChen Qi
Extend python3-pip to nativesdk because some nativesdk python3 packages need it, e.g. nativesdk-python3-django from meta-python layer. Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-11systemtap: Bump SRCREV for 4.12 Linux kernel supportSaul Wold
This SRCREV bump brings in support for the 4.12 Linux Kernel, this kernel also has some newer CONFIG settings. The newer DEBUG_INFO and DEBUG_INFO_DWARF4 settings can be used with systemtap to get the full information. We do not normally enabled these for a 'production' (standard) kernel, but can be enabled via menuconfig. When installing staprun and stapbpf on the target and native ensure we don't try to create a new group and chown it. There is no need since we will be running as root, so we add a patch to comment that code out. Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-11glib-2.0: recommend shared-mime-infoRoss Burton
Large portions of GIO are not that useful without the MIME database. Add a recommends to shared-mime-info so that GIO works out of the box, but can be removed (using BAD_RECOMMENDATIONS) if shared-mime-info is too large and isn't required. [ YOCTO #11792 ] Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-11shared-mime-info: enable nativesdk buildsRoss Burton
Also remove the redundant DEPENDS_class-native, as the native class generates this value automatically. Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-11wic: selftest: add test_wic_rm_ext test caseEd Bartosh
Tested if 'wic rm' correctly removes files from the ext4 partition of the wic image. Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-11wic: selftest: add test_wic_cp_ext test caseEd Bartosh
Tested if 'wic cp' correctly copies files to the ext4 partition of the wic image. Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-11wic: selftest: add test_wic_ls_ext test caseEd Bartosh
Tested if 'wic ls' correctly lists directory contents of the ext* partition. Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-11wic: update help contentEd Bartosh
Added ext* partitions to the description of 'wic ls', 'wic cp' and 'wic rm' commands. Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-11wic: implement ext fs support for 'wic rm'Ed Bartosh
Implemented removing files or directories from the ext partition using debugfs tool. Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-11wic: implement ext fs support for 'wic cp'Ed Bartosh
Implemented copying files to the ext partition using debugfs tool. Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-11wic: implement ext fs support for 'wic ls'Ed Bartosh
Implemented listing directory contents for ext file system using debugfs tool. Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-11sysstat: Add ability to enable lm-sensorsMark Hatle
Add lm-sensors PACKAGECONFIG option. Change from setting LFLAGS="" to --disable-strip, otherwise lm-sensors will not link properly. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-11psplash: Initialize psplash only if a framebuffer existsMark Hatle
psplash-init exits if there is no framebuffer device detected. This is done to avoid the following error message from occurring when booting up: "Error opening /dev/fb0: No such file or directory" Signed-off-by: Aws Ismail <aws.ismail@windriver.com> Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-11yocto-compat-layer.py: Fix trace when layers can't be processedMark Hatle
When all of the requested layers have unsatisfied dependencies, an error can occur. Check for the condition to avoid the traceback: Traceback (most recent call last): File "../scripts/yocto-compat-layer.py", line 203, in <module> ret = main() File "../scripts/yocto-compat-layer.py", line 194, in main if not results[layer_name].wasSuccessful(): AttributeError: 'NoneType' object has no attribute 'wasSuccessful' Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-11kernel: Stop using update-alternativesOtavio Salvador
The update-alternatives where using relative links so not being really in use since December 2016 (see OE-Core:c7bc46b9 "kernel: Fix symlinks") so instead we now generate the relative symlinks during the do_install task and drop the update-alternatives use at all. Acked-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Ross Burton <ross.burton@intel.com>