summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2018-02-12xcb-proto: avoid timestamps in .pyc filesjurob/reproducible_build5Juro Bystricky
In order to remove timestams from compiled .py files, we need to use python-native, as we cannot rely on the host python to be capable of doing that. Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
2018-02-12kernelmodule.py: don't assume presence of generated filesJuro Bystricky
Some generated files previously part of the kernel-devsrc package are no longer present. Re-generate the needed files using "make prepare". Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
2018-02-12kernel-devsrc: minimize package sizeJuro Bystricky
By using the full mrproper clean target it also removes some generated files that are not required on the target or can be regenerated on the target when needed. In addition, remove all sources for all archs != ${ARCH}. This should be harmless, as the sources are meant to allow user to reconfigure/rebuild the existing kernel or build out-of-tree kernel modules. However, it will be no longer possible to cross-compile the kernel for other architectures, but that was never the real purpose of this package. The changes also help to fix reprodudible builds as the generated files could have different permissions causing the check to fail. Tested with building and booting kernel from source on the target. Tested with meta-skeleton/hello-mod Tested with bitbake core-image-sato-sdk -c testimage (needs modified kernelmodule.py) - kernelmodule.KernelModuleTest.test_kernel_module - Testcase 1541: PASSED [YOCTO #12137] Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
2018-02-08libjpeg-turbo: improve reproducibilityJuro Bystricky
Build date ends up embbedded in binary images, breaking reproducibility of jpeg-tools and libturbojpeg. To enable reproducible builds, build date can be specified during configuration, via "--with_build_date=<date>". If SOURCE_DATE_EPOCH is specified we configure libjpeg-turbo with this value as build date. Although the build date is a generic string, we keep it in the same format YYYYMMDD. [YOCTO #12526] Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
2018-02-08rootfs-postcommands.bbclass: support binary reproducibilityJuro Bystricky
Conditionally support binary reproducibility of rootfs images. If REPRODUCIBLE_TIMESTAMP_ROOTFS is specified then: 1. set /etc/timestamp to a reproducible value 2. set /etc/version to a reproducible value 3. set /etc/gconf: set mtime in all %gconf.xml to reproducible values The reproducible value is taken from the variable REPRODUCIBLE_TIMESTAMP_ROOTFS. [YOCTO#11176] Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
2018-02-08reproducible_build.bbclass: support for binary reproducibilityJuro Bystricky
Conditionally set some environment variables in order to achieve improved binary reproducibility. Providing BUILD_REPRODUCIBLE_BINARIES is set to "1", we set the following environment variables: export PYTHONHASHSEED=0 export PERL_HASH_SEED=0 export TZ="UTC" Additionally, we export and set SOURCE_DATE_EPOCH. This is the most crucial step to achieve binary reproducibility. The value for this variable (timestamp) is obtained after source code for a recipe has been unpacked, but before it is patched. If the code sources come from a GIT repo, we get the timestamp from the top commit. (GIT repo does not preserve file mktime timestamps). It is not safe to assume folders named "git" contain git repositories, so we check for presence of .git folder in ${S}. Otherwise, if GIT repo is not present, we try to get mtime from known files such as NEWS, ChangeLog, etc. If this also fails, we go through all files and get the timestamp from the youngest one. We create an individual timestamp for each recipe. The timestamp is stored in the file '__source_date_epoch.txt' (in the folder __sde__). Later on, each task reads this file and sets SOURCE_DATE_EPOCH based on the value found in the file. The file __source_date_epoch.txt file is re-used if found. This can be the file we previously created ourselves, or it can be a file provided by a user via a recipe. [YOCTO#11178] [YOCTO#11179] Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
2018-02-07autoconf-doc: improve reproducibilityJuro Bystricky
autoconf-doc package contains autoconf.info. This file contains date when this file was created, i.e: "This manual (31 January 2018) .." Therefore, two builds done on two different days will show different dates for otherwise identical files, hence breaking reproducibility. The date is obtained from mtime of "autoconf.texi", unfortunately we patch this file and change the mtime as a consequence. We restore reproducibility by removing the patch modifying "autoconf.texi". As a consequence certain supplemental information will be not added to the documentation. In particular: more details on usage, and on workarounds for non-updated projects. [YOCTO #12524] Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
2018-02-07kbd-ptest: improve reproducibilityHongxu Jia
Remove remaining build host references of ptest's Makefile. Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
2018-02-07python-core/python-dev: improve reproducibilityHongxu Jia
- Remove remaining build host references from packaged files. (sync with python3) - Use relative path to recompile _sysconfigdata.py Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
2018-02-07python-xcbgen: improve reproducibilityHongxu Jia
Use relative path to generate .pyc files could remove build host references which leads to non-reproducible builds. Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
2018-02-07pigz: use maintainer-built tarballsRoss Burton
Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-02-07pigz: pigz is not gzipRoss Burton
Whilst pigz is effectively a parallel gzip, the command line arguments are not the same so pigz isn't a drop-in replacement for gzip. [ YOCTO #12139 ] [ YOCTO #12410 ] Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-02-07opkg, opkg-utils: improve reproducibilityJuro Bystricky
Grab opkg and opkg-utils from their master git repos. Remove patches no longer needed. Add additional patch to fix timestamps in gzipped headers. This is a temorary solution as a new version of opkg and opkg-utils is expected soon. Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
2018-02-07module.bbclass: improve reproducibilityJuro Bystricky
Use gcc option "-ffile-prefix-map" if available. This will remap any hard-coded __FILE__ containing build host path to a reproducible value, with the absolute build-host path stripped. Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
2018-02-07compiler-options.bbclass: provide and validate optionsJuro Bystricky
As we may be using external toolchains, we cannot assume various compiler options to be valid. Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
2018-02-07glibc: improve reproducibility with multilibJuro Bystricky
Multilib builds specify several loaders which will end up embedded in some binaries or script files. To support reproducible builds, we must ensure the loaders are always in deterministic order. [YOCTO #2655] [YOCTO #12478] [YOCTO #12480] Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
2018-02-07python3-core: improve reproducibilityHongxu Jia
Since modify _sysconfigdata.py to improve reproducibility, its pyo files should be recompiled. Remove remaining build host references of python3.5m-config Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
2018-02-06bitbake: bitbake-user-manual: Commented out Placeholder ParagraphKristi Rifenbark
Fixes [YOCTO #12030] (Bitbake rev: b2642e4d5adc765b205e73fee65da679add33ed0) Signed-off-by: Kristi Rifenbark <kristi@buzzcollectivemarketing.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-06bitbake: runqueue: Rewrite and optimize recrdepends handlingRichard Purdie
This is a performance sensitive piece of code and the shear number of recursive loops is causing a significant and unscalable performance pain point. This change moves to a two step approach, firstly generating a list of recursive dependencies for any task, then applying this to the recursive tasks, iterating over things until no further dependencies are added. It was noticed an optimisation is possible and the list of recursive tasks need not contain the taskname, only the base task id. This allows a significant performance improvement and limits the size of the resursive task lists, improving speed. (Bitbake rev: eba738ac5672556eaab4f3374c8025c322761c4a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-06bitbake: runqueue: Optimize recrdepends handlingRichard Purdie
We can optimise the loops slightly so we only process given substrings once rather than many times. This means expanding out add_resolved_dependencies. Also add a function which allows replacement of the task element of a task id, reducing the amount of string handling we're doing in a performance critical loop. Its also clear that later code adds to the tasks depends so we don't need to add .depends() to extradeps at the start. (Bitbake rev: 4ad281224e92b5f94e3a9c17e8898ec8f1086cdc) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-06bitbake: runqueue: Remove unused variablesRichard Purdie
(Bitbake rev: 7e56c285f5ebae9b4b367514e60e3a6ba8cd5693) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-06bitbake: runqueue: Fix recidepends handlingRichard Purdie
Currently we only run through the recidepends/recrdepends code once. This means that we can miss some expansions of dependency trees where one rec{r,i}depends tasks depends on another rec{r,i}depends task. In reality we need to iterate over the data until we stop adding dependencies. In doing this we can't show quite so granular progress information since we don't know how many times we'll need to do this. This does slow down the runqueue prepare phase however some optimisations are possible and can be handled in subsequent patches. This fix means some missing dependencies, such as: <image>:do_fetchall -> <image>:do_rootfs -> <pkgs>:do_package_write_X -> <ca-certs>:do_package_write_X -> debianutils-native (via PAKAGE_WRITE_DEPS) are now found/added. [YOCTO #12510] (Bitbake rev: aec2f07d56a19b97b6515897532b113cdead8338) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-06e2fsprogs: fix the hardcoded paths for ptestJackie Huang
Fix the hardcoded paths in test scripts and expect files to avoid issue like: | cat: ../e2fsck/e2fsck: No such file or directory (From OE-Core rev: 4a4eff9b9e3c614ff41b17cbec359b72dcbd41bd) Signed-off-by: Jackie Huang <jackie.huang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-06e2fsprogs: only quiet debugfs for native packageJackie Huang
Many test cases expect the output of running commands for debugfs, the patch quiet-debugfs.patch suppress the output so ptest failed: | 292 tests succeeded 47 tests failed The patch was meant to suppress the output in do_rootfs according to the original commit: ====================== commit 13a8d3869b0fe0ebdddcee37fb48c5b9cdf718ba Author: Ross Burton <ross.burton@intel.com> Date: Mon Dec 23 13:38:34 2013 +0000 e2fsprogs: silence debugfs debugfs echos the commands when it is executing a script, but as the scripts used at rootfs time are long this massively inflates the do_rootfs log. Comment out the echo so that the rootfs isn't 20K lines longer than it needs to be. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> ====================== So only apply the patch for native package, then the ptest will be pass for target package. (From OE-Core rev: 4fed9d636852f04457e25c0f7064a4928cc8c36b) Signed-off-by: Jackie Huang <jackie.huang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-06grub-efi: add configfile as default built-inRicardo Salveti
The module configfile allows loading a custom grub configuration file from block devices, which can be used to customize the default grub menu when creating images with wic (via configfile argument). (From OE-Core rev: 6b297ccf04683380d0a894253a78424f4398782d) Signed-off-by: Ricardo Salveti <ricardo@opensourcefoundries.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-06libmpc: fix upstream version checkAlexander Kanavin
(From OE-Core rev: f3a38f4d85cf9d9ec6a01886050b31709e8af18b) 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>
2018-02-06babeltrace: update to 1.5.4Alexander Kanavin
(From OE-Core rev: 23f1e27877d48a59d357f4b21473ca3117628f5d) 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>
2018-02-06iputils: update to 20161105Alexander Kanavin
We've been using obsolete upstream URI for quite a while; meanwhile a lot of development has happened Drop all the patches: they are either changing the code that has been refactored, or are backports. Add a new musl fix patch from gentoo. ping6 and tracepath6 variants have been folded into standard versions. (From OE-Core rev: 5997981fa2c22609a88b8cbb595dbf7758b2f7c2) 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>
2018-02-06ffmpeg: update to 3.4.1Alexander Kanavin
(From OE-Core rev: 2b642f9bff861b923705a89002dd678bd3b2f331) 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>
2018-02-06iso-codes: update to 3.77Alexander Kanavin
(From OE-Core rev: b75c6deb5e2d781c5b5ef19cd98dfd3fda999af5) 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>
2018-02-06libwebp: update to 0.6.1Alexander Kanavin
(From OE-Core rev: 51e070d11fa81dc4bddb3d0e5826108f1571df4a) 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>
2018-02-06liburcu: update to 0.10.1Alexander Kanavin
(From OE-Core rev: 21b686b45b5c8b63a3844ac3a6246ac11a4078ee) 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>
2018-02-06boost: update to 1.66.0Alexander Kanavin
Rework 0002-Don-t-set-up-m32-m64-we-do-that-ourselves.patch to remove the offending bits from the function instead of removing calls to the function all over the place. (From OE-Core rev: 18e94bc08db55afb2d9b9db9a51c6a2d5478c056) 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>
2018-02-06mpg123: update to 1.25.8Alexander Kanavin
(From OE-Core rev: ca9ec1c3d0c23fd00095f732730b1c9423b06423) 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>
2018-02-06vala: update to 0.38.6Alexander Kanavin
(From OE-Core rev: 2d6f21e6b9a53d1fd774402ed8e5a9d94614d065) 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>
2018-02-06libnl: 3.2.29 -> 3.4.0Huang Qiyu
1) Upgrade libnl from 3.2.29 to 3.4.0. 2) Add one patch "0001-PATCH-fix-libnl-3.4.0-musl-compile-problem.patch", for musl compile. 3) Delete one patch "fix-pktloc_syntax_h-race.patch", since upstream has refactored the makefiles, and the problematic code is now absent. (From OE-Core rev: 7502216082f7cf777173e316dfe67a116a1a2f50) Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com> 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>
2018-02-06webkitgtk: update to 2.18.6Alexander Kanavin
(From OE-Core rev: f5d0ef12a5f1c4fa3981e70ef614e34bc64c380f) 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>
2018-02-06openssl: update to 1.0.2nAlexander Kanavin
Drop upstreamed 0001-aes-armv4-bsaes-armv7-sha256-armv4-.pl-make-it-work-.patch Rebase a couple more patches (via devtool upgrade). (From OE-Core rev: 8a79b8619ce797d5395989e7bb804bc2accfbb14) 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>
2018-02-06rpm: add a patch to help with Docker performance issuesAlexander Kanavin
(From OE-Core rev: 6f1822e5f1eaafd8bc46e999de730c1fcca77f3a) 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>
2018-02-06rpm: update to 4.14.1Alexander Kanavin
Drop two upstreamed patches. License-Update: grammar fixes (From OE-Core rev: c74bbe70988e7dd3ee1b7977de68a7ffe64fc8ef) 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>
2018-02-06ninja: Upgrade from 1.7.2 to major release 1.8.2Alejandro Enedino Hernandez Samaniego
(From OE-Core rev: f683b892b70a9587d9c2812ffc22da2375b34923) Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-06packagegroup-core-tools-profile: disable valgrind on armebMariia Movchan
Valgrind supports only little endian ARM. (From OE-Core rev: dece983e35721ca1cfc6ddddaf52726fb1d6db1f) Signed-off-by: Mariia Movchan <mmovchan@cisco.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-06libfm: add a patch to fix build errors with recent versions of gtk-docAlexander Kanavin
(From OE-Core rev: 3574375deb31e61bc464a51d8a6b949b8521a4ff) 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>
2018-02-06gtk-doc: update to 1.27Alexander Kanavin
Gtk-doc has been rewritten in Python, so drop perl dependencies (good riddance!), and adjust patches to reflect that. (From OE-Core rev: f4a00893a4209330720c0366ddde6b9941ee3196) 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>
2018-02-06x264: upgrade to latest revisionMaxin B. John
Change dependency from yasm to nasm following this change: commit d2b5f4873e2147452a723b61b14f030b2ee760a5 Author: Henrik Gramner <henrik@gramner.com> Date: Sat Mar 18 18:50:36 2017 +0100 x86: Change assembler from yasm to nasm Refreshed the following patch: don-t-default-to-cortex-a9-with-neon.patch (From OE-Core rev: 85deeb7bdd17c417e48e86647ad1580e71829afa) Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-06libsolv: upgrade to version 0.6.31Maxin B. John
Remove upstreamed patch: 0001-repo_rpmdb.c-increase-MAX_HDR_CNT-and-MAX_HDR_DSIZE.patch (From OE-Core rev: 89a1c8c2e6393ed1f5f667036845b752d5277beb) Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-06apr: 1.6.2 -> 1.6.3Hongxu Jia
1. Improve inappropriate patches: - Drop inappropriate configure_fixes.patch Use setting variable ac_cv_file__dev_zero and ac_cv_sizeof_struct_iovec to replace - Drop cleanup.patch Aassign variable libtool at ./buildconf executing and use 0001-build-buildcheck.sh-improve-libtool-detection.patch to replace. Submitted it to upstream. - Rename configfix.patch to 0002-apr-Remove-workdir-path-references-from-installed-ap.patch Add its original comments and author, explain why it is inappropriate - Drop upgrade-and-fix-1.5.1.patch Use 0003-Makefile.in-configure.in-support-cross-compiling.patch to replace. And submitted it to upstream. 2. Fix build path issue to improve reproducibility (From OE-Core rev: 29c4b19e640b544c9c351aec4292a3f65b619998) Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-06tcl: update to 8.6.8Yi Zhao
Rebase tcl-add-soname.patch (From OE-Core rev: 3619d779205464175e3c08396660ff9ee52076f9) Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-06json-c: update to 0.13Yi Zhao
Drop 0001-Add-FALLTHRU-comment-to-handle-GCC7-warnings.patch since it had been merged upstream. (From OE-Core rev: 77b46f844c50e3da90f91669baf6ba936ab7af9f) Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-06rsync: update to 3.1.3Yi Zhao
(From OE-Core rev: ded47001bec3fbbcbcdbe358a32c14ed0322d431) Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>