From 29dddf38d35792024c0b124727c6d10771134170 Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Wed, 3 Jun 2020 18:52:34 +0000 Subject: [PATCH] core: Add OSTREE_COMMIT_META_KEY_ARCHITECTURE Add a standard key for this. We actually had a case in OpenShift builds recently where a `ppc64le` image was pushed over an `x86_64` one and this started failing at runtime with a not immediately obvious error. I'll probably end up changing rpm-ostree at least to use the RPM architecture for this key and fail if it doesn't match the booted value. Possibly that should live in ostree but it would involve adding architecture schema here, which gets into a big mess. Let's just standardize the key. xref https://github.com/coreos/coreos-assembler/commit/e02ef2683d688607e7b5ad9ea6a0c00c50a682a5 --- src/libostree/ostree-core.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/libostree/ostree-core.h b/src/libostree/ostree-core.h index 540f3232..3b903d5c 100644 --- a/src/libostree/ostree-core.h +++ b/src/libostree/ostree-core.h @@ -212,6 +212,19 @@ typedef enum { * Since: 2014.9 */ #define OSTREE_COMMIT_META_KEY_VERSION "version" + +/** + * OSTREE_COMMIT_META_KEY_ARCHITECTURE: + * + * GVariant type `s`. Intended to describe the CPU architecture. This is a freeform string, and some distributions + * which have existing package managers might want to match that schema. If you + * don't have a prior schema, it's recommended to use `uname -m` by default (i.e. the Linux kernel schema). In the future + * ostree might include a builtin function to compare architectures. + * + * Since: 2020.4 + */ +#define OSTREE_COMMIT_META_KEY_ARCHITECTURE "ostree.architecture" + /** * OSTREE_COMMIT_META_KEY_ENDOFLIFE_REBASE: *