diff --git a/Dockerfile b/Dockerfile index 8a9ff027a95cd677c55020b40b585cd02c404513..f4e73cc724fbcb3fb2ab3b0128fc3c94d7324a92 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 ff049f7b137ef23a86e25b023acba40f91a34e1b..9750dd97bf493766ce56baabe8295e437124f0a2 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 0000000000000000000000000000000000000000..2468cabcfdfc0edfe0906cbf5c6df4063ab4631c --- /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