This commit is contained in:
Bert van der Weerd 2022-02-04 21:44:48 +01:00
parent 4f4d112fe5
commit 3c0c16ed4d
No known key found for this signature in database
GPG Key ID: 4CFABB96ADE0F5B1
2 changed files with 86 additions and 27 deletions

View File

@ -1,5 +1,4 @@
.PHONY : help all clean veryclean fetch prune docker push build debian11 fedora35 ci-debian ci-fedora35
.PHONY : help all clean veryclean fetch prune docker push build docker-debian11 debian11 ci-debian11 docker-mint20 mint20 ci-mint20 docker-ubuntu20 ubuntu20 ci-ubuntu20 docker-ubuntu21 ubuntu21 ci-ubuntu21 docker-fedora34 fedora34 ci-fedora34 docker-fedora35 fedora35 ci-fedora35
version:=$(shell cat version)
release:=$(shell cat release)
@ -9,14 +8,30 @@ tarball=librewolf-$(version)-$(source_release).source.tar.gz
help :
@echo "Use: make [help] [all] [docker] [push] [build] [clean]"
#echo " [veryclean] [fetch] [prune]"
@echo " [veryclean] [fetch] [prune]"
@echo ""
@echo "OS targets:"
@echo " [debian11] - build for debian11"
@echo " [fedora35] - build for fedora35"
@echo "docker targets:"
@echo " [docker-debian11]"
@echo " [docker-mint20]"
@echo " [docker-ubuntu20]"
@echo " [docker-ubuntu21]"
@echo " [docker-fedora34]"
@echo " [docker-fedora35]"
@echo ""
@echo "build targets:"
@echo " [debian11]"
@echo " [mint20]"
@echo " [ubuntu20]"
@echo " [ubuntu21]"
@echo " [fedora34]"
@echo " [fedora35]"
@echo ""
@echo "CI targets:"
@echo " [ci-debian11]"
@echo " [ci-mint20]"
@echo " [ci-ubuntu20]"
@echo " [ci-ubuntu21]"
@echo " [ci-fedora34]"
@echo " [ci-fedora35]"
@echo ""
@ -28,6 +43,8 @@ clean :
veryclean : clean
rm -f $(tarball)
rm -f librewolf-*-*.en-US.*-x86_64.tar.bz2
prune :
docker system prune --all --force
@ -36,44 +53,67 @@ fetch : $(tarball)
$(tarball) :
wget -O $(tarball) "https://gitlab.com/librewolf-community/browser/source/-/jobs/artifacts/main/raw/$(tarball)?job=Build"
docker : docker-debian11 docker-fedora35
build : debian11 fedora35
docker : docker-debian11 docker-mint20 docker-ubuntu20 docker-ubuntu21 docker-fedora34 docker-fedora35
build : debian11 mint20 ubuntu20 ubuntu21 fedora34 fedora35
push :
docker push librewolf/bsys5-image-debian11 librewolf/bsys5-image-fedora35
docker push librewolf/bsys5-image-debian11 librewolf/bsys5-image-mint20 librewolf/bsys5-image-ubuntu20 librewolf/bsys5-image-ubuntu21 librewolf/bsys5-image-fedora34 librewolf/bsys5-image-fedora35
work : $(tarball)
mkdir work
(cd work && tar xf ../$(tarball))
## debian11
docker-debian11 :
docker build --build-arg "distro=debian:bullseye" -t librewolf/bsys5-image-debian11 - < Dockerfile
${MAKE} -f linux.mk distro=debian11 "distro_image=debian:bullseye" docker
debian11 : work
docker run --rm -v $(shell pwd)/work:/work:rw librewolf/bsys5-image-debian11 sh -c "(cd work/librewolf-$(version) && ./mach build && ./mach package)"
cp -v work/librewolf-$(version)/obj-x86_64-pc-linux-gnu/dist/librewolf-$(version)-$(source_release).en-US.linux-x86_64.tar.bz2 librewolf-$(version)-$(release).en-US.debian11-x86_64.tar.bz2
${MAKE} -f linux.mk distro=debian11 build
ci-debian11 : work
(cd work/librewolf-$(version) && ./mach build && ./mach package)
cp -v work/librewolf-$(version)/obj-x86_64-pc-linux-gnu/dist/librewolf-$(version)-$(source_release).en-US.linux-x86_64.tar.bz2 librewolf-$(version)-$(release).en-US.debian11-x86_64.tar.bz2
${MAKE} -f linux.mk distro=debian11 ci
## mint20
docker-mint20 :
${MAKE} -f linux.mk distro=mint20 "distro_image=linuxmintd/mint20.2-amd64" docker
mint20 : work
${MAKE} -f linux.mk distro=mint20 build
ci-mint20 : work
${MAKE} -f linux.mk distro=mint20 ci
## ubuntu20
docker-ubuntu20 :
${MAKE} -f linux.mk distro=ubuntu20 "distro_image=ubuntu:20.04" docker
ubuntu20 : work
${MAKE} -f linux.mk distro=ubuntu20 build
ci-ubuntu20 : work
${MAKE} -f linux.mk distro=ubuntu20 ci
## ubuntu21
docker-ubuntu21 :
${MAKE} -f linux.mk distro=ubuntu21 "distro_image=ubuntu:20.04" docker
ubuntu21 : work
${MAKE} -f linux.mk distro=ubuntu21 build
ci-ubuntu21 : work
${MAKE} -f linux.mk distro=ubuntu21 ci
## fedora34
docker-fedora34 :
${MAKE} -f linux.mk distro=fedora34 "distro_image=fedora:34" docker
fedora34 : work
${MAKE} -f linux.mk distro=fedora34 build
ci-fedora34 : work
${MAKE} -f linux.mk distro=fedora34 ci
## fedora35
docker-fedora35 :
docker build --build-arg "distro=fedora:35" -t librewolf/bsys5-image-fedora35 - < Dockerfile
${MAKE} -f linux.mk distro=fedora35 "distro_image=fedora:35" docker
fedora35 : work
docker run --rm -v $(shell pwd)/work:/work:rw librewolf/bsys5-image-fedora35 sh -c "cd /work/librewolf-$(version) && ./mach build && ./mach package"
cp -v work/librewolf-$(version)/obj-x86_64-pc-linux-gnu/dist/librewolf-$(version)-$(source_release).en-US.linux-x86_64.tar.bz2 librewolf-$(version)-$(release).en-US.fedora35-x86_64.tar.bz2
${MAKE} -f linux.mk distro=fedora35 build
ci-fedora35 : work
(cd /work/librewolf-$(version) && ./mach build && ./mach package)
cp -v work/librewolf-$(version)/obj-x86_64-pc-linux-gnu/dist/librewolf-$(version)-$(source_release).en-US.linux-x86_64.tar.bz2 librewolf-$(version)-$(release).en-US.fedora35-x86_64.tar.bz2
${MAKE} -f linux.mk distro=fedora35 ci

19
linux.mk Normal file
View File

@ -0,0 +1,19 @@
# $(distro)
# $(distro_image)
.PHONY : docker build ci
version:=$(shell cat version)
release:=$(shell cat release)
source_release:=$(shell cat source_release)
docker :
docker build --build-arg "distro=$(distro_image)" -t librewolf/bsys5-image-$(distro) - < Dockerfile
build : work
docker run --rm -v $(shell pwd)/work:/work:rw librewolf/bsys5-image-$(distro) sh -c "cd /work/librewolf-$(version) && ./mach build && ./mach package"
cp -v work/librewolf-$(version)/obj-x86_64-pc-linux-gnu/dist/librewolf-$(version)-$(source_release).en-US.linux-x86_64.tar.bz2 librewolf-$(version)-$(release).en-US.$(distro)-x86_64.tar.bz2
ci : work
(cd /work/librewolf-$(version) && ./mach build && ./mach package)
cp -v work/librewolf-$(version)/obj-x86_64-pc-linux-gnu/dist/librewolf-$(version)-$(source_release).en-US.linux-x86_64.tar.bz2 librewolf-$(version)-$(release).en-US.$(distro)-x86_64.tar.bz2