mirror of
https://git.yoctoproject.org/poky
synced 2026-02-20 08:29:42 +01:00
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>
This commit is contained in:
@@ -523,6 +523,7 @@ def check_wsl(d):
|
||||
|
||||
# Tar version 1.24 and onwards handle overwriting symlinks correctly
|
||||
# but earlier versions do not; this needs to work properly for sstate
|
||||
# Version 1.28 is needed so opkg-build works correctly when reproducibile builds are enabled
|
||||
def check_tar_version(sanity_data):
|
||||
from distutils.version import LooseVersion
|
||||
import subprocess
|
||||
@@ -532,7 +533,9 @@ def check_tar_version(sanity_data):
|
||||
return "Unable to execute tar --version, exit code %d\n%s\n" % (e.returncode, e.output)
|
||||
version = result.split()[3]
|
||||
if LooseVersion(version) < LooseVersion("1.24"):
|
||||
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"
|
||||
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"
|
||||
if LooseVersion(version) < LooseVersion("1.28"):
|
||||
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"
|
||||
return None
|
||||
|
||||
# We use git parameters and functionality only found in 1.7.8 or later
|
||||
|
||||
Reference in New Issue
Block a user