Age | Commit message (Collapse) | Author |
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Remove remaining build host references of ptest's Makefile.
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
|
|
- 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>
|
|
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>
|
|
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Fixes [YOCTO #12030]
(Bitbake rev: b2642e4d5adc765b205e73fee65da679add33ed0)
Signed-off-by: Kristi Rifenbark <kristi@buzzcollectivemarketing.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
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>
|
|
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>
|
|
(Bitbake rev: 7e56c285f5ebae9b4b367514e60e3a6ba8cd5693)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
(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>
|
|
(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>
|
|
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>
|
|
(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>
|
|
(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>
|
|
(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>
|
|
(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>
|
|
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>
|
|
(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>
|
|
(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>
|
|
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>
|
|
(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>
|
|
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>
|
|
(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>
|
|
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>
|
|
(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>
|
|
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>
|
|
(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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
(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>
|