aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.builds/x86_64_arch.yml13
-rw-r--r--.builds/x86_64_debian_oldstable.yml43
-rw-r--r--.builds/x86_64_debian_stable.yml41
-rw-r--r--.builds/x86_64_debian_testing.yml41
-rw-r--r--.builds/x86_64_fedora42.yml36
-rw-r--r--.builds/x86_64_fedora43.yml36
-rw-r--r--.builds/x86_64_fedora_rawhide.yml36
-rw-r--r--Makefile235
8 files changed, 113 insertions, 368 deletions
diff --git a/.builds/x86_64_arch.yml b/.builds/x86_64_arch.yml
index 3dad0f4..3b90e37 100644
--- a/.builds/x86_64_arch.yml
+++ b/.builds/x86_64_arch.yml
@@ -18,6 +18,7 @@ packages:
- libadwaita
- gtksourceview5
- fakeroot
+ - podman
sources:
- git@git.sr.ht:~rbdr/map-linux
- https://github.com/flatpak/flatpak-builder-tools
@@ -39,9 +40,11 @@ tasks:
poetry install
- setup_flathub: |
flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
- - release_arch: |
+ - release: |
cd map-linux
- make -e target=x86_64-unknown-linux-gnu -e flatpak_cargo_generator=/home/build/flatpak-builder-tools/cargo ci-arch
- - release_generic: |
- cd map-linux
- make -e target=x86_64-unknown-linux-gnu -e flatpak_cargo_generator=/home/build/flatpak-builder-tools/cargo ci-generic
+ if [ "$GIT_REF" = "refs/heads/main" ]; then
+ make -e target=x86_64-unknown-linux-gnu -e channel=unstable -e flatpak_cargo_generator=/home/build/flatpak-builder-tools/cargo release
+ elif echo "$GIT_REF" | grep -q "refs/tags/"; then
+ channel=$(echo "$GIT_REF" | sed 's|refs/tags/||')
+ make -e target=x86_64-unknown-linux-gnu -e channel=$channel -e flatpak_cargo_generator=/home/build/flatpak-builder-tools/cargo release
+ fi
diff --git a/.builds/x86_64_debian_oldstable.yml b/.builds/x86_64_debian_oldstable.yml
deleted file mode 100644
index b0c0829..0000000
--- a/.builds/x86_64_debian_oldstable.yml
+++ /dev/null
@@ -1,43 +0,0 @@
-# NOTE: Debian oldstable (bullseye) may not have libadwaita available.
-# This build might fail. Consider removing if bullseye support isn't needed.
-image: debian/oldstable
-packages:
- - make
- - minisign
- - rsync
- - coreutils
- - clang
- - lld
- - curl
- - tar
- - gzip
- - gettext
- - libgtk-4-dev
- - libadwaita-1-dev
- - libgtksourceview-5-dev
- - pkg-config
-sources:
- - git@git.sr.ht:~rbdr/map-linux
-environment:
- GPG_TTY: /dev/pts/0
- CARGO_HOME: /home/build/.cargo
- PATH: /home/build/.cargo/bin:/usr/local/bin:/usr/bin:/bin
-secrets:
- - a1e0e3da-c1ad-473a-ad69-8878f267a628
- - eaecf3b4-a508-4fa6-a36e-6b9ed4468eae
- - f80356df-eb81-487f-8739-fbf08bf204dc
- - 05763ec6-2f17-46b5-90f6-963482975b8b
-tasks:
- - install_rust: |
- curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
- source ~/.cargo/env
- - install_binstall: |
- source ~/.cargo/env
- curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash
- - install_builders: |
- source ~/.cargo/env
- cargo binstall cargo-deb --no-confirm
- - release: |
- source ~/.cargo/env
- cd map-linux
- make -e target=x86_64-unknown-linux-gnu -e distro=bullseye ci-deb
diff --git a/.builds/x86_64_debian_stable.yml b/.builds/x86_64_debian_stable.yml
deleted file mode 100644
index 32900e5..0000000
--- a/.builds/x86_64_debian_stable.yml
+++ /dev/null
@@ -1,41 +0,0 @@
-image: debian/stable
-packages:
- - make
- - minisign
- - rsync
- - coreutils
- - clang
- - lld
- - curl
- - tar
- - gzip
- - gettext
- - libgtk-4-dev
- - libadwaita-1-dev
- - libgtksourceview-5-dev
- - pkg-config
-sources:
- - git@git.sr.ht:~rbdr/map-linux
-environment:
- GPG_TTY: /dev/pts/0
- CARGO_HOME: /home/build/.cargo
- PATH: /home/build/.cargo/bin:/usr/local/bin:/usr/bin:/bin
-secrets:
- - a1e0e3da-c1ad-473a-ad69-8878f267a628
- - eaecf3b4-a508-4fa6-a36e-6b9ed4468eae
- - f80356df-eb81-487f-8739-fbf08bf204dc
- - 05763ec6-2f17-46b5-90f6-963482975b8b
-tasks:
- - install_rust: |
- curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
- source ~/.cargo/env
- - install_binstall: |
- source ~/.cargo/env
- curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash
- - install_builders: |
- source ~/.cargo/env
- cargo binstall cargo-deb --no-confirm
- - release: |
- source ~/.cargo/env
- cd map-linux
- make -e target=x86_64-unknown-linux-gnu -e distro=bookworm ci-deb
diff --git a/.builds/x86_64_debian_testing.yml b/.builds/x86_64_debian_testing.yml
deleted file mode 100644
index d01fa9e..0000000
--- a/.builds/x86_64_debian_testing.yml
+++ /dev/null
@@ -1,41 +0,0 @@
-image: debian/testing
-packages:
- - make
- - minisign
- - rsync
- - coreutils
- - clang
- - lld
- - curl
- - tar
- - gzip
- - gettext
- - libgtk-4-dev
- - libadwaita-1-dev
- - libgtksourceview-5-dev
- - pkg-config
-sources:
- - git@git.sr.ht:~rbdr/map-linux
-environment:
- GPG_TTY: /dev/pts/0
- CARGO_HOME: /home/build/.cargo
- PATH: /home/build/.cargo/bin:/usr/local/bin:/usr/bin:/bin
-secrets:
- - a1e0e3da-c1ad-473a-ad69-8878f267a628
- - eaecf3b4-a508-4fa6-a36e-6b9ed4468eae
- - f80356df-eb81-487f-8739-fbf08bf204dc
- - 05763ec6-2f17-46b5-90f6-963482975b8b
-tasks:
- - install_rust: |
- curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
- source ~/.cargo/env
- - install_binstall: |
- source ~/.cargo/env
- curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash
- - install_builders: |
- source ~/.cargo/env
- cargo binstall cargo-deb --no-confirm
- - release: |
- source ~/.cargo/env
- cd map-linux
- make -e target=x86_64-unknown-linux-gnu -e distro=trixie ci-deb
diff --git a/.builds/x86_64_fedora42.yml b/.builds/x86_64_fedora42.yml
deleted file mode 100644
index 0f9aac9..0000000
--- a/.builds/x86_64_fedora42.yml
+++ /dev/null
@@ -1,36 +0,0 @@
-image: fedora/42
-packages:
- - make
- - minisign
- - rsync
- - coreutils
- - clang
- - lld
- - rustup
- - curl
- - tar
- - gzip
- - gettext
- - gtk4-devel
- - libadwaita-devel
- - gtksourceview5-devel
-sources:
- - git@git.sr.ht:~rbdr/map-linux
-environment:
- GPG_TTY: /dev/pts/0
-secrets:
- - a1e0e3da-c1ad-473a-ad69-8878f267a628
- - eaecf3b4-a508-4fa6-a36e-6b9ed4468eae
- - f80356df-eb81-487f-8739-fbf08bf204dc
- - 05763ec6-2f17-46b5-90f6-963482975b8b
-tasks:
- - set_rust: |
- cd map-linux
- make set_rust
- - install_binstall: |
- curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash
- - install_builders: |
- cargo binstall cargo-generate-rpm --no-confirm
- - release: |
- cd map-linux
- make -e target=x86_64-unknown-linux-gnu -e distro=fedora42 ci-rpm
diff --git a/.builds/x86_64_fedora43.yml b/.builds/x86_64_fedora43.yml
deleted file mode 100644
index 77e9c95..0000000
--- a/.builds/x86_64_fedora43.yml
+++ /dev/null
@@ -1,36 +0,0 @@
-image: fedora/43
-packages:
- - make
- - minisign
- - rsync
- - coreutils
- - clang
- - lld
- - rustup
- - curl
- - tar
- - gzip
- - gettext
- - gtk4-devel
- - libadwaita-devel
- - gtksourceview5-devel
-sources:
- - git@git.sr.ht:~rbdr/map-linux
-environment:
- GPG_TTY: /dev/pts/0
-secrets:
- - a1e0e3da-c1ad-473a-ad69-8878f267a628
- - eaecf3b4-a508-4fa6-a36e-6b9ed4468eae
- - f80356df-eb81-487f-8739-fbf08bf204dc
- - 05763ec6-2f17-46b5-90f6-963482975b8b
-tasks:
- - set_rust: |
- cd map-linux
- make set_rust
- - install_binstall: |
- curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash
- - install_builders: |
- cargo binstall cargo-generate-rpm --no-confirm
- - release: |
- cd map-linux
- make -e target=x86_64-unknown-linux-gnu -e distro=fedora43 ci-rpm
diff --git a/.builds/x86_64_fedora_rawhide.yml b/.builds/x86_64_fedora_rawhide.yml
deleted file mode 100644
index 14ba738..0000000
--- a/.builds/x86_64_fedora_rawhide.yml
+++ /dev/null
@@ -1,36 +0,0 @@
-image: fedora/rawhide
-packages:
- - make
- - minisign
- - rsync
- - coreutils
- - clang
- - lld
- - rustup
- - curl
- - tar
- - gzip
- - gettext
- - gtk4-devel
- - libadwaita-devel
- - gtksourceview5-devel
-sources:
- - git@git.sr.ht:~rbdr/map-linux
-environment:
- GPG_TTY: /dev/pts/0
-secrets:
- - a1e0e3da-c1ad-473a-ad69-8878f267a628
- - eaecf3b4-a508-4fa6-a36e-6b9ed4468eae
- - f80356df-eb81-487f-8739-fbf08bf204dc
- - 05763ec6-2f17-46b5-90f6-963482975b8b
-tasks:
- - set_rust: |
- cd map-linux
- make set_rust
- - install_binstall: |
- curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash
- - install_builders: |
- cargo binstall cargo-generate-rpm --no-confirm
- - release: |
- cd map-linux
- make -e target=x86_64-unknown-linux-gnu -e distro=fedora-rawhide ci-rpm
diff --git a/Makefile b/Makefile
index ff49930..382e7a9 100644
--- a/Makefile
+++ b/Makefile
@@ -1,11 +1,14 @@
-profile := dev
+profile := release
target = $(shell rustc -vV | grep host | awk '{print $$2}')
+channel := unstable
+
# Cargo outputs dev profile to 'debug' directory, not 'dev'
ifeq ($(profile),dev)
output_dir := debug
else
output_dir := $(profile)
endif
+
# Extract just the architecture (first component of target triple)
arch = $(firstword $(subst -, ,$(target)))
app_name := map
@@ -18,10 +21,7 @@ linuxdeploy := .cache/linuxdeploy.AppImage
pkgver := $(shell grep '^pkgver=' build-aux/PKGBUILD | cut -d= -f2)
pkgrel := $(shell grep '^pkgrel=' build-aux/PKGBUILD | cut -d= -f2)
-# Distro-specific builds (set via: make -e distro=fedora43)
-distro :=
-
-# Podman images for arm builds
+# Podman images for distro-specific builds
fedora_versions := fedora42 fedora43 fedora-rawhide
debian_versions := bookworm trixie bullseye
fedora_image_fedora42 := fedora:42
@@ -30,6 +30,10 @@ fedora_image_fedora-rawhide := fedora:rawhide
debian_image_bookworm := debian:bookworm
debian_image_trixie := debian:trixie
debian_image_bullseye := debian:bullseye
+arch_image := archlinux:latest
+
+# Filename format: map-aarch64-unstable.flatpak or map-aarch64-unstable-fedora43.rpm
+filename = $(app_name)-$(arch)-$(channel)
define sign_and_deploy
@./scripts/sign.sh "$(1)" "$(channel)" "$(arch)"
@@ -50,7 +54,6 @@ endif
# Build ########################################################################
build: compile_translations prepare
- @$(eval target_dir := ./target/$(target)/$(output_dir)/map)
cargo build --profile $(profile) --target $(target)
# Code Quality #################################################################
@@ -85,25 +88,13 @@ po/%/LC_MESSAGES/systems.tranquil.Map.mo: po/%.po
msgfmt $< -o $@
# Packaging ####################################################################
-
-# Filename format: map-aarch64-unstable.flatpak or map-aarch64-unstable-fedora43.rpm
-filename = $(app_name)-$(arch)-$(channel)$(if $(distro),-$(distro),)
+#
+# Generic packages (run on bare metal)
+#
update_flatpak_dependencies:
cd $(flatpak_cargo_generator) && `poetry env activate` && python3 flatpak-cargo-generator.py $(CURDIR)/Cargo.lock -o $(CURDIR)/build-aux/cargo-sources.json && deactivate
-package-rpm: build
-ifeq ($(findstring linux,$(target)),linux)
- cargo generate-rpm --profile $(profile) --target $(target)
- mv target/$(target)/generate-rpm/*.rpm $(filename).rpm
-endif
-
-package-deb: build
-ifeq ($(findstring linux,$(target)),linux)
- cargo deb --profile $(profile) --target $(target)
- mv target/$(target)/debian/*.deb $(filename).deb
-endif
-
package-tar: build
@$(eval staging := $(shell mktemp -d))
@install -Dm0755 target/$(target)/$(output_dir)/$(app_name) $(staging)/usr/bin/$(app_name)
@@ -123,14 +114,6 @@ package-flatpak: update_flatpak_dependencies
flatpak-builder --force-clean --user --install-deps-from=flathub --repo=repo --install builddir ./build-aux/systems.tranquil.Map.yml
flatpak build-bundle repo $(filename).flatpak systems.tranquil.Map
-package-pacman:
- @$(eval staging := $(shell mktemp -d))
- rsync -a --filter=':- .gitignore' --exclude='.git' . $(staging)/src
- cp build-aux/PKGBUILD $(staging)/
- cd $(staging) && PKGEXT='.pkg.tar.gz' makepkg -f
- mv $(staging)/$(app_name)-$(pkgver)-$(pkgrel)-$(arch).pkg.tar.gz $(app_name)-$(arch)-$(channel)-arch.pkg.tar.gz
- @rm -rf $(staging)
-
$(linuxdeploy):
@mkdir -p .cache
curl -L -o $(linuxdeploy) $(linuxdeploy_url)
@@ -155,83 +138,65 @@ ifeq ($(findstring linux,$(target)),linux)
@rm -rf $(appdir)
endif
-package: package-rpm package-deb package-tar package-pacman package-flatpak package-appimage
-
-# Distribution #################################################################
-
-distribute-rpm:
- @$(call sign_and_deploy,$(filename).rpm)
-
-distribute-deb:
- @$(call sign_and_deploy,$(filename).deb)
-
-distribute-tar:
- @$(call sign_and_deploy,$(filename).tar.gz)
-
-distribute-flatpak:
- @$(call sign_and_deploy,$(filename).flatpak)
-
-distribute-pacman:
- @$(call sign_and_deploy,$(app_name)-$(arch)-$(channel)-arch.pkg.tar.gz)
-
-distribute-appimage:
- @$(call sign_and_deploy,$(filename).AppImage)
+#
+# Distro-specific packages (run inside podman containers)
+#
-distribute: distribute-rpm distribute-deb distribute-tar distribute-pacman distribute-flatpak distribute-appimage
+# Internal target: runs inside arch container
+package-pacman:
+ @$(eval staging := $(shell mktemp -d))
+ rsync -a --filter=':- .gitignore' --exclude='.git' . $(staging)/src
+ cp build-aux/PKGBUILD $(staging)/
+ cd $(staging) && PKGEXT='.pkg.tar.gz' makepkg -f
+ mv $(staging)/$(app_name)-$(pkgver)-$(pkgrel)-$(arch).pkg.tar.gz $(app_name)-$(arch)-$(channel)-arch.pkg.tar.gz
+ @rm -rf $(staging)
-release: package distribute
+# Internal target: runs inside fedora container
+package-rpm: build
+ifeq ($(findstring linux,$(target)),linux)
+ cargo generate-rpm --profile $(profile) --target $(target)
+ mv target/$(target)/generate-rpm/*.rpm $(filename)-$(distro).rpm
+endif
-# ARM builds - run locally for universal formats, podman for distro-specific
-arm:
-ifndef channel
- $(eval channel := unstable)
+# Internal target: runs inside debian container
+package-deb: build
+ifeq ($(findstring linux,$(target)),linux)
+ cargo deb --profile $(profile) --target $(target)
+ mv target/$(target)/debian/*.deb $(filename)-$(distro).deb
endif
- @echo "=== Building ARM packages (channel: $(channel)) ==="
- @# Build universal formats locally
- $(MAKE) -e profile=release -e channel=$(channel) -e target=aarch64-unknown-linux-gnu package-tar package-flatpak package-appimage package-pacman
- @# Build distro-specific packages via podman
- $(MAKE) -e channel=$(channel) arm-rpm-all arm-deb-all
- @# Sign and distribute everything
- $(MAKE) -e profile=release -e channel=$(channel) -e target=aarch64-unknown-linux-gnu distribute-tar distribute-flatpak distribute-appimage distribute-pacman
- @for v in $(fedora_versions); do \
- $(MAKE) -e channel=$(channel) -e target=aarch64-unknown-linux-gnu -e distro=$$v distribute-rpm; \
- done
- @for v in $(debian_versions); do \
- $(MAKE) -e channel=$(channel) -e target=aarch64-unknown-linux-gnu -e distro=$$v distribute-deb; \
- done
-# Build all ARM RPMs via podman
-arm-rpm-all:
- @for v in $(fedora_versions); do \
- $(MAKE) -e channel=$(channel) -e distro=$$v arm-rpm; \
- done
+#
+# Podman wrappers for distro-specific builds
+#
-# Build single ARM RPM via podman (requires distro= to be set)
-arm-rpm:
+package-pacman-podman:
+ @echo "=== Building Arch package for $(arch) ==="
+ podman run --rm -v $(CURDIR):/src:Z -w /src $(arch_image) bash -c '\
+ pacman -Syu --noconfirm make clang lld curl tar gzip gettext gtk4 libadwaita gtksourceview5 fakeroot && \
+ curl --proto "=https" --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y && \
+ source $$HOME/.cargo/env && \
+ useradd -m builder && \
+ chown -R builder:builder /src && \
+ su builder -c "cd /src && make -e profile=$(profile) -e channel=$(channel) -e target=$(target) package-pacman"'
+
+package-rpm-podman:
ifndef distro
- $(error distro is required, e.g., make arm-rpm distro=fedora43)
+ $(error distro is required, e.g., make package-rpm-podman distro=fedora43)
endif
- @echo "=== Building ARM RPM for $(distro) ==="
+ @echo "=== Building RPM for $(distro) ($(arch)) ==="
podman run --rm -v $(CURDIR):/src:Z -w /src $(fedora_image_$(distro)) bash -c '\
dnf install -y make clang lld curl tar gzip gettext gtk4-devel libadwaita-devel gtksourceview5-devel pkg-config && \
curl --proto "=https" --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y && \
source $$HOME/.cargo/env && \
curl -L --proto "=https" --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash && \
cargo binstall cargo-generate-rpm --no-confirm && \
- make -e profile=release -e channel=$(channel) -e target=aarch64-unknown-linux-gnu -e distro=$(distro) package-rpm'
+ make -e profile=$(profile) -e channel=$(channel) -e target=$(target) -e distro=$(distro) package-rpm'
-# Build all ARM DEBs via podman
-arm-deb-all:
- @for v in $(debian_versions); do \
- $(MAKE) -e channel=$(channel) -e distro=$$v arm-deb; \
- done
-
-# Build single ARM DEB via podman (requires distro= to be set)
-arm-deb:
+package-deb-podman:
ifndef distro
- $(error distro is required, e.g., make arm-deb distro=bookworm)
+ $(error distro is required, e.g., make package-deb-podman distro=bookworm)
endif
- @echo "=== Building ARM DEB for $(distro) ==="
+ @echo "=== Building DEB for $(distro) ($(arch)) ==="
podman run --rm -v $(CURDIR):/src:Z -w /src $(debian_image_$(distro)) bash -c '\
apt-get update && \
apt-get install -y make clang lld curl tar gzip gettext libgtk-4-dev libadwaita-1-dev libgtksourceview-5-dev pkg-config && \
@@ -239,8 +204,49 @@ endif
source $$HOME/.cargo/env && \
curl -L --proto "=https" --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash && \
cargo binstall cargo-deb --no-confirm && \
- make -e profile=release -e channel=$(channel) -e target=aarch64-unknown-linux-gnu -e distro=$(distro) package-deb'
+ make -e profile=$(profile) -e channel=$(channel) -e target=$(target) -e distro=$(distro) package-deb'
+
+package-rpm-all:
+ @for v in $(fedora_versions); do \
+ $(MAKE) -e profile=$(profile) -e channel=$(channel) -e target=$(target) -e distro=$$v package-rpm-podman; \
+ done
+
+package-deb-all:
+ @for v in $(debian_versions); do \
+ $(MAKE) -e profile=$(profile) -e channel=$(channel) -e target=$(target) -e distro=$$v package-deb-podman; \
+ done
+
+package: package-tar package-flatpak package-appimage package-pacman-podman package-rpm-all package-deb-all
+# Distribution #################################################################
+
+distribute-tar:
+ @$(call sign_and_deploy,$(filename).tar.gz)
+
+distribute-flatpak:
+ @$(call sign_and_deploy,$(filename).flatpak)
+
+distribute-appimage:
+ @$(call sign_and_deploy,$(filename).AppImage)
+
+distribute-pacman:
+ @$(call sign_and_deploy,$(app_name)-$(arch)-$(channel)-arch.pkg.tar.gz)
+
+distribute-rpm:
+ @for v in $(fedora_versions); do \
+ $(call sign_and_deploy,$(filename)-$$v.rpm); \
+ done
+
+distribute-deb:
+ @for v in $(debian_versions); do \
+ $(call sign_and_deploy,$(filename)-$$v.deb); \
+ done
+
+distribute: distribute-tar distribute-flatpak distribute-appimage distribute-pacman distribute-rpm distribute-deb
+
+# Release ######################################################################
+
+release: lint package distribute
# Installation #################################################################
@@ -268,43 +274,12 @@ uninstall:
rm -f $(prefix)/share/locale/$$locale/LC_MESSAGES/systems.tranquil.Map.mo; \
done
-# CI ###########################################################################
-#
-# CI target for generic builds (flatpak, appimage, tar)
-ci-generic: lint
-ifeq ($(GIT_REF),refs/heads/main)
- $(MAKE) -e profile=release -e channel=unstable -e target=$(target) package-tar package-flatpak package-appimage distribute-tar distribute-flatpak distribute-appimage
-else ifneq (,$(findstring refs/tags/,$(GIT_REF)))
- $(MAKE) -e profile=release -e channel=$(subst refs/tags/,,$(GIT_REF)) -e target=$(target) package-tar package-flatpak package-appimage distribute-tar distribute-flatpak distribute-appimage
-endif
-
-# CI target for .pkg.tar.gz builds (arch)
-ci-arch: lint
-ifeq ($(GIT_REF),refs/heads/main)
- $(MAKE) -e profile=release -e channel=unstable -e target=$(target) package-pacman distribute-pacman
-else ifneq (,$(findstring refs/tags/,$(GIT_REF)))
- $(MAKE) -e profile=release -e channel=$(subst refs/tags/,,$(GIT_REF)) -e target=$(target) package-pacman distribute-pacman
-endif
-
-# CI target for rpm builds (fedora)
-ci-rpm:
-ifeq ($(GIT_REF),refs/heads/main)
- $(MAKE) -e profile=release -e channel=unstable -e target=$(target) -e distro=$(distro) package-rpm distribute-rpm
-else ifneq (,$(findstring refs/tags/,$(GIT_REF)))
- $(MAKE) -e profile=release -e channel=$(subst refs/tags/,,$(GIT_REF)) -e target=$(target) -e distro=$(distro) package-rpm distribute-rpm
-endif
-
-# CI target for deb builds (debian)
-ci-deb:
-ifeq ($(GIT_REF),refs/heads/main)
- $(MAKE) -e profile=release -e channel=unstable -e target=$(target) -e distro=$(distro) package-deb distribute-deb
-else ifneq (,$(findstring refs/tags/,$(GIT_REF)))
- $(MAKE) -e profile=release -e channel=$(subst refs/tags/,,$(GIT_REF)) -e target=$(target) -e distro=$(distro) package-deb distribute-deb
-endif
-
-.PHONY: default build package package-rpm package-deb package-tar package-flatpak package-pacman package-appimage \
- distribute distribute-rpm distribute-deb distribute-tar distribute-flatpak distribute-pacman distribute-appimage \
- arm arm-rpm arm-rpm-all arm-deb arm-deb-all \
- prepare set_rust ci ci-arch ci-rpm ci-deb release test coverage format lint \
- update_flatpak_dependencies extract_strings find_translatable_files \
- ci-generic compile_translations install uninstall
+.PHONY: default build test coverage format lint \
+ find_translatable_files extract_strings compile_translations \
+ update_flatpak_dependencies \
+ package-tar package-flatpak package-appimage \
+ package-pacman package-rpm package-deb \
+ package-pacman-podman package-rpm-podman package-deb-podman \
+ package-rpm-all package-deb-all package \
+ distribute-tar distribute-flatpak distribute-appimage distribute-pacman distribute-rpm distribute-deb distribute \
+ release install uninstall set_rust prepare