summaryrefslogtreecommitdiffstats
path: root/meta
Commit message (Collapse)AuthorAgeFilesLines
* blacklist.bbclass: fix for multilibRobert Yang2017-04-132-25/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Fixed: The netmap has been blacklisted in meta-networking/recipes-kernel/netmap/netmap_git.bb, but lib32-netmap still can be built (suppose it doesn't depend on another broken recipe netmap-modules, it is a little complicated, will talk below): $ bitbake lib32-netmap This is because of the old code masks on bb.event.ConfigParsed which can only handle global blacklist, netmap sets blacklist in the recipe, so it can't be handled, and lib32-netmap can be built. which was incorrect: blacklist_multilib_eventhandler[eventmask] = "bb.event.ConfigParsed" Move multilib code into multilib.bbclass can fix the problem easily: $ bitbake lib32-netmap ERROR: Nothing PROVIDES 'lib32-netmap' ERROR: lib32-netmap was skipped: Recipe is blacklisted: BROKEN: <foo> * Not fixed Another problem is netmap-modules has also been blacklisted in the recipe, and the recipe inherits module.bbclass, so multilib.bbclass doesn't handle it as the code shows: # There should only be one kernel in multilib configs # We also skip multilib setup for module packages. provides = (e.data.getVar("PROVIDES") or "").split() if "virtual/kernel" in provides or bb.data.inherits_class('module-base', e.data): raise bb.parse.SkipPackage("We shouldn't have multilib variants for the kernel") And netmap-modules provides lib32-netmap-modules which is handled in multilib_global.bbclass, so bitbake lib32-netmap-modules can't show the blacklist message: $ bitbake netmap-modules ERROR: Nothing PROVIDES 'netmap-modules' ERROR: netmap-modules was skipped: Recipe is blacklisted: BROKEN: <foo> ERROR: netmap-modules was skipped: We shouldn't have multilib variants for the kernel $ bitbake lib32-netmap-modules ERROR: Nothing PROVIDES 'lib32-netmap-modules'. Close matches: netmap-modules netmap-modules lib32-fbset-modes Note the different messages between netmap-modules and lib32-netmap-modules. This is because multilib.bbclass doesn't handle the "module" recipe so there is no PN called lib32-netmap-modules, therefore blacklist.bbclass can't handle it. Note, there are two "netmap-modules" which needs to be fixed later. (From OE-Core rev: c8749ed1edcbb544f6656ee5da80f2cf647c405a) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* busybox: In defconfig enable ASH_CMDCMD for built-in 'command'Nathan Rossi2017-04-121-1/+1
| | | | | | | | | | | | | | | | | | | | It is common for *ash shells to have 'command' available as a built-in function. POSIX 2008 also documents the availability of this command. Additionally the /etc/profile of base-files requires this command to be available as of commit e77cdb7611 ("base-files: profile: Do not assume that the tty command exists"). If it is not available the following message is output during login on a image using busybox. -sh: command: not found It however should be noted that tcsh and csh do not provide 'command' (built-in or otherwise). (From OE-Core rev: e41c90b852167bbcb434da57b84280e855acae33) Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipes/*-cross recipes: ignore TARGET_ARCH sstate hashPatrick Ohly2017-04-124-0/+12
| | | | | | | | | | | | | | | | | | | | | | "yocto-compat-layer.py --machines" showed that shared packages like gcc-cross-powerpc64 have a sstate signature that depends on TUNEFLAGS. As a result, there are unnecessary rebuilds and potential conflicts in a multiconfig. That's due to the way how TARGET_ARCH is set. Richard Purdie suggested setting TARGET_ARCH[vardepvalue] as fix, which works. It would be shorter to do that in cross.bbclass instead of repeating the relevant line in different recipes, but Richard was concerned about potential side-effects in other usages of cross.bbclass. TARGET_GOARM as used in go.inc is still causing signature differences for go-cross-powerpc64 and machines b4420qds-64b and p5020ds-64b. This needs further investigation. (From OE-Core rev: 39bfa0dd3237cbca47e7fca1075d521f9d073f25) Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gdb-cross: avoid tune specific pathsPatrick Ohly2017-04-121-1/+1
| | | | | | | | | | | | | | | | gdb-cross used to be specific to the tune flags, but isn't anymore. Therefore it is enough to use TARGET_SYS instead of TUNE_PKGARCH to create a unique path. Fixes a sstate signature difference that was found via yocto-compat-layer.py's test_machine_signatures check. In practice it probably showed up as unnecessarily rebuilding gdb-cross when switching between machines like intel-corei7-64 and qemux86-64. (From OE-Core rev: f346473a4868563db7fb63665e808c3fe25a8b58) Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* go-cross: avoid libgcc dependencyPatrick Ohly2017-04-121-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | libgcc gets compiled differently depending on the tune flags for the target. That dependency would make go-cross also tune specific and prevent sharing it between different machines using the same architecture. For example, MACHINE=intel-corei7-64 and MACHINE=qemux86-64 shared the same go-cross-x86_64, but compiled libgcc differently. The libgcc dependency gets inherited from go.inc, but does not seem to be necessary for go-cross (compiling go-helloworld still succeeds). The dependency is left in go.inc conditionally, just in case that it really is relevant for the various on-target recipes which inherit that. Because go-cross*.bb includes go*.bb, moving the DEPENDS into a .inc file that only gets included for the target recipes doesn't work. Reshuffling the content of three .bb files seems too intrusive at this point. (From OE-Core rev: 58149a7be4172074349951aaf5af95fa40fd4bdb) Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ed: update SRC_URI to yoctoproject mirrorMaxin B. John2017-04-121-1/+3
| | | | | | | | | | | | Upstream has removed the 1.14.1 release from ftp.gnu.org and moved to the latest 1.14.2. Since we don't want to upgrade at this point of time, temporarily move the SRC_URI to yoctoproject mirror. (From OE-Core rev: a2f1026b3d8c9f9810cb4389a8a93fabb04e15a4) Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* native/nativesdk: Use fixed DISTRO_FEATURESJussi Kukkonen2017-04-124-4/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There seems to be little advantage to letting distro features affect native builds. There is a significant disadvantage: a change to DISTRO_FEATURES will trigger a lot of unnecessary native tasks. In a test like this: $ bitbake core-image-minimal # append " systemd" to DISTRO_FEATURES $ bitbake core-image-minimal The latter build takes 44 minutes (28%) of cpu-time less with this patch (skipping 135 native tasks). Sadly wall clock time was not affected as glibc remains the bottleneck. Set native distro features to DISTRO_FEATURES_NATIVE appended with an intersection of DISTRO_FEATURES and DISTRO_FEATURES_FILTER_NATIVE. Current default values (baitbake.conf) are * DISTRO_FEATURES_FILTER_NATIVE ?= "api-documentation" (as gtk-doc-native has much less dependencies when built without it) * DISTRO_FEATURES_NATIVE ?= "x11" (to enable native UIs even if target does not containe them) Do the variable setting in native_virtclass_handler() because otherwise it could still be overridden by appends and the feature backfilling. Shuffle the early returns so DISTRO_FEATURES gets set as long as the packagename ends with "-native". Add similar variables for nativesdk. To make nativesdk work we need to enable the locale options so nativesdk-glibc-locales can build and to avoid the init manager check in the nativesdk case so add those fixes. (From OE-Core rev: 731744d5538e315702be828e6f2bd556309dee07) Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package_manager.py: Add a name for the generated dnf repo.Ian.Arkver2017-04-121-1/+1
| | | | | | | | | | | This adds repo_name as the name, which is the same as the repo ID and hence a bit pointless, but it stops dnf from complaining that the repo doesn't have a configured name. (From OE-Core rev: c92cff23893e87cfb7ef9f77b16761310104543a) Signed-off-by: Ian.Arkver <ian.arkver.dev@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest/wic.py: vda -> sdaRobert Yang2017-04-121-3/+3
| | | | | | | | | | | | Previously, runqemu grep root=/dev/sd or root=/dev/hd on the image, and would use vda if no grep result, now we have set QB_DRIVE_TYPE to "/dev/sd" by default, and the device will be /dev/sda, so use sda to replace vda in the test case. (From OE-Core rev: a722016df3f452f7a870157a99a1abb7d97d8280) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-selftest: test wic sparse_copy APIEd Bartosh2017-04-121-0/+29
| | | | | | | | | | | | | Added new parameter 'api' to sparse_copy function to specify underlying filemap API to use. By default sparse_copy will try both available APIs. Added test case for sparse_copy to wic test suite. (From OE-Core rev: 88701cef6ba399e82f96ed1b0eef9a44ed8c1687) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* runqemu: do not rely on grepping imagesRobert Yang2017-04-121-0/+3
| | | | | | | | | | | | | Fixed when the image is large and not enough memory: grep: memory exhausted Aborted [YOCTO #11073] (From OE-Core rev: a99deb30a0138594147ae28aab016fe4b74b8959) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ptest-runner: Upgrade to minor version 2.0.2Aníbal Limón2017-04-111-2/+2
| | | | | | | | | | | | To fix a problem when print ERROR after a ptest timeout, this causes the user confusion about if a test ends or not. [YOCTO #10842] (From OE-Core rev: 210c518ba8f8d6ec6e9d34e0df8b963a3b2e0593) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gstreamer1.0-plugins-good: Backport patch for v4l2object videometaCarlos Rafael Giani2017-04-112-0/+36
| | | | | | | | | | This patch ensures videometa is added to mem2mem decoder output in case the output frames have padding rows/columns (From OE-Core rev: ef94ffee8f11db57ecea398af76dc22576c2068a) Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gstreamer1.0-plugins-bad: Update packageconfigs and config flagsCarlos Rafael Giani2017-04-111-6/+7
| | | | | | | (From OE-Core rev: 5acad7f33aebfac4c5a3a68778f5860f954904fe) Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* staging: Fix sysroot problem with populate_sysroot dependencies on do_fetchRichard Purdie2017-04-111-1/+6
| | | | | | | | | | | | | | | | | Dependencies on svn:// urls were failing as the cleandirs on do_fetch was destroying any sysroot setup by the extend_recipe_sysroot function. Add code so that if the task do_fetch, we move the cleandirs to a separate function before the extend_recipe_sysroot prefunc else we'd wipe out the sysroot we just created. This allows fetcher do_populate_sysroot dependencies to work correctly again. I did try various other approaches and a seperate function with cleandirs was the cleanest way to add this without code duplication or too much complexity. (From OE-Core rev: b32fbfc85b14059f0bfdeeffe2c52f8d3c20f276) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* binutils: Fix CVE-2017-6965 and CVE-2017-6966Yuanjie Huang2017-04-113-0/+367
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Backport upstream commit to address vulnerabilities: CVE: CVE-2017-6965 [BZ 21137] -- https://sourceware.org/bugzilla/show_bug.cgi?id=21137 Fix readelf writing to illegal addresses whilst processing corrupt input files containing symbol-difference relocations. PR binutils/21137 * readelf.c (target_specific_reloc_handling): Add end parameter. Check for buffer overflow before writing relocated values. (apply_relocations): Pass end to target_specific_reloc_handling. CVE: CVE-2017-6966 [BZ 21139] -- https://sourceware.org/bugzilla/show_bug.cgi?id=21139 Fix read-after-free error in readelf when processing multiple, relocated sections in an MSP430 binary. PR binutils/21139 * readelf.c (target_specific_reloc_handling): Add num_syms parameter. Check for symbol table overflow before accessing symbol value. If reloc pointer is NULL, discard all saved state. (apply_relocations): Pass num_syms to target_specific_reloc_handling. Call target_specific_reloc_handling with a NULL reloc pointer after processing all of the relocs. (From OE-Core rev: 8c52a530ba2beb438aa47956bcec3777a1eafe5f) Signed-off-by: Yuanjie Huang <yuanjie.huang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libsolv: correctly attribute musl fixing patchesAlexander Kanavin2017-04-113-33/+137
| | | | | | | | | | | | | Also, they were previously squashed into a single patch; restore the original two-patch arrangement. As requested here: http://lists.openembedded.org/pipermail/openembedded-core/2017-April/135460.html (From OE-Core rev: 378b333fb09d106fb04901f5a4362fc0eb076e82) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python2/3: Move config/Makefile from core package to dev packageLi Zhou2017-04-112-4/+4
| | | | | | | | | | Move config/Makefile in libdir from core package to dev package for python, because it is only needed in development process. (From OE-Core rev: 8b55d055f046677c18eeaefe3ca18869eedeb14d) Signed-off-by: Li Zhou <li.zhou@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* openssl: fix the reference to native perl in ptestsAlexander Kanavin2017-04-111-0/+4
| | | | | | | | | | | This was causing a couple of ptest failures. [YOCTO #10840] (From OE-Core rev: 2e8e72790d3cc3236b6a785f3e04702e71e1ac3f) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/sdk/cases/buildcpio: enable use of cached cpio from DL_DIRJoshua Lock2017-04-111-1/+1
| | | | | | | | | | | | | | All build project test cases will try to copy the requested source artefacts from DL_DIR before fetching. This testcase is referencing bzipped tarball whereas the recipe fetches a gzipped tarball. Switch to fetching the gzipped tarball in the test case so that we're able to use a cached tarball from DL_DIR (From OE-Core rev: 27a5883e8ae01e69f5425efe8b035bea7087b2f9) Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toaster: fix SDK artifact captureDavid Reyna2017-04-111-5/+16
| | | | | | | | | | | | | | | | | Use the TaskArtifacts event to scan the SDK and ESDK manifests to cleanly collect the respective artifact files. The previous method was broken when the SDK file deployment moved from the do_populate_sdk[_ext] tasks to their sstate tasks. That method is disabled (but not yet removed) in preparation for the rest of refactor work for the parent #10283 work. [YOCTO #10850] (From OE-Core rev: a6ec56d372f833be50f57bcb79b6ebe78bb93be0) Signed-off-by: David Reyna <David.Reyna@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* mtd-utils: refresh patches now merged upstreamAndre McCurdy2017-04-114-18/+66
| | | | | | | | | | Update Upstream-Status tags and apply 010-fix-rpmatch.patch unconditionally, since it's merged unconditionally upstream. (From OE-Core rev: 87dcaf2094baf9a7b7993c2ff1f60db73f4248f4) Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/buildhistory: save output file signatures for sstate tasksPaul Eggleton2017-04-111-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | Save a file per task listing sha256sums for each file staged, i.e. the output of the task. Some caveats: 1) This only covers sstate tasks since it uses SSTATEPOSTUNPACKFUNCS, however those are generally the most interesting in terms of output anyway. 2) The signature is taken before applying any relocations, so any relocated files will actually have different signatures, but that's churn that you probably won't want to see here. 3) At the moment if you run the same build twice without sstate you will very likely see changes in the output for certain tasks due to things like timestamps being present in the binary output. Fixing that is a general Linux ecosystem problem - see this page for our efforts to resolve it on our side: https://wiki.yoctoproject.org/wiki/Reproducible_Builds NOTE: you need to set your BUILDHISTORY_FEATURES value to include "task" to enable collection of these signatures as it is is disabled by default. (From OE-Core rev: ca5d1273432e20059ab66d721a9eb314a54e81e7) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/uninative: set SSTATEPOSTUNPACKFUNCS[vardepvalueexclude] properlyPaul Eggleton2017-04-111-1/+1
| | | | | | | | | | | | | Append to the value with appendVarFlag() instead of setting it outright, so that we can also append to it in other places. Accordingly, this varflag is pipe-separated (since we want to be able to exclude any string fragment, in this case including the leading space), thus put a leading pipe character to play nicely with any existing value. (From OE-Core rev: a147838c3dfd4c53084a19b052b8d4e183293412) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* buildhistory-diff: add option to compare actual signature differencesPaul Eggleton2017-04-111-16/+76
| | | | | | | | | | | | | | | Use the code underpinning bitbake-diffsigs to add an option to buildhistory-diff to determine and display the differences between the actual signature inputs, with a twist - we collapse identical changes across different tasks, showing only the most recent task to have that difference, meaning that there's less noise to wade through when you just want to know what changed in order to cause some rebuilding you're seeing. (From OE-Core rev: 86cb4b01f2020553902554e512c02147eb4e0f51) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* buildhistory-diff: add option to compare task signature listPaul Eggleton2017-04-112-5/+50
| | | | | | | | | | | | Having added writing out of the task signature list to buildhistory (when BUILDHISTORY_FEATURES includes "task"), we now need a way to compare the list. This just shows which tasks have been added / changed signature / removed. (From OE-Core rev: 63bd7e9f780a98dda458d612877495756bcc5463) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/buildhistory: write out task signatures on every buildPaul Eggleton2017-04-112-0/+22
| | | | | | | | | | | | | | | | | If we want to determine what changed since the last build, one angle from which to look at it is to check the signatures. However, if we don't actually have the signatures from the last build we don't have anywhere to start. Save the signatures on each build in order to give us the starting point. NOTE: you need to set your BUILDHISTORY_FEATURES value to include "task" to enable collection of these signatures as it is is disabled by default. (From OE-Core rev: 11f68f65c46c5bc26ddeeade3021e83b3a7f895a) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* musl: Upgrade to latest tipKhem Raj2017-04-111-1/+1
| | | | | | | | | | | | | | | | | | | | | * 54807d47 aarch64: add single instruction math functions * b6e1fe0d fix strptime output for %C without %y * 834ef7af fix processing of strptime %p format * 85dfab7e fix off-by-one in strptime %j * 9571c531 regex: fix newline matching with negated brackets * e6917ece increase limit on locale name length from 15 to 23 bytes * e4fc9ad7 search locale name variants for gettext translations * 16319a5d make setlocale return a single name for LC_ALL if all categories match * 0c53178e fix dlopen/dlsym regression opening libs already loaded at startup * dbff2bb8 fix POSIX-format TZ dst transition times for southern hemisphere * 74bca42e s390x: fix fpreg_t and remove unused per_struct * a393d5cc precalculate gnu hash rather than doing it lazily in find_sym inner loop * 8cba1dc4 fix threshold constants in j0f, y0f, j1f, y1f (From OE-Core rev: 340b3fa6be034bf6a4cd9b2d1ad4788668fabb5b) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* logrotate: replace fedorahosted.org SRC_URI with github.com sourceChoong YinThong2017-04-111-4/+13
| | | | | | | | | | | | | | fedorahosted.org was retired on March 1st, 2017. This is to update the SRC_URI to point to github.com. Update the ${PN} to ${BPN} in order to pass the autobuilder mulitlib enable configuration. [YOCTO #11226] (From OE-Core rev: 73a358bdef99771b493fefb5114a936138cb78ce) Signed-off-by: Choong YinThong <yin.thong.choong@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* buildhistory.bbclass: do not influence sstate of do_rootfsPatrick Ohly2017-04-111-4/+8
| | | | | | | | | | | | | | | | Enabling or disabling buildhistory caused a rebuild of images, which is undesirable. For example, it prevented image reuse from a main build with buildhistory in a following oe-selftest where buildhistory must be disabled. The reason are the additional ROOTFS_POSTUNINSTALL_COMMAND and ROOTFS_POSTUNINSTALL_COMMAND entries. Those need to be excluded both via vardepvalueexclude and vardepsexclude. (From OE-Core rev: e4c28ea05ef4514deb3d19e8e33f81d352712455) Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package_manager.py: Split feed_archs for RPM repo URIsIan.Arkver2017-04-111-1/+1
| | | | | | | | | | | By default the feed_archs variable is split into single characters resulting in very many broken short repo_uris. Add a split() to split the string into words first. (From OE-Core rev: 7bd6a4d56c08bf7f9ced7c07327e6163216fee08) Signed-off-by: Ian.Arkver <ian.arkver.dev@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gnu-efi: copy header files for x32 buildSaul Wold2017-04-111-0/+5
| | | | | | | | | | | | | Gnu-efi needs to be build for 64bit since it is a boot time tool. It needs these 2 headers to be in 64 bit versions, we can use the existing 32bit ones as there is not really any difference. [YOCTO #11051] (From OE-Core rev: 3398552663e1e18aaf352d682a77a8ad3af94e5a) Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classutils.py: deterministic sortingJuro Bystricky2017-04-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | The method "prioritized" returns a list sorted by the value of the "priority" field, in descending order. However, if several list items have the same priority, the ordering of those items within the priority-sorted list becomes random. As a consequence, we may end up with a non-deterministic oe-terminal spawning, as several terminals have the same priority. So running commands such as $ bitbake xxx -cdevshell $ bitbake yyy -cmenuconfig may spawn a different terminal each time, for example sometimes Gnome and sometimes Konsole as hey have the same priority. Rather than modifying the priorities so they all differ, we sub-sort the list based on (terminal) names. This way we achieve a deterministic outcome. [YOCTO#10938] (From OE-Core rev: 82ae62f28dd2d5fb2fb261478ac6161315ac6c38) Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Revert "staging: Fix sysroot problem with populate_sysroot dependencies on ↵Richard Purdie2017-04-111-5/+0
| | | | | | | | | | do_fetch" There seems to be an issue with the patch, revert for now. This reverts commit cd5e0a32184d98beb8d81e6b5527166d3ca4fb3c. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* staging: Fix sysroot problem with populate_sysroot dependencies on do_fetchRichard Purdie2017-04-101-0/+5
| | | | | | | | | | | | | | Dependencies on svn:// urls were failing as the cleandirs on do_fetch was destroying any sysroot setup by the extend_recipe_sysroot function. Add code so that if the task do_fetch, we move the cleandirs to the extend_recipe_sysroot task else we'd wipe out the sysroot we just created. This allows fetcher do_populate_sysroot dependencies to work correctly again. (From OE-Core rev: cd5e0a32184d98beb8d81e6b5527166d3ca4fb3c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts: Drop cleanup-workdirRichard Purdie2017-04-101-27/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This script appears broken and is actively breaking build directories. For example, binutils-cross-i586 gets run do_fetch to do_populate_sysroot by: $ oe-selftest -r devtool.DevtoolTests.test_devtool_virtual_kernel_modify then: $ oe-selftest -r oescripts.BuildhistoryDiffTests.test_buildhistory_diff wipes out the contents of tmp/work/x86_64-linux/binutils-cross-i586/2.28-r0/ but does not wipe out the corresponding stamps, then: $ oe-selftest -r runtime-test.Postinst.test_postinst_rootfs_and_boot needs binutils-cross-i586:do_populate_lic and if and only if this is unavailable from sstate, it fails since it thinks the source is already unpacked when it isn't resulting in: WARNING: binutils-cross-i586-2.28-r0 do_populate_lic: Could not copy license file /home/pokybuild/yocto-autobuilder/yocto-worker/nigh tly-oe-selftest/build/build/tmp/work/x86_64-linux/binutils-cross-i586/2.28-r0/git/COPYING3.LIB to /home/pokybuild/yocto-autobuilder/yocto -worker/nightly-oe-selftest/build/build/tmp/work/x86_64-linux/binutils-cross-i586/2.28-r0/license-destdir/binutils-cross-i586/COPYING3.LI B: [Errno 2] No such file or directory: '/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/x86_64-l inux/binutils-cross-i586/2.28-r0/git/COPYING3.LIB' ERROR: binutils-cross-i586-2.28-r0 do_populate_lic: QA Issue: binutils-cross-i586: LIC_FILES_CHKSUM points to an invalid file: /home/ pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/x86_64-linux/binutils-cross-i586/2.28-r0/git/COPYING3 [license-checksum] and similar errors. Its safer for users to wipe tmp than try and maintain scripts which try to remove pieces of tmp and get it wrong so remove the script. (From OE-Core rev: 809b23c829f352c0eae455ea89f53e2a9ee87f06) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest: Don't use cleanup-workdirRichard Purdie2017-04-102-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cleanup-workdir isn't a partcularly good way to attempt to cleanup after tests and in some cases is actively breaking the workdir. Whilst this is a bug in cleanup-workdir, I'd prefer it didn't break tests, particularly when as far as I can see, these calls are "belt and braces" and don't appear to serve a specific purpose. If this introduces bugs, we should fix this bugs. For the purposes of history, binutils-cross-i586 gets run do_fetch to do_populate_sysroot by: $ oe-selftest -r devtool.DevtoolTests.test_devtool_virtual_kernel_modify then: $ oe-selftest -r oescripts.BuildhistoryDiffTests.test_buildhistory_diff wipes out the contents of tmp/work/x86_64-linux/binutils-cross-i586/2.28-r0/ but does not wipe out the corresponding stamps, then: $ oe-selftest -r runtime-test.Postinst.test_postinst_rootfs_and_boot needs binutils-cross-i586:do_populate_lic and if and only if this is unavailable from sstate, it fails since it thinks the source is already unpacked when it isn't resulting in: WARNING: binutils-cross-i586-2.28-r0 do_populate_lic: Could not copy license file /home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/x86_64-linux/binutils-cross-i586/2.28-r0/git/COPYING3.LIB to /home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/x86_64-linux/binutils-cross-i586/2.28-r0/license-destdir/binutils-cross-i586/COPYING3.LIB: [Errno 2] No such file or directory: '/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/x86_64-linux/binutils-cross-i586/2.28-r0/git/COPYING3.LIB' ERROR: binutils-cross-i586-2.28-r0 do_populate_lic: QA Issue: binutils-cross-i586: LIC_FILES_CHKSUM points to an invalid file: /home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/x86_64-linux/binutils-cross-i586/2.28-r0/git/COPYING3 [license-checksum] and similar errors. (From OE-Core rev: a66857096df3f68d38271b3a6792150f009a54b1) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python-pycurl: create python3-pycurl recipeDmitry Rozhkov2017-04-104-31/+38
| | | | | | | | | | | | | The python-pycurl recipe can be used with python2 only even though python3 is officially supported by upstream. Create python3-pycurl recipe enabling the pycurl module for python3. (From OE-Core rev: 6cb9c0a4e75c647b38c81d2d7217b54b2fdfd972) Signed-off-by: Dmitry Rozhkov <dmitry.rozhkov@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* uninative-flags.inc: Build binutils-native as pieRichard Purdie2017-04-101-0/+8
| | | | | | | | | | | | | Some distros (ubuntu 16.10, debian-testing) default to gcc configured with --enable-default-pie (see gcc -v). This breaks e.g. prelink-native on a pie default system if binutils-native was built on a system which is not pie default We therefore enable pie unconditionally for native recipes where static libs are used such as libiberty from binutils, for now, until our minimum distro set is all default pie. (From OE-Core rev: 80b450cca746f068dd63e4546fa4c1eef2d86a0d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ncurses: Drop incorrect optionRichard Purdie2017-04-101-1/+0
| | | | | | | | | The --disable-static option doesn't exist in ncurses. Its equivalent is --without-normal so remove the option which does nothing. (From OE-Core rev: 974ddd2f99be04f44978c1bce054ed75c9367631) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* no-static-libs: Add entry for ncursesRichard Purdie2017-04-101-0/+4
| | | | | | | | | Yes, the option to disable static libraries in boost really is "--without-normal". Add this for ncurses and its variants. (From OE-Core rev: 6b386e444e494b852b59a9f9e80426d564382139) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest/sstatetests: Replace glibc-initial with linux-libc-headersRichard Purdie2017-04-101-15/+5
| | | | | | | | | | | | The intent in these tests was to find something early in the bootstrap process to run tests against which didn't require long build times. This breaks with the removal of the glibc-initial do_build target. Replacing it with linux-libc-headers seems like a good choice and simplifies the conditionals too. (From OE-Core rev: c37d610272f9d0a506334ff9f724c025acace137) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cross-canadian.bbclass: override TARGET_* flagsMing Liu2017-04-101-0/+5
| | | | | | | | | | | | | | | | Some TARGET_* flags are being exported in bitbake.conf currently, so they are impacting all the tasks of a cross-canadian recipe even they are not in use at all. This can lead a lot of churn when the cross-canadian sysroot are shared by machines while they have defined different TARGET_* flags. Fix it by overriding with BUILDSDK_* flags. (From OE-Core rev: 767335c92b7cc657a008722a908380a3c89c3c66) Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* nativesdk.bbclass: override TARGET_* flagsMing Liu2017-04-101-0/+4
| | | | | | | | | | | | | | | | Some TARGET_* flags are being exported in bitbake.conf currently, so they are impacting all the tasks of a nativesdk recipe even they are not in use at all. This can lead a lot of churn when the nativesdk sysroot are shared by machines while they have defined different TARGET_* flags. Fix it by overriding with BUILDSDK_* flags. (From OE-Core rev: 85b69a5ec9ba9ea9ebdcd8ac18e1e147ddb1ff33) Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* crosssdk.bbclass: override TARGET_* flagsMing Liu2017-04-101-0/+5
| | | | | | | | | | | | | | | | Some TARGET_* flags are being exported in bitbake.conf currently, so they are impacting all the tasks of a crosssdk recipe even they are not in use at all. This can lead a lot of churn when the crosssdk sysroot are shared by machines while they have defined different TARGET_* flags. Fix it by overriding with BUILD_* flags. (From OE-Core rev: 3facbe700a2f28a11620c4954686ed5d5e47a3d9) Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cross.bbclass: override TARGET_* flagsMing Liu2017-04-101-0/+5
| | | | | | | | | | | | | | | | | | Some TARGET_* flags are being exported in bitbake.conf currently, so they are impacting all the tasks of a cross recipe even they are not in use at all. This can lead a lot of churn when the cross sysroot are shared by machines while they have defined different TARGET_* flags. And sometimes it even causes "Taskhash mismatch" errors. Fix it by overriding with BUILD_* flags. (From OE-Core rev: 55c83cb239df5faf5e2143fffca47f2f16931cb3) Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/sstatesig: avoid reporting duplicate siginfo files from sstatePaul Eggleton2017-04-101-6/+14
| | | | | | | | | | | | | | | | | | | | In find_siginfo(), which is used by bitbake-diffsigs among other things, avoid adding a siginfo file from the sstate-cache where we've already collected a sigdata file from the stamps directory with the same hash. This avoids the possibility that the top two files (as picked by default using the bitbake-diffsigs -t option) are for the same signature and thus the tool would report no differences. In order to do that, just use the hashfiles dict that we already have - we just need to change the code to populate that even if we're collecting matching files without looking for a fixed set of hashes (i.e. taskhashlist isn't set). This replaces previous code in bitbake-diffsigs that attempted to filter these out with limited success. (From OE-Core rev: 5b69eef40868180c59400624096d7ebbbbea446b) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/sstatesig: fix finding native siginfo files in sstate-cachePaul Eggleton2017-04-101-16/+9
| | | | | | | | | | | | | | | | | | When comparing signatures with bitbake-diffsigs -t or bitbake -S printdiff, we use this find_siginfo() function implemented in this module to find the siginfo/sigdata files corresponding to the tasks we're looking for. However, native sstate files go into a NATIVELSBSTRING subdirectory and there was no handling for this when asking about native recipes. I'm not even sure why we were walking SSTATE_DIR in order to find this - we don't need to, we just need to run glob.glob() on the filespec we calculate, which should be a little bit more efficient. (From OE-Core rev: 8cb472e4ed25e56ec0d9cf6d8d101d1ab6687a5b) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: use python2.7 instead of python2Martin Kelly2017-04-101-1/+1
| | | | | | | | | | | | meta/conf/bitbake.conf puts python2.7 into the HOSTTOOLS variable but not python2, so only python2.7 is guaranteed. In addition, on some distros -- such as Amazon Linux -- /usr/bin/python2 doesn't exist but python2.7 does. So, use python2.7 for the --python= argument in the qemu configure step. (From OE-Core rev: 88dc8b532817f4779b35422a413d5c700c130a74) Signed-off-by: Martin Kelly <mkelly@xevo.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest/recipetool: skip create_git in case x11 feature is not presentLeonardo Sandoval2017-04-101-0/+2
| | | | | | | | | | | | The unit test requires x11 as distro feature, otherwise it will fail while building the test requirements. [YOCTO #10903] (From OE-Core rev: 2fe8f39b5f5e7390cc46f8cb47c2503b3c5f78e2) Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>