From 9d97588c84df85a9da4a307b1b6c55c2a1e02bb2 Mon Sep 17 00:00:00 2001 From: Philippe Teuwen Date: Fri, 27 Feb 2026 00:01:14 +0100 Subject: [PATCH] docker updates --- client/Makefile | 2 +- docker/archlinux/Dockerfile | 7 ++++++- docker/archlinux/docker_conf.inc | 1 + docker/debian-13-trixie-arm64/Dockerfile | 8 +++++++- docker/debian-13-trixie-arm64/docker_conf.inc | 1 + docker/debian-13-trixie-armhf/Dockerfile | 8 +++++++- docker/debian-13-trixie-armhf/docker_conf.inc | 1 + docker/debian-14-forky/Dockerfile | 2 +- docker/fedora-41/Dockerfile | 7 ++++++- docker/fedora-41/docker_conf.inc | 1 + docker/fedora-42/Dockerfile | 9 +++++++-- docker/fedora-42/docker_conf.inc | 1 + docker/fedora-43/Dockerfile | 7 ++++++- docker/fedora-43/docker_conf.inc | 1 + docker/kali/Dockerfile | 2 +- docker/opensuse-leap/Dockerfile | 17 ++++++++++++++--- docker/opensuse-leap/docker_conf.inc | 1 + docker/opensuse-tumbleweed/Dockerfile | 9 ++++++++- docker/opensuse-tumbleweed/docker_conf.inc | 1 + docker/parrot-core-latest/Dockerfile | 2 +- 20 files changed, 73 insertions(+), 15 deletions(-) diff --git a/client/Makefile b/client/Makefile index c141ba1e5..79d4aac63 100644 --- a/client/Makefile +++ b/client/Makefile @@ -319,7 +319,7 @@ PM3INCLUDES += $(PYTHONLIBINC) ## QT6 (or QT5 fallback) (optional) ifneq ($(SKIPQT),1) # Check for correctly configured Qt6 - QTINCLUDES = $(shell $(PKG_CONFIG_ENV) pkg-config --cflags Qt6Core Qt6Widgets 2>/dev/null) + QTINCLUDES = $(shell $(PKG_CONFIG_ENV) pkg-config --cflags Qt6Core Qt6Widgets Qt6Gui 2>/dev/null) QTLDLIBS = $(shell $(PKG_CONFIG_ENV) pkg-config --libs Qt6Core Qt6Widgets 2>/dev/null) MOC = $(shell $(PKG_CONFIG_ENV) pkg-config --variable=libexecdir Qt6Core)/moc UIC = $(shell $(PKG_CONFIG_ENV) pkg-config --variable=libexecdir Qt6Core)/uic diff --git a/docker/archlinux/Dockerfile b/docker/archlinux/Dockerfile index db30f971f..e047b3cc8 100644 --- a/docker/archlinux/Dockerfile +++ b/docker/archlinux/Dockerfile @@ -3,13 +3,18 @@ FROM archlinux:base ENV LANG=C.UTF-8 RUN pacman -Syu --noconfirm RUN pacman-db-upgrade -# qt5-base skipped + # bluez skipped, can't be installed in docker RUN pacman -S --noconfirm sudo git base-devel cmake libusb readline bzip2 lz4 gd arm-none-eabi-gcc arm-none-eabi-newlib --needed # OpenCL for hitag2crack RUN pacman -S --noconfirm ocl-icd +ARG SKIPQT=false +RUN if [ "${SKIPQT}" = "false" ]; then \ + pacman -S --noconfirm qt6-base; \ + fi + # Create rrg user RUN useradd -ms /bin/bash rrg RUN passwd -d rrg diff --git a/docker/archlinux/docker_conf.inc b/docker/archlinux/docker_conf.inc index 0f069bf63..25f9cf322 100644 --- a/docker/archlinux/docker_conf.inc +++ b/docker/archlinux/docker_conf.inc @@ -1 +1,2 @@ DOCKER_IMAGE=pm3-arch:1.0 +#SKIPQT=1 diff --git a/docker/debian-13-trixie-arm64/Dockerfile b/docker/debian-13-trixie-arm64/Dockerfile index 021596859..7e88a860b 100644 --- a/docker/debian-13-trixie-arm64/Dockerfile +++ b/docker/debian-13-trixie-arm64/Dockerfile @@ -2,7 +2,7 @@ FROM arm64v8/debian:trixie-slim ENV LANG=C.UTF-8 ENV DEBIAN_FRONTEND=noninteractive -# qtbase5-dev skipped + RUN apt-get update && \ apt-get upgrade -y && \ apt-get dist-upgrade -y && \ @@ -12,6 +12,12 @@ RUN apt-get update && \ RUN apt-get install -y opencl-dev && \ apt-get clean +ARG SKIPQT=false +RUN if [ "${SKIPQT}" = "false" ]; then \ + apt-get install -y qt6-base-dev && \ + apt-get clean; \ + fi + # uv COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/ diff --git a/docker/debian-13-trixie-arm64/docker_conf.inc b/docker/debian-13-trixie-arm64/docker_conf.inc index b785494aa..372ff43c4 100644 --- a/docker/debian-13-trixie-arm64/docker_conf.inc +++ b/docker/debian-13-trixie-arm64/docker_conf.inc @@ -1,2 +1,3 @@ DOCKER_IMAGE=pm3-debian-trixie-arm64:1.0 DOCKER_PLATFORM="--platform linux/arm64" +SKIPQT=1 diff --git a/docker/debian-13-trixie-armhf/Dockerfile b/docker/debian-13-trixie-armhf/Dockerfile index 81c9b1319..e4725ca9f 100644 --- a/docker/debian-13-trixie-armhf/Dockerfile +++ b/docker/debian-13-trixie-armhf/Dockerfile @@ -2,7 +2,7 @@ FROM arm32v7/debian:trixie-slim ENV LANG=C.UTF-8 ENV DEBIAN_FRONTEND=noninteractive -# qtbase5-dev skipped + RUN apt-get update && \ apt-get upgrade -y && \ apt-get dist-upgrade -y && \ @@ -12,6 +12,12 @@ RUN apt-get update && \ RUN apt-get install -y opencl-dev && \ apt-get clean +ARG SKIPQT=false +RUN if [ "${SKIPQT}" = "false" ]; then \ + apt-get install -y qt6-base-dev && \ + apt-get clean; \ + fi + # uv not available #COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/ RUN apt-get install -y pipx && \ diff --git a/docker/debian-13-trixie-armhf/docker_conf.inc b/docker/debian-13-trixie-armhf/docker_conf.inc index f44700643..01ca96d4a 100644 --- a/docker/debian-13-trixie-armhf/docker_conf.inc +++ b/docker/debian-13-trixie-armhf/docker_conf.inc @@ -1,2 +1,3 @@ DOCKER_IMAGE=pm3-debian-trixie-armhf:1.0 DOCKER_PLATFORM="--platform linux/arm/v7" +SKIPQT=1 diff --git a/docker/debian-14-forky/Dockerfile b/docker/debian-14-forky/Dockerfile index 3f9f3b986..074f95876 100644 --- a/docker/debian-14-forky/Dockerfile +++ b/docker/debian-14-forky/Dockerfile @@ -2,7 +2,7 @@ FROM debian:forky-slim ENV LANG=C.UTF-8 ENV DEBIAN_FRONTEND=noninteractive -# qtbase5-dev skipped + RUN apt-get update && \ apt-get upgrade -y && \ apt-get dist-upgrade -y && \ diff --git a/docker/fedora-41/Dockerfile b/docker/fedora-41/Dockerfile index 0612b5d3e..73c5d346d 100644 --- a/docker/fedora-41/Dockerfile +++ b/docker/fedora-41/Dockerfile @@ -1,11 +1,16 @@ FROM fedora:41 ENV LANG=C.UTF-8 -# qt5-qtbase-devel skipped + RUN dnf install -y passwd sudo git make cmake gcc gcc-c++ arm-none-eabi-gcc-cs arm-none-eabi-newlib readline-devel bzip2-devel lz4-devel bluez-libs-devel python3-devel openssl-devel gd-devel libatomic findutils RUN yum -y update +ARG SKIPQT=false +RUN if [ "${SKIPQT}" = "false" ]; then \ + dnf install -y qt6-qtbase-devel; \ + fi + RUN yum -y install mesa-libOpenCL ocl-icd-devel # uv diff --git a/docker/fedora-41/docker_conf.inc b/docker/fedora-41/docker_conf.inc index eb8968f1c..698cab57d 100644 --- a/docker/fedora-41/docker_conf.inc +++ b/docker/fedora-41/docker_conf.inc @@ -1 +1,2 @@ DOCKER_IMAGE=pm3-fedora-41:1.0 +#SKIPQT=1 diff --git a/docker/fedora-42/Dockerfile b/docker/fedora-42/Dockerfile index 581cc24e0..75060263a 100644 --- a/docker/fedora-42/Dockerfile +++ b/docker/fedora-42/Dockerfile @@ -1,12 +1,17 @@ FROM fedora:42 ENV LANG=C.UTF-8 -# qt5-qtbase-devel skipped + RUN dnf install -y passwd sudo git make cmake gcc gcc-c++ arm-none-eabi-gcc-cs arm-none-eabi-newlib readline-devel bzip2-devel lz4-devel bluez-libs-devel python3-devel openssl-devel gd-devel libatomic findutils RUN yum -y update -RUN yum -y install mesa-libOpenCL ocl-icd-devel +ARG SKIPQT=false +RUN if [ "${SKIPQT}" = "false" ]; then \ + dnf install -y qt6-qtbase-devel; \ + fi + +RUN yum -y install --allowerasing mesa-libOpenCL ocl-icd-devel # uv COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/ diff --git a/docker/fedora-42/docker_conf.inc b/docker/fedora-42/docker_conf.inc index 002e2ec26..d314f95d6 100644 --- a/docker/fedora-42/docker_conf.inc +++ b/docker/fedora-42/docker_conf.inc @@ -1 +1,2 @@ DOCKER_IMAGE=pm3-fedora-42:1.0 +#SKIPQT=1 diff --git a/docker/fedora-43/Dockerfile b/docker/fedora-43/Dockerfile index 73223cbfd..cd5710a9d 100644 --- a/docker/fedora-43/Dockerfile +++ b/docker/fedora-43/Dockerfile @@ -1,11 +1,16 @@ FROM fedora:rawhide ENV LANG=C.UTF-8 -# qt5-qtbase-devel skipped + RUN dnf install -y passwd sudo git make cmake gcc gcc-c++ arm-none-eabi-gcc-cs arm-none-eabi-newlib readline-devel bzip2-devel lz4-devel bluez-libs-devel python3-devel openssl-devel gd-devel libatomic findutils RUN yum -y update +ARG SKIPQT=false +RUN if [ "${SKIPQT}" = "false" ]; then \ + dnf install -y qt6-qtbase-devel; \ + fi + RUN yum -y install mesa-libOpenCL ocl-icd-devel # uv diff --git a/docker/fedora-43/docker_conf.inc b/docker/fedora-43/docker_conf.inc index 9f1c4c08c..da266b2a9 100644 --- a/docker/fedora-43/docker_conf.inc +++ b/docker/fedora-43/docker_conf.inc @@ -1 +1,2 @@ DOCKER_IMAGE=pm3-fedora-43:1.0 +#SKIPQT=1 diff --git a/docker/kali/Dockerfile b/docker/kali/Dockerfile index 4b80bf549..91dad2468 100644 --- a/docker/kali/Dockerfile +++ b/docker/kali/Dockerfile @@ -2,7 +2,7 @@ FROM kalilinux/kali-rolling ENV LANG=C.UTF-8 ENV DEBIAN_FRONTEND=noninteractive -# qtbase5-dev skipped + RUN apt-get update && \ apt-get upgrade -y && \ apt-get dist-upgrade -y && \ diff --git a/docker/opensuse-leap/Dockerfile b/docker/opensuse-leap/Dockerfile index bed05c810..68976c117 100644 --- a/docker/opensuse-leap/Dockerfile +++ b/docker/opensuse-leap/Dockerfile @@ -1,14 +1,25 @@ FROM opensuse/leap ENV LANG=C.UTF-8 -# libqt5-qtbase-devel skipped -RUN zypper --non-interactive install --no-recommends shadow sudo git patterns-devel-base-devel_basis cmake gcc-c++ readline-devel libbz2-devel liblz4-devel bluez-devel python3-devel libopenssl-devel gd-devel + +RUN zypper --non-interactive install --no-recommends shadow sudo git patterns-devel-base-devel_basis cmake gcc15 gcc15-c++ readline-devel libbz2-devel liblz4-devel bluez-devel python3-devel libopenssl-devel gd-devel + +RUN zypper --non-interactive install ocl-icd-devel + +ARG SKIPQT=false +RUN if [ "${SKIPQT}" = "false" ]; then \ + zypper --non-interactive install qt6-core-devel qt6-widgets-devel; \ + fi RUN zypper addrepo https://download.opensuse.org/repositories/home:wkazubski/15.6/home:wkazubski.repo && \ zypper --gpg-auto-import-keys refresh && \ zypper --non-interactive install cross-arm-none-eabi-gcc15 cross-arm-none-eabi-newlib -RUN zypper --non-interactive install ocl-icd-devel +# Set GCC 15 as default, else it's GCC 7 ?! +RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-15 100 && \ + update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-15 100 && \ + update-alternatives --install /usr/bin/cc cc /usr/bin/gcc-15 100 && \ + update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++-15 100 # uv COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/ diff --git a/docker/opensuse-leap/docker_conf.inc b/docker/opensuse-leap/docker_conf.inc index ac8d995f5..18cd9c18f 100644 --- a/docker/opensuse-leap/docker_conf.inc +++ b/docker/opensuse-leap/docker_conf.inc @@ -1 +1,2 @@ DOCKER_IMAGE=pm3-suse-leap:1.0 +#SKIPQT=1 diff --git a/docker/opensuse-tumbleweed/Dockerfile b/docker/opensuse-tumbleweed/Dockerfile index 9bdfdc051..93731d25a 100644 --- a/docker/opensuse-tumbleweed/Dockerfile +++ b/docker/opensuse-tumbleweed/Dockerfile @@ -1,9 +1,16 @@ FROM opensuse/tumbleweed ENV LANG=C.UTF-8 -# libqt5-qtbase-devel skipped + RUN zypper --non-interactive install --no-recommends shadow sudo git patterns-devel-base-devel_basis cmake gcc-c++ readline-devel libbz2-devel liblz4-devel bluez-devel python3-devel libopenssl-devel cross-arm-none-gcc15 cross-arm-none-newlib-devel gd-devel +RUN zypper --non-interactive install ocl-icd-devel + +ARG SKIPQT=false +RUN if [ "${SKIPQT}" = "false" ]; then \ + zypper --non-interactive install qt6-core-devel qt6-widgets-devel; \ + fi + #RUN zypper addrepo https://download.opensuse.org/repositories/home:wkazubski/openSUSE_Tumbleweed/home:wkazubski.repo && \ # zypper --gpg-auto-import-keys refresh && \ # zypper --non-interactive install cross-arm-none-eabi-gcc15 cross-arm-none-eabi-newlib diff --git a/docker/opensuse-tumbleweed/docker_conf.inc b/docker/opensuse-tumbleweed/docker_conf.inc index e6cc65b22..fa8df80af 100644 --- a/docker/opensuse-tumbleweed/docker_conf.inc +++ b/docker/opensuse-tumbleweed/docker_conf.inc @@ -1 +1,2 @@ DOCKER_IMAGE=pm3-suse-tumbleweed:1.0 +#SKIPQT=1 diff --git a/docker/parrot-core-latest/Dockerfile b/docker/parrot-core-latest/Dockerfile index 25397f60a..3671b94da 100644 --- a/docker/parrot-core-latest/Dockerfile +++ b/docker/parrot-core-latest/Dockerfile @@ -2,7 +2,7 @@ FROM parrotsec/core:latest ENV LANG=C.UTF-8 ENV DEBIAN_FRONTEND=noninteractive -# qtbase5-dev skipped + RUN apt-get update && \ apt-get upgrade -y && \ apt-get dist-upgrade -y && \