diff options
Diffstat (limited to 'meta/classes-global')
| -rw-r--r-- | meta/classes-global/sanity.bbclass | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/meta/classes-global/sanity.bbclass b/meta/classes-global/sanity.bbclass index 180c6b77d8..1d242f0f0a 100644 --- a/meta/classes-global/sanity.bbclass +++ b/meta/classes-global/sanity.bbclass | |||
| @@ -495,12 +495,15 @@ def check_gcc_version(sanity_data): | |||
| 495 | # Tar version 1.24 and onwards handle overwriting symlinks correctly | 495 | # Tar version 1.24 and onwards handle overwriting symlinks correctly |
| 496 | # but earlier versions do not; this needs to work properly for sstate | 496 | # but earlier versions do not; this needs to work properly for sstate |
| 497 | # Version 1.28 is needed so opkg-build works correctly when reproducible builds are enabled | 497 | # Version 1.28 is needed so opkg-build works correctly when reproducible builds are enabled |
| 498 | # Gtar is assumed at to be used as tar in poky | ||
| 498 | def check_tar_version(sanity_data): | 499 | def check_tar_version(sanity_data): |
| 499 | import subprocess | 500 | import subprocess |
| 500 | try: | 501 | try: |
| 501 | result = subprocess.check_output(["tar", "--version"], stderr=subprocess.STDOUT).decode('utf-8') | 502 | result = subprocess.check_output(["tar", "--version"], stderr=subprocess.STDOUT).decode('utf-8') |
| 502 | except subprocess.CalledProcessError as e: | 503 | except subprocess.CalledProcessError as e: |
| 503 | return "Unable to execute tar --version, exit code %d\n%s\n" % (e.returncode, e.output) | 504 | return "Unable to execute tar --version, exit code %d\n%s\n" % (e.returncode, e.output) |
| 505 | if not "GNU" in result: | ||
| 506 | return "Your version of tar is not gtar. Please install gtar (you could use the project's buildtools-tarball from our last release or use scripts/install-buildtools).\n" | ||
| 504 | version = result.split()[3] | 507 | version = result.split()[3] |
| 505 | if bb.utils.vercmp_string_op(version, "1.28", "<"): | 508 | if bb.utils.vercmp_string_op(version, "1.28", "<"): |
| 506 | 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 project's buildtools-tarball from our last release or use scripts/install-buildtools).\n" | 509 | 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 project's buildtools-tarball from our last release or use scripts/install-buildtools).\n" |
