From 8a61d5f57507596fdaafa1544f911d1c2ec7f434 Mon Sep 17 00:00:00 2001 From: Janne Koschinski <janne@kuschku.de> Date: Mon, 5 Aug 2019 13:10:11 +0200 Subject: [PATCH] allow building different quassel versions --- Dockerfile | 13 ++++++++++--- Makefile | 46 +++++++++++++++++++++++++++++++++------------- build.sh | 4 ++++ 3 files changed, 47 insertions(+), 16 deletions(-) create mode 100755 build.sh diff --git a/Dockerfile b/Dockerfile index 8a9ff02..f4e73cc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -17,16 +17,22 @@ RUN apk add --no-cache \ openldap-dev \ ninja \ paxmark \ + boost-dev \ qt5-qtbase-dev \ qt5-qtscript-dev \ qt5-qtbase-postgresql \ qt5-qtbase-sqlite +ARG QUASSEL_VERSION="" +ARG QUASSEL_BRANCH="master" + # setup repo RUN mkdir /quassel && \ - git clone -b 0.13 --single-branch https://github.com/quassel/quassel /quassel/src && \ + git clone -b "$QUASSEL_BRANCH" --single-branch https://github.com/quassel/quassel /quassel/src && \ cd /quassel/src && \ - git checkout 0.13.1 + if [ ! -z "$QUASSEL_VERSION"]; then \ + git checkout $QUASSEL_VERSION; \ + fi # generate build files RUN mkdir /quassel/build && \ @@ -56,7 +62,8 @@ FROM $BASE RUN apk add --no-cache \ icu-libs \ libressl \ - openldap \ + libldap \ + boost \ qt5-qtbase \ qt5-qtscript \ qt5-qtbase-postgresql \ diff --git a/Makefile b/Makefile index ff049f7..9750dd9 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,11 @@ NAME=k8r.eu/justjanne/quassel-docker -QUASSEL_VERSION=v0.13.1 ALPINE_VERSION=3.10 +QUASSEL_VERSION= +ifeq ($(strip $(QUASSEL_VERSION)),) +IMAGE_VERSION=trunk +else +IMAGE_VERSION=v$(QUASSEL_VERSION) +endif .PHONY: all all: push @@ -10,33 +15,48 @@ build: build_x86 build_aarch64 build_armhf .PHONY: build_x86 build_x86: Dockerfile - docker build -t $(NAME):$(QUASSEL_VERSION) --build-arg BASE=alpine:$(ALPINE_VERSION) . - docker tag $(NAME):$(QUASSEL_VERSION) $(NAME):latest + docker build \ + -t $(NAME):$(IMAGE_VERSION) \ + --build-arg BASE=alpine:$(ALPINE_VERSION) \ + --build-arg QUASSEL_VERSION=$(QUASSEL_VERSION) \ + --build-arg QUASSEL_BRANCH=$(QUASSEL_BRANCH) \ + . + if [ ! -z "$(QUASSEL_VERSION)" ]; then docker tag $(NAME):$(IMAGE_VERSION) $(NAME):latest; fi .PHONY: build_aarch64 build_aarch64: Dockerfile - docker build -t $(NAME):$(QUASSEL_VERSION)-aarch64 --build-arg BASE=multiarch/alpine:aarch64-v$(ALPINE_VERSION) . - docker tag $(NAME):$(QUASSEL_VERSION)-aarch64 $(NAME):aarch64 + docker build \ + -t $(NAME):$(IMAGE_VERSION)-aarch64 \ + --build-arg BASE=multiarch/alpine:aarch64-v$(ALPINE_VERSION) \ + --build-arg QUASSEL_VERSION=$(QUASSEL_VERSION) \ + --build-arg QUASSEL_BRANCH=$(QUASSEL_BRANCH) \ + . + if [ ! -z "$(QUASSEL_VERSION)" ]; then docker tag $(NAME):$(IMAGE_VERSION)-aarch64 $(NAME):aarch64; fi .PHONY: build_armhf build_armhf: Dockerfile - docker build -t $(NAME):$(QUASSEL_VERSION)-armhf --build-arg BASE=multiarch/alpine:armhf-v$(ALPINE_VERSION) . - docker tag $(NAME):$(QUASSEL_VERSION)-armhf $(NAME):armhf + docker build \ + -t $(NAME):$(IMAGE_VERSION)-armhf \ + --build-arg BASE=multiarch/alpine:armhf-v$(ALPINE_VERSION) \ + --build-arg QUASSEL_VERSION=$(QUASSEL_VERSION) \ + --build-arg QUASSEL_BRANCH=$(QUASSEL_BRANCH) \ + . + if [ ! -z "$(QUASSEL_VERSION)" ]; then docker tag $(NAME):$(IMAGE_VERSION)-armhf $(NAME):armhf; fi .PHONY: push push: push_x86 push_aarch64 push_armhf .PHONY: push_x86 push_x86: build_x86 - docker push $(NAME):$(QUASSEL_VERSION) - docker push $(NAME):latest + docker push $(NAME):$(IMAGE_VERSION) + if [ ! -z "$(QUASSEL_VERSION)" ]; then docker push $(NAME):latest; fi .PHONY: push_aarch64 push_aarch64: build_aarch64 - docker push $(NAME):$(QUASSEL_VERSION)-aarch64 - docker push $(NAME):aarch64 + docker push $(NAME):$(IMAGE_VERSION)-aarch64 + if [ ! -z "$(QUASSEL_VERSION)" ]; then docker push $(NAME):aarch64; fi .PHONY: push_armhf push_armhf: build_armhf - docker push $(NAME):$(QUASSEL_VERSION)-armhf - docker push $(NAME):armhf + docker push $(NAME):$(IMAGE_VERSION)-armhf + if [ ! -z "$(QUASSEL_VERSION)" ]; then docker push $(NAME):armhf; fi diff --git a/build.sh b/build.sh new file mode 100755 index 0000000..2468cab --- /dev/null +++ b/build.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +make QUASSEL_BRANCH=0.13 QUASSEL_VERSION=0.13.1 +make QUASSEL_BRANCH=master -- GitLab