cve-update: log timestamps and add force update for future time

CVE update is currently not working properly on autobuilder.
This improves logging for problem analysis.

Future time is something which could be reason for current autobuilder
problems since the DB was not updated for more than 3 months by now.

(From OE-Core rev: 0098a05116624d019f8c5107940e910d867f3afc)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Peter Marko 2025-08-26 20:59:22 +02:00 committed by Richard Purdie
parent 52696e1d4a
commit 9d2dcd7983
2 changed files with 13 additions and 3 deletions

View File

@ -57,7 +57,12 @@ python do_fetch() {
if not os.path.exists(db_file): if not os.path.exists(db_file):
bb.error("CVE database %s not present, database fetch/update skipped" % db_file) bb.error("CVE database %s not present, database fetch/update skipped" % db_file)
return return
if time.time() - os.path.getmtime(db_file) < update_interval: curr_time = time.time()
database_time = os.path.getmtime(db_file)
bb.note("Current time: %s; DB time: %s" % (time.ctime(curr_time), time.ctime(database_time)))
if curr_time < database_time:
bb.warn("Database time is in the future, force DB update")
elif curr_time - database_time < update_interval:
bb.note("CVE database recently updated, skipping") bb.note("CVE database recently updated, skipping")
return return

View File

@ -71,10 +71,15 @@ python do_fetch() {
if not os.path.exists(db_file): if not os.path.exists(db_file):
bb.error("CVE database %s not present, database fetch/update skipped" % db_file) bb.error("CVE database %s not present, database fetch/update skipped" % db_file)
return return
if time.time() - os.path.getmtime(db_file) < update_interval: curr_time = time.time()
database_time = os.path.getmtime(db_file)
bb.note("Current time: %s; DB time: %s" % (time.ctime(curr_time), time.ctime(database_time)))
if curr_time < database_time:
bb.warn("Database time is in the future, force DB update")
database_time = 0
elif curr_time - database_time < update_interval:
bb.note("CVE database recently updated, skipping") bb.note("CVE database recently updated, skipping")
return return
database_time = os.path.getmtime(db_file)
except OSError: except OSError:
pass pass