fix: Alpine parliament Docker build (musl clean rebuild)

Ignore/clean host objects, add linux-headers, and include sys/time.h
so discover builds under musl. Docker chair↔member handshake now passes.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
WHC
2026-10-29 10:14:15 +08:00
co-authored by Cursor
parent e853abac5e
commit be8d021480
3 changed files with 14 additions and 6 deletions
+8 -3
View File
@@ -6,12 +6,17 @@ dist/
third_party/ third_party/
backups/ backups/
reports/ reports/
*.o **/*.o
*.a **/*.a
cst-agent **/cst-agent
tests/test_* tests/test_*
!tests/test_*.c !tests/test_*.c
app/ app/
.cursor/ .cursor/
*.apk *.apk
*.tar.gz *.tar.gz
.gen/
vendor/sashidown/*.o
vendor/sashidown/*.a
vendor/cjson/*.o
vendor/monocypher/*.o
+4 -3
View File
@@ -1,10 +1,11 @@
# Build inside Alpine so the binary does not depend on the host Nix store. # Build inside Alpine so the binary does not depend on the host Nix store.
FROM alpine:latest AS build FROM alpine:latest AS build
RUN apk add --no-cache build-base curl-dev ncurses-dev pkgconf python3 RUN apk add --no-cache build-base curl-dev ncurses-dev pkgconf python3 \
linux-headers
WORKDIR /src WORKDIR /src
COPY . . COPY . .
# Skip WebUI asset embedding quirks in minimal images if needed; keep default on. # Drop any host objects that slipped past .dockerignore (Nix glibc ≠ musl).
RUN make -j"$(nproc)" cst-agent RUN make clean && make -j"$(nproc)" cst-agent
FROM alpine:latest FROM alpine:latest
RUN apk add --no-cache libcurl ncurses-libs ca-certificates RUN apk add --no-cache libcurl ncurses-libs ca-certificates
+2
View File
@@ -32,7 +32,9 @@ static void disc_close(disc_sock_t s) { closesocket(s); }
#include <errno.h> #include <errno.h>
#include <fcntl.h> #include <fcntl.h>
#include <netinet/in.h> #include <netinet/in.h>
#include <sys/select.h>
#include <sys/socket.h> #include <sys/socket.h>
#include <sys/time.h>
#include <unistd.h> #include <unistd.h>
typedef int disc_sock_t; typedef int disc_sock_t;
#define DISC_BAD (-1) #define DISC_BAD (-1)