summaryrefslogtreecommitdiffstats
path: root/scripts
Commit message (Collapse)AuthorAgeFilesLines
* runqemu: print command search result when not foundRobert Yang2017-12-041-0/+3
| | | | | | | | | | | | This makes debug easier. (From OE-Core rev: b99ba567cd8089a9a3ca01704f6ba6c42d390e9f) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> (cherry picked from commit a453639e19fb2a9f9fb63fddd0b3ee26c0116d91) Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* runqemu: Also specialcase resolution of '.' to the file's locationRichard Purdie2017-12-041-0/+2
| | | | | | | | | | | | Similarly to handling "../", handle "." to resovle to the qemuconf file's current directory. (From OE-Core rev: 9870247d0dc33357988d9636c8ff8db35490752e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 33418ed064fe9cff5b4803f09135a81d9170c189) Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* runqemu: Improve relative path handling in qemuconf filesRichard Purdie2017-12-041-0/+2
| | | | | | | | | | | | | | If a variable starts with "../", its likely its a path and we want to set it to an absolute path relative to the qemuconf file. This means we don't have to use bitbake as often to figure out variables. (From OE-Core rev: 61c449857f056d7c6c29530aa11bf8353b113638) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit dfc7940900d798aa47716288338107e1d46a3972) Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* runqemu: Ensure we process all tap devicesRichard Purdie2017-12-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | The regexp in the script misses some tap devices, e.g. we see output like: runqemu - INFO - Acquiring lockfile /tmp/qemu-tap-locks/tap25.lock failed: [Errno 11] Resource temporarily unavailable runqemu - INFO - Acquiring lockfile /tmp/qemu-tap-locks/tap26.lock failed: [Errno 11] Resource temporarily unavailable runqemu - INFO - Acquiring lockfile /tmp/qemu-tap-locks/tap27.lock failed: [Errno 11] Resource temporarily unavailable runqemu - INFO - Acquiring lockfile /tmp/qemu-tap-locks/tap28.lock failed: [Errno 11] Resource temporarily unavailable runqemu - INFO - Acquiring lockfile /tmp/qemu-tap-locks/tap40.lock failed: [Errno 11] Resource temporarily unavailable runqemu - INFO - Acquiring lockfile /tmp/qemu-tap-locks/tap41.lock failed: [Errno 11] Resource temporarily unavailable What happened to tap29 to tap39? The issue is was we were missing devices with '0' in the number, like "10:" and so on in the output from "ip link". (From OE-Core rev: ec1481f7ad6f2b3d1420027327510bec94dd66a8) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 6447697a48e3b693ee38806bc2ba07c2a65c2bc8) Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipetool: create: fix failure handling included dictsPaul Eggleton2017-12-041-0/+2
| | | | | | | | | | | | | | | | | | | If a setup dict in a python setup.py file pulled in the contents of another dict (e.g. **otherdict), then we got an error when mapping the keys because the key is None in that case. Skip those keys to avoid the error (we pick up the values directly in any case). A quick reproducer for this issue: recipetool create https://files.pythonhosted.org/packages/source/p/pyqtgraph/pyqtgraph-0.10.0.tar.gz (From OE-Core rev: 49b2d571da88fb2afce71835276523ed3538d31f) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> (cherry picked from commit ae62a9953e219df5147ed4a5ae3f4163d51cff28) Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipetool: ignore incidental kernel module sourcePaul Eggleton2017-12-042-3/+5
| | | | | | | | | | | | | | | | | | If the source tree happens to contain a kernel module as an example, a test or under a "contrib" directory then we shouldn't be picking it up and making the determination that the entire thing is a kernel module. An example that triggered this is zstd, which ships a kernel module under contrib/linux-kernel: https://github.com/facebook/zstd (From OE-Core rev: 5c89bd0db1b327483f674802740ff21b909e0876) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Armin Kuster <akuster@mvista.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipetool: pass absolute source tree path to pluginsPaul Eggleton2017-12-041-2/+2
| | | | | | | | | | | We shouldn't be passing a relative path to the plugins if that's what's been specified on the recipetool command line. (From OE-Core rev: 821742f48723a66fdafe5406bb57188b2f88889a) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Armin Kuster <akuster@mvista.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-build-perf-report-email.py: add images as MIME objectsMarkus Lehtonen2017-12-041-21/+21
| | | | | | | | | | | | | Add images as separate MIME objects instead of directly embedding images in the html (as base64 encoded pngs). This makes the emails better suited for certain email servers/clients. (From OE-Core rev: fbbc84d9919d9cc18add03fc617637330721f5d9) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Armin Kuster <akuster@mvista.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Update canned-wks for systemd to use UUID everywhereTom Rini2017-12-041-2/+2
| | | | | | | | | | | | | | | With systemd, the mounting of the swap partition is handled via systemd and will mount it, regardless of if PARTUUID is parsed or not. systemd has a runtime dependency on util-linux-mount so PARTUUID for regular mount points will be handled correctly. Make all partitions that we add to the image make use of UUIDs for maximum portability. (From OE-Core rev: 8bf0e3ee85b22fdd4d8940878b4d99cccff1efd5) Signed-off-by: Tom Rini <trini@konsulko.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Armin Kuster <akuster@mvista.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: When using --use-uuid make sure that we update the fstab with PARTUUIDTom Rini2017-12-041-3/+6
| | | | | | | | | | | | | When we have been told to use the UUID we should also update the fstab to make use of PARTUUID instead of hard-coding the device in question. This will make the resulting image much more portable. (From OE-Core rev: 1d1fdcaf8702110783f2003cd3f8ae96c99a6d72) Signed-off-by: Tom Rini <trini@konsulko.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Armin Kuster <akuster@mvista.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: misc.py: Use mmd from mtools instead of syslinuxSaul Wold2017-12-041-1/+1
| | | | | | | | | | | | | mtools already provides a suite of msdos utilities, switch to this one also. This could allow for future changes to reduce wic's dependecies. (From OE-Core rev: 493bbd9ae773d0713db9782b434ce9543e2266f3) Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Armin Kuster <akuster@mvista.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* runqemu: correct rootfs setup to boot an ide hddimgThomas Perrot2017-12-041-1/+1
| | | | | | | | | | | | vm_drive variable is malformed when the drive type is an ide device. (From OE-Core rev: 02dbf124328eebdfdf62402588a41719953a22bf) Signed-off-by: Thomas Perrot <thomas.perrot@tupi.fr> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 88d7b17871fe8340ab7fd5c901d3a535ae098c3e) Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: misc.py: Added more mtools binariesSaul Wold2017-12-041-0/+3
| | | | | | | | | | | | | | | | This fixes the issue that if you don't have mtools installed on the host thus causing host contamination, that the correct binaries would be selected from the native sysroot. [YOCTO #12173] (From OE-Core rev: 9562669a4979bb31bbc27dc80c6a8d4f08500a49) Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> (cherry picked from commit dca43c557449d3765fec9f8d159d5c9e4ea8b0cb) Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-buildenv-internal: Fix finding build directoryRichard Purdie2017-12-041-0/+3
| | | | | | | | | | | | | | | | | The intent of the env setup scripts is to set BBPATH to point at the build directory. This means if the user changes directory, bitbake can still find the original build directory. The default bblayers.conf files reset BBPATH to the correct components so this is safe and restores the behaviour the script was intended to have. [YOCTO #12163] (From OE-Core rev: bfacf88f15a27db579d8790d92f8497d832961f8) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 82eeb934997c9eaa6443079dfb649a89872a222c) Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: add 'part-name' argument for naming GPT partitionsArtur Mądrzak2017-12-044-0/+15
| | | | | | | | | | | | | | | | | The WIC's 'part' can now give a name for GPT partition in WKS file. It's similar to '--label', but is naming partintions instead file systems. It's required by some bootloaders to partitions have specified names. Backport from master, without it WIC cannot be used on Qualcomm based machines. (From OE-Core rev: 45aee3d57697f8dcc967120b5afd280d5ceadd21) Signed-off-by: Artur Mądrzak <artur@madrzak.eu> Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 9b60e3466ed7cff0cea10815851eb1304002eb52) Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: standard: Expand SRCREV before using it in _update_recipe_srcrevPeter Kjellerstedt2017-10-161-1/+1
| | | | | | | | | | | | | | | | If SRCREV contains a variable reference, any devtool command that would try to update it would fail. E.g., if SRCREV = "R${PV}", then devtool finish without having committed any changes would fail with: oe.patch.CmdError: Command Error: 'sh -c 'git format-patch R${PV} -o /tmp/oepatchb_doareb -- .'' exited with 0 Output: fatal: bad revision 'R' (From OE-Core rev: 094499c819722ad698ccb64ec65dd439b211c31c) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-pkgdata-util: add unescape option to read-valueRoss Burton2017-10-071-0/+5
| | | | | | | | | | Some fields are multiline values which have been escaped, so add an option to unescape the \n and \t. (From OE-Core rev: 4165ec0057c6bbb24de681572034262351d9b34f) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Add option to not change fstabFabio Berton2017-09-263-2/+13
| | | | | | | | | | | | | | | | | Create an option to wic doesn't change fstab file, the final fstab file will be same that in rootfs and wic doesn't update file, e.g adding a new mount point. Users can control the fstab file content in base-files recipe. This is useful if you want to only create an partition but not add fstab mount point or add new mount point using label e.g: LABEL=recovery /recovery auto defaults 0 1 (From OE-Core rev: 00420ec42140c1b752132bda190dede85756d157) Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts: drop True option to getVar callsMing Liu2017-09-262-8/+8
| | | | | | | | | Search made with the following regex: getVar ?\((.*), True\). (From OE-Core rev: b848c3cb495905605283c57c79f2ed8ca17758db) Signed-off-by: Ming Liu <liu.ming50@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: allow multiple /boot partitions with different contentEnrico Scholz2017-09-251-4/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It can be useful to have multiple partitions with '--source bootimg-partition' but different content. E.g. for TI AM335x, one boot partition can contain an first stage bootloader ("MLO"), while the real bootloader and kernel plus devicetree are in another one. Patch allows to specify multiple IMAGE_BOOT_FILES with optional "_label-XXX" or "_uuid-XXX" overrides. E.g. with this patch, a .wks file with | part --source bootimg-partition ... --label=mlo --active | part --source bootimg-partition ... --label=boot0 | part --source bootimg-partition ... --label=boot1 and a recipe with | IMAGE_BOOT_FILES_label-mlo = "\ | MLO-${MACHINE}.img;MLO \ | " | | IMAGE_BOOT_FILES_label-boot0 = "\ | u-boot-${MACHINE}.img;u-boot.img \ | zImage \ | " | | IMAGE_BOOT_FILES_label-boot1 = "${IMAGE_BOOT_FILES_label-boot0}" | | WICVARS += " \ | IMAGE_BOOT_FILES_label-mlo \ | IMAGE_BOOT_FILES_label-boot0 \ | IMAGE_BOOT_FILES_label-boot1 \ | " is possible. It will create one partition with the MLO and two redundant ones with the uboot + kernel. (From OE-Core rev: 8c1dec627e9735260516fe8f0b2bfdb0ee70172b) Signed-off-by: Enrico Scholz <enrico.scholz@ensc.de> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-build-perf-report-email.py: add cc and bcc optionsJoshua Lock2017-09-211-2/+15
| | | | | | | | | | Enable carbon copy and blind carbon copy recipients for the performance report emails. (From OE-Core rev: df5ae8143ff1764b6ed5973ed3d6f1a83ecf45ee) Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts: rename yocto-compat-layer to remove "compatible" nomenclaturePaul Eggleton2017-09-219-31/+31
| | | | | | | | | | | | | | | | | | "Yocto Project Compatible" [1] is a programme which requires you meet specific criteria including going through an application process - it is not sufficient simply to run the script we have created here and have it produce no warnings/errors. To avoid people being confused by the fact that this script uses the term "compatible" or variations thereof, substitute usage of that word with "check" instead. The functionality of the script is unchanged. [1] https://www.yoctoproject.org/ecosystem/yocto-project-branding-program (From OE-Core rev: 2a6126a115f10750ea89f95629d3699ad41c5665) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/oe-build-perf-report: show recipe version changes in html reportMarkus Lehtonen2017-09-183-3/+49
| | | | | | | | | | | | | | | If buildstats are available (for a certain measurement), show recipe version changes between the two builds that are being compared. The information shown includes new and dropped recipes as well as changes in recipe version, revision or epoch. [YOCTO #11382] (From OE-Core rev: 46eb839b51bb1466a9feeb09c9c437d6d45576cc) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/buildstats-diff: move more code to lib/buildstats.pyMarkus Lehtonen2017-09-182-56/+61
| | | | | | | | | | | | | | More refactoring of buildstats-diff script. Move recipe version comparison functionality to scripts/lib/buildstats.py. This patch also compasses some wording changes, i.e. changing 'package' to 'recipe'. [YOCTO #11382] (From OE-Core rev: 2f8942d6830258fcbe1925f12ba1516def32d132) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/oe-build-perf-report: summary of task resource usageMarkus Lehtonen2017-09-183-25/+133
| | | | | | | | | | | | | | | | | Utilize buildstats, if available, and show a summary of the resource usage of bitbake tasks in the html report. The details provided are: - total number of tasks - top 5 resource-hungry tasks (cputime) - top 5 increase in resource usage (cputime) - top 5 decrease in resource usage (cputime) [YOCTO #11381] (From OE-Core rev: ddd9443cb2432af2c15b358bfda708393fa3c417) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/buildstats-diff: move code to lib/buildstats.pyMarkus Lehtonen2017-09-182-250/+329
| | | | | | | | | | | | | | | Move over code from buildstats-diff to new scripts/lib/buildstats.py module in order to share code related to buildstats processing. Also, refactor the code, introducing new classes to make the code readable, maintainable and easier to debug. [YOCTO #11381] (From OE-Core rev: 8a2cd9afc95919737d8e75234e78bbc52e1494a1) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/oe-build-perf-report: tidy up html syntaxMarkus Lehtonen2017-09-181-16/+20
| | | | | | | | | | | | Fix some problems in the html syntax of the generated report: - prevent empty rows in the summary table - add one missing column in the results table (From OE-Core rev: 10883bb49ad2f5309883fd352cf320b2e1648615) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/oe-build-perf-report: provide valid title in the html reportMarkus Lehtonen2017-09-181-1/+3
| | | | | | | | (From OE-Core rev: 46312fde635a717e41d12e7ef01940838316ae17) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/oe-build-perf-report: remove dead codeMarkus Lehtonen2017-09-181-4/+0
| | | | | | | | | | Some leftover from an early prototype. (From OE-Core rev: a28284fc1bbaa18162f65eee0ae2e94d28091b2f) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/oe-build-perf-report: use --hostname in --listMarkus Lehtonen2017-09-181-2/+4
| | | | | | | | | | | Makes it possible to list test results for certain host only, instead of always listing all results from all hosts. (From OE-Core rev: 3c07f1f05440234243c570ebfb42dcda2f455a3d) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/oe-build-perf-report: fix handling of --history-lengthMarkus Lehtonen2017-09-181-1/+1
| | | | | | | | | | | | Don't crash if 'left' revision is older than the range of commits specified with '--history-length'. In this case the 'left' revision takes precedence. (From OE-Core rev: cbeb1fb27329f8eba4d779d22fcad56f0fb03947) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/oe-build-perf-report: add AggregateTestData classMarkus Lehtonen2017-09-182-8/+13
| | | | | | | | | | Making the code a bit more readable. (From OE-Core rev: 25351c7cac167b1a3e8b531e2cdf708192c6fa1f) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/oe-build-perf-report: fix dumping buildstatsMarkus Lehtonen2017-09-181-0/+1
| | | | | | | | | | Fix a misbehavior when some of the buildstats are missing. (From OE-Core rev: 2930515acb5cfdcd335a76ae36fd9f7189207aa3) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: ensure recipes devtool is working on are unlocked within the eSDKPaul Eggleton2017-09-184-31/+56
| | | | | | | | | | | | | | | | | | | | | | | | | 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). (From OE-Core rev: 4e9a0be32fc30fb87d65da7cd1a4015c99533aff) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: rework source extraction so that dependencies are handledPaul Eggleton2017-09-182-147/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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]. (From OE-Core rev: 830dbd66992cbb9e731b48d56fddf8f220349666) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: accept '-' in bitbake variablesEnrico Scholz2017-09-181-1/+1
| | | | | | | | | | | | | | | '-' is valid and common in bitbake variables (e.g. 'FOO_pn-bar'). Accept it and other characters when reading the .env file. Also, allow variables to be empty. (From OE-Core rev: e688ac8e92d2bc451d8b2d437596f630bedccd2c) (From OE-Core rev: 2a69250abf61e51f633033ddb672e8f459191899) Signed-off-by: Enrico Scholz <enrico.scholz@ensc.de> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool/standard: set a preferred provider when adding a new recipe with devtoolJuan M Cruz Alcaraz2017-09-132-0/+45
| | | | | | | | | | | | | | | | | | | | A recipe added with "devtool add" requires to be able to take precedence on recipes previously defined with PREFERRED_PROVIDER. By adding the parameter "--provides" to "devtool add" it is possible to specify an element to be provided by the recipe. A devtool recipe can override a previous PREFERRED_PROVIDER using the layer configuration file in the workspace. E.g. devtool add my-libgl git@git://my-libgl-repository --provides virtual/libgl [YOCTO #10415] (From OE-Core rev: adeea2fe6895898a5e6006e798898f0f5dabd890) Signed-off-by: Juan M Cruz Alcaraz <juan.m.cruz.alcaraz@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: upgrade: check that user has configured git properlyPaul Eggleton2017-09-111-1/+26
| | | | | | | | | | | | | | | | | | | 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) (From OE-Core rev: 802829f1c38d8c5eee11ba1d9ddd37cf02597f6e) Signed-off-by: paul <paul@peggleto-mobl.ger.corp.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/buildhistory-diff: use of argparse instead of optparseDaniela Plascencia2017-09-111-54/+71
| | | | | | | | | | | | | | 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] (From OE-Core rev: e67b40c01fd98048035ca18595d87ae1be050ab4) Signed-off-by: Daniela Plascencia <daniela.plascencia@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: run bmaptool with native Python3Ed Bartosh2017-09-111-2/+4
| | | | | | | | | | | | | Modified wic code to run bmaptool using native Python3 from wic-tools native sysroot. [YOCTO #11891] (From OE-Core rev: 7fca44e03130c0860cc5df2093902773f426c774) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: update help contentEd Bartosh2017-09-111-32/+32
| | | | | | | | | | | Added ext* partitions to the description of 'wic ls', 'wic cp' and 'wic rm' commands. (From OE-Core rev: fcff05d666e55a017f11851aa4aad6c3ba9d4ff0) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: implement ext fs support for 'wic rm'Ed Bartosh2017-09-111-11/+16
| | | | | | | | | | | Implemented removing files or directories from the ext partition using debugfs tool. (From OE-Core rev: be530b7c7beae6f9fc95eed245cb37066d56581e) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: implement ext fs support for 'wic cp'Ed Bartosh2017-09-111-4/+9
| | | | | | | | | | | Implemented copying files to the ext partition using debugfs tool. (From OE-Core rev: 1a2bc70e6f85f414e7af48489e24c09ff335486d) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: implement ext fs support for 'wic ls'Ed Bartosh2017-09-111-5/+10
| | | | | | | | | | | Implemented listing directory contents for ext file system using debugfs tool. (From OE-Core rev: b591ba6f4d684aef3d7666bbdc678954e3255df5) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* yocto-compat-layer.py: Fix trace when layers can't be processedMark Hatle2017-09-111-1/+1
| | | | | | | | | | | | | | | | | | 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' (From OE-Core rev: 32c9b3d99a0c27f6736696082b9da812a8464bf8) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: status: Sort entries before printingOla x Nilsson2017-09-111-1/+1
| | | | | | | | | | Sorted entries are easier to read. (From OE-Core rev: d0a123ec564f6d36977e472f8bc63f9c050ee616) Signed-off-by: Ola x Nilsson <olani@axis.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* linux-yocto: add linux-yocto 4.12 bbappendsLeonardo Sandoval2017-08-3121-14/+592
| | | | | | | | | | | | This allows the yocto-bsp script to pick the 4.12 kernel version when creating a custom BSP. [YOCTO #11995] (From meta-yocto rev: 897c6121404055c4dcb2d9f43f1214d8c99480ea) Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scriptutils: fix fetch_url() to use lowercase dummy recipe namePaul Eggleton2017-08-311-1/+1
| | | | | | | | | | | | | | recipetool create (and hence devtool add) and devtool upgrade use fetch_url() which creates a dummy recipe in order to fetch source. Previously the random part of the name was using uppercase characters, and this triggers a QA warning after OE-Core commit 4713f8b2c4f2c74239d284adcf1e59e61aa66576, so use lowercase instead as I really should have in the first place. (From OE-Core rev: b48c48b00e82491d1c69e4d89a79c6242361abec) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipetool: create: detect Eclipse licensesPaul Eggleton2017-08-311-1/+5
| | | | | | | | | Add detection of EPL 1.0 and EDL 1.0 license files. (From OE-Core rev: 41e7580991f8ad77a57eb7fd292e39f1583109f6) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipetool: create: suppress npm shrinkwrap/lockdown warnings againPaul Eggleton2017-08-311-0/+2
| | | | | | | | | | | | | | Since OE-Core revision 9a47a6690052ef943c0d4760630ee630fb012153 the mechanism we were using to suppress the warnings about NPM_LOCKDOWN and NPM_SHRINKWRAP not being set on the first fetch of the source is no longer available since we are using the normal fetch/unpack tasks to do the job. Use the newly added noverify parameter to suppress the warnings again. (From OE-Core rev: cb083b6f5f6e909b7c85548bcb1a92ca34d0c18a) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>