bsys5/Makefile

226 lines
8.6 KiB
Makefile
Raw Normal View History

2022-08-07 21:19:44 +02:00
.PHONY : help clean veryclean prune docker push rmi build update work docker-debian11 debian11 docker-mint20 mint20 docker-mint21 mint21 docker-ubuntu20 ubuntu20 docker-ubuntu21 ubuntu21 docker-ubuntu22 ubuntu22 docker-fedora34 fedora34 docker-fedora35 fedora35 docker-fedora36 fedora36 docker-macos-x86_64 macos-x86_64 docker-macos-aarch64 macos-aarch64 docker-tumbleweed tumbleweed tarball docker-dind
2022-02-04 11:20:31 +01:00
version:=$(shell cat version)
release:=$(shell cat release)
source_release:=$(shell cat source_release)
2022-05-05 22:10:16 +02:00
full_version:=$(version)-$(source_release)$(shell [ $(release) -gt 1 ] && echo "-$(release)")
2022-02-04 11:20:31 +01:00
help :
2022-02-08 11:15:48 +01:00
@echo "Use: make [help]"
2022-02-11 06:26:23 +01:00
@echo " [docker] [push] [rmi] - handle docker images"
@echo " [build] - building all artifacts"
2022-02-08 11:15:48 +01:00
@echo " [clean] [veryclean] - cleaning up"
2022-02-11 06:26:23 +01:00
@echo " [update] [prune] - misc."
2022-02-04 21:44:48 +01:00
@echo ""
@echo "docker targets:"
2022-08-13 11:48:48 +02:00
@echo " [docker-debian11], [docker-mint20], [docker-mint21]"
@echo " [docker-ubuntu20], [docker-ubuntu21], [docker-ubuntu22]"
@echo " [docker-fedora34], [docker-fedora35], [docker-fedora36]"
@echo " [docker-macos-x86_64], [docker-macos-aarch64]"
2022-07-21 22:38:47 +02:00
@echo " [docker-tumbleweed]"
@echo " [docker-dind]"
2022-02-04 12:28:20 +01:00
@echo ""
2022-02-04 21:44:48 +01:00
@echo "build targets:"
2022-08-13 11:48:48 +02:00
@echo " [debian11], [mint20], [mint21], [ubuntu20], [ubuntu21]"
2022-04-21 19:28:14 +02:00
@echo " [ubuntu22]"
2022-08-13 11:48:48 +02:00
@echo " [fedora34], [fedora35], [fedora36]"
@echo " [macos-x64_64], [macos-aarch64]"
2022-07-21 22:38:47 +02:00
@echo " [tumbleweed]"
2022-07-08 13:54:08 +02:00
@echo " [tarball]"
2022-02-04 19:49:06 +01:00
@echo ""
2022-02-04 11:20:31 +01:00
clean :
sudo rm -rf work
2022-02-04 11:30:32 +01:00
veryclean : clean
2022-02-11 07:39:21 +01:00
rm -f $(tarball) $(tarball).sha256sum
rm -f librewolf-*-*.en-US.*-x86_64.tar.bz2 librewolf-*-*.en-US.*-x86_64.tar.bz2.sha256sum librewolf-*-*.en-US.mac.*
2022-02-11 07:39:21 +01:00
rm -f librewolf-*-*.en-US.*.x86_64.deb librewolf-*-*.en-US.*.x86_64.deb.sha256sum
rm -f librewolf-*-*.*.x86_64.rpm librewolf-*-*.*.x86_64.rpm.sha256sum
2022-02-04 21:44:48 +01:00
2022-02-04 11:20:31 +01:00
prune :
docker system prune --all --force
2022-08-07 21:19:44 +02:00
docker : docker-debian11 docker-mint20 docker-mint21 docker-ubuntu20 docker-ubuntu21 docker-ubuntu22 docker-fedora34 docker-fedora35 docker-fedora36 docker-tumbleweed docker-macos-x86_64 docker-macos-aarch64 docker-dind
2022-02-04 21:44:48 +01:00
build :
${MAKE} clean
${MAKE} debian11
${MAKE} clean
${MAKE} mint20
${MAKE} clean
2022-08-07 21:19:44 +02:00
${MAKE} mint21
${MAKE} clean
${MAKE} ubuntu20
${MAKE} clean
${MAKE} ubuntu21
${MAKE} clean
2022-04-21 19:28:14 +02:00
${MAKE} ubuntu22
${MAKE} clean
${MAKE} fedora34
${MAKE} clean
${MAKE} fedora35
${MAKE} clean
2022-05-10 22:13:44 +02:00
${MAKE} fedora36
${MAKE} clean
${MAKE} tumbleweed
${MAKE} clean
2022-02-07 01:32:15 +01:00
${MAKE} macos-x86_64
${MAKE} clean
${MAKE} macos-aarch64
${MAKE} clean
2022-02-04 21:03:53 +01:00
push :
2022-05-12 23:08:04 +02:00
docker push registry.gitlab.com/librewolf-community/browser/bsys5/debian11
docker push registry.gitlab.com/librewolf-community/browser/bsys5/mint20
2022-08-07 21:19:44 +02:00
docker push registry.gitlab.com/librewolf-community/browser/bsys5/mint21
2022-05-12 23:08:04 +02:00
docker push registry.gitlab.com/librewolf-community/browser/bsys5/ubuntu20
docker push registry.gitlab.com/librewolf-community/browser/bsys5/ubuntu21
docker push registry.gitlab.com/librewolf-community/browser/bsys5/ubuntu22
docker push registry.gitlab.com/librewolf-community/browser/bsys5/fedora34
docker push registry.gitlab.com/librewolf-community/browser/bsys5/fedora35
docker push registry.gitlab.com/librewolf-community/browser/bsys5/fedora36
docker push registry.gitlab.com/librewolf-community/browser/bsys5/tumbleweed
2022-05-12 23:08:04 +02:00
docker push registry.gitlab.com/librewolf-community/browser/bsys5/macos-x86_64
docker push registry.gitlab.com/librewolf-community/browser/bsys5/macos-aarch64
docker push registry.gitlab.com/librewolf-community/browser/bsys5/dind
2022-02-04 23:44:06 +01:00
2022-02-11 06:26:23 +01:00
rmi :
2022-05-12 23:08:04 +02:00
docker rmi registry.gitlab.com/librewolf-community/browser/bsys5/debian11
docker rmi registry.gitlab.com/librewolf-community/browser/bsys5/mint20
2022-08-07 21:19:44 +02:00
docker rmi registry.gitlab.com/librewolf-community/browser/bsys5/mint21
2022-05-12 23:08:04 +02:00
docker rmi registry.gitlab.com/librewolf-community/browser/bsys5/ubuntu20
docker rmi registry.gitlab.com/librewolf-community/browser/bsys5/ubuntu21
docker rmi registry.gitlab.com/librewolf-community/browser/bsys5/ubuntu22
docker rmi registry.gitlab.com/librewolf-community/browser/bsys5/fedora34
docker rmi registry.gitlab.com/librewolf-community/browser/bsys5/fedora35
docker rmi registry.gitlab.com/librewolf-community/browser/bsys5/fedora36
docker rmi registry.gitlab.com/librewolf-community/browser/bsys5/tumbleweed
2022-05-12 23:08:04 +02:00
docker rmi registry.gitlab.com/librewolf-community/browser/bsys5/macos-x86_64
docker rmi registry.gitlab.com/librewolf-community/browser/bsys5/macos-aarch64
docker rmi registry.gitlab.com/librewolf-community/browser/bsys5/dind
2022-02-11 06:26:23 +01:00
2022-02-05 23:13:01 +01:00
update :
@wget -q -O version "https://gitlab.com/librewolf-community/browser/source/-/raw/main/version"
@wget -q -O source_release "https://gitlab.com/librewolf-community/browser/source/-/raw/main/release"
@echo Source version: $(shell cat version)-$(shell cat source_release)
@echo Bsys5 release: $(shell cat release)
2022-02-04 21:44:48 +01:00
2022-02-07 00:15:58 +01:00
## setting up the work folder
tarball=librewolf-$(version)-$(source_release).source.tar.gz
$(tarball) :
2022-07-29 01:39:02 +02:00
ifeq ($(SOURCE_URL),)
wget -q -O $(tarball) "https://gitlab.com/api/v4/projects/32320088/packages/generic/librewolf-source/$(version)-$(source_release)/$(tarball)"
2022-02-10 14:04:04 +01:00
wget -q -O $(tarball).sha256sum "https://gitlab.com/api/v4/projects/32320088/packages/generic/librewolf-source/$(version)-$(source_release)/$(tarball).sha256sum"
sha256sum -c $(tarball).sha256sum
2022-07-29 01:39:02 +02:00
else
wget -q -O $(tarball) "$(SOURCE_URL)"
endif
work : $(tarball)
mkdir work
(cd work && tar xf ../$(tarball))
2022-02-07 00:15:58 +01:00
#
# Linux
#
2022-02-04 20:29:09 +01:00
## debian11
2022-02-04 21:03:53 +01:00
docker-debian11 :
2022-02-05 23:13:01 +01:00
${MAKE} -f assets/linux.mk distro=debian11 "distro_image=debian:bullseye" docker
debian11 :
2022-02-05 23:13:01 +01:00
${MAKE} -f assets/linux.mk distro=debian11 build
${MAKE} -f assets/linux.artifacts.mk distro=debian11 artifacts-deb
2022-02-04 21:44:48 +01:00
## mint20
docker-mint20 :
2022-02-05 23:13:01 +01:00
${MAKE} -f assets/linux.mk distro=mint20 "distro_image=linuxmintd/mint20.2-amd64" docker
mint20 :
2022-02-05 23:13:01 +01:00
${MAKE} -f assets/linux.mk distro=mint20 build
${MAKE} -f assets/linux.artifacts.mk distro=mint20 artifacts-deb
2022-08-07 21:19:44 +02:00
## mint21
docker-mint21 :
${MAKE} -f assets/linux.mk distro=mint21 "distro_image=linuxmintd/mint21-amd64" docker
mint21 :
${MAKE} -f assets/linux.mk distro=mint21 build
${MAKE} -f assets/linux.artifacts.mk distro=mint21 artifacts-deb
2022-02-04 21:44:48 +01:00
## ubuntu20
docker-ubuntu20 :
2022-04-21 19:28:14 +02:00
${MAKE} -f assets/linux.mk distro=ubuntu20 "distro_image=ubuntu:focal" docker
ubuntu20 :
2022-02-05 23:13:01 +01:00
${MAKE} -f assets/linux.mk distro=ubuntu20 build
${MAKE} -f assets/linux.artifacts.mk distro=ubuntu20 artifacts-deb
2022-02-04 21:44:48 +01:00
## ubuntu21
docker-ubuntu21 :
2022-04-21 19:28:14 +02:00
${MAKE} -f assets/linux.mk distro=ubuntu21 "distro_image=ubuntu:impish" docker
ubuntu21 :
2022-02-05 23:13:01 +01:00
${MAKE} -f assets/linux.mk distro=ubuntu21 build
${MAKE} -f assets/linux.artifacts.mk distro=ubuntu21 artifacts-deb
2022-04-21 19:28:14 +02:00
## ubuntu22
docker-ubuntu22 :
${MAKE} -f assets/linux.mk distro=ubuntu22 "distro_image=ubuntu:jammy" docker
ubuntu22 :
${MAKE} -f assets/linux.mk distro=ubuntu22 build
${MAKE} -f assets/linux.artifacts.mk distro=ubuntu22 artifacts-deb
2022-02-04 21:44:48 +01:00
## fedora34
docker-fedora34 :
2022-02-05 23:13:01 +01:00
${MAKE} -f assets/linux.mk distro=fedora34 "distro_image=fedora:34" docker
fedora34 :
2022-02-05 23:13:01 +01:00
${MAKE} -f assets/linux.mk distro=fedora34 build
2022-02-11 06:26:23 +01:00
${MAKE} -f assets/linux.artifacts.mk fc=fc34 distro=fedora34 artifacts-rpm
2022-02-04 12:28:20 +01:00
## fedora35
2022-02-04 21:03:53 +01:00
docker-fedora35 :
2022-02-05 23:13:01 +01:00
${MAKE} -f assets/linux.mk distro=fedora35 "distro_image=fedora:35" docker
fedora35 :
2022-02-05 23:13:01 +01:00
${MAKE} -f assets/linux.mk distro=fedora35 build
2022-02-11 06:26:23 +01:00
${MAKE} -f assets/linux.artifacts.mk fc=fc35 distro=fedora35 artifacts-rpm
2022-05-10 22:13:44 +02:00
## fedora36
docker-fedora36 :
${MAKE} -f assets/linux.mk distro=fedora36 "distro_image=fedora:36" docker
fedora36 :
${MAKE} -f assets/linux.mk distro=fedora36 build
${MAKE} -f assets/linux.artifacts.mk fc=fc36 distro=fedora36 artifacts-rpm
2022-07-21 22:38:47 +02:00
## opensuse tumbleweed
docker-tumbleweed :
${MAKE} -f assets/linux.mk distro=tumbleweed "distro_image=opensuse/tumbleweed" docker
tumbleweed :
${MAKE} -f assets/linux.mk distro=tumbleweed build
${MAKE} -f assets/linux.artifacts.mk fc=tumbleweed distro=tumbleweed artifacts-rpm
2022-02-07 00:15:58 +01:00
2022-07-08 13:54:08 +02:00
## tarball
tarball :
${MAKE} -f assets/linux.mk distro=ubuntu20 build
mv -v librewolf-$(full_version).en-US.ubuntu20-x86_64.tar.bz2 librewolf-$(full_version).en-US.generic-x86_64.tar.bz
sha256sum librewolf-$(full_version).en-US.generic-x86_64.tar.bz > librewolf-$(full_version).en-US.generic-x86_64.tar.bz.sha256sum
cat librewolf-$(full_version).en-US.generic-x86_64.tar.bz.sha256sum
2022-02-07 00:15:58 +01:00
#
# MacOS
#
## macos-x86_64
docker-macos-x86_64 :
${MAKE} -f assets/macos.mk arch=x86_64 docker
macos-x86_64 :
2022-02-07 00:15:58 +01:00
${MAKE} -f assets/macos.mk arch=x86_64 build
## macos-aarch64
docker-macos-aarch64 :
${MAKE} -f assets/macos.mk arch=aarch64 docker
macos-aarch64 :
2022-02-07 00:15:58 +01:00
${MAKE} -f assets/macos.mk arch=aarch64 build
#
# Docker in Docker (for GitLab CI)
#
docker-dind :
docker build -f assets/dind.Dockerfile -t registry.gitlab.com/librewolf-community/browser/bsys5/dind:latest .