diff options
| author | Hongxu Jia <hongxu.jia@windriver.com> | 2025-09-26 16:19:12 +0800 |
|---|---|---|
| committer | Khem Raj <raj.khem@gmail.com> | 2025-10-05 21:43:44 -0700 |
| commit | 4b589e4099ff4b57c349ccfd6c03993a9088c653 (patch) | |
| tree | 84d9e4493ccf951602d95971225952e759bb5be4 | |
| parent | df688fc3c79aca310868ba2a7f0ce8c4ef33a7b2 (diff) | |
| download | meta-openembedded-4b589e4099ff4b57c349ccfd6c03993a9088c653.tar.gz | |
python3-mlcommons-loadgen: support reproducibility
Implement the SOURCE_DATE_EPOCH specification[1] for reproducible
builds. If SOURCE_DATE_EPOCH is set, use it as timestamp instead of the
current time.
[1] https://reproducible-builds.org/specs/source-date-epoch/
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
| -rw-r--r-- | meta-python/recipes-devtools/python3-mlcommons-loadgen/files/source-date-epoch.patch | 41 | ||||
| -rw-r--r-- | meta-python/recipes-devtools/python3-mlcommons-loadgen/python3-mlcommons-loadgen_5.1.0.bb | 4 |
2 files changed, 45 insertions, 0 deletions
diff --git a/meta-python/recipes-devtools/python3-mlcommons-loadgen/files/source-date-epoch.patch b/meta-python/recipes-devtools/python3-mlcommons-loadgen/files/source-date-epoch.patch new file mode 100644 index 0000000000..32e529d483 --- /dev/null +++ b/meta-python/recipes-devtools/python3-mlcommons-loadgen/files/source-date-epoch.patch | |||
| @@ -0,0 +1,41 @@ | |||
| 1 | From dd7925397b84c2a327cd4594edba9f7ca5acef61 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Hongxu Jia <hongxu.jia@windriver.com> | ||
| 3 | Date: Fri, 26 Sep 2025 14:02:23 +0800 | ||
| 4 | Subject: [PATCH] Honor the SOURCE_DATE_EPOCH variable | ||
| 5 | |||
| 6 | Implement the SOURCE_DATE_EPOCH specification[1] for reproducible | ||
| 7 | builds. If SOURCE_DATE_EPOCH is set, use it as timestamp instead of the | ||
| 8 | current time. | ||
| 9 | |||
| 10 | [1] https://reproducible-builds.org/specs/source-date-epoch/ | ||
| 11 | |||
| 12 | Upstream-Status: Submitted [https://github.com/mlcommons/inference/pull/2345] | ||
| 13 | |||
| 14 | Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> | ||
| 15 | --- | ||
| 16 | version_generator.py | 9 +++++++-- | ||
| 17 | 1 file changed, 7 insertions(+), 2 deletions(-) | ||
| 18 | |||
| 19 | diff --git a/version_generator.py b/version_generator.py | ||
| 20 | index 2e75243..5202da9 100644 | ||
| 21 | --- a/version_generator.py | ||
| 22 | +++ b/version_generator.py | ||
| 23 | @@ -110,8 +110,13 @@ def generate_loadgen_version_definitions(cc_filename, loadgen_root): | ||
| 24 | # Write the version into the function definition | ||
| 25 | ofile.write(func_def("Version", f"\"{version_contents}\"")) | ||
| 26 | |||
| 27 | - date_time_now_local = datetime.datetime.now().isoformat() | ||
| 28 | - date_time_now_utc = datetime.datetime.utcnow().isoformat() | ||
| 29 | + if os.environ.get('SOURCE_DATE_EPOCH', False): | ||
| 30 | + source_date_epoch = int(os.environ['SOURCE_DATE_EPOCH']) | ||
| 31 | + date_time_now_local = datetime.datetime.fromtimestamp(source_date_epoch).isoformat() | ||
| 32 | + date_time_now_utc = datetime.datetime.fromtimestamp(source_date_epoch, tz=datetime.timezone.utc).isoformat() | ||
| 33 | + else: | ||
| 34 | + date_time_now_local = datetime.datetime.now().isoformat() | ||
| 35 | + date_time_now_utc = datetime.datetime.utcnow().isoformat() | ||
| 36 | ofile.write(func_def("BuildDateLocal", '"' + date_time_now_local + '"')) | ||
| 37 | ofile.write(func_def("BuildDateUtc", '"' + date_time_now_utc + '"')) | ||
| 38 | |||
| 39 | -- | ||
| 40 | 2.34.1 | ||
| 41 | |||
diff --git a/meta-python/recipes-devtools/python3-mlcommons-loadgen/python3-mlcommons-loadgen_5.1.0.bb b/meta-python/recipes-devtools/python3-mlcommons-loadgen/python3-mlcommons-loadgen_5.1.0.bb index abc47172c1..7bb2e9d4dd 100644 --- a/meta-python/recipes-devtools/python3-mlcommons-loadgen/python3-mlcommons-loadgen_5.1.0.bb +++ b/meta-python/recipes-devtools/python3-mlcommons-loadgen/python3-mlcommons-loadgen_5.1.0.bb | |||
| @@ -14,6 +14,10 @@ DEPENDS = "python3-pybind11-native" | |||
| 14 | 14 | ||
| 15 | inherit setuptools3 pypi | 15 | inherit setuptools3 pypi |
| 16 | 16 | ||
| 17 | SRC_URI += " \ | ||
| 18 | file://source-date-epoch.patch \ | ||
| 19 | " | ||
| 20 | |||
| 17 | PYPI_PACKAGE = "mlcommons_loadgen" | 21 | PYPI_PACKAGE = "mlcommons_loadgen" |
| 18 | UPSTREAM_CHECK_PYPI_PACKAGE = "mlcommons_loadgen" | 22 | UPSTREAM_CHECK_PYPI_PACKAGE = "mlcommons_loadgen" |
| 19 | 23 | ||
