refactor: packaging RPM uniquement avec builder Rocky Linux 9
Some checks failed
Build RPM Package / Build RPM Packages (CentOS 7, Rocky 8/9/10) (push) Has been cancelled

- Suppression complète du support DEB (Debian/Ubuntu)
- Builder Rocky Linux 9 pour compatibilité binaire maximale
- Compilation dynamique avec libpcap comme dépendance runtime
- Activation du dépôt CRB pour libpcap-devel
- RPM générés pour el7, el8, el9, el10
- Mise à jour documentation et workflows GitHub Actions

Fix: erreur 'libpcap.so.0.8: cannot open shared object file' sur Rocky Linux 9

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
Jacquin Antoine
2026-02-28 18:15:46 +01:00
parent 86649b1630
commit 0be3ea9220
14 changed files with 119 additions and 485 deletions

View File

@ -577,35 +577,40 @@ dev_tools:
packaging:
description: >
ja4sentinel est distribué sous forme de packages .deb (Debian/Ubuntu) et
.rpm (Rocky Linux/RHEL/CentOS), construits intégralement dans Docker avec fpm.
ja4sentinel est distribué sous forme de packages .rpm (Rocky Linux/RHEL/CentOS/AlmaLinux),
construits intégralement dans Docker avec fpm. Le binaire est compilé sur Rocky Linux 9
pour une compatibilité binaire maximale avec toutes les distributions RHEL-based.
formats:
- deb
- rpm
target_distros:
deb:
- debian-12+
- ubuntu-22.04+
rpm:
- centos-7
- rocky-linux-8+
- rocky-linux-9+
- rocky-linux-10+
- almalinux-8+
- almalinux-9+
- almalinux-10+
- rhel-7+
- rhel-8+
- rhel-9+
- rhel-10+
tool: fpm
build_pipeline:
dockerfile: Dockerfile.package
stages:
- name: builder
description: >
Compilation du binaire Go avec CGO_ENABLED=1 pour libpcap.
GOOS=linux GOARCH=amd64 pour un binaire statique.
- name: package_builder
Compilation du binaire Go sur Rocky Linux 9 avec CGO_ENABLED=1.
GOOS=linux GOARCH=amd64 pour un binaire compatible x86_64.
Le binaire est dynamiquement lié à libpcap pour une compatibilité maximale.
- name: rpm_builder
description: >
Installation de fpm, rpm, dpkg-dev. Création de l'arborescence
et exécution de fpm pour générer DEB et RPM.
Image Rocky Linux 9 avec fpm, rpm-build, ruby. Création de l'arborescence
et exécution de fpm pour générer les RPM pour el7, el8, el9, el10.
- name: output
description: >
Image Alpine minimale contenant les packages dans /packages/deb et /packages/rpm.
Image Alpine minimale contenant les packages RPM dans /packages/rpm/el{7,8,9,10}.
files:
binary:
source: dist/ja4sentinel-linux-amd64
@ -633,26 +638,17 @@ packaging:
- path: /etc/ja4sentinel
mode: "0750"
maintainer_scripts:
deb:
postinst: packaging/deb/postinst
prerm: packaging/deb/prerm
postrm: packaging/deb/postrm
rpm:
post: packaging/deb/postinst
preun: packaging/deb/prerm
postun: packaging/deb/postrm
postinst: packaging/rpm/postinst
prerm: packaging/rpm/prerm
postrm: packaging/rpm/postrm
dependencies:
deb:
- systemd
- libpcap0.8
rpm:
- systemd
- libpcap >= 1.9.0
- libpcap >= 1.4.0
verify:
deb:
command: docker run --rm -v $(pwd)/build/deb:/packages debian:latest sh -c "apt-get update && apt-get install -y /packages/*.deb"
rpm:
command: docker run --rm -v $(pwd)/build/rpm:/packages rockylinux:8 sh -c "dnf install -y /packages/*.rpm"
command: docker run --rm -v $(pwd)/build/rpm:/packages rockylinux:9 sh -c "dnf install -y /packages/*.rpm"
service:
systemd: