summaryrefslogtreecommitdiffstats
path: root/scripts
Commit message (Collapse)AuthorAgeFilesLines
* wic/engine: use up all free space when expanding partitionsAnuj Mittal2018-07-181-1/+3
| | | | | | | | | | | | | | | | | | | | | Currently we just divide up the free space by the number of partitions that need to be re-sized. This leads to problems when a user has explicitly specified a subset of partitions (but not all) that need to re-sized along with the sizes. As an example, for an image with 3 partitions, if we use: wic write image.wic /dev/sdb --expand 1:10G This would lead to paritions 2 and 3 each being re-sized to one thirds of the free space instead of half. Change the behavior to use up all the free space. (From OE-Core rev: a88f1b5d88dbc5fb28be24b9787d73b9e0cdf183) Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic/engine: fix errors when expanding partitionsAnuj Mittal2018-07-181-5/+4
| | | | | | | | | | | | | | | | | | | | The UEFI spec implies that GPT partitions should be assumed to be on a 2048 sector boundary (for a 512 byte sector) and the current logic just divides the free sectors available by the number of partitions that need re-sizing, which may or may not align and the final result might overshoot the limits imposed after alignment. Since we are expanding already aligned partitions, just divide up the free space in multiples of 2048. Also use the exec_cmd wrapper instead of the subprocess call directly. Fixes [YOCTO #12840] (From OE-Core rev: 5eef63f5afdfbab8e30748cb1bf42bf2e6524759) Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/runqemu: fix qemumips qemumips64 memory detection kernel panicHe Zhe2018-07-101-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | $ runqemu qemumips64 core-image-minimal nographic qemuparams="-m 512" ... [ 0.000000] Call Trace: [ 0.000000] [<ffffffff801268c0>] clear_page+0x0/0x128 [ 0.000000] [<ffffffff80238158>] get_page_from_freelist+0xab8/0xc00 [ 0.000000] [<ffffffff80238964>] __alloc_pages_nodemask+0xdc/0xf68 [ 0.000000] [<ffffffff80239808>] __get_free_pages+0x18/0x70 [ 0.000000] [<ffffffff80122a4c>] setup_zero_pages+0x1c/0xb8 [ 0.000000] [<ffffffff80c7c998>] mem_init+0x54/0xa0 [ 0.000000] [<ffffffff80c74904>] start_kernel+0x204/0x4d8 [ 0.000000] [<ffffffff8091dfb0>] kernel_entry+0x0/0x40 [ 0.000000] Code: 02002025 1000f8d9 8e634d7c <34860f80> cc9e0000 cc9e0020 cc9e0040 cc9e0060 cc9e0080 [ 0.000000] [ 0.000000] ---[ end trace 0000000000000000 ]--- [ 0.000000] Kernel panic - not syncing: Attempted to kill the idle task! [ 0.000000] ---[ end Kernel panic - not syncing: Attempted to kill the idle task! ... OE uses qemumips to simulate a Malta board by default. As upstream qemu introduced: https://git.qemu.org/?p=qemu.git;a=commit;h=94c2b6aff43cdfcfdfb552773a6b6b973a72ef0b The Malta board can support up to 2GiB of RAM which should be able to boot a Linux kernel built with CONFIG_HIGHMEM enabled and passing "-m 2048" to QEMU and appending the following kernel parameters: ... mem=256M@0x0 mem=256M@0x90000000 mem=1536M@0x20000000 ... But the following commit in kernel broke above mem=X@Y setting which added the memory as reserved memory area. https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=73fbc1eba7ffa3bf0ad12486232a8a1edb4e4411 ... commit 73fbc1eba7ffa3bf0ad12486232a8a1edb4e4411 Author: Marcin Nowakowski <marcin.nowakowski@imgtec.com> Date: Wed Nov 23 14:43:49 2016 +0100 MIPS: fix mem=X@Y commandline processing ... So remove `mem=*' to disable user-defined physical RAM map which let kernel itself caculates memory ranges. Author: Hongxu Jia <hongxu.jia@windriver.com> [ Merge the two fixes for qemumips32 and qemumips64 into one patch, and make it support all mips cases ] (From OE-Core rev: 0220cb34a91658ecc3782ec1a4700dcb5ece37d8) Signed-off-by: He Zhe <zhe.he@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* send-error-report: Fix test for name > 50 charsRichard Purdie2018-07-041-1/+1
| | | | | | | | | A name > 50 chars causes a 500 internal server error and should be warned to the user but the code to do so currently doesn't work. Fix the logic. (From OE-Core rev: 844f8d46f522a994dbff00245c4ffb07452577a8) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* send-error-report: Fix dubious error reportingRichard Purdie2018-07-041-1/+1
| | | | | | | | | | | | | | | | Currently this code prints things like: ERROR: OK which is unhelpful at best. After this change it would print: ERROR: HTTP Error 500 which at least gives us something to work on. (From OE-Core rev: 06079240e4eb0a3e1f528f6c8d6f3ea20754afee) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipetool: add 'edit' subcommandChristopher Larson2018-07-041-0/+54
| | | | | | | | | | This edits the recipe and any bbappends for the specified target. (From OE-Core rev: 7aece42c6b4744c54a8eb05ff90bd3bf4fbb14a3) Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: isoimage-isohybrid: debloat image of redundant rootfsIoan-Adrian Ratiu2018-06-292-27/+2
| | | | | | | | | | | | | | | | There's no reason to have that rootfs.img filesystem in the image: it's not used for anything because both the EFI and legacy boot paths use the /initrd which contains the same contents as the rootfs.img, only compressed. It was probably forgotten in there :) My iso went down from 224 to 94 mb. Tested using UEFI/legacy boots on CD-roms, usb dongle and qemu VM's. (From OE-Core rev: 4c784379524cb12807ef87a02ef1514ed45c1cc3) Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu@ni.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: isoimage-isohybrid: fix UEFI spec breakageIoan-Adrian Ratiu2018-06-291-4/+6
| | | | | | | | | | | | | It's really good that OE supports multiple EFI_PROVIDERs and that commit 9a1709278de87 ("wic: isoimage-isohybrid: use grub-efi from deploy dir") makes re-use of the grub-efi built image, but we should still respect the standard otherwise the ISO will not boot, so install grub images as boot[x64|ia32].efi not ${PN}-boot[x64|ia32].efi. (From OE-Core rev: 1608129692d92c239b5fb9244b649a32b9009254) Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu@ni.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe.scriptutils.run_editor: ditch the error-prone argument quotingChristopher Larson2018-06-271-12/+12
| | | | | | | | | | | Rather than trying to construct a string by quoting the files in an error-prone way, parse $EDITOR to pass a list to subprocess rather than a string. (From OE-Core rev: c9fdf3d046606a0becb2e6b566a481c483b9021a) Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* runqemu-ifdown: ensure to clean up TAPChen Qi2018-06-181-0/+10
| | | | | | | | | | | | | | | | | | In runqemu-ifup, ip command is used to add TAP; in runqemu-ifdown, we should do the reversed logic, using ip command to delete TAP, to make sure TAP is cleaned up by ourselves. I can see that in runqemu-ifdown script, 'tunctl -d' and 'iptables' commands are used to deal with TAP, but these two commands cannot make sure that the TAP is cleaned up. runqemu-ifup uses 'ip' to set up TAP, we really need to do the opposite in runqemu-ifdown. (From OE-Core rev: 322e41de7f4fb21315bf75f1038314c31ac4754b) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* runqemu: add SIGTERM handler to make sure things are cleaned upChen Qi2018-06-181-1/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add SIGTERM handler so that runqemu could clean things up correctly when receving such signal. This problem was originally observed when running testimage. On some hosts, after running testimage task, the user has to manually operate on the tap interface (e.g. `sudo ip link del tap0') in order for the next runqemu command to launch successfully. The problem is about runqemu, SIGTERM and network manager on the host. In testimage task, the runqemu process will receive SIGTERM. In such situation, its cleanup() function is not run, resulting in tap interface not cleaned up. On some hosts, the network manager will bring down the tap interface automatically, thus this problem. I saw this problem on Fedora21. I think we'd better just clean up the tap interface ourselves. So this patch adds to runqemu a SIGTERM handler, in which the actual qemu process is terminated and other things cleaned up. (From OE-Core rev: 02709d4709c56f9b9095e3555da35b659b03a8a3) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemuwrapper-cross: enable multilib and nativesdk variants of the scriptAlexander Kanavin2018-06-184-10/+5
| | | | | | | | | | | | | | | | | | | | | | Previously only one global variant of the script was created, which caused numerous issues: 1) multilib was not properly supported due to multilib variants each needing their own version of the qemu binary and library paths to be set 2) nativesdk was not properly supported for the same reason This patch also moves setting LD_LIBRARY_PATH directly into the recipe, as passing it down from other recipes did not work when said recipes were allarch, and adjusts calls to qemuwrapper from postinst-intercepts, so that its correct variant is selected. Also, the various qemu fallbacks in qemuwrapper script are all removed, as they are no longer necessary. (From OE-Core rev: d10fd6ae3fe46290c6e3a5250878966d9f12ca3f) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* gtk-immodules-cache.bbclass: convert cache creation to postinst_intercept ↵Alexander Kanavin2018-06-181-0/+18
| | | | | | | | | | | | | | | mechanism This has the following benefits: - consistent with how the other caches are created into target rootfs - only runs once per package manager transaction, instead of once per every immodule package - correctly postpones to first boot if qemu is not working; from postinst itself this would've required special arrangements to avoid what is now a do_rootfs failure. (From OE-Core rev: cca3c084b6c9bf600d7306e3fe12c4f236b78656) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* runqemu-extract-sdk: fix whitespace errorsDennis Menschel2018-06-181-7/+7
| | | | | | | | | | Indentation using a mix of whitespaces and tabs has been unified in favor of tabs. (From OE-Core rev: 3827f1aa4a2bb433e445802c48e32f72932950e6) Signed-off-by: Dennis Menschel <menschel-d@posteo.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* runqemu-extract-sdk: support tar.xz formatDennis Menschel2018-06-181-1/+4
| | | | | | | | | | | As the format "tar.xz" is included in the IMAGE_TYPES bitbake variable as defined in meta/classes/image_types.bbclass, it should also be possible to extract a rootfs that has been built using that format. (From OE-Core rev: f813ca7b085c7ddf76a34932e2b3f5bc3372b239) Signed-off-by: Dennis Menschel <menschel-d@posteo.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* send-error-report: decode response from serverRobert Yang2018-06-151-1/+1
| | | | | | | | | | | | | | Fixed: b'Your entry can be found here: http://<snip>' Now looks like: Your entry can be found here: http://<snip> (From OE-Core rev: 4510973fe12a61c21e12b46b8315c56f91eff5b7) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-pkgdata-util: package-info: Re-add support for the --extra optionPeter Kjellerstedt2018-06-041-1/+9
| | | | | | | | | Commit 64d3ce83 broke the --extra option. (From OE-Core rev: cd195bdf5dd2c8ff03c58a63dcabe88b142d2a9c) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-pkgdata-util: Make parse_pkgdatafile() support package suffixed varsPeter Kjellerstedt2018-06-041-28/+18
| | | | | | | | | | | Support for variables suffixed with package names, e.g., PKGV_foo, was removed in commit 3d2c87c4, which broke support for recipes that set other versions on their packages than what is in ${PV}. (From OE-Core rev: 38f8284212370999e1e7b0f6559f7cd786e80d1a) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic/bootimg-efi.py: recognize initrd when using grubAnuj Mittal2018-06-041-2/+18
| | | | | | | | | | | | Make sure that we're able to use the initrd value specified in the wks file when using grub-efi bootloader with bootimg-efi wic plugin. Fixes [YOCTO #12689] (From OE-Core rev: f1d5bb1f21e11714357aff4ae7e52421e3756c5a) Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic/engine.py: improve error message when required tools are missingAnuj Mittal2018-06-041-2/+2
| | | | | | | | | | | Instead of showing that command 'None' was found, show the name of actual command that wasn't found on the host machine or at the native sysroot path provided by user. (From OE-Core rev: 3157ebb131e01e74689b1f87a35278350f315e7d) Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemux86-directdisk.wks: remove uvesafb.mode_optionAnuj Mittal2018-06-041-1/+1
| | | | | | | | | | Let this be dictated by the module parameter value being set by qemu machine configuration. (From OE-Core rev: c40b241e8d40c8bc1c9e6065b12e260662f5bba4) Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* runqemu-extract-sdk: allow install debugfs on rootfsRobert Yang2018-06-041-1/+3
| | | | | | | | | | | | | Usually, the debugfs' (-dbg.tar.*) work follow is: 1) Install regular rootfs to dir_foo 2) Install debugfs (-dbg.tar.*) to the same dir_foo So we need to allow installing the debugfs on top of the rootfs. (From OE-Core rev: c54147b286d72d7c4f8ca55a5a62f5d27bd5364a) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-pkgdata-util: lookup-recipe, package-info: Don't finish prematurelyPeter Kjellerstedt2018-05-221-2/+2
| | | | | | | | | | | | If a package name exists in runtime-rprovides, lookup-recipe and package-info would finish after printing information about that package even if more packages were specified. (From OE-Core rev: 32c2a2ddb1614f978f511dfccb6cc3e9398df841) 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>
* wic: Fix partition files UIDs on multi rootfs imagesRicardo Ribalda Delgado2018-05-222-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a wks makes reference to multiple rootfs, libspeudo data is not properly chossen. This results in filesystems with invalid UIDs for all the files. This can be tested with this .wks file: part / --source rootfs --fstype=ext4 --rootfs-dir=core-image-base part /mnt/data1/ --fstype=ext4 --source rootfs --rootfs-dir=core-image-minimal part /mnt/data2/ --fstype=ext4 --source rootfs --rootfs-dir=core-image-minimal And this script $bitbake core-image-minimal core-image-base syslinux $losetup --partscan --find --read-only --show test*direct $sudo mount /dev/loop0p1 /mnt $ls -lan /mnt otal 40 drwxr-xr-x 18    0    0  1024 May 11 16:11 . drwxr-xr-x 25    0    0  4096 May  6 06:31 .. drwxr-xr-x  2 1000 1000  3072 May 11 15:51 bin drwxr-xr-x  2 1000 1000  1024 May 11 13:59 boot drwxr-xr-x  2 1000 1000  1024 May 11 13:59 dev drwxr-xr-x 25 1000 1000  3072 May 11 15:51 etc drwxr-xr-x  3 1000 1000  1024 May 11 13:59 home drwxr-xr-x  6 1000 1000  3072 May 11 15:51 lib drwx------  2    0    0 12288 May 11 16:11 lost+found drwxr-xr-x  2 1000 1000  1024 May 11 13:59 media drwxr-xr-x  3 1000 1000  1024 May 11 15:50 mnt drwxr-xr-x  2 1000 1000  1024 May 11 13:59 proc drwxr-xr-x  2 1000 1000  1024 May 11 15:51 run drwxr-xr-x  2 1000 1000  3072 May 11 15:51 sbin drwxr-xr-x  2 1000 1000  1024 May 11 13:59 sys drwxr-xr-t  2 1000 1000  1024 May 11 13:59 tmp drwxr-xr-x 10 1000 1000  1024 May 11 14:54 usr drwxr-xr-x  8 1000 1000  1024 May 11 14:55 var $sudo losetup -d /dev/loop0 (From OE-Core rev: 450335ba5e73a375eb9932b4c4cf37979640dbfc) Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* patchreview: don't disable malformed SoB checkRoss Burton2018-05-151-2/+2
| | | | | | | | | We cleaned up the metadata so this can be enabled again. (From OE-Core rev: 9611485bba03ef77ff31121e3b1da7cd57990c3e) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool/upgrade: fix the order of license checksum representationChen Qi2018-05-151-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In most recipes in OE, beginline and endline are before md5 checksum. We should obey this tradition in devtool's upgrade. Otherwise, we might see meaningless change just because of the order change. e.g. -LIC_FILES_CHKSUM = "file://doc/LICENSE;md5=7765a3d787cb4fed3ccc3c9cee030af9 \ - file://plugins/sudoers/redblack.c;beginline=1;endline=41;md5=805782a8466975716f8376b2be9aedde \ - file://lib/util/reallocarray.c;beginline=3;endline=16;md5=85b0905b795d4d58bf2e00635649eec6 \ - file://lib/util/fnmatch.c;beginline=3;endline=27;md5=67f83ee9bd456557397082f8f1be0efd \ - file://lib/util/getcwd.c;beginline=5;endline=27;md5=449af4cc57fc7d46f42090608ba3e681 \ - file://lib/util/glob.c;beginline=6;endline=31;md5=5872733146b9eb0deb79e1f664815b85 \ - file://lib/util/snprintf.c;beginline=6;endline=34;md5=c82c1b3a5c32e08545c9ec5d71e41e50 \ - file://include/sudo_queue.h;beginline=5;endline=27;md5=449af4cc57fc7d46f42090608ba3e681 \ - file://lib/util/inet_pton.c;beginline=3;endline=17;md5=3970ab0518ab79cbd0bafb697f10b33a" +LIC_FILES_CHKSUM = "file://doc/LICENSE;md5=cc4bf2366b059c9598e3947f885931ec \ + file://plugins/sudoers/redblack.c;md5=805782a8466975716f8376b2be9aedde;beginline=1;endline=41 \ + file://lib/util/reallocarray.c;md5=85b0905b795d4d58bf2e00635649eec6;beginline=3;endline=16 \ + file://lib/util/fnmatch.c;md5=67f83ee9bd456557397082f8f1be0efd;beginline=3;endline=27 \ + file://lib/util/getcwd.c;md5=449af4cc57fc7d46f42090608ba3e681;beginline=5;endline=27 \ + file://lib/util/glob.c;md5=5872733146b9eb0deb79e1f664815b85;beginline=6;endline=31 \ + file://lib/util/snprintf.c;md5=c82c1b3a5c32e08545c9ec5d71e41e50;beginline=6;endline=34 \ + file://include/sudo_queue.h;md5=449af4cc57fc7d46f42090608ba3e681;beginline=5;endline=27 \ + file://lib/util/inet_pton.c;md5=3970ab0518ab79cbd0bafb697f10b33a;beginline=3;endline=17 \ + " After this change, it becomes: -LIC_FILES_CHKSUM = "file://doc/LICENSE;md5=7765a3d787cb4fed3ccc3c9cee030af9 \ +LIC_FILES_CHKSUM = "file://doc/LICENSE;md5=cc4bf2366b059c9598e3947f885931ec \ file://plugins/sudoers/redblack.c;beginline=1;endline=41;md5=805782a8466975716f8376b2be9aedde \ file://lib/util/reallocarray.c;beginline=3;endline=16;md5=85b0905b795d4d58bf2e00635649eec6 \ file://lib/util/fnmatch.c;beginline=3;endline=27;md5=67f83ee9bd456557397082f8f1be0efd \ @@ -12,7 +12,8 @@ LIC_FILES_CHKSUM = "file://doc/LICENSE;md5=7765a3d787cb4fed3ccc3c9cee030af9 \ file://lib/util/glob.c;beginline=6;endline=31;md5=5872733146b9eb0deb79e1f664815b85 \ file://lib/util/snprintf.c;beginline=6;endline=34;md5=c82c1b3a5c32e08545c9ec5d71e41e50 \ file://include/sudo_queue.h;beginline=5;endline=27;md5=449af4cc57fc7d46f42090608ba3e681 \ - file://lib/util/inet_pton.c;beginline=3;endline=17;md5=3970ab0518ab79cbd0bafb697f10b33a" + file://lib/util/inet_pton.c;beginline=3;endline=17;md5=3970ab0518ab79cbd0bafb697f10b33a \ + " (From OE-Core rev: 6c5cc1b298be6aa1e9d378bc8349e11cbf17d300) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-depends-dot: print dependency chains for '--why' optionChen Qi2018-05-151-0/+46
| | | | | | | | | | | | | | | | | | When using '--why' option, we currently only list elements. It's better to print out dependency chains. This patch adds such abitility. e.g. $ oe-depends-dot -k util-linux -w recipe-depends.dot Because: packagegroup-core-boot systemd-compat-units systemd shadow core-image-minimal dbus e2fsprogs core-image-minimal -> packagegroup-core-boot -> systemd-compat-units -> systemd -> dbus -> shadow -> util-linux core-image-minimal -> packagegroup-core-boot -> systemd-compat-units -> systemd -> dbus -> e2fsprogs -> util-linux (From OE-Core rev: 1115e06599751f776134674d93627cc381a06660) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool/sdk.py: error out in case of downloading file failureChen Qi2018-05-151-0/+3
| | | | | | | | | | | | | | | | It's possible that downloading file from updateserver fails. In this case, we should error out instead of continue. We have users reporting unexpected behavior of 'devtool sdk-update'. When an invalid url is supplied, e.g., `devtool sdk-update http://invalid', the program reports 'Note: Already up-to-date'. This is obviously not expected. We should error out in such case. (From OE-Core rev: 449564783dfb162536a2f772b3a8704973221e0f) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-buildperf-report: highlight large changes in the HTML reportRoss Burton2018-05-112-3/+8
| | | | | | | | | | If the relative difference is greater than 2%, make the text bold to highlight it. (From OE-Core rev: 500e28311248713d4772480b81b10777390da909) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipetool: fixed uncaught NameError exceptionSarah Marsh2018-05-041-0/+1
| | | | | | | | | | | When packaging a node application, a `NameError` can be thrown in create_npm.py if an optional npm dependency does not support Linux. (From OE-Core rev: 8293201d98d368d6322eaa960fb3e7cee2ba9368) Signed-off-by: Sarah Marsh <sarah.marsh@arm.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic/imager/direct: Ensure correct ROOTFS_DIR is shownRichard Purdie2018-04-201-1/+6
| | | | | | | | | | | | | | | | | | | | This changes the output of "wic create mkefidisk -e core-image-sato" from: The following build artifacts were used to create the image(s): ROOTFS_DIR: /media/build1/poky/build/tmp.wic.ybraavmb/rootfs_copy to: The following build artifacts were used to create the image(s): ROOTFS_DIR: /media/build1/poky/build/tmp/work/qemux86_64-poky-linux/core-image-sato/1.0-r0/rootfs which s much less confusing for the user. [YOCTO #12564] (From OE-Core rev: a4941af2d3624aecc5dcd7ff54b7ea8c9e9dee8b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/test-dependencies.sh: removeMartin Jansa2018-04-131-286/+0
| | | | | | | | | | | | | | | | | | * with RSS used in pyro this script isn't very useful anymore * RSS makes sure that the dependencies are almost always deterministic the only case known to me where dependencies are different based on what was already built in TMPDIR are runtime dependencies resolved by shlibs code in package.bbclass (which is using global pkgdata, not specific to given recipe and its RSS) as described here: https://bugzilla.yoctoproject.org/show_bug.cgi?id=9217#c4 but for this case it's not worth running complete test-dependencies.sh runs (From OE-Core rev: ac582a8f856de8dde6a04d9c1da58618b80559b6) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* yocto-check-layer: add a test for correct setting of ↵Alexander Kanavin2018-04-102-0/+7
| | | | | | | | | | | LAYERSERIES_COMPAT_collection [YOCTO #12661] (From OE-Core rev: 13a80b22f28b81a0082d181674295a0f96111f6b) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool/oeqa: Ensure added layers set LAYERSERIES_COMPATRichard Purdie2018-04-071-0/+1
| | | | | | | | | | Now that we see warnings if LAYERSERIES_COMPAT is unset, the auto generated code from devtool/oeqa needs to set this to avoid warnings which break various tests. (From OE-Core rev: 27568410ebb0d40db3428550704f35199df0e034) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* crosstap: replace script with new python based implementationVictor Kamensky2018-04-071-136/+450
| | | | | | | | | | | | | | | | | | New crosstap python implementation is total replacement for crosstap shell script, that has superseding capabilities. New script support cross compiling of SystemTap scripts for user-land, by using supplied image rootfs. Whereas old script could only deal with scripts against kernel. New script has more complex logic and additional capabilities. As invocation interface new script support old "legacy" mode and provides alternative new regular options interface to access additional functionality. (From OE-Core rev: 1cbbcf26e0a9ca6e0b34a89512bf75dbae8bfaf0) Signed-off-by: Victor Kamensky <kamensky@cisco.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipetool: create: fix port number parsing issueMing Liu2018-04-031-2/+4
| | | | | | | | | | | | | | | | | A flaw was found when I run: $ recipetool create "ssh://git@xxx.xxx:7999/xxx.git" the url turned out to be: "git://git@xxx.xxx/7999/xxx.git;protocol=ssh" after parsing, the port number was parsed as part of the path, this is definitely wrong and lead to fetching failures. This issue could be fixed in reformat_git_uri, by filtering out port numbers when formatting ":". (From OE-Core rev: 4290e04b69360b5e1da9f37166015e30f66cb335) Signed-off-by: Ming Liu <liu.ming50@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/oe-setup-rpmrepo: remove the scriptYi Zhao2018-03-301-103/+0
| | | | | | | | | | | After we switched to RSS, this script was not working for a long time. 'bitbake package-index' can do the same thing and works well. So remove this script. (From OE-Core rev: 94fea92f5e7f7c0765e89743a1586b22186a16cd) Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* checklayer: remove reference to undefined classAnuj Mittal2018-03-201-2/+2
| | | | | | | | | | | LayerError doesn't exist and will lead to an error when this failure code path is hit. (From OE-Core rev: 7780482772d005c77825dc3e99e63f00911156bf) Signed-off-by: Anuj Mittal <anuj.mittal@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 comparing arbitrary commitsMarkus Lehtonen2018-03-161-7/+4
| | | | | | | | | | | Fix a crash when generating a txt report and the two commits to be compared were not consecutive (but there were some tested commits between them). (From OE-Core rev: f3afd2c47f4c740df52dfd80e208ce721d5ebf6e) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* build-recipe-list: improvementsRoss Burton2018-03-151-9/+21
| | | | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* build-recipe-list: build universe instead of worldRoss Burton2018-03-151-1/+1
| | | | | | | | | | | Building world means recipes that are excluded from world build for whatever reason get skipped from the manifests, which isn't useful. Instead building universe and pass -k so that the expected dependency failures are not fatal. (From OE-Core rev: 2d798f9f56fbd7cd20de4b797a476ad24c214ff3) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: add --force-patch-refresh to 'modify' and 'finish' commandsAlexander Kanavin2018-03-111-9/+11
| | | | | | | | | | | | | | | | | | This is very useful for updating patch context so that any fuzz is eliminated. Simply issue: devtool modify <recipe> devtool finish --force-patch-refresh <recipe> <layer_path> Without this flag, devtool will not deem the commits in the workspace different to patches in the layer, even if the commits have different, up-to-date context line in them. (From OE-Core rev: 7e1d1887be8faaaab9996fca9a3fd750aeb7b62f) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: add wks file to make use of exclude-path functionalityCalifornia Sullivan2018-03-061-0/+3
| | | | | | | | | | | | Using --exclude-path and a wks.in file we can create an image that takes the /boot/ directory for the boot partition, has an empty /boot/ directory in the rootfs partition. The boot partition gets mounted to /boot/ after startup. (From OE-Core rev: db904053e8ee80fb6930c5e7e22287927e0f25e2) Signed-off-by: California Sullivan <california.l.sullivan@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Set a miniumum FAT16 volume size.Paulo Neves2018-03-041-1/+1
| | | | | | | | | | | | | | | Set a miniumum FAT16 volume size because images are not valid to parted if this minimum value is not respected. The value set is determined experimentally forr a logical sector size of 512. This fixed my local problem but, there may be better solutions. (From OE-Core rev: f7dfb4d43247d3c13a4e0a3853007d63b9512b83) Signed-off-by: Paulo Neves <ptsneves@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: partition plugin wrongly assumes it is rootfsPaulo Neves2018-03-042-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | The partition plugin is used as the base for other plugins. One of the methods the plugins use, is the prepare_rootfs method. The prepare_rootfs method wrongly assumes that the value ROOTFS_SIZE from bitbake datastore is relevant to every invocation of prepare_rootfs, which it clearly is not, for example in the bootimg-partition case. This commit adds an optional argument to prepare_rootfs where a caller can tell prepare_rootfs if it is an actual rootfs and whether related rootfs information retrieved from bitbake is valid. The default behavior of this optional argument is to assume that the invocation is an actual rootfs, to maintain compatibility with previous implementations. (From OE-Core rev: 654d72d55194ec41bc1aacfcc6b2c8c9a305b042) Signed-off-by: Paulo Neves <ptsneves@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Add post operation hook for SourcePluginParthiban Nallathambi2018-03-043-0/+17
| | | | | | | | | | | | | do_post_partition hook is needed if some operations like security signing the parition needs to be done. source plugins can make use of this to implement post operatiosn in do_post_partition. do_post_partition is called after do_prepare_partition if present. (From OE-Core rev: 5055489b9ab3fda32a285d0d165d080d11a4d432) Signed-off-by: Parthiban Nallathambi <pn@denx.de> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: search: tweak help textPaul Eggleton2018-03-011-2/+2
| | | | | | | | | | | | | | * We now match on more than just target recipes, so don't specify that only target recipes are searched. * We're printing the SUMMARY value in addition to the name, so mention that so it's clear where that text is coming from. * Remind users that they should use quotes around the keyword to avoid shell expansion when using regular expressions. (From OE-Core rev: cc68971557fe065e59ff47657f650051eb85db3c) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: search: also look in recipe cachePaul Eggleton2018-03-011-33/+63
| | | | | | | | | | | | | | | | | | | | | | | If pkgdata isn't present or is incomplete, then you get either a traceback or you don't see the results you were hoping for. The recipe cache that bitbake collects during startup contains some useful information for each recipe that we could search through as well, and we can access it easily using tinfoil's all_recipes() API function, so add some code that does that. (We still show a warning if pkgdata isn't present, as there are certain dynamic packages that are generated at packaging time that won't show up in the cache). One side-effect of this is that we will start showing non-target recipes - that's actually a good thing, since seeing those is useful, however we exclude nativesdk recipes when in the eSDK to avoid confusion since nativesdk isn't directly applicable there. Fixes [YOCTO #12356]. (From OE-Core rev: b8406383886d09a80a9a002150dcf364fa9902d7) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: deploy-target: don't specify ssh/scp port unless user doesPaul Eggleton2018-03-011-8/+4
| | | | | | | | | | | | | If the user doesn't specify a port then we should avoid specifying one on the ssh/scp command line in case the user has configured one for the host they are connecting to, which was being overridden unnecessarily. Fixes [YOCTO #12381]. (From OE-Core rev: f1020eef09fada7ef2231d5528576553f3f6bfe1) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: finish: fix erroneously creating bbappend for relative pathsPaul Eggleton2018-03-011-3/+1
| | | | | | | | | | | | | | | After OE-Core rev 5e3fe00a0233d563781849a44f53885b4e924a9c we call os.path.abspath() on the original layer path, but we later compare that to the destination layer path. If that layer path isn't absolute but is effectively the same path, it should be writing to the original recipe but because we weren't making it absolute we were writing a bbappend instead. Call os.path.abspath() on the destination path as well to avoid that. (From OE-Core rev: a85a78dcf226d160e9b504bfa67b306a9175ac29) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>