feat: add OpenWrt cross-compilation and packaging (Phase F7)
- packaging/openwrt/: opkg Makefile, procd init script, uci config - scripts/cross-compile.sh: build for musl targets with size checks - .github/workflows/openwrt.yml: CI cross-compile + 5 MB size gate - docs/openwrt.md: installation and configuration guide - Targets: x86_64-musl, armv7-musleabihf, aarch64-musl - Uses cargo-zigbuild for Docker-free cross-compilation
This commit is contained in:
58
packaging/openwrt/Makefile
Normal file
58
packaging/openwrt/Makefile
Normal file
@@ -0,0 +1,58 @@
|
||||
# OpenWrt package feed Makefile for quicproquo server.
|
||||
#
|
||||
# Usage:
|
||||
# 1. Add this directory as a custom feed in feeds.conf:
|
||||
# src-link quicproquo /path/to/quicproquo/packaging/openwrt
|
||||
# 2. ./scripts/feeds update quicproquo && ./scripts/feeds install quicproquo
|
||||
# 3. make menuconfig (select Network -> quicproquo)
|
||||
# 4. make package/quicproquo/compile V=s
|
||||
#
|
||||
# The binary is pre-built via cross-compilation (see scripts/cross-compile.sh)
|
||||
# and the Makefile simply installs it into the ipkg.
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=quicproquo
|
||||
PKG_VERSION:=0.1.0
|
||||
PKG_RELEASE:=1
|
||||
PKG_MAINTAINER:=quicproquo team
|
||||
PKG_LICENSE:=MIT
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/quicproquo
|
||||
SECTION:=net
|
||||
CATEGORY:=Network
|
||||
TITLE:=End-to-end encrypted group messenger (server)
|
||||
DEPENDS:=+libpthread +librt
|
||||
URL:=https://github.com/nicholasgasior/quicproquo
|
||||
endef
|
||||
|
||||
define Package/quicproquo/description
|
||||
Production-grade end-to-end encrypted group messenger using QUIC transport,
|
||||
MLS (RFC 9420), ML-KEM-768 hybrid post-quantum KEM, and OPAQUE authentication.
|
||||
This package installs the qpq-server daemon.
|
||||
endef
|
||||
|
||||
define Package/quicproquo/conffiles
|
||||
/etc/config/quicproquo
|
||||
endef
|
||||
|
||||
# Skip standard build — we use pre-compiled static musl binaries.
|
||||
define Build/Compile
|
||||
endef
|
||||
|
||||
define Package/quicproquo/install
|
||||
$(INSTALL_DIR) $(1)/usr/bin
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/qpq-server $(1)/usr/bin/qpq-server
|
||||
|
||||
$(INSTALL_DIR) $(1)/etc/init.d
|
||||
$(INSTALL_BIN) ./files/quicproquo.init $(1)/etc/init.d/quicproquo
|
||||
|
||||
$(INSTALL_DIR) $(1)/etc/config
|
||||
$(INSTALL_CONF) ./files/quicproquo.uci $(1)/etc/config/quicproquo
|
||||
|
||||
$(INSTALL_DIR) $(1)/var/lib/quicproquo
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,quicproquo))
|
||||
Reference in New Issue
Block a user