mirror of
https://github.com/ansible/awx.git
synced 2026-03-21 02:47:35 -02:30
Create CHECKSUM files for tarball targets
* Renames the setup_offline_tarball -> setup_bundle_tarball * Uses sha256sum and gpg to create a --clearsign CHECKSUM file
This commit is contained in:
73
Makefile
73
Makefile
@@ -8,6 +8,15 @@ NODE ?= node
|
|||||||
DEPS_SCRIPT ?= packaging/offline/deps.py
|
DEPS_SCRIPT ?= packaging/offline/deps.py
|
||||||
AW_REPO_URL ?= "http://releases.ansible.com/ansible-tower"
|
AW_REPO_URL ?= "http://releases.ansible.com/ansible-tower"
|
||||||
|
|
||||||
|
# Determine appropriate shasum command
|
||||||
|
UNAME_S := $(shell uname -s)
|
||||||
|
ifeq ($(UNAME_S),Linux)
|
||||||
|
SHASUM_BIN ?= sha256sum
|
||||||
|
endif
|
||||||
|
ifeq ($(UNAME_S),Darwin)
|
||||||
|
SHASUM_BIN ?= shasum -a 256
|
||||||
|
endif
|
||||||
|
|
||||||
# Get the branch information from git
|
# Get the branch information from git
|
||||||
GIT_DATE := $(shell git log -n 1 --format="%ai")
|
GIT_DATE := $(shell git log -n 1 --format="%ai")
|
||||||
DATE := $(shell date -u +%Y%m%d%H%M)
|
DATE := $(shell date -u +%Y%m%d%H%M)
|
||||||
@@ -26,6 +35,7 @@ endif
|
|||||||
AWS_INSTANCE_COUNT ?= 0
|
AWS_INSTANCE_COUNT ?= 0
|
||||||
|
|
||||||
# GPG signature parameters (BETA key not yet used)
|
# GPG signature parameters (BETA key not yet used)
|
||||||
|
GPG_BIN ?= gpg
|
||||||
GPG_RELEASE = 442667A9
|
GPG_RELEASE = 442667A9
|
||||||
GPG_BETA = D7B00447
|
GPG_BETA = D7B00447
|
||||||
GPG_RELEASE_FILE = RPM-GPG-KEY-ansible-release
|
GPG_RELEASE_FILE = RPM-GPG-KEY-ansible-release
|
||||||
@@ -43,13 +53,14 @@ ifeq ($(OFFICIAL),yes)
|
|||||||
SDIST_TAR_NAME=$(NAME)-$(VERSION)
|
SDIST_TAR_NAME=$(NAME)-$(VERSION)
|
||||||
PACKER_BUILD_OPTS=-var-file=vars-release.json
|
PACKER_BUILD_OPTS=-var-file=vars-release.json
|
||||||
else
|
else
|
||||||
SETUP_TAR_NAME=$(NAME)-setup-$(VERSION)-$(BUILD)
|
SETUP_TAR_NAME=$(NAME)-setup-$(VERSION)-$(RELEASE)
|
||||||
SDIST_TAR_NAME=$(NAME)-$(VERSION)-$(BUILD)
|
SDIST_TAR_NAME=$(NAME)-$(VERSION)-$(RELEASE)
|
||||||
PACKER_BUILD_OPTS=-var-file=vars-nightly.json
|
PACKER_BUILD_OPTS=-var-file=vars-nightly.json
|
||||||
endif
|
endif
|
||||||
SDIST_TAR_FILE=$(SDIST_TAR_NAME).tar.gz
|
SDIST_TAR_FILE=$(SDIST_TAR_NAME).tar.gz
|
||||||
SETUP_TAR_FILE=$(SETUP_TAR_NAME).tar.gz
|
SETUP_TAR_FILE=$(SETUP_TAR_NAME).tar.gz
|
||||||
SETUP_TAR_LINK=$(NAME)-setup-latest.tar.gz
|
SETUP_TAR_LINK=$(NAME)-setup-latest.tar.gz
|
||||||
|
SETUP_TAR_CHECKSUM=$(NAME)-setup-CHECKSUM
|
||||||
|
|
||||||
# DEB build parameters
|
# DEB build parameters
|
||||||
DEBUILD_BIN ?= debuild
|
DEBUILD_BIN ?= debuild
|
||||||
@@ -74,8 +85,11 @@ DEB_PPA ?= reprepro
|
|||||||
DEB_ARCH ?= amd64
|
DEB_ARCH ?= amd64
|
||||||
|
|
||||||
# RPM build parameters
|
# RPM build parameters
|
||||||
|
MOCK_BIN ?= mock
|
||||||
|
MOCK_CFG ?=
|
||||||
RPM_SPECDIR= packaging/rpm
|
RPM_SPECDIR= packaging/rpm
|
||||||
RPM_SPEC = $(RPM_SPECDIR)/$(NAME).spec
|
RPM_SPEC = $(RPM_SPECDIR)/$(NAME).spec
|
||||||
|
# Provide a fallback value for RPM_DIST
|
||||||
RPM_DIST ?= $(shell rpm --eval '%{?dist}' 2>/dev/null)
|
RPM_DIST ?= $(shell rpm --eval '%{?dist}' 2>/dev/null)
|
||||||
ifeq ($(RPM_DIST),)
|
ifeq ($(RPM_DIST),)
|
||||||
RPM_DIST = .el6
|
RPM_DIST = .el6
|
||||||
@@ -85,16 +99,15 @@ ifeq ($(RPM_ARCH),)
|
|||||||
RPM_ARCH = $(shell uname -m)
|
RPM_ARCH = $(shell uname -m)
|
||||||
endif
|
endif
|
||||||
RPM_NVR = $(NAME)-$(VERSION)-$(RELEASE)$(RPM_DIST)
|
RPM_NVR = $(NAME)-$(VERSION)-$(RELEASE)$(RPM_DIST)
|
||||||
MOCK_BIN ?= mock
|
|
||||||
MOCK_CFG ?=
|
|
||||||
|
|
||||||
# Offline TAR build parameters
|
# TAR Bundle build parameters
|
||||||
DIST = $(shell echo $(RPM_DIST) | sed -e 's|^\.\(el\)\([0-9]\).*|\1|')
|
DIST = $(shell echo $(RPM_DIST) | sed -e 's|^\.\(el\)\([0-9]\).*|\1|')
|
||||||
DIST_MAJOR = $(shell echo $(RPM_DIST) | sed -e 's|^\.\(el\)\([0-9]\).*|\2|')
|
DIST_MAJOR = $(shell echo $(RPM_DIST) | sed -e 's|^\.\(el\)\([0-9]\).*|\2|')
|
||||||
DIST_FULL = $(DIST)$(DIST_MAJOR)
|
DIST_FULL = $(DIST)$(DIST_MAJOR)
|
||||||
OFFLINE_TAR_NAME = $(NAME)-offline-$(VERSION)-$(RELEASE).$(DIST_FULL)
|
OFFLINE_TAR_NAME = $(NAME)-bundle-$(VERSION)-$(RELEASE).$(DIST_FULL)
|
||||||
OFFLINE_TAR_FILE = $(OFFLINE_TAR_NAME).tar.gz
|
OFFLINE_TAR_FILE = $(OFFLINE_TAR_NAME).tar.gz
|
||||||
OFFLINE_TAR_LINK = $(NAME)-offline-latest.$(DIST_FULL).tar.gz
|
OFFLINE_TAR_LINK = $(NAME)-bundle-latest.$(DIST_FULL).tar.gz
|
||||||
|
OFFLINE_TAR_CHECKSUM=$(NAME)-bundle-CHECKSUM
|
||||||
|
|
||||||
DISTRO := $(shell . /etc/os-release 2>/dev/null && echo $${ID} || echo redhat)
|
DISTRO := $(shell . /etc/os-release 2>/dev/null && echo $${ID} || echo redhat)
|
||||||
ifeq ($(DISTRO),ubuntu)
|
ifeq ($(DISTRO),ubuntu)
|
||||||
@@ -113,7 +126,7 @@ endif
|
|||||||
devjs minjs testjs testjs_ci node-tests browser-tests jshint ngdocs sync_ui \
|
devjs minjs testjs testjs_ci node-tests browser-tests jshint ngdocs sync_ui \
|
||||||
deb deb-src debian reprepro setup_tarball \
|
deb deb-src debian reprepro setup_tarball \
|
||||||
virtualbox-ovf virtualbox-centos-7 virtualbox-centos-6 \
|
virtualbox-ovf virtualbox-centos-7 virtualbox-centos-6 \
|
||||||
clean-offline setup_offline_tarball
|
clean-bundle setup_bundle_tarball
|
||||||
|
|
||||||
# Remove setup build files
|
# Remove setup build files
|
||||||
clean-tar:
|
clean-tar:
|
||||||
@@ -147,11 +160,11 @@ clean-packer:
|
|||||||
rm -rf packaging/packer/ansible-tower*-ova
|
rm -rf packaging/packer/ansible-tower*-ova
|
||||||
rm -f Vagrantfile
|
rm -f Vagrantfile
|
||||||
|
|
||||||
clean-offline:
|
clean-bundle:
|
||||||
rm -rf offline-tar-build
|
rm -rf setup-bundle-build
|
||||||
|
|
||||||
# Remove temporary build files, compiled Python files.
|
# Remove temporary build files, compiled Python files.
|
||||||
clean: clean-rpm clean-deb clean-grunt clean-ui clean-tar clean-packer clean-offline
|
clean: clean-rpm clean-deb clean-grunt clean-ui clean-tar clean-packer clean-bundle
|
||||||
rm -rf awx/lib/site-packages
|
rm -rf awx/lib/site-packages
|
||||||
rm -rf dist/*
|
rm -rf dist/*
|
||||||
rm -rf build $(NAME)-$(VERSION) *.egg-info
|
rm -rf build $(NAME)-$(VERSION) *.egg-info
|
||||||
@@ -371,11 +384,19 @@ tar-build/$(SETUP_TAR_FILE):
|
|||||||
@cd tar-build && tar -czf $(SETUP_TAR_FILE) --exclude "*/all.in" $(SETUP_TAR_NAME)/
|
@cd tar-build && tar -czf $(SETUP_TAR_FILE) --exclude "*/all.in" $(SETUP_TAR_NAME)/
|
||||||
@ln -sf $(SETUP_TAR_FILE) tar-build/$(SETUP_TAR_LINK)
|
@ln -sf $(SETUP_TAR_FILE) tar-build/$(SETUP_TAR_LINK)
|
||||||
|
|
||||||
setup_tarball: tar-build/$(SETUP_TAR_FILE)
|
tar-build/$(SETUP_TAR_CHECKSUM):
|
||||||
|
@if [ "$(OFFICIAL)" != "yes" ] ; then \
|
||||||
|
$(SHASUM_BIN) tar-build/$(NAME)*.tar.gz > $@ ; \
|
||||||
|
else \
|
||||||
|
$(SHASUM_BIN) tar-build/$(NAME)*.tar.gz | $(GPG_BIN) --clearsign -u "$(GPG_RELEASE)" -o $@ - ; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
setup_tarball: tar-build/$(SETUP_TAR_FILE) tar-build/$(SETUP_TAR_CHECKSUM)
|
||||||
@echo "#############################################"
|
@echo "#############################################"
|
||||||
@echo "Setup artifacts:"
|
@echo "Setup artifacts:"
|
||||||
@echo tar-build/$(SETUP_TAR_FILE)
|
@echo tar-build/$(SETUP_TAR_FILE)
|
||||||
@echo tar-build/$(SETUP_TAR_LINK)
|
@echo tar-build/$(SETUP_TAR_LINK)
|
||||||
|
@echo tar-build/$(SETUP_TAR_CHECKSUM)
|
||||||
@echo "#############################################"
|
@echo "#############################################"
|
||||||
|
|
||||||
release_clean:
|
release_clean:
|
||||||
@@ -387,23 +408,27 @@ dist/$(SDIST_TAR_FILE):
|
|||||||
|
|
||||||
sdist: minjs dist/$(SDIST_TAR_FILE)
|
sdist: minjs dist/$(SDIST_TAR_FILE)
|
||||||
|
|
||||||
# Build setup offline tarball
|
# Build setup bundle tarball
|
||||||
offline-tar-build:
|
setup-bundle-build:
|
||||||
mkdir -p $@
|
mkdir -p $@
|
||||||
|
|
||||||
# TODO - Somehow share implementation with setup_tarball
|
# TODO - Somehow share implementation with setup_tarball
|
||||||
offline-tar-build/$(OFFLINE_TAR_FILE):
|
setup-bundle-build/$(OFFLINE_TAR_FILE):
|
||||||
cp -a setup offline-tar-build/$(OFFLINE_TAR_NAME)
|
cp -a setup setup-bundle-build/$(OFFLINE_TAR_NAME)
|
||||||
cd offline-tar-build/$(OFFLINE_TAR_NAME) && sed -e 's#%NAME%#$(NAME)#;s#%VERSION%#$(VERSION)#;s#%RELEASE%#$(RELEASE)#;' group_vars/all.in > group_vars/all
|
cd setup-bundle-build/$(OFFLINE_TAR_NAME) && sed -e 's#%NAME%#$(NAME)#;s#%VERSION%#$(VERSION)#;s#%RELEASE%#$(RELEASE)#;' group_vars/all.in > group_vars/all
|
||||||
$(PYTHON) $(DEPS_SCRIPT) -d $(DIST) -r $(DIST_MAJOR) -u $(AW_REPO_URL) -s offline-tar-build/$(OFFLINE_TAR_NAME) -v -v -v
|
$(PYTHON) $(DEPS_SCRIPT) -d $(DIST) -r $(DIST_MAJOR) -u $(AW_REPO_URL) -s setup-bundle-build/$(OFFLINE_TAR_NAME) -v -v -v
|
||||||
cd offline-tar-build && tar -czf $(OFFLINE_TAR_FILE) --exclude "*/all.in" $(OFFLINE_TAR_NAME)/
|
cd setup-bundle-build && tar -czf $(OFFLINE_TAR_FILE) --exclude "*/all.in" $(OFFLINE_TAR_NAME)/
|
||||||
ln -sf $(OFFLINE_TAR_FILE) offline-tar-build/$(OFFLINE_TAR_LINK)
|
ln -sf $(OFFLINE_TAR_FILE) setup-bundle-build/$(OFFLINE_TAR_LINK)
|
||||||
|
|
||||||
setup_offline_tarball: offline-tar-build offline-tar-build/$(OFFLINE_TAR_FILE)
|
setup-bundle-build/$(OFFLINE_TAR_CHECKSUM):
|
||||||
|
@$(SHASUM_BIN) tar-build/$(NAME)*.tar.gz | $(GPG_BIN) --clearsign -u "$(GPG_RELEASE)" -o $@ -
|
||||||
|
|
||||||
|
setup_bundle_tarball: setup-bundle-build setup-bundle-build/$(OFFLINE_TAR_FILE) setup-bundle-build/$(OFFLINE_TAR_CHECKSUM)
|
||||||
@echo "#############################################"
|
@echo "#############################################"
|
||||||
@echo "Offline artifacts:"
|
@echo "Offline artifacts:"
|
||||||
@echo offline-tar-build/$(OFFLINE_TAR_FILE)
|
@echo setup-bundle-build/$(OFFLINE_TAR_FILE)
|
||||||
@echo offline-tar-build/$(OFFLINE_TAR_LINK)
|
@echo setup-bundle-build/$(OFFLINE_TAR_LINK)
|
||||||
|
@echo setup-bundle-build/$(OFFLINE_TAR_CHECKSUM)
|
||||||
@echo "#############################################"
|
@echo "#############################################"
|
||||||
|
|
||||||
rpm-build:
|
rpm-build:
|
||||||
@@ -447,7 +472,7 @@ mock-rpm: rpmtar rpm-build/$(RPM_NVR).$(RPM_ARCH).rpm
|
|||||||
|
|
||||||
ifeq ($(OFFICIAL),yes)
|
ifeq ($(OFFICIAL),yes)
|
||||||
rpm-build/$(GPG_FILE): rpm-build
|
rpm-build/$(GPG_FILE): rpm-build
|
||||||
gpg --export -a "${GPG_KEY}" > "$@"
|
$(GPG_BIN) --export -a "${GPG_KEY}" > "$@"
|
||||||
|
|
||||||
rpm-sign: rpm-build/$(GPG_FILE) rpmtar rpm-build/$(RPM_NVR).$(RPM_ARCH).rpm
|
rpm-sign: rpm-build/$(GPG_FILE) rpmtar rpm-build/$(RPM_NVR).$(RPM_ARCH).rpm
|
||||||
rpm --define "_signature gpg" --define "_gpg_name $(GPG_KEY)" --addsign rpm-build/$(RPM_NVR).$(RPM_ARCH).rpm
|
rpm --define "_signature gpg" --define "_gpg_name $(GPG_KEY)" --addsign rpm-build/$(RPM_NVR).$(RPM_ARCH).rpm
|
||||||
|
|||||||
Reference in New Issue
Block a user