summaryrefslogtreecommitdiffstats
path: root/scripts
Commit message (Collapse)AuthorAgeFilesLines
* pybootchartgui: render disk space usagePatrick Ohly2016-12-073-0/+99
| | | | | | | | | | | | | | | | | | | | | | | This adds a new, separate chart showing the amount of disk space used over time for each volume monitored during the build. The hight of the graph entries represents the delta between current usage and minimal usage during the build. That's more useful than showing just the current usage, because then a graph showing changes in the order of MBs in a volume that is several GB large would be just flat. The legend shows the maximum of those deltas, i.e. maximum amount of space needed for the build. Minor caveat: sampling of disk space usage starts a bit later than the initial task, so the displayed value may be slightly lower than the actual amount of space needed because sampling does not record the actual initial state. (From OE-Core rev: 263d189d066b578debf08b2bd07494a69b70f70d) Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pybootchartgui/parsing.py: fix error handling in meminfo parserPatrick Ohly2016-12-071-1/+1
| | | | | | | | | | | When matching fails, m.group(0) is invalid and can't be used in the error message. (From OE-Core rev: ddfea21e06a2e6b1a1e766969f8c134a6de7388a) Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pybootchartgui/draw.py: skip empty CPU and disk usage chartsPatrick Ohly2016-12-071-48/+50
| | | | | | | | | | | The only real change is the addition of two if checks that skips the corresponding drawing code when there is no data. (From OE-Core rev: 1658fd5e9ca1ba793cae604c2a395d54e3ec9056) Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pybootchartgui: show system utilizationPatrick Ohly2016-12-072-20/+57
| | | | | | | | | | | | | | | This enables rendering of the original bootchart charts for CPU, disk and memory usage. It depends on the /proc samples recorded by the updated buildstats.bbclass. Currently, empty charts CPU and disk usage charts are drawn if that data is not present; the memory chart already gets skipped when there's no data, which will also have to be added for the other two. (From OE-Core rev: 233d3e50b361feea07803a9c0f2a691e687c6cd5) Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pybootchartgui/draw.py: fix drawing of samples not starting at zeroPatrick Ohly2016-12-071-1/+1
| | | | | | | | | | | | The code did not handle x scaling correctly when drawing starts at some time larger than zero, i.e. it worked for normal bootchart data, but not for the system statistics recorded by buildstats.bbclass. (From OE-Core rev: 166f8f9aaa1f01fc6d6a5451f8f06b815c51ffae) Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pybootchartgui/draw.py: allow moving process chart up and downPatrick Ohly2016-12-071-1/+1
| | | | | | | | | | | | | | | | | | | | Substracting curr_y when determining the hight of the process chart is wrong because the height is independent of the position where the chart is about to be drawn. It happens to work at the moment because curr_y is always 10 when render_processes_chart() gets called. But it leads to a negative height when other charts are drawn above it, and then the grid gets drawn on top of those other charts. Substracting some constant is relevant because otherwise the box is slightly larger than the process bars. Not sure exactly where that comes from (text height?); leg_s seems a suitable constant and happens to be 10, so everything still gets rendered exactly as before. (From OE-Core rev: b6bb690728c329ae448f89a1b68298c6dd8a573a) Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/send-pull-request: Avoid multiple chain headersPatrick Ohly2016-12-071-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | When creating a patch set with cover letter using the send-pull-request script, both the "In-Reply-To" and "References" headers are appended twice in patch 2 and subsequent. That's because git-format-patch already inserted them and then git-send-email repeats that. Suppressing mail threading in git-send-email with --no-thread avoids the problem and is the right solution because it works regardless whether git-send-email is called once or twicee. Repeating these headers is a violation of RFC 2822 and can confuse mail programs. For example, Patchwork does not detect a patch series problem when there are these extra headers. [YOCTO #10718] (From OE-Core rev: 303a1aa3df43eb0b693d8602062fa33c4a08fdd6) Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bb-perf: plot histograms base on buildstats dataLeonardo Sandoval2016-11-301-0/+157
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Scripts that produces script data to be consumed by gnuplot. There are two possible plots depending if either the -S parameter is present or not: * without -S: Produces a histogram listing top N recipes/tasks versus stats. The first stat defined in the -s parameter is the one taken into account for ranking * -S: Produces a histogram listing tasks versus stats. In this case, the value of each stat is the sum for that particular stat in all recipes found. Stats values are in descending order defined by the first stat defined on -s EXAMPLES 1. Top recipes' tasks taking into account utime $ buildstats-plot.sh -s utime | gnuplot -p 2. Tasks versus utime:stime $ buildstats-plot.sh -s utime:stime -S | gnuplot -p 3. Tasks versus IO write_bytes:IO read_bytes $ buildstats-plot.sh -s 'IO write_bytes:IO read_bytes' -S | gnuplot -p (From OE-Core rev: 74408c19fba89de54c093fccf65b3a072d6a197b) Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: Build and package precompiled modulesDominic Sacré2016-11-301-0/+10
| | | | | | | | | | | | | | | | | | | | | Remove the patch that was applied in the python3 and python3-native recipes to skip compilation of python modules. Modify generate-manifest-3.5.py to match '__pycache__' directories in FILES_*. This is necessary because Python3 puts .pyc files in '__pycache__' subdirectories one level below the corresponding .py files, whereas in Python2 they used to be right next to the sources. This change significantly reduces the startup overhead of Python3 scripts. For example, on a Cortex-A9, "python3 -c pass" took 0.40s before, and 0.19s after. (From OE-Core rev: bb4d689769703177dbb0df0935e15016b879f42b) Signed-off-by: Dominic Sacré <dominic.sacre@gmx.de> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: fix handling of unicode characters from subprocess stdoutJiajie Hu2016-11-231-2/+3
| | | | | | | | | | | | | | | | | | In previous implementation, a UnicodeDecodeError exception will be raised if multi-byte encoded characters are printed by the subprocess. As an example, the following command will fail in an en_US.UTF-8 environment because wget quotes its saving destination with '‘'(0xE2 0x80 0x98), while just the first byte is provided for decoding: devtool add recipe http://example.com/source.tar.xz The patch fixes the issue by avoiding such kind of incomplete decoding. (From OE-Core rev: 1875ea92546d23abcab1b40b562477a0016f712d) Signed-off-by: Jiajie Hu <jiajie.hu@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts: Specify the stats to take into accountLeonardo Sandoval2016-11-231-17/+82
| | | | | | | | | | | | | | | | | | | | | | | | | There are many more stats on buildstats that 'Elapsed time', so make the script more flexible to support all stats. Some cmd line examples: $ buildstats.sh -s 'utime' Buildstats' data covers proc's stats in different areas, including CPU times, IO, program system resources and child program system resources. In order to print values on each of these sets from command line, one can use the following: $ buildstats.sh -H -s 'TIME' | less $ buildstats.sh -H -s 'IO' | less and 'RUSAGE' and 'CHILD_RUSAGE' for program and program's child system resources. (From OE-Core rev: 81479b191287ccbf4cf94fa2d0ad46813091bca1) Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: modify: support recipes with only local files as sourcePaul Eggleton2016-11-231-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The hello-mod recipe is unusual in that it has only local files in SRC_URI and builds these out of ${WORKDIR}. When you use devtool modify on it, devtool puts all of those files in an "oe-local-files" subdirectory of the source tree, which is not ${S} (or ${B}) any more and thus building the recipe afterwards fails. It's a bit of a hack, but symlink the files in oe-local-files into the source tree (and commit the symlinks with an ignored commit so that the repo is clean) to work around the problem. We only do this at time of extraction, so any files added to or removed from oe-local-files after that won't be handled, but I think there's a limit to how far we should go to support these kinds of recipes - ultimately they are anomalies. I initially tried a hacky workaround where I set effectively set B = "${WORKDIR}" and that allowed it to build, but other things such as the LIC_FILES_CHKSUM checks still broke because they expected to find files in ${S}. Another hack where I set the sourcetree to point to the oe-local-files subdirectory works for hello-mod but not for makedevs since whilst that is similar, unlike hello-mod it does in fact have files in the source tree (since it has a patch that adds COPYING) and thus the same issue occurred. Also tweak one of the tests that tries devtool modify / update-recipe on the makedevs recipe to try building it since that would have caught this issue. Fixes [YOCTO #10616]. (From OE-Core rev: 857c06d6a1d161bf5a01311d07758bd4241929a3) 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>
* recipetool: add postinst to .deb importStephano Cetola2016-11-231-3/+32
| | | | | | | | | | | | | | The .deb import feature did not import postinst, postrm, preinst, or prerm functions. This change checks to see if those files exist, and if so, adds the appropriate functions. [ YOCTO #10421 ] (From OE-Core rev: ebb73aa6ad920bfd6a23f8c20105d6bcf07dd3d5) Signed-off-by: Stephano Cetola <stephano.cetola@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-selftest: enforce en_US.UTF-8 localeMaciej Borzecki2016-11-231-0/+3
| | | | | | | | | | | Replicate bitbake and eforce en_US.UTF-8 locale so that ouptut of locale-aware tools remains stable. (From OE-Core rev: 17cd2cb99d3610fd77595ff116b2168188c250cd) Signed-off-by: Maciej Borzecki <maciej.borzecki@rndity.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: update-recipe: support replacing remote patchesPaul Eggleton2016-11-231-2/+24
| | | | | | | | | | | | | | | | | | | If you have a patch remotely fetched in a recipe (e.g. from an http server) that needs updating then add a local version and substitute the entry in SRC_URI to point to it. One can argue about how desirable it is to be modifying patches fetched in this way, but then one can argue about how desirable it is to have such patches in the recipe in the first place - and in any case if devtool update-recipe is to correctly transfer changes to such patches made in the git repository within the source tree to the recipe then there isn't much choice but to do it this way. (From OE-Core rev: a19c26cc78a181f9dd2706dd42e7e450d7ad4082) 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>
* devtool: update-recipe: fix handling of compressed local patchesPaul Eggleton2016-11-231-18/+37
| | | | | | | | | | | | | | | | | | | | It is possible to use gzip or bzip2 to compress patches and still refer to them in compressed form in the SRC_URI value within a recipe. If you run "devtool modify" on such a recipe, make changes to the commit for the patch and then run devtool update-recipe, we need to correctly associate the commit back to the compressed patch file and re-compress the patch, neither of which we were doing previously. Additionally, add an oe-selftest test to ensure this doesn't regress in future. Fixes [YOCTO #8278]. (From OE-Core rev: e47d21624dfec6f71742b837e91da553f18a28c5) 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>
* devtool: update-recipe: check output before treating it as a stringPaul Eggleton2016-11-231-4/+5
| | | | | | | | | | | | | | | | | | As of the move to Python 3 and the fixes we applied at that time, bb.process.run() will return a byte array of length 0 rather than an empty string if the output is empty. That may be a bug that we should fix, but for now it's easiest to just check the result here before treating it as a string. This fixes running "devtool update-recipe" or "devtool finish" on a recipe which has no source tree, for example initramfs-framework. Fixes [YOCTO #10563]. (From OE-Core rev: 66bf6978fc807ecc422fb6b6328f68bc3406cf15) 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>
* conf: Remove legacy X input driversJussi Kukkonen2016-11-155-9/+1
| | | | | | | | | | | xf86-input-libinput is RRECOMMENDed by xserver-xorg, these legacy drivers are not needed. (From meta-yocto rev: 715f72d7842b4a789a78e7889b2f01cd41f02df8) Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-selftest: fix handling of test cases without ID in --list-tests-byMaciej Borzecki2016-11-151-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | Running `oe-selftest --list-tests-by module wic` will produce the following backtrace: Traceback (most recent call last): File "<snip>/poky/scripts/oe-selftest", line 668, in <module> ret = main() File "<snip>/poky/scripts/oe-selftest", line 486, in main list_testsuite_by(criteria, keyword) File "<snip>/poky/scripts/oe-selftest", line 340, in list_testsuite_by ts = sorted([ (tc.tcid, tc.tctag, tc.tcname, tc.tcclass, tc.tcmodule) for tc in get_testsuite_by(criteria, keyword) ]) TypeError: unorderable types: int() < NoneType() The root cause is that a test case does not necessarily have an ID assigned, hence its value is None. Since Python 3 does not allow comparison of heterogeneous types, TypeError is raised. (From OE-Core rev: 71c6790689e2cbd3c4e882335b3b03e635ad46ed) Signed-off-by: Maciej Borzecki <maciej.borzecki@rndity.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: fix function comment typosMaciej Borzecki2016-11-151-2/+2
| | | | | | | | | | | Fix typos in documentation of Image.add_partition() and Image.__format_disks(). (From OE-Core rev: f5bf7bf253224912c66bab89f48ff63a73e0d698) Signed-off-by: Maciej Borzecki <maciej.borzecki@rndity.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: check that filesystem is specified for a rootfs partitionMaciej Borzecki2016-11-151-0/+4
| | | | | | | | | | | | | We explicitly check for --fstype if no source was provided for a partition. However, this was not the case for rootfs partitions. Make sure to raise an error if filesystem was left unspecified when preparing a rootfs partition image. (From OE-Core rev: b8c35fcad57810a87aa25ebeb533adf286eed565) Signed-off-by: Maciej Borzecki <maciej.borzecki@rndity.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: use partition size when creating empty partition filesMaciej Borzecki2016-11-151-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | It seems that prepare_empty_partition_ext() and prepare_empty_partition_btrfs() got broken in commit c8669749e37fe865c197c98d5671d9de176ff4dd, thus one could observe the following backtrace: Backtrace: File "<snip>/poky/scripts/lib/wic/plugins/imager/direct_plugin.py", line 93, in do_create creator.create() File "<snip>/poky/scripts/lib/wic/imager/baseimager.py", line 159, in create self._create() File "<snip>/poky/scripts/lib/wic/imager/direct.py", line 290, in _create self.bootimg_dir, self.kernel_dir, self.native_sysroot) File "<snip>/poky/scripts/lib/wic/partition.py", line 146, in prepare method(rootfs, oe_builddir, native_sysroot) File "<snip>/poky/scripts/lib/wic/partition.py", line 325, in prepare_empty_partition_ext os.ftruncate(sparse.fileno(), rootfs_size * 1024) NameError: name 'rootfs_size' is not defined (From OE-Core rev: 0bf686739a5e8a1193f5be5aa60afbf2ea1e5074) Signed-off-by: Maciej Borzecki <maciej.borzecki@rndity.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: make sure that partition size is always an integer in internal processingMaciej Borzecki2016-11-153-6/+12
| | | | | | | | | | | | The size field of Partition class is expected to be an integer and ought to be set inside prepare_*() method. Make sure that this is always the case. (From OE-Core rev: a37838f995ae642b0b8bdd47a605a264fb3bf200) Signed-off-by: Maciej Borzecki <maciej.borzecki@rndity.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd-bootdisk.wks: use PARTUUIDEd Bartosh2016-11-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | Root device name in systemd-bootdisk.wks is 'sda'. This can cause images, produced using this wks to refuse booting if real device name is not 'sda'. For example, when booting MinnowBoard MAX from MicroSD card the boot process stucks with this message on the boot console output: Waiting for root device /dev/sda2... This happens because real device name of MicroSD card on this device is mmcblk1. Used --use-uuid option for root partition. This should make wic to put partiion UUID instead of device name into kernel command line. [YOCTO #10485] (From OE-Core rev: 5b73d5f484cc844affe91ec19d881d42e187f30c) 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>
* runqemu: Split out the base name of QB_DEFAULT_KERNELAlistair Francis2016-11-151-1/+4
| | | | | | | | | | | | The function write_qemuboot_conf() in qemuboot.bbclass always inserts the full path into QB_DEFAULT_KERNEL. Remove this path before using the variable. (From OE-Core rev: 7c0fdfa1316011b856a795d8e42c36ac8b5638b2) Signed-off-by: Alistair Francis <alistair.francis@xilinx.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: add "rename" subcommandPaul Eggleton2016-11-072-1/+203
| | | | | | | | | | | | | | | | When you run devtool add on a source tree we attempt to figure out the correct name and version for the recipe. However, despite our best efforts, sometimes the name and/or version we come up with isn't correct, and the only way to remedy that up until now was to reset the recipe, delete the source tree and start again, specifying the name this time. To avoid this slightly painful procedure, add a "rename" subcommand that lets you rename the recipe and/or change the version. (From OE-Core rev: 9303d8055c45a0f6af295d70a6f6a8b9d8d8a7c9) 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>
* recipetool: create: separate LICENSE items with & by defaultPaul Eggleton2016-11-071-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | recipetool sets the LICENSE value based on licenses detected from the source tree. If there are multiple licenses then they were being separated by spaces, but this isn't actually legal formatting and if you're using "devtool add" you get a warning printed when devtool parses the recipe internally. Earlier I had made a conscious decision to do it this way since it's up to the user to figure out whether the multiple licenses should all apply (in which case they'd be separated with &) or if there is a choice of license (in which case | is the correct separator). However, I've come to the conclusion that we can just default to & and then the ugly warning goes away, and it's the safest alternative of the two (and most likely to be correct, since it's more common to have a codebase which is made up of code with different licenses, i.e. all of them apply to the combined work). I've tweaked the comment that we add to the recipe to explicitly state that we've used & and that the user needs to change that if that's not accurate. Fixes [YOCTO #10413]. (From OE-Core rev: ecac6aee8cf3313350b58c21012bcd67cfb915e4) 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>
* devtool: finish: warn if moving recipe to unconfigured destination layerPaul Eggleton2016-11-071-0/+5
| | | | | | | | | | | | | | If you run devtool finish to move a recipe created in the workspace by devtool add or devtool upgrade to a layer, and that layer is not currently included in bblayers.conf (perhaps unintentionally), then the recipe will no longer be visible to bitbake. In this scenario, show a warning so that the user isn't surprised by the recipe "going missing". (From OE-Core rev: 4da8a58e2997db4f24ae0cac0ba27259d7857a05) 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>
* devtool: finish: fix error if destination layer is not in bblayers.confPaul Eggleton2016-11-071-1/+3
| | | | | | | | | | | | | | | | | | | | | | If devtool finish is run on a recipe where the recipe file itself is in the workspace (e.g. where devtool add / devtool upgrade has been used) and the specified destination layer is not in bblayers.conf, then we need to avoid running bitbake -c clean at the end because the recipe has been moved, but the bbappend is still present in the workspace layer at that point and so if we do it will fail due to the dangling bbappend. It's difficult to do the clean at the point we'd want to because tinfoil is holding bitbake.lock for most of the time, but in any case cleaning the recipe is less important than it used to be since we started managing the sysroot contents more strictly, so just disable cleaning under these circumstances to avoid the problem. Fixes [YOCTO #10484]. (From OE-Core rev: c6980307d43632f4172e79d9607004203af4e9c8) 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>
* devtool: add: show recipetool create outputPaul Eggleton2016-11-072-8/+22
| | | | | | | | | | | | | | | When running devtool add, instead of hiding the recipetool create output, change it so that it's appropriate to show in the devtool context and show it in real-time. This means that you get status output such as when a URL is being fetched (though currently no progress information.) recipetool create now has a hidden --devtool option to enable this display mode. (From OE-Core rev: 219aec8803de4ef04c514c87ecfb15359c9424a6) 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>
* wic: call os.ftruncate instead of running truncateEd Bartosh2016-11-062-7/+13
| | | | | | | | | | | Replaced running of truncate utility with the standard library call os.ftruncate (From OE-Core rev: 1ba6101ceaee354816e690d44bc9a5dd8dcf4011) 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>
* task-time: Add simple buildstats analysis scriptUlf Magnusson2016-11-061-0/+132
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The 'task-time' Python script is used for simple manual analysis of buildstats. It displays task timing information in the same format (and using the same calculation) as the Bash 'time' builtin, and can optionally sort tasks by real (wall-clock), user (user space CPU), or sys (kernel CPU) time used. The timing information comes from the getrusage(2) fields added by commit adfdca4df18f ("buildstats: Improve to add getrusage data and corrected IO stats"). That commit is required for the script to work. Example 1: Running 'task-time' on a specific task buildstat: $ task-time ./20161005235448/gettext-0.16.1-r6/do_compile ./20161005235448/gettext-0.16.1-r6/do_compile: real 0m54.560s user 0m46.028s sys 0m2.772s Example 2: Running 'task-time' on a directory, sorting on wall-clock time: $ task-time tmp/buildstats/20161018083535 --sort real tmp/buildstats/20161018083535/bash-4.3.30-r0/do_fetch: real 10m59.140s user 0m1.152s sys 0m0.320s tmp/buildstats/20161018083535/readline-native-6.3-r0/do_fetch: real 8m57.310s user 0m0.860s sys 0m0.288s tmp/buildstats/20161018083535/perl-5.22.1-r0/do_compile: real 4m28.840s user 4m1.348s sys 0m15.816s ... Example 3: Running 'task-time' on all do_compile buildstats for a particular build by using shell globbing, sorting on user space CPU time: $ task-time tmp/buildstats/20161018083535/*/do_compile --sort user tmp/buildstats/20161018083535/qemu-native-2.7.0-r1/do_compile: real 0m49.570s user 21m45.236s sys 1m44.380s tmp/buildstats/20161018083535/linux-yocto-4.8+gitAUTOINC+03bf3dd731_67813e7efa-r0/do_compile: real 0m49.530s user 21m39.588s sys 1m59.576s tmp/buildstats/20161018083535/gcc-cross-i586-6.2.0-r0/do_compile: real 1m8.130s user 15m54.256s sys 1m28.776s ... Example 4: Comparing a task between two builds: $ task-time 201610052{25856,35448}/gettext-0*/do_compile --sort real 20161005235448/gettext-0.16.1-r6/do_compile: real 0m54.560s user 0m46.028s sys 0m2.772s 20161005225856/gettext-0.19.8.1-r0/do_compile: real 0m41.520s user 2m17.312s sys 0m7.536s (From OE-Core rev: 76dfad5b598e2937554bddeecf47482b14a854cd) Signed-off-by: Ulf Magnusson <ulfalizer@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-setup-builddir: fix TEMPLATECONF error messagePaul Eggleton2016-11-061-1/+1
| | | | | | | | | | | | | This directory shouldn't contain local.conf and bblayers.conf - just templates for them; except it doesn't have to contain those, it just has to exist to pass this test. Change the error message accordingly, and mention TEMPLATECONF so that the user has at least some context. (From OE-Core rev: 61adaaa4348c670769f8750223977dbefe369ffb) 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>
* runqemu: add user mode (SLIRP) support to x86 QEMU targetsTodor Minchev2016-11-061-1/+2
| | | | | | | | | | | | | | | | Using 'slirp' as a command line option to runqemu will start QEMU with user mode networking instead of creating tun/tap devices. SLIRP does not require root access. By default port 2222 on the host will be mapped to port 22 in the guest. The default port mapping can be overwritten with the QB_SLIRP_OPT variable e.g. QB_SLIRP_OPT = "-net nic,model=e1000 -net user,hostfwd=tcp::2222-:22" (From OE-Core rev: 80e6fc678f3dcd774d9376cdf2a6afcba2cd0b09) Signed-off-by: Todor Minchev <todor.minchev@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-pkgdata-util: Use standard verb form in help info.Robert P. J. Day2016-11-061-1/+1
| | | | | | | | | | "Shows" -> "Show", to be consistent with standard form of help output. (From OE-Core rev: 5a7994df6cdb5af8d240e2802e6bb3d9671f17e3) Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* mkefidisk.sh: add deprecation warning to the outputEd Bartosh2016-11-061-0/+5
| | | | | | | | | | | | | mkefidisk.sh will soon be deprecated in favor of .wic images. Added deprecation warning to the script to inform users that this script will soon be removed from the codebase. (From OE-Core rev: ccef84fac7b20d483df87aac8c620459fe31b6af) 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>
* combo-layer: handle file_exclude matching dirsOlaf Mandel2016-10-281-0/+2
| | | | | | | | | | | | | | | If file_exclude matches a directory, os.unlink() got called with this directory as an argument. Filter out paths that end in a directory separator. This still leaves the (then empty) directories, but this does not affect the git commit. (From OE-Core rev: e84b9185cc8f8e9f9df0e050543bb3a2c59426c3) Signed-off-by: Olaf Mandel <o.mandel@menlosystems.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate-sysroot-cruft: Add /etc/ld.so.conf to whitelistMartin Jansa2016-10-281-0/+12
| | | | | | | | | | | * it reports at least 2 issues in every build (this file in native and target sysroot) add it to whitelist (From OE-Core rev: 798107887294072cacb23b668f446e151fe3c35f) 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>
* test-dependencies.sh: Strip also '\.bb: .*' before adding failed recipe to ↵Martin Jansa2016-10-281-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | list of failed * format of bitbake tasks changed in: 2c88afb taskdata/runqueue: Rewrite without use of ID indirection -ERROR: Task 4 (/OE/build/oe-core/openembedded-core/meta/recipes-devtools/rpm/sftp.bb, do_fetch) failed with exit code '1' +ERROR: Task /OE/build/oe-core/openembedded-core/meta/recipes-devtools/rpm/sftp.bb:do_fetch (/OE/build/oe-core/openembedded-core/meta/recipes-devtools/rpm/sftp.bb:do_fetch) failed with exit code '1' so strip not only '\.bb, .*' used before, but also '\.bb:.*' to drop the task name to get recipe name. * for more details see: http://lists.openembedded.org/pipermail/openembedded-core/2016-June/123132.html * without this change you can see test-dependencies.sh trying to rebuild packages like: Building recipe: fbprogress (6/21) Building recipe: fbprogress.bb:do (7/21) where the later of course doesn't exist as a recipe (From OE-Core rev: 26ed215c30c183a3814889c145670220fd3b8bfa) 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>
* combo-layer: handle ambiguous git argumentsOlaf Mandel2016-10-281-1/+1
| | | | | | | | | | | | | | | | If a branch/src-repository has the same name as a file/directory, git since 1.4.0(?) gives an error like the one below: ambiguous argument 'bitbake': both revision and filename Use '--' to separate paths from revisions, like this: 'git <command> [<revision>...] -- [<file>...]' Add two dashes to make the intent clear. (From OE-Core rev: a84ec3ac15a59f72fcb46d97942009c8e459b5d0) Signed-off-by: Olaf Mandel <o.mandel@menlosystems.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* combo-layer: fix crashes on wrong tempfile usageOlaf Mandel2016-10-281-3/+3
| | | | | | | | | | | | | | When calling tempfile.NamedTemporaryFile().write(str()), at least on Python 3.4.2 this fails with this error: TypeError: 'str' does not support the buffer interface Change the file-mode for all such files from binary to text mode. (From OE-Core rev: d08f3882a35eec8a042d2501715684444e353605) Signed-off-by: Olaf Mandel <o.mandel@menlosystems.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* buildhistory-collect-srcrevs: Fix multiple SRCREV definitionsTobias Hagelborn2016-10-281-1/+1
| | | | | | | | | | Fixed copy & paste error causing error when extracting SRCREV for packages containing multiple SRCREV definitons. (From OE-Core rev: abcb6efb6af2b2f31a12c373f8fcabce71d305c0) Signed-off-by: Tobias Hagelborn <tobias.hagelborn@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: runqemu: work around runqemu script path assumptionPaul Eggleton2016-10-251-1/+6
| | | | | | | | | | | | | | | The new runqemu script assumes that if OECORE_NATIVE_SYSROOT is set then it shouldn't try to run bitbake to find out the values of various variables such as DEPLOY_DIR_IMAGE; this assumption is incorrect for the extensible SDK. To work around this, clear OECORE_NATIVE_SYSROOT in the environment when running runqemu. Fixes [YOCTO #10447]. (From OE-Core rev: abff69a48bf3076ce8e21356accdc8d85d2c8dbf) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* canned-wks: use GPT partition tableEd Bartosh2016-10-113-3/+3
| | | | | | | | | | | | | | | | | | | | | | | According to UEFI specification all EFI platforms must support GUID Partition Table(GPT) disk layout. Here is a list of advantages of using GPT disk layout over the legacy MBR partitioning: - Logical Block Addresses (LBAs) are 64 bits (rather than 32 bits). - Supports many partitions (rather than just four primary partitions). - Provides both a primary and backup partition table for redundancy. - Uses version number and size fields for future expansion. - Uses CRC32 fields for improved data integrity. - Defines a GUID for uniquely identifying each partition. - Uses a GUID and attributes to define partition content type. - Each partition contains a 36 character human readable name. Used GPT partitioning in all EFI kickstart files. Tested result images on NUC, MinnowBoard MAX and MinnowBoard Turbot. (From OE-Core rev: 66d4efeb0face5fc8a1755dcd2ed3a611997a04d) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* systemd-bootdisk.wks: update kernel command lineEd Bartosh2016-10-111-1/+1
| | | | | | | | | | | | | Used ttyS0 console. Removed usage of ttyPCH0 (FRI2 leftover) Decreased bootloader timeout to 5 seconds Removed 'vmalloc=256MB snd-hda-intel.enable_msi=0' as it's not needed for any of reference BSPs. (From OE-Core rev: ee16a283d695112236906338887c6eba109c9fb5) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* mkgummidisk.wks: update kernel command lineEd Bartosh2016-10-091-1/+1
| | | | | | | | | | | | | Used ttyS0 console. Removed usage of ttyPCH0 (FRI2 leftover) Decreased bootloader timeout to 5 seconds Removed 'vmalloc=256MB snd-hda-intel.enable_msi=0' as it's not needed for any of reference BSPs. (From OE-Core rev: 7b2443364a42c731bc9eefa6bb460262464e26b6) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* machine.cfg: Unset CONFIG_64BIT for qemu i386 architectureLeonardo Sandoval2016-10-081-1/+3
| | | | | | | | | | In modern kernels, ARCH=x86 defaults to 64 bits, so explicitly unset this word length for qemu i386 architectures. (From meta-yocto rev: 9750779bc78de3ea33d7f88e4972a5b21c3f811b) Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* mkefidisk.wks: update kernel command lineEd Bartosh2016-10-071-1/+1
| | | | | | | | | | | | | Used ttyS0 console. Removed usage of ttyPCH0 (FRI2 leftover) Decreased bootloader timeout to 5 seconds Removed 'vmalloc=256MB snd-hda-intel.enable_msi=0' as it's not needed for any of reference BSPs. (From OE-Core rev: b46825a6ce5cecd24fed814bae48f9cfd0b97568) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* mkefidisk.wks: use MSDOS partition tableEd Bartosh2016-10-071-1/+1
| | | | | | | | | | Stopped using GPT partition table in mkefidisk.wks as it's not supported by all reference hardware. (From OE-Core rev: 07bb11b097a67ff89ae633fa1992db5494d75c0c) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: rewrite MBR disk identifierEd Bartosh2016-10-072-3/+11
| | | | | | | | | | | | | | | Disk identifier created by parted doesn't match the one we generated and used in bootloader config. We need to rewrite it to make our image bootable. Modified involved API and data structures to access previously generated disk identifiers after MBR is initialized. Written disk identifiers to MBR. (From OE-Core rev: 221d3bdd6e0ab8a4d25e2c96bd976cbec4e76681) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>