mirror of
https://github.com/dokku/dokku.git
synced 2025-12-28 16:06:40 +01:00
179 lines
6.2 KiB
Makefile
179 lines
6.2 KiB
Makefile
RPM_ARCHITECTURE = x86_64
|
|
HEROKUISH_RPM_PACKAGE_NAME = herokuish-$(HEROKUISH_VERSION)-1.$(RPM_ARCHITECTURE).rpm
|
|
PLUGN_RPM_PACKAGE_NAME = plugn-$(PLUGN_VERSION)-1.$(RPM_ARCHITECTURE).rpm
|
|
SSHCOMMAND_RPM_PACKAGE_NAME = sshcommand-$(SSHCOMMAND_VERSION)-1.$(RPM_ARCHITECTURE).rpm
|
|
SIGIL_RPM_PACKAGE_NAME = gliderlabs-sigil-$(SIGIL_VERSION)-1.$(RPM_ARCHITECTURE).rpm
|
|
|
|
.PHONY: rpm-all
|
|
|
|
rpm-all: rpm-setup rpm-herokuish rpm-dokku rpm-plugn rpm-sshcommand rpm-sigil
|
|
mv /tmp/*.rpm .
|
|
@echo "Done"
|
|
|
|
rpm-setup:
|
|
@echo "-> Installing rpm build requirements"
|
|
@sudo apt-get update -qq > /dev/null
|
|
@sudo DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true apt-get install -qq -y gcc git build-essential wget ruby-dev ruby1.9.1 rpm > /dev/null 2>&1
|
|
@command -v fpm > /dev/null || sudo gem install fpm --no-ri --no-rdoc
|
|
@ssh -o StrictHostKeyChecking=no git@github.com || true
|
|
|
|
rpm-herokuish:
|
|
rm -rf /tmp/tmp /tmp/build $(HEROKUISH_RPM_PACKAGE_NAME)
|
|
mkdir -p /tmp/tmp /tmp/build
|
|
|
|
@echo "-> Cloning repository"
|
|
git clone -q "https://github.com/$(HEROKUISH_REPO_NAME).git" \
|
|
--branch "v$(HEROKUISH_VERSION)" /tmp/tmp/herokuish > /dev/null
|
|
rm -rf /tmp/tmp/herokuish/.git /tmp/tmp/herokuish/.gitignore
|
|
|
|
@echo "-> Copying files into place"
|
|
mkdir -p "/tmp/build/var/lib"
|
|
cp -rf /tmp/tmp/herokuish /tmp/build/var/lib/herokuish
|
|
|
|
@echo "-> Creating $(HEROKUISH_RPM_PACKAGE_NAME)"
|
|
sudo fpm -t rpm -s dir -C /tmp/build -n herokuish \
|
|
-v $(HEROKUISH_VERSION) \
|
|
-a $(RPM_ARCHITECTURE) \
|
|
-p $(HEROKUISH_RPM_PACKAGE_NAME) \
|
|
--depends 'docker-engine >= 1.9.1' \
|
|
--depends 'sudo' \
|
|
--after-install rpm/herokuish.postinst \
|
|
--url "https://github.com/$(HEROKUISH_REPO_NAME)" \
|
|
--description $(HEROKUISH_DESCRIPTION) \
|
|
--license 'MIT License' \
|
|
.
|
|
mv *.rpm /tmp
|
|
|
|
rpm-dokku:
|
|
rm -rf /tmp/tmp /tmp/build dokku_*_$(RPM_ARCHITECTURE).rpm
|
|
mkdir -p /tmp/tmp /tmp/build
|
|
|
|
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
|
|
find . -name ".DS_Store" -depth -exec rm {} \;
|
|
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 touch /tmp/build/var/lib/dokku/core-plugins/available/$$plugin/.core; done
|
|
$(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
|
|
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
|
|
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 \
|
|
-v "$$VERSION" \
|
|
-a $(RPM_ARCHITECTURE) \
|
|
-p "dokku-$$VERSION-1.x86_64.rpm" \
|
|
--depends 'git' \
|
|
--depends 'make' \
|
|
--depends 'curl' \
|
|
--depends 'gcc' \
|
|
--depends 'man-db' \
|
|
--depends 'sshcommand' \
|
|
--depends 'gliderlabs-sigil' \
|
|
--depends 'docker-engine >= 1.9.1' \
|
|
--depends 'bind-utils' \
|
|
--depends 'nginx' \
|
|
--depends 'plugn' \
|
|
--depends 'sudo' \
|
|
--depends 'python' \
|
|
--depends 'nc' \
|
|
--after-install rpm/dokku.postinst \
|
|
--url "https://github.com/$(DOKKU_REPO_NAME)" \
|
|
--description $(DOKKU_DESCRIPTION) \
|
|
--license 'MIT License' \
|
|
.
|
|
mv *.rpm /tmp
|
|
|
|
rpm-plugn:
|
|
rm -rf /tmp/tmp /tmp/build $(PLUGN_RPM_PACKAGE_NAME)
|
|
mkdir -p /tmp/tmp /tmp/build /tmp/build/usr/bin
|
|
|
|
@echo "-> Downloading package"
|
|
wget -q -O /tmp/tmp/plugn-$(PLUGN_VERSION).tgz $(PLUGN_URL)
|
|
cd /tmp/tmp/ && tar zxf /tmp/tmp/plugn-$(PLUGN_VERSION).tgz
|
|
|
|
@echo "-> Copying files into place"
|
|
cp /tmp/tmp/plugn /tmp/build/usr/bin/plugn && chmod +x /tmp/build/usr/bin/plugn
|
|
|
|
@echo "-> Creating $(PLUGN_RPM_PACKAGE_NAME)"
|
|
sudo fpm -t rpm -s dir -C /tmp/build -n plugn \
|
|
--version $(PLUGN_VERSION) \
|
|
-a $(RPM_ARCHITECTURE) \
|
|
--package $(PLUGN_RPM_PACKAGE_NAME) \
|
|
--url "https://github.com/$(PLUGN_REPO_NAME)" \
|
|
--category utils \
|
|
--description "$$PLUGN_DESCRIPTION" \
|
|
--license 'MIT License' \
|
|
.
|
|
mv *.rpm /tmp
|
|
|
|
rpm-sshcommand:
|
|
rm -rf /tmp/tmp /tmp/build $(SSHCOMMAND_RPM_PACKAGE_NAME)
|
|
mkdir -p /tmp/tmp /tmp/build /tmp/build/usr/bin
|
|
|
|
@echo "-> Downloading package"
|
|
wget -q -O /tmp/tmp/sshcommand-$(SSHCOMMAND_VERSION) $(SSHCOMMAND_URL)
|
|
|
|
@echo "-> Copying files into place"
|
|
mkdir -p "/tmp/build/usr/bin"
|
|
cp /tmp/tmp/sshcommand-$(SSHCOMMAND_VERSION) /tmp/build/usr/bin/sshcommand
|
|
chmod +x /tmp/build/usr/bin/sshcommand
|
|
|
|
@echo "-> Creating $(SSHCOMMAND_RPM_PACKAGE_NAME)"
|
|
sudo fpm -t rpm -s dir -C /tmp/build -n sshcommand \
|
|
--version $(SSHCOMMAND_VERSION) \
|
|
-a $(RPM_ARCHITECTURE) \
|
|
--package $(SSHCOMMAND_RPM_PACKAGE_NAME) \
|
|
--url "https://github.com/$(SSHCOMMAND_REPO_NAME)" \
|
|
--category admin \
|
|
--description "$$SSHCOMMAND_DESCRIPTION" \
|
|
--license 'MIT License' \
|
|
.
|
|
mv *.rpm /tmp
|
|
|
|
rpm-sigil:
|
|
rm -rf /tmp/tmp /tmp/build $(SIGIL_PACKAGE_NAME)
|
|
mkdir -p /tmp/tmp /tmp/build /tmp/build/usr/bin
|
|
|
|
@echo "-> Downloading package"
|
|
wget -q -O /tmp/tmp/sigil-$(SIGIL_VERSION).tgz $(SIGIL_URL)
|
|
cd /tmp/tmp/ && tar zxf /tmp/tmp/sigil-$(SIGIL_VERSION).tgz
|
|
|
|
@echo "-> Copying files into place"
|
|
cp /tmp/tmp/sigil /tmp/build/usr/bin/sigil && chmod +x /tmp/build/usr/bin/sigil
|
|
|
|
@echo "-> Creating $(SIGIL_RPM_PACKAGE_NAME)"
|
|
sudo fpm -t rpm -s dir -C /tmp/build -n gliderlabs-sigil \
|
|
--version $(SIGIL_VERSION) \
|
|
-a $(RPM_ARCHITECTURE) \
|
|
--package $(SIGIL_RPM_PACKAGE_NAME) \
|
|
--url "https://github.com/$(SIGIL_REPO_NAME)" \
|
|
--category utils \
|
|
--description "$$SIGIL_DESCRIPTION" \
|
|
--license 'MIT License' \
|
|
.
|
|
mv *.rpm /tmp
|