| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a condition to check if the config has BR2_REPRODUCIBLE enabled and if it
does, run the build in two output directories - output-1, output-2 - and then
run diffoscope on the generated images.
NOTE: You should have diffoscope installed in order to test reproducibility
failures.
Signed-off-by: Atharva Lele <itsatharva@gmail.com>
[Thomas:
- Do an olddefconfig on each configuration, like is done in the
non-reproducible case
- Store the logs into separate log files
- Exit if the build has failed instead of continuing with the call to
diffoscope]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since the host configuration can be different between the autobuilder
slave and the machine where we try to reproduce the build failure, the
set of available options might be different. Due to this, a .config
that is "valid" for a given machin may have missing options for
another machine.
A good example is the BR2_GOOGLE_BREAKPAD_ENABLE option. Since it
depends on BR2_HOST_GCC_AT_LEAST_4_8, this option will *not* be
present in a .config file generated on a machine that has a host gcc
older than 4.8. However, when running br-reproduce-build on a machine
with a gcc newer than 4.8, the option is available, but has no value
defined in the .config.
To cope with this, we simply run an "olddefconfig". This means we
aren't rebuilding *exactly* the same configuration, but it's the best
approximation we can do.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The canonical URL to the results on the autobuilder server wants the
sha1 to be prefixed with the first three letters of the sha1, like so:
b52/b52c54eafc2ea8814bb49850823e55d8e034d33d
Currently, this is done by a redirect on the server, but it is broken,
so that requests that do not conform to that scheme return empty
results. See for example the difference between those two calls:
wget -O OK 'http://autobuild.buildroot.org/results/b2c/b2cefd7d362c12ed99b708d11b988704778d450c/defconfig'
wget -O KO 'http://autobuild.buildroot.org/results/b2cefd7d362c12ed99b708d11b988704778d450c/defconfig'
So, currently, passing only the sah1 on the command line of br-reproduce
would not work, because the sha1 is used as-is to construct the URL. To
make it work, a user had to pass the sha1 prefixed with the first three
chars.
However, this is not very convenient.
Fix that:
- internally reconstruct the canonical URL;
- still accept a prefix-sha1 on the command line (for users that got
used to that behaviour).
Reported-by: Fabio Porcedda <fabio.porcedda@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
|
|
|
|
|
|
|
|
| |
Even though we do not really support building in a path that
contains spaces (or other weird characters), it's still better
to quote variables.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
|
|
|
|
|
|
|
|
| |
The pull is not needed so use a cheaper fetch, also it will work even if
the existing repository doesn't point to branches of the official
repository.
Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
|
|
|
|
|
|
|
| |
Use "buildroot" as the name of the cloned repositoy so even if the
existing repository name isn't "buildroot" the script will works fine.
Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows the user running something like:
cd /somewhere
/path/to/br-reproduce-build ID
Or even have br-reproduce-build in his PATH.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
|
|
|
|
|
|
|
|
|
| |
Currently, when we want to set those variables, one has to edit the
script, so would get a conflict on the next git-pull.
Instead, allow the user to specify those variables in the environment.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
|
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|