瀏覽代碼

hack: remove version from binaries, and remove symlinks

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 <github@gone.nl>
Sebastiaan van Stijn 3 年之前
父節點
當前提交
d6f9b4d73b
共有 7 個文件被更改,包括 9 次插入12 次删除
  1. 0 3
      hack/make/.binary
  2. 4 4
      hack/make/.mkwinres
  3. 1 1
      hack/make/binary-daemon
  4. 1 1
      hack/make/binary-proxy
  5. 1 1
      hack/make/cross
  6. 1 1
      hack/make/dynbinary-daemon
  7. 1 1
      hack/make/dynbinary-proxy

+ 0 - 3
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"

+ 4 - 4
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

+ 1 - 1
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'

+ 1 - 1
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"
 )

+ 1 - 1
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}"
 	(

+ 1 - 1
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"
 )

+ 1 - 1
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"
 )