bootmenu版本显示修复(agent-106): 读/etc/meowos_version替换硬编码0.7.9, 版本单点

This commit is contained in:
MeowOS Dev committed 2026-08-30 12:34:51 +08:00
1 parent 9b3842534c
commit b3e57d4b55
2 files changed
+23 -2

No files matched your search

Binary file not shown.
+23 -2
View File
@@ -164,7 +164,25 @@
#define ENTRY0_Y 176
#define ENTRY1_Y 228
#define FOOTER_Y 700
#define BOOTMENU_OS_VER "0.7.9" /* 与 meow_launcherd MEOWOS_VERSION 对齐;右下角开发版本 */
#define BOOTMENU_OS_VER_FILE "/etc/meowos_version" /* 版本号单点:与 launcher 同源读 /etc/meowos_version */
#define BOOTMENU_OS_VER "dev" /* 兜底:文件缺失/读失败时用(与 launcher MEOWOS_VERSION=dev 对齐) */
/* 右下角显示的 MeowOS 版本:启动时读 /etc/meowos_version(与 launcher 同一数据源),
* 不再硬编码 0.7.x。读到的值存 g_boot_ver;缺失/读失败保留兜底默认。 */
static char g_boot_ver[32] = BOOTMENU_OS_VER;
static void load_boot_ver(void)
{
FILE *f = fopen(BOOTMENU_OS_VER_FILE, "r");
if (!f) return; /* 缺失:保留兜底 default */
char buf[32];
if (fgets(buf, sizeof buf, f)) {
char *e = buf + strlen(buf);
while (e > buf && (e[-1] == '\n' || e[-1] == '\r' || e[-1] == ' ')) e--;
*e = 0;
if (buf[0]) snprintf(g_boot_ver, sizeof g_boot_ver, "%s", buf);
}
fclose(f);
}
/* ================================================================== */
/* fb0 状态 */
@@ -783,7 +801,7 @@ static void draw_menu(int cursor, long remaining_ms)
/* 右下角开发版本 */
{
char ver[40];
snprintf(ver, sizeof ver, "MeowOS v%s boot", BOOTMENU_OS_VER);
snprintf(ver, sizeof ver, "MeowOS v%s boot", g_boot_ver);
draw_text(fb_xres - 8 - (int)strlen(ver) * 6, FOOTER_Y, ver, 1, 0x666688);
}
}
@@ -1576,8 +1594,11 @@ int main(int argc, char **argv)
else { usage(); return 1; }
}
load_boot_ver(); /* 读 /etc/meowos_version(版本单点);--version 与选单右下角共用 */
if (do_version) {
printf("meow_bootmenu %s (mipsel static musl)\n", MEOW_BOOTMENU_VER);
printf("MeowOS v%s\n", g_boot_ver);
return 0;
}