From 7871949990631a10b943125f57f7f9bdd81b08e8 Mon Sep 17 00:00:00 2001 From: "Lubomir I. Ivanov" Date: Wed, 22 May 2024 20:58:13 +0300 Subject: [PATCH] build/pause: add -v flag to the Windows pause binary Make the Windows pause.exe have the same -v flag as the Linux pause binary. _stricmp is documented here: https://learn.microsoft.com/en-us/cpp/c-runtime-library/reference/strcmp-wcscmp-mbscmp?view=msvc-170 The VERSION definition is passed on compile time for both OSes in the Makefile via CFLAGS: $(TRIPLE)-gcc $(CFLAGS) -o $@ $^ && \ Add 3.10 version entry in the changelog. --- build/dependencies.yaml | 13 ++++++++----- build/pause/CHANGELOG.md | 4 ++++ build/pause/Makefile | 2 +- build/pause/windows/pause.c | 20 +++++++++++++++++++- 4 files changed, 32 insertions(+), 7 deletions(-) diff --git a/build/dependencies.yaml b/build/dependencies.yaml index 737be934578..841462ad4a9 100644 --- a/build/dependencies.yaml +++ b/build/dependencies.yaml @@ -189,11 +189,14 @@ dependencies: - path: build/common.sh match: __default_go_runner_version= - - name: "registry.k8s.io/pause" - version: 3.9 - refPaths: - - path: build/pause/Makefile - match: TAG\s*\?= + # TODO: enable once pause 3.10 is promoted + # https://github.com/kubernetes/kubernetes/issues/125092 + # + # - name: "registry.k8s.io/pause" + # version: 3.10 + # refPaths: + # - path: build/pause/Makefile + # match: TAG\s*\?= - name: "registry.k8s.io/pause: dependents" version: 3.9 diff --git a/build/pause/CHANGELOG.md b/build/pause/CHANGELOG.md index 4fb63bdf2d4..adad9f66033 100644 --- a/build/pause/CHANGELOG.md +++ b/build/pause/CHANGELOG.md @@ -1,3 +1,7 @@ +# 3.10 + +* Add support for the -v flag on Windows. It prints the version similarly to Linux. ([#125067](https://github.com/kubernetes/kubernetes/pull/125067), [@neolit123](https://github.com/neolit123)) + # 3.9 * Unsupported Windows Semi-Annual Channel container images removed (OS Versions removed: 20H2). ([#112924](https://github.com/kubernetes/kubernetes/pull/112924), [@marosset](https://github.com/marosset)) diff --git a/build/pause/Makefile b/build/pause/Makefile index 1c49bf2fa42..30b18063d92 100644 --- a/build/pause/Makefile +++ b/build/pause/Makefile @@ -17,7 +17,7 @@ REGISTRY ?= staging-k8s.gcr.io IMAGE = $(REGISTRY)/pause -TAG ?= 3.9 +TAG ?= 3.10 REV = $(shell git describe --contains --always --match='v*') # Architectures supported: amd64, arm, arm64, ppc64le and s390x diff --git a/build/pause/windows/pause.c b/build/pause/windows/pause.c index 3af570a25b9..fc2ad11e8c5 100644 --- a/build/pause/windows/pause.c +++ b/build/pause/windows/pause.c @@ -16,6 +16,14 @@ limitations under the License. #include #include +#include + +#define STRINGIFY(x) #x +#define VERSION_STRING(x) STRINGIFY(x) + +#ifndef VERSION +#define VERSION HEAD +#endif BOOL WINAPI CtrlHandler(DWORD fdwCtrlType) { @@ -34,8 +42,18 @@ BOOL WINAPI CtrlHandler(DWORD fdwCtrlType) } } -int main(void) +int main(int argc, char **argv) { + int i; + for (i = 1; i < argc; ++i) + { + if (!_stricmp(argv[i], "-v")) + { + fprintf(stdout, "pause.c %s\n", VERSION_STRING(VERSION)); + return 0; + } + } + if (SetConsoleCtrlHandler(CtrlHandler, TRUE)) { Sleep(INFINITE);