From d6f9b4d73ba298225ba65fe86fe43d38553d4874 Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Sat, 2 Jul 2022 16:57:51 +0200 Subject: [PATCH] hack: remove version from binaries, and remove symlinks MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit There may have been some historic reason for doing this, but I couldn't find a practical use for building the (some) binaries with a version (default: "dev") included, only to use a symlink to refer to the actual binary. This patch removes the "${VERSION}" from the binary names in bundles, and removes the code that created symlinks for them. Before this patch: ```bash rm -rf ./bundles docker buildx build --build-arg VERSION=22.06.0-beta.1 --output ./bundles --target binary . tree bundles bundles └── binary-daemon ├── containerd ├── containerd-shim-runc-v2 ├── containerd-shim-runc-v2.md5 ├── containerd-shim-runc-v2.sha256 ├── containerd.md5 ├── containerd.sha256 ├── ctr ├── ctr.md5 ├── ctr.sha256 ├── docker-init ├── docker-init.md5 ├── docker-init.sha256 ├── docker-proxy -> docker-proxy-22.06.0-beta.1 ├── docker-proxy-22.06.0-beta.1 ├── docker-proxy-22.06.0-beta.1.md5 ├── docker-proxy-22.06.0-beta.1.sha256 ├── dockerd -> dockerd-22.06.0-beta.1 ├── dockerd-22.06.0-beta.1 ├── dockerd-22.06.0-beta.1.md5 ├── dockerd-22.06.0-beta.1.sha256 ├── dockerd-rootless-setuptool.sh ├── dockerd-rootless-setuptool.sh.md5 ├── dockerd-rootless-setuptool.sh.sha256 ├── dockerd-rootless.sh ├── dockerd-rootless.sh.md5 ├── dockerd-rootless.sh.sha256 ├── rootlesskit ├── rootlesskit-docker-proxy ├── rootlesskit-docker-proxy.md5 ├── rootlesskit-docker-proxy.sha256 ├── rootlesskit.md5 ├── rootlesskit.sha256 ├── runc ├── runc.md5 ├── runc.sha256 ├── vpnkit ├── vpnkit.md5 └── vpnkit.sha256 1 directory, 38 files ``` After this patch: ```bash rm -rf ./bundles docker buildx build --build-arg VERSION=22.06.0-beta.1 --output ./bundles --target binary . tree bundles bundles └── binary-daemon ├── containerd ├── containerd-shim-runc-v2 ├── containerd-shim-runc-v2.md5 ├── containerd-shim-runc-v2.sha256 ├── containerd.md5 ├── containerd.sha256 ├── ctr ├── ctr.md5 ├── ctr.sha256 ├── docker-init ├── docker-init.md5 ├── docker-init.sha256 ├── docker-proxy ├── docker-proxy.md5 ├── docker-proxy.sha256 ├── dockerd ├── dockerd-rootless-setuptool.sh ├── dockerd-rootless-setuptool.sh.md5 ├── dockerd-rootless-setuptool.sh.sha256 ├── dockerd-rootless.sh ├── dockerd-rootless.sh.md5 ├── dockerd-rootless.sh.sha256 ├── dockerd.md5 ├── dockerd.sha256 ├── rootlesskit ├── rootlesskit-docker-proxy ├── rootlesskit-docker-proxy.md5 ├── rootlesskit-docker-proxy.sha256 ├── rootlesskit.md5 ├── rootlesskit.sha256 ├── runc ├── runc.md5 ├── runc.sha256 ├── vpnkit ├── vpnkit.md5 └── vpnkit.sha256 1 directory, 36 files ``` Signed-off-by: Sebastiaan van Stijn --- hack/make/.binary | 3 --- hack/make/.mkwinres | 8 ++++---- hack/make/binary-daemon | 2 +- hack/make/binary-proxy | 2 +- hack/make/cross | 2 +- hack/make/dynbinary-daemon | 2 +- hack/make/dynbinary-proxy | 2 +- 7 files changed, 9 insertions(+), 12 deletions(-) diff --git a/hack/make/.binary b/hack/make/.binary index 0fed4f60ef..4c5b2f3735 100644 --- a/hack/make/.binary +++ b/hack/make/.binary @@ -8,7 +8,6 @@ binary_extension() { fi } -BINARY_NAME="$BINARY_SHORT_NAME-$VERSION" BINARY_EXTENSION="$(binary_extension)" BINARY_FULLNAME="$BINARY_NAME$BINARY_EXTENSION" @@ -116,6 +115,4 @@ hash_files() { ) echo "Created binary: $DEST/$BINARY_FULLNAME" -ln -sf "$BINARY_FULLNAME" "$DEST/$BINARY_SHORT_NAME$BINARY_EXTENSION" - hash_files "$DEST/$BINARY_FULLNAME" diff --git a/hack/make/.mkwinres b/hack/make/.mkwinres index d2465e11e4..70d66814c2 100644 --- a/hack/make/.mkwinres +++ b/hack/make/.mkwinres @@ -16,7 +16,7 @@ VERSION_QUAD=$(printf "%s" "$VERSION" | sed -re 's/^([0-9.]*).*$/\1/' | sed -re # Microsoft Windows Version Information and an icon using go-winres. # https://docs.microsoft.com/en-us/windows/win32/menurc/stringfileinfo-block # https://github.com/tc-hib/go-winres#json-format -cat > "./cli/winresources/${BINARY_SHORT_NAME}/winres.json" << EOL +cat > "./cli/winresources/${BINARY_NAME}/winres.json" << EOL { "RT_GROUP_ICON": { "#1": { @@ -76,10 +76,10 @@ cat > "./cli/winresources/${BINARY_SHORT_NAME}/winres.json" << EOL EOL ( set -x - cat "./cli/winresources/${BINARY_SHORT_NAME}/winres.json" + cat "./cli/winresources/${BINARY_NAME}/winres.json" ) # Create winresources package stub if removed while using tmpfs in Dockerfile -if [ ! -f "./cli/winresources/${BINARY_SHORT_NAME}/winresources.go" ]; then - echo "package winresources" > "./cli/winresources/${BINARY_SHORT_NAME}/winresources.go" +if [ ! -f "./cli/winresources/${BINARY_NAME}/winresources.go" ]; then + echo "package winresources" > "./cli/winresources/${BINARY_NAME}/winresources.go" fi diff --git a/hack/make/binary-daemon b/hack/make/binary-daemon index 169e96bfd1..1a702a549a 100644 --- a/hack/make/binary-daemon +++ b/hack/make/binary-daemon @@ -34,7 +34,7 @@ copy_binaries() { ( GO_PACKAGE='github.com/docker/docker/cmd/dockerd' - BINARY_SHORT_NAME='dockerd' + BINARY_NAME='dockerd' source "${MAKEDIR}/.binary" copy_binaries "$DEST" 'hash' diff --git a/hack/make/binary-proxy b/hack/make/binary-proxy index 6d5245e015..011cf9d500 100644 --- a/hack/make/binary-proxy +++ b/hack/make/binary-proxy @@ -6,7 +6,7 @@ set -e export CGO_ENABLED=0 GO_PACKAGE='github.com/docker/docker/cmd/docker-proxy' - BINARY_SHORT_NAME='docker-proxy' + BINARY_NAME='docker-proxy' source "${MAKEDIR}/.binary" ) diff --git a/hack/make/cross b/hack/make/cross index a20148b1fb..1e2d5d628d 100644 --- a/hack/make/cross +++ b/hack/make/cross @@ -2,7 +2,7 @@ set -e # if we have our linux/amd64 version compiled, let's symlink it in -if [ -x "${DEST}/../binary-daemon/dockerd-${VERSION}" ]; then +if [ -x "${DEST}/../binary-daemon/dockerd" ]; then arch=$(go env GOHOSTARCH) mkdir -p "$DEST/linux/${arch}" ( diff --git a/hack/make/dynbinary-daemon b/hack/make/dynbinary-daemon index fe2413d734..7d659695d4 100644 --- a/hack/make/dynbinary-daemon +++ b/hack/make/dynbinary-daemon @@ -11,6 +11,6 @@ set -e export BUILDFLAGS=("${BUILDFLAGS[@]/static_build /}") # we're not building a "static" binary here GO_PACKAGE='github.com/docker/docker/cmd/dockerd' - BINARY_SHORT_NAME='dockerd' + BINARY_NAME='dockerd' source "${MAKEDIR}/.binary" ) diff --git a/hack/make/dynbinary-proxy b/hack/make/dynbinary-proxy index 3e16676061..ff408b299e 100644 --- a/hack/make/dynbinary-proxy +++ b/hack/make/dynbinary-proxy @@ -10,6 +10,6 @@ set -e export BUILDFLAGS=("${BUILDFLAGS[@]/static_build /}") # we're not building a "static" binary here GO_PACKAGE='github.com/docker/docker/cmd/docker-proxy' - BINARY_SHORT_NAME='docker-proxy' + BINARY_NAME='docker-proxy' source "${MAKEDIR}/.binary" )