Fix arch build #92

Manually merged
jabber.developer merged 1 commits from fix/arch-build into master 2026-02-17 16:35:08 +00:00

Fixes #93

Fixes #93
jabber.developer added 1 commit 2026-02-16 15:30:57 +00:00
ci: fix arch build
Some checks failed
CI Code / Check spelling (pull_request) Successful in 21s
CI Code / Check coding style (pull_request) Successful in 35s
CI Code / Linux (arch) (pull_request) Failing after 43s
CI Code / Linux (debian) (pull_request) Successful in 6m17s
CI Code / Linux (ubuntu) (pull_request) Successful in 6m25s
CI Code / Code Coverage (pull_request) Has been cancelled
2935d73b1b
jabber.developer force-pushed fix/arch-build from 2935d73b1b to 07e9ff4511 2026-02-16 15:38:09 +00:00 Compare
jabber.developer force-pushed fix/arch-build from 07e9ff4511 to 8046a70ac4 2026-02-16 15:44:38 +00:00 Compare
jabber.developer force-pushed fix/arch-build from 8046a70ac4 to 847dc5e384 2026-02-16 15:48:07 +00:00 Compare
jabber.developer2 requested changes 2026-02-17 15:22:57 +00:00
Dismissed
Dockerfile.arch Outdated
@@ -4,3 +4,3 @@
ENV CC="ccache gcc"
RUN pacman -Syu --noconfirm
RUN pacman -Syyu --noconfirm || true
Collaborator

Double pacman -Syyu with no logic between attempts — IMPROVEMENT

Two identical RUN pacman -Syyu back-to-back: the first swallows errors, the second retries blindly. If the root cause is stale keys or a broken mirror, a plain retry won't help — and you pay for an extra Docker layer caching the full package DB twice.

Better: single RUN with targeted recovery:

RUN pacman -Syu --noconfirm || (pacman-key --refresh-keys && pacman -Syu --noconfirm)

Double pacman -Syyu with no logic between attempts — IMPROVEMENT Two identical RUN pacman -Syyu back-to-back: the first swallows errors, the second retries blindly. If the root cause is stale keys or a broken mirror, a plain retry won't help — and you pay for an extra Docker layer caching the full package DB twice. Better: single RUN with targeted recovery: RUN pacman -Syu --noconfirm || (pacman-key --refresh-keys && pacman -Syu --noconfirm)
Collaborator

Looks like this solution incorrect, may be we should try

RUN pacman-key --init && pacman-key --populate archlinux
RUN pacman -Syu --noconfirm

instead of
RUN pacman -Syu --noconfirm || (pacman-key --refresh-keys && pacman -Syu --noconfirm)

or use previous approach

Looks like this solution incorrect, may be we should try RUN pacman-key --init && pacman-key --populate archlinux RUN pacman -Syu --noconfirm instead of RUN pacman -Syu --noconfirm || (pacman-key --refresh-keys && pacman -Syu --noconfirm) or use previous approach
jabber.developer marked this conversation as resolved
Dockerfile.arch Outdated
@@ -7,3 +9,3 @@
# reflector is optional - if it fails due to network issues, continue with default mirrorlist
RUN pacman -S --needed --noconfirm reflector && \
(reflector --latest 20 --protocol https --sort rate --save /etc/pacman.d/mirrorlist || true)
(reflector --latest 20 --protocol https --save --sort rate /etc/pacman.d/mirrorlist || true)
Collaborator

reflector argument order

--save expects a file path as its next argument. After the reorder, --save consumes --sort as the filename, breaking mirror selection silently (masked by || true).

Fix: keep --save together:
RUN pacman -S --needed --noconfirm reflector &&
(reflector --latest 20 --protocol https --sort rate --save /etc/pacman.d/mirrorlist || true)

reflector argument order --save expects a file path as its next argument. After the reorder, --save consumes --sort as the filename, breaking mirror selection silently (masked by || true). Fix: keep --save <path> together: RUN pacman -S --needed --noconfirm reflector && \ (reflector --latest 20 --protocol https --sort rate --save /etc/pacman.d/mirrorlist || true)
Author
Owner

It was done to destroy previous cache. Reverted.

It was done to destroy previous cache. Reverted.
jabber.developer marked this conversation as resolved
Dockerfile.arch Outdated
@@ -8,2 +10,3 @@
RUN pacman -S --needed --noconfirm reflector && \
(reflector --latest 20 --protocol https --sort rate --save /etc/pacman.d/mirrorlist || true)
(reflector --latest 20 --protocol https --save --sort rate /etc/pacman.d/mirrorlist || true)
RUN export DEBUGINFOD_URLS="https://debuginfod.archlinux.org"
Collaborator

RUN export does nothing across layers

Each RUN instruction executes in its own shell. export only affects that single process; subsequent RUN steps won't see the variable. Use ENV instead:

ENV DEBUGINFOD_URLS="https://debuginfod.archlinux.org"

RUN export does nothing across layers Each RUN instruction executes in its own shell. export only affects that single process; subsequent RUN steps won't see the variable. Use ENV instead: ENV DEBUGINFOD_URLS="https://debuginfod.archlinux.org"
Author
Owner

Removed.

Removed.
jabber.developer marked this conversation as resolved
jabber.developer force-pushed fix/arch-build from 847dc5e384 to 37ca2de308 2026-02-17 15:31:00 +00:00 Compare
jabber.developer2 approved these changes 2026-02-17 16:33:49 +00:00
jabber.developer manually merged commit 37ca2de308 into master 2026-02-17 16:35:08 +00:00
Sign in to join this conversation.
No description provided.