diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2019-11-21 14:59:06 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2019-11-22 23:13:06 +0000 |
commit | 2c7624c17e43f9215cf7dcebf7258d28711bc3ce (patch) | |
tree | 1fc4fcc7b0eb123ad0bce4547882d3b41057e331 | |
parent | 221e94e6d38bf03d348ea1f4eb922fa22a7f502e (diff) | |
download | poky-2c7624c17e43f9215cf7dcebf7258d28711bc3ce.tar.gz |
sanity: Add check for tar older than 1.28
Older versions break opkg-build when reproducible builds are enabled.
Rather than trying to be selective based on which features are enabled,
lets just make this a minimum version.
(From OE-Core rev: 0fdc43da005c3c6102cf07383ad6f451d2203fa5)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/classes/sanity.bbclass | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass index a14bf53883..63ab6cf3df 100644 --- a/meta/classes/sanity.bbclass +++ b/meta/classes/sanity.bbclass | |||
@@ -523,6 +523,7 @@ def check_wsl(d): | |||
523 | 523 | ||
524 | # Tar version 1.24 and onwards handle overwriting symlinks correctly | 524 | # Tar version 1.24 and onwards handle overwriting symlinks correctly |
525 | # but earlier versions do not; this needs to work properly for sstate | 525 | # but earlier versions do not; this needs to work properly for sstate |
526 | # Version 1.28 is needed so opkg-build works correctly when reproducibile builds are enabled | ||
526 | def check_tar_version(sanity_data): | 527 | def check_tar_version(sanity_data): |
527 | from distutils.version import LooseVersion | 528 | from distutils.version import LooseVersion |
528 | import subprocess | 529 | import subprocess |
@@ -532,7 +533,9 @@ def check_tar_version(sanity_data): | |||
532 | return "Unable to execute tar --version, exit code %d\n%s\n" % (e.returncode, e.output) | 533 | return "Unable to execute tar --version, exit code %d\n%s\n" % (e.returncode, e.output) |
533 | version = result.split()[3] | 534 | version = result.split()[3] |
534 | if LooseVersion(version) < LooseVersion("1.24"): | 535 | if LooseVersion(version) < LooseVersion("1.24"): |
535 | return "Your version of tar is older than 1.24 and has bugs which will break builds. Please install a newer version of tar.\n" | 536 | return "Your version of tar is older than 1.24 and has bugs which will break builds. Please install a newer version of tar (1.28+).\n" |
537 | if LooseVersion(version) < LooseVersion("1.28"): | ||
538 | return "Your version of tar is older than 1.28 and does not have the support needed to enable reproducible builds. Please install a newer version of tar (you could use the projects buildtools-tarball from our last release).\n" | ||
536 | return None | 539 | return None |
537 | 540 | ||
538 | # We use git parameters and functionality only found in 1.7.8 or later | 541 | # We use git parameters and functionality only found in 1.7.8 or later |