diff options
| author | Mehmet Samet Duman <yongdohyun@mail.projecttick.org> | 2026-02-18 21:21:13 +0300 |
|---|---|---|
| committer | Mehmet Samet Duman <yongdohyun@mail.projecttick.org> | 2026-02-18 21:21:13 +0300 |
| commit | 17cd2217e09b32b4dd78d4159a5f3cedac641550 (patch) | |
| tree | 598e51787b97398540eb52219b9dea5db5532e02 | |
| parent | cd1e3bfa2ff5c2515ee1f18fe2d88f8847b2dcb0 (diff) | |
| download | Project-Tick-17cd2217e09b32b4dd78d4159a5f3cedac641550.tar.gz Project-Tick-17cd2217e09b32b4dd78d4159a5f3cedac641550.zip | |
refactor: update package installation commands and clarify README on Qt6 compatibility
Signed-off-by: Mehmet Samet Duman <yongdohyun@mail.projecttick.org>
| -rw-r--r-- | .github/workflows/build.yml | 11 | ||||
| -rw-r--r-- | README.md | 10 |
2 files changed, 9 insertions, 12 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1a62687575..bdc1bec335 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -26,8 +26,8 @@ jobs: set -euo pipefail APT_CUSTOM='set -eu; apt-get update; PKGS="dpkg-dev ninja-build scdoc appstream lcov libdbus-1-dev libinih-dev libsystemd-dev"; if apt-cache show libxcb-cursor-dev >/dev/null 2>&1; then PKGS="$PKGS libxcb-cursor-dev"; elif apt-cache show libxcb-cursor0-dev >/dev/null 2>&1; then PKGS="$PKGS libxcb-cursor0-dev"; fi; if apt-cache show openjdk-21-jdk >/dev/null 2>&1; then PKGS="$PKGS openjdk-21-jdk"; elif apt-cache show openjdk-17-jdk >/dev/null 2>&1; then PKGS="$PKGS openjdk-17-jdk"; else PKGS="$PKGS default-jdk"; fi; if apt-cache show qt6-base-dev >/dev/null 2>&1 && apt-cache show qt6-declarative-dev >/dev/null 2>&1 && apt-cache show qt6-tools-dev >/dev/null 2>&1; then PKGS="$PKGS qt6-base-dev qt6-declarative-dev qt6-tools-dev qt6-tools-dev-tools"; else echo "Qt6 dev packages are required but not available" >&2; exit 1; fi; if apt-cache show libtiff6 >/dev/null 2>&1; then PKGS="$PKGS libtiff6"; elif apt-cache show libtiff5 >/dev/null 2>&1; then PKGS="$PKGS libtiff5"; else PKGS="$PKGS libtiff-dev"; fi; apt-get install -y --no-install-recommends $PKGS' - APK_PACKAGES='ninja scdoc appstream libxcb openjdk21-jdk lcov dbus-dev inih-dev libsystemd-dev tiff-dev qt6-qtbase-dev qt6-qtdeclarative-dev qt6-qttools-dev' - DNF_PACKAGES='ninja-build scdoc appstream libxcb-devel java-21-openjdk-devel lcov dbus-devel inih-devel systemd-devel libtiff qt6-qtbase-devel qt6-qtdeclarative-devel qt6-qttools-devel' + APK_PACKAGES='ninja scdoc appstream libxcb openjdk21-jdk lcov dbus-dev inih-dev tiff-dev qt6-qtbase-dev qt6-qtdeclarative-dev qt6-qttools-dev' + DNF_CUSTOM='set -eu; dnf -y install dnf-plugins-core || true; dnf config-manager --set-enabled crb || dnf config-manager --set-enabled powertools || true; dnf -y install epel-release || dnf -y install epel-next-release || true; dnf -y makecache || true; dnf -y install appstream libxcb-devel dbus-devel systemd-devel libtiff qt6-qtbase-devel qt6-qtdeclarative-devel qt6-qttools-devel; dnf -y install ninja-build || dnf -y install ninja; dnf -y install inih-devel || dnf -y install libinih-devel; dnf -y install lcov || true; dnf -y install scdoc || (dnf -y install cargo git && cargo install --locked scdoc && ln -sf /root/.cargo/bin/scdoc /usr/local/bin/scdoc); dnf -y install java-21-openjdk-devel || dnf -y install java-17-openjdk-devel || dnf -y install java-latest-openjdk-devel' YUM_CUSTOM='yum install -y ninja-build scdoc lcov dbus-devel systemd-devel libtiff qt6-qtbase-devel qt6-qtdeclarative-devel qt6-qttools-devel && (yum install -y java-21-openjdk-devel || yum install -y java-17-openjdk-devel)' ZYPPER_PACKAGES='ninja scdoc appstream libxcb-devel java-21-openjdk-devel lcov dbus-1-devel inih-devel systemd-devel libtiff qt6-base-devel qt6-declarative-devel qt6-tools-devel' PACMAN_PACKAGES='base-devel ninja scdoc appstream libxcb jdk21-openjdk lcov dbus inih systemd-libs libtiff qt6-base qt6-declarative qt6-tools' @@ -58,7 +58,7 @@ jobs: clean_cmd='true' ;; dnf) - packages="$DNF_PACKAGES" + custom_install="$DNF_CUSTOM" clean_cmd='dnf clean all || true' ;; yum) @@ -121,16 +121,12 @@ jobs: entries=( "debian-bookworm-slim|dockerfiles/debian-bookworm-slim.Dockerfile|debian/bookworm-slim|apt" "debian-bookworm|dockerfiles/debian-bookworm.Dockerfile|debian/bookworm|apt" - "debian-bullseye-slim|dockerfiles/debian-bullseye-slim.Dockerfile|debian/bullseye-slim|apt" - "debian-bullseye|dockerfiles/debian-bullseye.Dockerfile|debian/bullseye|apt" "debian-trixie-slim|dockerfiles/debian-trixie-slim.Dockerfile|debian/trixie-slim|apt" "debian-stable-slim|dockerfiles/debian-stable-slim.Dockerfile|debian/stable-slim|apt" "ubuntu-2404|dockerfiles/ubuntu-2404.Dockerfile|ubuntu/24.04|apt" "ubuntu-2204|dockerfiles/ubuntu-2204.Dockerfile|ubuntu/22.04|apt" - "ubuntu-2004|dockerfiles/ubuntu-2004.Dockerfile|ubuntu/20.04|apt" "ubuntu-latest|dockerfiles/ubuntu-latest.Dockerfile|ubuntu/latest|apt" "devuan-daedalus|dockerfiles/devuan-daedalus.Dockerfile|devuan/daedalus|apt" - "devuan-chimaera|dockerfiles/devuan-chimaera.Dockerfile|devuan/chimaera|apt" "kali-rolling|dockerfiles/kali-rolling.Dockerfile|kali/rolling|apt" "alpine-322|dockerfiles/alpine-322.Dockerfile|alpine/3.22|apk" "alpine-321|dockerfiles/alpine-321.Dockerfile|alpine/3.21|apk" @@ -151,7 +147,6 @@ jobs: "oraclelinux-9|dockerfiles/oraclelinux-9.Dockerfile|oraclelinux/9|dnf" "oraclelinux-8|dockerfiles/oraclelinux-8.Dockerfile|oraclelinux/8|dnf" "amazonlinux-2023|dockerfiles/amazonlinux-2023.Dockerfile|amazonlinux/2023|dnf" - "amazonlinux-2|dockerfiles/amazonlinux-2.Dockerfile|amazonlinux/2|yum" "opensuse-leap-156|dockerfiles/opensuse-leap-156.Dockerfile|opensuse-leap/15.6|zypper" "opensuse-leap-155|dockerfiles/opensuse-leap-155.Dockerfile|opensuse-leap/15.5|zypper" "opensuse-tumbleweed|dockerfiles/opensuse-tumbleweed.Dockerfile|opensuse-tumbleweed/latest|zypper" @@ -15,7 +15,7 @@ Target format: - Push to `main` (when Dockerfiles/workflow/README change) - Daily schedule (`03:17 UTC`) -The workflow builds and pushes all 40 images on each run. +The workflow builds and pushes the **Qt6-compatible set** on each run (currently 35 targets). ## Installed Dependencies Each image is rebuilt with: @@ -23,10 +23,12 @@ Each image is rebuilt with: - The Linux dependency set you provided (mapped per package manager family) Package profile highlights: -- `apt`: `dpkg-dev`, `ninja-build`, `scdoc`, `appstream`, `libxcb-cursor-dev`, `openjdk-21-jdk`, `lcov`, `libdbus-1-dev`, `libinih-dev`, `libsystemd-dev`, Qt packages, and `libtiff6/libtiff5` fallback logic -- `dnf`/`zypper`: equivalent dependency set + Qt packages -- `yum`/`pacman`/`xbps`/`nix`/`emerge`: mapped best-effort equivalents + Qt +- `apt`: Qt6 packages are required; build fails if unavailable +- `dnf`: CRB/PowerTools and EPEL probing + package-name fallbacks for CentOS/RHEL family +- `apk`: Alpine-specific package mapping (no `libsystemd-dev`) +- `zypper`/`yum`/`pacman`/`xbps`/`nix`/`emerge`: mapped equivalents + Qt6 verification ## Notes - Qt6 is mandatory. If Qt6 packages/tools are unavailable, Docker build fails (no Qt5 fallback). +- Some older bases are excluded from the active matrix because they do not provide Qt6 reliably. - If an upstream image tag disappears, update the corresponding file in `dockerfiles/`. |
