Cible: Debian Bookworm (12) et Ubuntu 22.04+ Changes: - packaging/Dockerfile.deb: Build via Docker avec Go 1.24 - packaging/build-deb.sh: Ajout paramètre distribution (debian/ubuntu) - packaging/test/Dockerfile.deb: Test sur Debian Bookworm - packaging/test/test-*.sh: Tests spécifiques Debian/Ubuntu - .github/workflows/build-deb.yml: * Nom du job: 'Build DEB Package (Debian/Ubuntu)' * TARGET_DIST: debian:bookworm * Build simplifié via Docker - Makefile: package-deb utilise Docker (cohérent avec RPM) Compatibilité: - Debian 11 (Bullseye) - Debian 12 (Bookworm) - Ubuntu 20.04 LTS - Ubuntu 22.04 LTS - Ubuntu 24.04 LTS Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
36 lines
870 B
Docker
36 lines
870 B
Docker
# Dockerfile for building DEB packages for Debian/Ubuntu
|
|
# Use Go 1.24 as base to ensure correct Go version
|
|
FROM golang:1.24-bookworm AS builder
|
|
|
|
# Install DEB build tools
|
|
RUN apt-get update && apt-get install -y \
|
|
dpkg-dev \
|
|
fakeroot \
|
|
lintian \
|
|
libpcap-dev \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
WORKDIR /app
|
|
|
|
# Copy source code
|
|
COPY . .
|
|
|
|
# Build binary
|
|
ARG VERSION=1.0.0
|
|
RUN mkdir -p dist && \
|
|
CGO_ENABLED=1 GOOS=linux GOARCH=amd64 \
|
|
go build -buildvcs=false -o dist/ja4sentinel-linux-amd64 ./cmd/ja4sentinel
|
|
|
|
# Build DEB for Debian/Ubuntu
|
|
ARG ARCH=amd64
|
|
RUN mkdir -p /app/packages && \
|
|
./packaging/build-deb.sh "${VERSION}" "${ARCH}" "debian" && \
|
|
cp /app/build/deb/*.deb /app/packages/
|
|
|
|
# Final stage - minimal image with just the DEB
|
|
FROM alpine:latest
|
|
|
|
COPY --from=builder /app/packages/ /packages/
|
|
|
|
CMD ["ls", "-la", "/packages/"]
|