From 1683095233f1ac5d9d6247927fd787679f6fa576 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Mon, 8 Apr 2019 12:41:06 -0400 Subject: [PATCH] fix: try and decrease number of compiles during release process --- Makefile | 1 + deb.mk | 55 ++++++++------------------------------- package.mk | 35 +++++++++++++++++++++++++ plugins/resource/Makefile | 2 +- rpm.mk | 46 +++++--------------------------- 5 files changed, 54 insertions(+), 85 deletions(-) create mode 100644 package.mk diff --git a/Makefile b/Makefile index 40715fcdc..61718d955 100644 --- a/Makefile +++ b/Makefile @@ -32,6 +32,7 @@ include common.mk .PHONY: all apt-update install version copyfiles copyplugin man-db plugins dependencies sshcommand procfile-util plugn docker aufs stack count dokku-installer vagrant-acl-add vagrant-dokku go-build include tests.mk +include package.mk include deb.mk include rpm.mk include arch.mk diff --git a/deb.mk b/deb.mk index 6cc71853a..016139c4d 100644 --- a/deb.mk +++ b/deb.mk @@ -100,53 +100,20 @@ deb-herokuish: --license 'MIT License' \ . -deb-dokku: - rm -rf /tmp/tmp /tmp/build dokku_*_$(DOKKU_ARCHITECTURE).deb - mkdir -p /tmp/tmp /tmp/build +deb-dokku: /tmp/build-dokku/var/lib/dokku/GIT_REV + rm -f $(BUILD_DIRECTORY)/dokku_*_$(DOKKU_ARCHITECTURE).deb - cp -r debian /tmp/build/DEBIAN - mkdir -p /tmp/build/usr/share/bash-completion/completions - mkdir -p /tmp/build/usr/bin - mkdir -p /tmp/build/usr/share/doc/dokku - mkdir -p /tmp/build/usr/share/dokku/contrib - mkdir -p /tmp/build/usr/share/lintian/overrides - mkdir -p /tmp/build/usr/share/man/man1 - mkdir -p /tmp/build/var/lib/dokku/core-plugins/available - - cp dokku /tmp/build/usr/bin - cp LICENSE /tmp/build/usr/share/doc/dokku/copyright - cp contrib/bash-completion /tmp/build/usr/share/bash-completion/completions/dokku - find . -name ".DS_Store" -depth -exec rm {} \; - $(MAKE) go-build - cp common.mk /tmp/build/var/lib/dokku/core-plugins/common.mk - cp -r plugins/* /tmp/build/var/lib/dokku/core-plugins/available - find plugins/ -mindepth 1 -maxdepth 1 -type d -printf '%f\n' | while read plugin; do cd /tmp/build/var/lib/dokku/core-plugins/available/$$plugin && if [ -e Makefile ]; then $(MAKE) src-clean; fi; done - find plugins/ -mindepth 1 -maxdepth 1 -type d -printf '%f\n' | while read plugin; do touch /tmp/build/var/lib/dokku/core-plugins/available/$$plugin/.core; done - rm /tmp/build/var/lib/dokku/core-plugins/common.mk - $(MAKE) help2man - $(MAKE) addman - cp /usr/local/share/man/man1/dokku.1 /tmp/build/usr/share/man/man1/dokku.1 - gzip -9 /tmp/build/usr/share/man/man1/dokku.1 - cp contrib/dokku-installer.py /tmp/build/usr/share/dokku/contrib -ifeq ($(DOKKU_VERSION),master) - git describe --tags > /tmp/build/var/lib/dokku/VERSION -else - echo $(DOKKU_VERSION) > /tmp/build/var/lib/dokku/VERSION -endif - cat /tmp/build/var/lib/dokku/VERSION | cut -d '-' -f 1 | cut -d 'v' -f 2 > /tmp/build/var/lib/dokku/STABLE_VERSION + cat /tmp/build-dokku/var/lib/dokku/VERSION | cut -d '-' -f 1 | cut -d 'v' -f 2 > /tmp/build-dokku/var/lib/dokku/STABLE_VERSION ifneq (,$(findstring false,$(IS_RELEASE))) - sed -i.bak -e "s/^/`date +%s`:/" /tmp/build/var/lib/dokku/STABLE_VERSION && rm /tmp/build/var/lib/dokku/STABLE_VERSION.bak + sed -i.bak -e "s/^/`date +%s`:/" /tmp/build-dokku/var/lib/dokku/STABLE_VERSION && rm /tmp/build-dokku/var/lib/dokku/STABLE_VERSION.bak endif - rm -f /tmp/build/DEBIAN/lintian-overrides - cp debian/lintian-overrides /tmp/build/usr/share/lintian/overrides/dokku -ifdef DOKKU_GIT_REV - echo "$(DOKKU_GIT_REV)" > /tmp/build/var/lib/dokku/GIT_REV -else - git rev-parse HEAD > /tmp/build/var/lib/dokku/GIT_REV -endif - sed -i.bak "s/^Version: .*/Version: `cat /tmp/build/var/lib/dokku/STABLE_VERSION`/g" /tmp/build/DEBIAN/control && rm /tmp/build/DEBIAN/control.bak - dpkg-deb --build /tmp/build "$(BUILD_DIRECTORY)/dokku_`cat /tmp/build/var/lib/dokku/VERSION`_$(DOKKU_ARCHITECTURE).deb" - lintian "$(BUILD_DIRECTORY)/dokku_`cat /tmp/build/var/lib/dokku/VERSION`_$(DOKKU_ARCHITECTURE).deb" + + cp -r debian /tmp/build-dokku/DEBIAN + rm -f /tmp/build-dokku/DEBIAN/lintian-overrides + cp debian/lintian-overrides /tmp/build-dokku/usr/share/lintian/overrides/dokku + sed -i.bak "s/^Version: .*/Version: `cat /tmp/build-dokku/var/lib/dokku/STABLE_VERSION`/g" /tmp/build-dokku/DEBIAN/control && rm /tmp/build-dokku/DEBIAN/control.bak + dpkg-deb --build /tmp/build-dokku "$(BUILD_DIRECTORY)/dokku_`cat /tmp/build-dokku/var/lib/dokku/VERSION`_$(DOKKU_ARCHITECTURE).deb" + lintian "$(BUILD_DIRECTORY)/dokku_`cat /tmp/build-dokku/var/lib/dokku/VERSION`_$(DOKKU_ARCHITECTURE).deb" deb-dokku-update: rm -rf /tmp/dokku-update*.deb dokku-update*.deb diff --git a/package.mk b/package.mk new file mode 100644 index 000000000..2b9a3dc01 --- /dev/null +++ b/package.mk @@ -0,0 +1,35 @@ +/tmp/build-dokku/var/lib/dokku/GIT_REV: + mkdir -p /tmp/build-dokku + mkdir -p /tmp/build-dokku/usr/share/bash-completion/completions + mkdir -p /tmp/build-dokku/usr/bin + mkdir -p /tmp/build-dokku/usr/share/doc/dokku + mkdir -p /tmp/build-dokku/usr/share/dokku/contrib + mkdir -p /tmp/build-dokku/usr/share/lintian/overrides + mkdir -p /tmp/build-dokku/usr/share/man/man1 + mkdir -p /tmp/build-dokku/var/lib/dokku/core-plugins/available + + cp dokku /tmp/build-dokku/usr/bin + cp LICENSE /tmp/build-dokku/usr/share/doc/dokku/copyright + cp contrib/bash-completion /tmp/build-dokku/usr/share/bash-completion/completions/dokku + find . -name ".DS_Store" -depth -exec rm {} \; + $(MAKE) go-build + cp common.mk /tmp/build-dokku/var/lib/dokku/core-plugins/common.mk + cp -r plugins/* /tmp/build-dokku/var/lib/dokku/core-plugins/available + find plugins/ -mindepth 1 -maxdepth 1 -type d -printf '%f\n' | while read plugin; do cd /tmp/build-dokku/var/lib/dokku/core-plugins/available/$$plugin && if [ -e Makefile ]; then $(MAKE) src-clean; fi; done + find plugins/ -mindepth 1 -maxdepth 1 -type d -printf '%f\n' | while read plugin; do touch /tmp/build-dokku/var/lib/dokku/core-plugins/available/$$plugin/.core; done + rm /tmp/build-dokku/var/lib/dokku/core-plugins/common.mk + $(MAKE) help2man + $(MAKE) addman + cp /usr/local/share/man/man1/dokku.1 /tmp/build-dokku/usr/share/man/man1/dokku.1 + gzip -9 /tmp/build-dokku/usr/share/man/man1/dokku.1 + cp contrib/dokku-installer.py /tmp/build-dokku/usr/share/dokku/contrib +ifeq ($(DOKKU_VERSION),master) + git describe --tags > /tmp/build-dokku/var/lib/dokku/VERSION +else + echo $(DOKKU_VERSION) > /tmp/build-dokku/var/lib/dokku/VERSION +endif +ifdef DOKKU_GIT_REV + echo "$(DOKKU_GIT_REV)" > /tmp/build-dokku/var/lib/dokku/GIT_REV +else + git rev-parse HEAD > /tmp/build-dokku/var/lib/dokku/GIT_REV +endif diff --git a/plugins/resource/Makefile b/plugins/resource/Makefile index 582d8d44b..6859e0283 100644 --- a/plugins/resource/Makefile +++ b/plugins/resource/Makefile @@ -35,4 +35,4 @@ triggers/%: src/triggers/*/%.go triggers-copy: cp triggers/* . - ln -s docker-args-process-deploy docker-args-process-run + ln -sf docker-args-process-deploy docker-args-process-run diff --git a/rpm.mk b/rpm.mk index 9bb455a60..ddb7fe073 100644 --- a/rpm.mk +++ b/rpm.mk @@ -46,51 +46,17 @@ rpm-herokuish: --license 'MIT License' \ . -rpm-dokku: - rm -rf /tmp/tmp /tmp/build $(BUILD_DIRECTORY)/dokku_*_$(RPM_ARCHITECTURE).rpm - mkdir -p /tmp/tmp /tmp/build +rpm-dokku: /tmp/build-dokku/var/lib/dokku/GIT_REV + rm -f $(BUILD_DIRECTORY)/dokku_*_$(RPM_ARCHITECTURE).rpm - mkdir -p /tmp/build/usr/share/bash-completion/completions - mkdir -p /tmp/build/usr/bin - mkdir -p /tmp/build/usr/share/doc/dokku - mkdir -p /tmp/build/usr/share/dokku/contrib - mkdir -p /tmp/build/usr/share/lintian/overrides - mkdir -p /tmp/build/usr/share/man/man1 - mkdir -p /tmp/build/var/lib/dokku/core-plugins/available - - cp dokku /tmp/build/usr/bin - cp LICENSE /tmp/build/usr/share/doc/dokku/copyright - cp contrib/bash-completion /tmp/build/usr/share/bash-completion/completions/dokku - find . -name ".DS_Store" -depth -exec rm {} \; - $(MAKE) go-build - cp common.mk /tmp/build/var/lib/dokku/core-plugins/common.mk - cp -r plugins/* /tmp/build/var/lib/dokku/core-plugins/available - find plugins/ -mindepth 1 -maxdepth 1 -type d -printf '%f\n' | while read plugin; do cd /tmp/build/var/lib/dokku/core-plugins/available/$$plugin && if [ -e Makefile ]; then $(MAKE) src-clean; fi; done - find plugins/ -mindepth 1 -maxdepth 1 -type d -printf '%f\n' | while read plugin; do touch /tmp/build/var/lib/dokku/core-plugins/available/$$plugin/.core; done - rm /tmp/build/var/lib/dokku/core-plugins/common.mk - $(MAKE) help2man - $(MAKE) addman - cp /usr/local/share/man/man1/dokku.1 /tmp/build/usr/share/man/man1/dokku.1 - gzip -9 /tmp/build/usr/share/man/man1/dokku.1 - cp contrib/dokku-installer.py /tmp/build/usr/share/dokku/contrib -ifeq ($(DOKKU_VERSION),master) - git describe --tags > /tmp/build/var/lib/dokku/VERSION -else - echo $(DOKKU_VERSION) > /tmp/build/var/lib/dokku/VERSION -endif - cat /tmp/build/var/lib/dokku/VERSION | cut -d '-' -f 1 | cut -d 'v' -f 2 > /tmp/build/var/lib/dokku/STABLE_VERSION + cat /tmp/build-dokku/var/lib/dokku/VERSION | cut -d '-' -f 1 | cut -d 'v' -f 2 > /tmp/build-dokku/var/lib/dokku/STABLE_VERSION ifneq (,$(findstring false,$(IS_RELEASE))) - sed -i.bak -e "s/^/`date +%s`-/" /tmp/build/var/lib/dokku/STABLE_VERSION && rm /tmp/build/var/lib/dokku/STABLE_VERSION.bak -endif -ifdef DOKKU_GIT_REV - echo "$(DOKKU_GIT_REV)" > /tmp/build/var/lib/dokku/GIT_REV -else - git rev-parse HEAD > /tmp/build/var/lib/dokku/GIT_REV + sed -i.bak -e "s/^/`date +%s`-/" /tmp/build-dokku/var/lib/dokku/STABLE_VERSION && rm /tmp/build-dokku/var/lib/dokku/STABLE_VERSION.bak endif @echo "-> Creating rpm package" - VERSION=$$(cat /tmp/build/var/lib/dokku/STABLE_VERSION); \ - sudo fpm -t rpm -s dir -C /tmp/build -n dokku \ + VERSION=$$(cat /tmp/build-dokku/var/lib/dokku/STABLE_VERSION); \ + sudo fpm -t rpm -s dir -C /tmp/build-dokku -n dokku \ --version "$$VERSION" \ --architecture $(RPM_ARCHITECTURE) \ --package "$(BUILD_DIRECTORY)/$(DOKKU_RPM_PACKAGE_NAME)" \