From: Jerome Forissier Date: Thu, 24 Jul 2025 09:12:41 +0000 (+0200) Subject: binman: bintool: run 'apt-get update -y' on first invocation of apt_install() X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=252a2b2750e2df890e044d42e0a530a3e629c9b0;p=thirdparty%2Fu-boot.git binman: bintool: run 'apt-get update -y' on first invocation of apt_install() 'apt-get update -y' may be required to make sure that the list of packages is up-to-date and that the subsequent 'apt-get install' operations can find the requested packages. Fixes the following CI error: Fetch: zstd - trying method: binary download - sudo apt-get install -y zstd Exception: Error 100 running 'sudo apt-get install -y zstd': E: Unable to locate package zstd Signed-off-by: Jerome Forissier Reviewed-by: Bryan Brattlof --- diff --git a/tools/binman/bintool.py b/tools/binman/bintool.py index f46bb52a7b3..9c76c8881a4 100644 --- a/tools/binman/bintool.py +++ b/tools/binman/bintool.py @@ -55,6 +55,9 @@ class Bintool: # must be called before this class is used. tooldir = '' + # Flag to run 'apt-get update -y' once on first use of apt_install() + apt_updated = False + def __init__(self, name, desc, version_regex=None, version_args='-V'): self.name = name self.desc = desc @@ -421,6 +424,11 @@ class Bintool: Returns: True, assuming it completes without error """ + if not cls.apt_updated: + args = ['sudo', 'apt-get', 'update', '-y'] + print('- %s' % ' '.join(args)) + tools.run(*args) + cls.apt_updated = True args = ['sudo', 'apt-get', 'install', '-y', package] print('- %s' % ' '.join(args)) tools.run(*args)