mirror of https://github.com/docker/compose.git
Merge pull request #632 from docker/eula-packaging
Add Docker EULA to packages
This commit is contained in:
commit
64cd8ebf8c
|
@ -1,3 +1,4 @@
|
||||||
.git/
|
.git/
|
||||||
bin/
|
bin/
|
||||||
|
dist/
|
||||||
tests/node-client/node_modules/
|
tests/node-client/node_modules/
|
||||||
|
|
|
@ -25,10 +25,10 @@ jobs:
|
||||||
${{ runner.os }}-go-
|
${{ runner.os }}-go-
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
run: make -f builder.Makefile cross
|
run: make -f builder.Makefile package
|
||||||
|
|
||||||
- uses: ncipollo/release-action@v1
|
- uses: ncipollo/release-action@v1
|
||||||
with:
|
with:
|
||||||
artifacts: "bin/*"
|
artifacts: "dist/*"
|
||||||
prerelease: true
|
prerelease: true
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
|
@ -1 +1,2 @@
|
||||||
bin/
|
bin/
|
||||||
|
dist/
|
||||||
|
|
|
@ -32,39 +32,59 @@ GO_BUILD=$(STATIC_FLAGS) go build -trimpath -ldflags=$(LDFLAGS)
|
||||||
BINARY?=bin/docker
|
BINARY?=bin/docker
|
||||||
BINARY_WITH_EXTENSION=$(BINARY)$(EXTENSION)
|
BINARY_WITH_EXTENSION=$(BINARY)$(EXTENSION)
|
||||||
|
|
||||||
|
WORK_DIR:=$(shell mktemp -d)
|
||||||
|
|
||||||
TAGS:=
|
TAGS:=
|
||||||
ifdef BUILD_TAGS
|
ifdef BUILD_TAGS
|
||||||
TAGS=-tags $(BUILD_TAGS)
|
TAGS=-tags $(BUILD_TAGS)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
TAR_TRANSFORM:=--transform s/packaging/docker/ --transform s/bin/docker/ --transform s/docker-linux-amd64/docker/ --transform s/docker-darwin-amd64/docker/
|
||||||
|
ifneq ($(findstring bsd,$(shell tar --version)),)
|
||||||
|
TAR_TRANSFORM=-s /packaging/docker/ -s /bin/docker/ -s /docker-linux-amd64/docker/ -s /docker-darwin-amd64/docker/
|
||||||
|
endif
|
||||||
|
|
||||||
all: cli
|
all: cli
|
||||||
|
|
||||||
|
.PHONY: protos
|
||||||
protos:
|
protos:
|
||||||
protoc -I. --go_out=plugins=grpc,paths=source_relative:. ${PROTOS}
|
protoc -I. --go_out=plugins=grpc,paths=source_relative:. ${PROTOS}
|
||||||
|
|
||||||
|
.PHONY: cli
|
||||||
cli:
|
cli:
|
||||||
GOOS=${GOOS} GOARCH=${GOARCH} $(GO_BUILD) $(TAGS) -o $(BINARY_WITH_EXTENSION) ./cli
|
GOOS=${GOOS} GOARCH=${GOARCH} $(GO_BUILD) $(TAGS) -o $(BINARY_WITH_EXTENSION) ./cli
|
||||||
|
|
||||||
|
.PHONY: cross
|
||||||
cross:
|
cross:
|
||||||
GOOS=linux GOARCH=amd64 $(GO_BUILD) $(TAGS) -o $(BINARY)-linux-amd64 ./cli
|
GOOS=linux GOARCH=amd64 $(GO_BUILD) $(TAGS) -o $(BINARY)-linux-amd64 ./cli
|
||||||
GOOS=darwin GOARCH=amd64 $(GO_BUILD) $(TAGS) -o $(BINARY)-darwin-amd64 ./cli
|
GOOS=darwin GOARCH=amd64 $(GO_BUILD) $(TAGS) -o $(BINARY)-darwin-amd64 ./cli
|
||||||
GOOS=windows GOARCH=amd64 $(GO_BUILD) $(TAGS) -o $(BINARY)-windows-amd64.exe ./cli
|
GOOS=windows GOARCH=amd64 $(GO_BUILD) $(TAGS) -o $(BINARY)-windows-amd64.exe ./cli
|
||||||
|
|
||||||
|
.PHONY: test
|
||||||
test:
|
test:
|
||||||
go test $(TAGS) -cover $(shell go list ./... | grep -vE 'e2e')
|
go test $(TAGS) -cover $(shell go list ./... | grep -vE 'e2e')
|
||||||
|
|
||||||
|
.PHONY: lint
|
||||||
lint:
|
lint:
|
||||||
golangci-lint run --timeout 10m0s ./...
|
golangci-lint run --timeout 10m0s ./...
|
||||||
|
|
||||||
|
.PHONY: import-restrictions
|
||||||
import-restrictions:
|
import-restrictions:
|
||||||
import-restrictions --configuration import-restrictions.yaml
|
import-restrictions --configuration import-restrictions.yaml
|
||||||
|
|
||||||
|
.PHONY: check-licese-headers
|
||||||
check-license-headers:
|
check-license-headers:
|
||||||
./scripts/validate/fileheader
|
./scripts/validate/fileheader
|
||||||
|
|
||||||
|
.PHONY: check-go-mod
|
||||||
check-go-mod:
|
check-go-mod:
|
||||||
./scripts/validate/check-go-mod
|
./scripts/validate/check-go-mod
|
||||||
|
|
||||||
FORCE:
|
.PHONY: package
|
||||||
|
package: cross
|
||||||
.PHONY: all protos cli cross test lint
|
mkdir -p dist
|
||||||
|
tar -czf dist/docker-linux-amd64.tar.gz $(TAR_TRANSFORM) packaging/LICENSE $(BINARY)-linux-amd64
|
||||||
|
tar -czf dist/docker-darwin-amd64.tar.gz $(TAR_TRANSFORM) packaging/LICENSE $(BINARY)-darwin-amd64
|
||||||
|
cp $(BINARY)-windows-amd64.exe $(WORK_DIR)/docker.exe
|
||||||
|
rm -f dist/docker-windows-amd64.zip && zip dist/docker-windows-amd64.zip -j packaging/LICENSE $(WORK_DIR)/docker.exe
|
||||||
|
rm -r $(WORK_DIR)
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
The Docker End User License Agreement (https://www.docker.com/legal/docker-software-end-user-license-agreement) describes Docker's Terms for this software.
|
||||||
|
By downloading, accessing, or using this software you expressly accept and agree to the Terms set out in the Docker End User License Agreement.
|
|
@ -1,14 +0,0 @@
|
||||||
FROM ubuntu:latest
|
|
||||||
|
|
||||||
RUN apt-get update
|
|
||||||
RUN apt-get -y install curl grep
|
|
||||||
RUN curl https://get.docker.com | sh
|
|
||||||
|
|
||||||
COPY install_linux.sh /scripts/install_linux.sh
|
|
||||||
RUN chmod +x /scripts/install_linux.sh
|
|
||||||
RUN /scripts/install_linux.sh
|
|
||||||
RUN docker version | grep Azure
|
|
||||||
|
|
||||||
# check we can update
|
|
||||||
RUN /scripts/install_linux.sh
|
|
||||||
RUN docker version | grep Azure
|
|
|
@ -14,7 +14,7 @@
|
||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
# Script to install the Docker ACI integration CLI on Ubuntu (Beta).
|
# Script to install the Docker Compose CLI on Ubuntu (Beta).
|
||||||
|
|
||||||
set -eu
|
set -eu
|
||||||
|
|
||||||
|
@ -106,18 +106,19 @@ if ! [ "$(command -v curl)" ]; then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
DOWNLOAD_URL=$(curl -s ${RELEASE_URL} | grep "browser_download_url.*docker-linux-amd64" | cut -d : -f 2,3)
|
DOWNLOAD_URL=${DOWNLOAD_URL:-$(curl -s ${RELEASE_URL} | grep "browser_download_url.*docker-linux-amd64.tar.gz" | cut -d : -f 2,3)}
|
||||||
|
|
||||||
# Check if the ACI CLI is already installed
|
# Check if the Compose CLI is already installed
|
||||||
if [ $(is_new_cli "docker") -eq 1 ]; then
|
if [ $(is_new_cli "docker") -eq 1 ]; then
|
||||||
if [ $(is_new_cli "/usr/local/bin/docker") -eq 1 ]; then
|
if [ $(is_new_cli "/usr/local/bin/docker") -eq 1 ]; then
|
||||||
echo "You already have the Docker ACI Integration CLI installed, overriding with latest version"
|
echo "You already have the Docker Compose CLI installed, overriding with latest version"
|
||||||
download_dir=$($sh_c 'mktemp -d')
|
download_dir=$($sh_c 'mktemp -d')
|
||||||
$sh_c "${download_cmd} ${download_dir}/docker-aci ${DOWNLOAD_URL}"
|
$sh_c "${download_cmd} ${download_dir}/docker-compose-cli.tar.gz ${DOWNLOAD_URL}"
|
||||||
$sudo_sh_c "install -m 775 ${download_dir}/docker-aci /usr/local/bin/docker"
|
$sh_c "tar xzf ${download_dir}/docker-compose-cli.tar.gz -C ${download_dir} --strip-components 1"
|
||||||
|
$sudo_sh_c "install -m 775 ${download_dir}/docker /usr/local/bin/docker"
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
echo "You already have the Docker ACI Integration CLI installed, in a different location."
|
echo "You already have the Docker Compose CLI installed, in a different location."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -169,7 +170,8 @@ echo "Downloading CLI..."
|
||||||
|
|
||||||
# Download CLI to temporary directory
|
# Download CLI to temporary directory
|
||||||
download_dir=$($sh_c 'mktemp -d')
|
download_dir=$($sh_c 'mktemp -d')
|
||||||
$sh_c "${download_cmd} ${download_dir}/docker-aci ${DOWNLOAD_URL}"
|
$sh_c "${download_cmd} ${download_dir}/docker-compose-cli.tar.gz ${DOWNLOAD_URL}"
|
||||||
|
$sh_c "tar xzf ${download_dir}/docker-compose-cli.tar.gz -C ${download_dir} --strip-components 1"
|
||||||
|
|
||||||
echo "Downloaded CLI!"
|
echo "Downloaded CLI!"
|
||||||
echo "Installing CLI..."
|
echo "Installing CLI..."
|
||||||
|
@ -178,7 +180,7 @@ echo "Installing CLI..."
|
||||||
$sudo_sh_c "ln -s ${existing_cli_path} ${link_path}"
|
$sudo_sh_c "ln -s ${existing_cli_path} ${link_path}"
|
||||||
|
|
||||||
# Install downloaded CLI
|
# Install downloaded CLI
|
||||||
$sudo_sh_c "install -m 775 ${download_dir}/docker-aci /usr/local/bin/docker"
|
$sudo_sh_c "install -m 775 ${download_dir}/docker-linux-amd64 /usr/local/bin/docker"
|
||||||
|
|
||||||
# Clear cache
|
# Clear cache
|
||||||
cleared_cache=1
|
cleared_cache=1
|
||||||
|
@ -196,12 +198,12 @@ if [ -n "$DRY_RUN" ]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -n "$cleared_cache" ]; then
|
if [ -n "$cleared_cache" ]; then
|
||||||
# Check ACI CLI is working
|
# Check Compose CLI is working
|
||||||
if [ $(is_new_cli "docker") -eq 0 ]; then
|
if [ $(is_new_cli "docker") -eq 0 ]; then
|
||||||
echo "Error: Docker ACI Integration CLI installation error"
|
echo "Error: Docker Compose CLI installation error"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
echo "Done!"
|
echo "Done!"
|
||||||
else
|
else
|
||||||
echo "Please log out and in again to use the Docker ACI integration CLI"
|
echo "Please log out and in again to use the Docker Compose CLI"
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -0,0 +1,42 @@
|
||||||
|
# Copyright 2020 Docker Compose CLI authors
|
||||||
|
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
|
||||||
|
# Distro options: ubuntu, centos
|
||||||
|
ARG DISTRO=ubuntu
|
||||||
|
|
||||||
|
FROM ubuntu:20.04 AS base-ubuntu
|
||||||
|
RUN apt-get update && apt-get install -y \
|
||||||
|
curl
|
||||||
|
RUN curl https://get.docker.com | sh
|
||||||
|
|
||||||
|
FROM centos:7 AS base-centos
|
||||||
|
RUN curl https://get.docker.com | sh
|
||||||
|
|
||||||
|
FROM base-${DISTRO} AS install
|
||||||
|
COPY install_linux.sh /scripts/install_linux.sh
|
||||||
|
RUN chmod +x /scripts/install_linux.sh
|
||||||
|
ARG DOWNLOAD_URL=
|
||||||
|
RUN DOWNLOAD_URL=${DOWNLOAD_URL} /scripts/install_linux.sh
|
||||||
|
RUN docker version | grep Cloud
|
||||||
|
|
||||||
|
FROM install AS upgrade
|
||||||
|
RUN DOWNLOAD_URL=${DOWNLOAD_URL} /scripts/install_linux.sh
|
||||||
|
RUN docker version | grep Cloud
|
||||||
|
|
||||||
|
# To run this test locally, start an HTTP server that serves the dist/ folder
|
||||||
|
# then run a docker build passing the DOWNLOAD_URL as a build arg:
|
||||||
|
# $ cd dist/ && python3 -m http.server &
|
||||||
|
# $ docker build -f test.Dockerfile --build-arg DOWNLOAD_URL=http://192.168.0.22:8000/docker-linux-amd64.tar.gz .
|
||||||
|
#
|
||||||
|
# You can specify centos or ubuntu as distros using the DISTRO build arg.
|
Loading…
Reference in New Issue