6 Commits
Author SHA1 Message Date
Joachim Wiberg 17a1b80b83 Namespace Infix Kconfig options under IX_
Infix defines its own Kconfig options with unprefixed names (IMAGE_*,
QEMU_*, TRUSTED_KEYS*) and an INFIX_ prefix.  Unprefixed names risk
clashing with Buildroot and with other br2-externals/spins that source
our tree.

Rename all 86 options to a common IX_ prefix, collapsing the existing
INFIX_ ones, e.g. INFIX_IMAGE_ID becomes IX_IMAGE_ID.  The os-release
INFIX_DESC field is a runtime interface, not a Kconfig option, and is
kept; the qemu Config.in generator's @ARCH@ symbol is updated to match.

Closes #1305

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-07-06 05:28:11 +02:00
Joachim Wiberg f8c68a38af version: derive OS version from git describe, not the release label
On weekly builds INFIX_RELEASE is "latest", and it fed straight into
INFIX_VERSION, so the keyword showed up as VERSION, VERSION_ID and
PRETTY_NAME in /etc/os-release, in /etc/version (show version), in the
ietf-system os-version operational leaf, and in the mDNS advertisement.
None of those pinned down the source revision; only BUILD_ID did.

Tie INFIX_VERSION to INFIX_BUILD_ID (git describe).  INFIX_RELEASE now
only labels the release channel (IMAGE_VERSION) and names the published
artifacts.

Also exclude the moving 'latest*' tags from git describe, so the build
id can never resolve to "latest" should that tag land on, or nearest to,
the built commit.

Fixes #1524

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2026-06-29 18:36:17 +02:00
Tobias Waldekranz 3053662468 infix.mk: Define artifact name in one place
A bunch of different artifacts should follow the same naming scheme,
depending on a bunch of config settings + whether we're building a
release or not.

Therefore, provide a single definition of this that we can reuse to
name disk images, upgrade packages, etc.
2025-12-03 16:45:52 +01:00
Tobias Waldekranz 23ca94ea42 build: Source build id from the correct repo, fix #872
INFIX_OEM_PATH is `""` by default (i.e., not empty in `make`'s
eyes). So we called `git` with `-C ""`, which it interpreted as "from
the current directory" and thus we sourced the autogenerated build id
from _buildroot_ instead of Infix.

Therefore, make sure to strip any quotes from the OEM path before
determining the top directory.
2024-12-19 11:37:07 +01:00
Tobias Waldekranz d16ad7eedc build: Define build id and version in one place
Before this change, setting `GIT_VERSION` in `make`'s environment was
intended to allow the user to specify a custom build id.  As it turns
out, `test/test.mk` had duplicated the logic from
`board/common/post-build.sh` to unconditionally override any value set
in it.  Because of the way `make` handles variables, where assignments
to variables inherited from the environment are exported back to
it[^1], this would mean that `test.mk` would always clobber any value
set by the user.  Furthermore, there is also this file called
`buildroot/package/git/git.mk`, which also (reasonably) has opinions
about what the proper value of `GIT_VERSION` should be.  In summary,
this was a bit of a mess.

Therefore: Make sure that there is one single place where we determine
the build id and version, and make sure that those variables are
scoped under the `INFIX_` prefix to avoid clashing with any other
component.

[^1]: https://www.gnu.org/software/make/manual/html_node/Environment.html
2024-12-05 10:29:21 +01:00
Mattias Walström 8f996859dc Add infix CFLAGS, used when building src/ (confd, statd....) 2024-02-23 14:01:23 +01:00