From 24c35d7954b4ed6bee8f4cb865913f63107292b2 Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Sat, 24 Oct 2026 15:08:19 -0400 Subject: [PATCH] Add ability to report version to cthulhu. --- README.md | 7 +++++++ distro-packages/ArchLinux/wine-access-git/PKGBUILD | 2 +- main.cpp | 5 +++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a613c82..81f25a6 100644 --- a/README.md +++ b/README.md @@ -151,6 +151,13 @@ does not ignore; a source archive without `.git` reports revision `unavailable`. It identifies the helper sidecar being executed, rather than a separate installed version file or the installed package database. +The sidecar also embeds the release as a NUL-terminated `YYYY.MM.DD` string +in the ELF section `.wine_access.version`. Readers can inspect that section +without executing the helper or initializing Wine. Updated Cthulhu builds +append `wine-access YYYY.MM.DD` to command-line and spoken version reports +when the selected installed helper provides this metadata. This identifies +the files on disk; a helper already running can still use an older build. + Query an installed executable directly, for example: ```sh diff --git a/distro-packages/ArchLinux/wine-access-git/PKGBUILD b/distro-packages/ArchLinux/wine-access-git/PKGBUILD index 7c2d6d7..89f2575 100644 --- a/distro-packages/ArchLinux/wine-access-git/PKGBUILD +++ b/distro-packages/ArchLinux/wine-access-git/PKGBUILD @@ -1,6 +1,6 @@ # Maintainer: Storm Dragon pkgname=wine-access-git -pkgver=r60.gde31e5b +pkgver=r61.g17052c5 pkgrel=1 pkgdesc='Wine accessibility helper with MSAA, NVDA Controller, and Tolk compatibility for screen readers' arch=('x86_64') diff --git a/main.cpp b/main.cpp index 44d8f70..c2b0b1d 100644 --- a/main.cpp +++ b/main.cpp @@ -35,6 +35,11 @@ #include namespace { +// Read directly by readers without starting Wine or initializing a prefix. +// Keep this in the sidecar so it identifies the installed executable itself. +__attribute__((used, section(".wine_access.version"))) +const char installedVersion[] = WINE_ACCESS_VERSION; + ReaderEndpoint readerEndpoint = CthulhuEndpoint; constexpr int DBUS_TIMEOUT_MS = 500; GDBusConnection *connection = nullptr;