2018-12-28 17:42:15 -05:00
|
|
|
BUILD_DIRECTORY ?= /tmp
|
|
|
|
|
|
2016-07-31 15:09:45 -04:00
|
|
|
DOKKU_DESCRIPTION = 'Docker powered PaaS that helps you build and manage the lifecycle of applications'
|
2015-12-06 04:51:31 -05:00
|
|
|
DOKKU_REPO_NAME ?= dokku/dokku
|
2015-01-11 18:38:51 -05:00
|
|
|
DOKKU_ARCHITECTURE = amd64
|
|
|
|
|
|
2018-01-21 15:42:34 -05:00
|
|
|
DOKKU_UPDATE_DESCRIPTION = 'Binary that handles updating Dokku and related systems'
|
|
|
|
|
DOKKU_UPDATE_REPO_NAME ?= dokku/dokku
|
2020-12-12 23:10:21 -05:00
|
|
|
DOKKU_UPDATE_VERSION ?= 0.2.0
|
2018-01-21 15:42:34 -05:00
|
|
|
DOKKU_UPDATE_ARCHITECTURE = amd64
|
|
|
|
|
DOKKU_UPDATE_PACKAGE_NAME = dokku-update_$(DOKKU_UPDATE_VERSION)_$(DOKKU_UPDATE_ARCHITECTURE).deb
|
|
|
|
|
|
2016-06-09 15:07:13 -04:00
|
|
|
ifndef IS_RELEASE
|
|
|
|
|
IS_RELEASE = true
|
|
|
|
|
endif
|
|
|
|
|
|
2016-05-18 13:53:23 -04:00
|
|
|
|
2021-02-21 03:12:57 -05:00
|
|
|
.PHONY: install-from-deb deb-all deb-dokku deb-dokku-update deb-setup
|
2015-01-11 18:38:51 -05:00
|
|
|
|
|
|
|
|
install-from-deb:
|
2016-02-14 18:43:40 -08:00
|
|
|
@echo "--> Initial apt-get update"
|
2019-02-02 13:49:24 -05:00
|
|
|
sudo apt-get update -qq >/dev/null
|
2021-01-17 16:09:58 -05:00
|
|
|
sudo apt-get -qq -y --no-install-recommends install apt-transport-https
|
2015-03-19 20:05:25 -04:00
|
|
|
|
2016-02-14 18:43:40 -08:00
|
|
|
@echo "--> Installing docker"
|
2015-11-09 22:52:58 -06:00
|
|
|
wget -nv -O - https://get.docker.com/ | sh
|
2015-01-11 18:38:51 -05:00
|
|
|
|
2016-02-14 18:43:40 -08:00
|
|
|
@echo "--> Installing dokku"
|
2019-01-10 12:18:01 -05:00
|
|
|
wget -nv -O - https://packagecloud.io/dokku/dokku/gpgkey | apt-key add -
|
2020-02-28 05:57:55 -05:00
|
|
|
@echo "deb https://packagecloud.io/dokku/dokku/ubuntu/ $(shell lsb_release -cs 2>/dev/null || echo "bionic") main" | sudo tee /etc/apt/sources.list.d/dokku.list
|
2019-02-02 13:49:24 -05:00
|
|
|
sudo apt-get update -qq >/dev/null
|
2021-01-17 16:09:58 -05:00
|
|
|
sudo DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true apt-get -qq -y --no-install-recommends install dokku
|
2015-01-11 18:38:51 -05:00
|
|
|
|
2021-02-21 03:12:57 -05:00
|
|
|
deb-all: deb-setup deb-dokku deb-dokku-update
|
2018-12-28 17:42:15 -05:00
|
|
|
mv $(BUILD_DIRECTORY)/*.deb .
|
2016-02-14 18:43:40 -08:00
|
|
|
@echo "Done"
|
2015-01-11 18:38:51 -05:00
|
|
|
|
|
|
|
|
deb-setup:
|
2016-02-14 18:43:40 -08:00
|
|
|
@echo "-> Updating deb repository and installing build requirements"
|
2019-02-02 13:49:24 -05:00
|
|
|
@sudo apt-get update -qq >/dev/null
|
2021-01-17 16:09:58 -05:00
|
|
|
@sudo DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true apt-get -qq -y --no-install-recommends install gcc git build-essential wget ruby-dev ruby1.9.1 lintian >/dev/null 2>&1
|
2019-02-02 13:49:24 -05:00
|
|
|
@command -v fpm >/dev/null || sudo gem install fpm --no-ri --no-rdoc
|
2016-03-30 15:43:59 -04:00
|
|
|
@ssh -o StrictHostKeyChecking=no git@github.com || true
|
2015-01-11 18:38:51 -05:00
|
|
|
|
2019-04-08 12:41:06 -04:00
|
|
|
deb-dokku: /tmp/build-dokku/var/lib/dokku/GIT_REV
|
|
|
|
|
rm -f $(BUILD_DIRECTORY)/dokku_*_$(DOKKU_ARCHITECTURE).deb
|
2015-01-11 18:38:51 -05:00
|
|
|
|
2019-04-08 12:41:06 -04:00
|
|
|
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
|
2016-06-09 15:07:13 -04:00
|
|
|
ifneq (,$(findstring false,$(IS_RELEASE)))
|
2019-04-08 12:41:06 -04:00
|
|
|
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
|
2016-06-09 15:07:13 -04:00
|
|
|
endif
|
2019-04-08 12:41:06 -04:00
|
|
|
|
|
|
|
|
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"
|
2015-01-11 18:38:51 -05:00
|
|
|
|
2018-01-21 15:42:34 -05:00
|
|
|
deb-dokku-update:
|
|
|
|
|
rm -rf /tmp/dokku-update*.deb dokku-update*.deb
|
|
|
|
|
echo "${DOKKU_UPDATE_VERSION}" > contrib/dokku-update-version
|
|
|
|
|
sudo fpm -t deb -s dir -n dokku-update \
|
|
|
|
|
--version $(DOKKU_UPDATE_VERSION) \
|
|
|
|
|
--architecture $(DOKKU_UPDATE_ARCHITECTURE) \
|
2018-12-28 17:42:15 -05:00
|
|
|
--package $(BUILD_DIRECTORY)/$(DOKKU_UPDATE_PACKAGE_NAME) \
|
2018-01-21 15:42:34 -05:00
|
|
|
--depends 'dokku' \
|
|
|
|
|
--url "https://github.com/$(DOKKU_UPDATE_REPO_NAME)" \
|
|
|
|
|
--description $(DOKKU_UPDATE_DESCRIPTION) \
|
|
|
|
|
--license 'MIT License' \
|
|
|
|
|
contrib/dokku-update=/usr/local/bin/dokku-update \
|
|
|
|
|
contrib/dokku-update-version=/var/lib/dokku-update/VERSION
|