From 90015ab594c929218c914e74cf26e29979c6231b Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Fri, 31 Mar 2017 17:27:08 -0600 Subject: [PATCH 1/5] fix: ensure the Makefile is also removed when calling `make src-clean` --- plugins/repo/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/repo/Makefile b/plugins/repo/Makefile index 43444403c..6c127ac4b 100644 --- a/plugins/repo/Makefile +++ b/plugins/repo/Makefile @@ -23,4 +23,4 @@ clean: rm -rf commands subcommands src-clean: - rm -rf .gitignore src vendor + rm -rf .gitignore src vendor Makefile From 0fae350256b61d474e879a85d897f233f9927f50 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Fri, 31 Mar 2017 17:48:26 -0600 Subject: [PATCH 2/5] fix: do not clean src files between builds This breaks packaging for multiple systems, and should only be done in the tmp build dir. --- contrib/release | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/release b/contrib/release index 9431d8a45..4c02376e7 100755 --- a/contrib/release +++ b/contrib/release @@ -47,7 +47,7 @@ fn-build-dokku() { --build-arg DOKKU_VERSION="$DOKKU_VERSION" \ --build-arg DOKKU_GIT_REV="$DOKKU_GIT_REV" \ --build-arg IS_RELEASE="$IS_RELEASE" \ - --build-arg PLUGIN_MAKE_TARGET="build src-clean" \ + --build-arg PLUGIN_MAKE_TARGET="build" \ --build-arg GOLANG_VERSION="$GOLANG_VERSION" \ -f "contrib/build.Dockerfile" \ -t "$NAME" . From 6d55dd8884b05480ca477e372ba5778a76c0d486 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Fri, 31 Mar 2017 17:50:16 -0600 Subject: [PATCH 3/5] fix: allow skipping go-clean --- Makefile | 2 ++ contrib/build.Dockerfile | 1 + 2 files changed, 3 insertions(+) diff --git a/Makefile b/Makefile index 7aa28ef93..9c77fdbd9 100644 --- a/Makefile +++ b/Makefile @@ -88,7 +88,9 @@ copyfiles: PLUGIN_PATH=${CORE_PLUGINS_PATH} plugn enable $$plugin ;\ PLUGIN_PATH=${PLUGINS_PATH} plugn enable $$plugin ;\ done +ifndef SKIP_GO_CLEAN $(MAKE) go-clean +endif chown dokku:dokku -R ${PLUGINS_PATH} ${CORE_PLUGINS_PATH} || true $(MAKE) addman diff --git a/contrib/build.Dockerfile b/contrib/build.Dockerfile index a12b672ba..17ec3137d 100644 --- a/contrib/build.Dockerfile +++ b/contrib/build.Dockerfile @@ -32,6 +32,7 @@ RUN PATH=$PATH:/usr/local/go/bin GOPATH=/go \ DOKKU_VERSION=${DOKKU_VERSION} \ DOKKU_GIT_REV=${DOKKU_GIT_REV} \ IS_RELEASE=${IS_RELEASE} \ + SKIP_GO_CLEAN=true \ make version copyfiles \ && rm -rf plugins/common/*.go plugins/common/glide* plugins/common/vendor/ \ && make deb-herokuish deb-dokku deb-plugn deb-sshcommand deb-sigil \ From 5b33bd5edacd59d68baab3ab5efdfe870807fde9 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Fri, 31 Mar 2017 17:50:34 -0600 Subject: [PATCH 4/5] fix: clean up src files in tmp build dir --- deb.mk | 4 ++++ rpm.mk | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/deb.mk b/deb.mk index 2a8e8c055..ba8d61ea8 100644 --- a/deb.mk +++ b/deb.mk @@ -124,8 +124,12 @@ deb-dokku: cp dokku /tmp/build/usr/bin cp LICENSE /tmp/build/usr/share/doc/dokku/copyright 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 diff --git a/rpm.mk b/rpm.mk index 9bbc9267f..55702f2b9 100644 --- a/rpm.mk +++ b/rpm.mk @@ -58,8 +58,12 @@ rpm-dokku: cp dokku /tmp/build/usr/bin cp LICENSE /tmp/build/usr/share/doc/dokku/copyright 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 From b54a5b3f678f65a8af7c8c64874cc0f0aa0ca0df Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Fri, 31 Mar 2017 17:50:54 -0600 Subject: [PATCH 5/5] feat: add more lintian overrides for golang-based builds --- debian/lintian-overrides | 2 ++ 1 file changed, 2 insertions(+) diff --git a/debian/lintian-overrides b/debian/lintian-overrides index 5fb3547e9..b567152e9 100644 --- a/debian/lintian-overrides +++ b/debian/lintian-overrides @@ -1,3 +1,5 @@ dokku: command-with-path-in-maintainer-script postinst:16 /usr/bin/sshcommand dokku: maintainer-script-calls-systemctl postinst:87 dokku: changelog-file-missing-in-native-package +dokku: statically-linked-binary +dokku: unstripped-binary-or-object