feat: add Stalwart Mail Server and FoundationDB library packages
Build / build-8 (pull_request) Successful in 58s
Build / build-9 (pull_request) Successful in 2m17s

- add stalwart: main mail server with systemd integration and user management
- add stalwart-cli: command line interface tool for server administration
- add stalwart-foundationdb: FoundationDB-enabled version with proper dependencies
- add libfoundationdb: FoundationDB client library (libfdb_c.so) package

All packages include proper conflict resolution, systemd services, and follow
repository packaging conventions. stalwart and stalwart-foundationdb are
mutually exclusive to prevent installation conflicts.
This commit is contained in:
2025-10-19 17:38:55 +11:00
parent fdf9a11a4c
commit e07235ca98
31 changed files with 556 additions and 0 deletions
+1
View File
@@ -0,0 +1 @@
1
+18
View File
@@ -0,0 +1,18 @@
FROM git.unkin.net/unkin/almalinux9-rpmbuilder:latest
# Create output directory for RPMs
RUN mkdir -p /app/dist
# Set working directory
WORKDIR /app
ARG PACKAGE_RELEASE
ENV PACKAGE_RELEASE=${PACKAGE_RELEASE}
ARG PACKAGE_VERSION
ENV PACKAGE_VERSION=${PACKAGE_VERSION}
# Copy resources from the context into the container
COPY resources /app/resources
# Default command to build RPMs
CMD /app/resources/build.sh
+9
View File
@@ -0,0 +1,9 @@
name: libfoundationdb
release: 1
version: 7.3.71
github: apple/foundationdb
build:
- distro: el/8
image: git.unkin.net/unkin/almalinux8-rpmbuilder:latest
- distro: el/9
image: git.unkin.net/unkin/almalinux9-rpmbuilder:latest
+10
View File
@@ -0,0 +1,10 @@
#!/usr/bin/bash
# Download the required library
curl -L -o /app/libfdb_c.so https://github.com/apple/foundationdb/releases/download/${PACKAGE_VERSION}/libfdb_c.x86_64.so
# Make the library readable
chmod 755 /app/libfdb_c.so
# Build the RPM
nfpm pkg --config /app/resources/nfpm.yaml --target /app/dist --packager rpm
+36
View File
@@ -0,0 +1,36 @@
# nfpm.yaml
name: libfoundationdb
version: ${PACKAGE_VERSION}
release: ${PACKAGE_RELEASE}
arch: amd64
platform: linux
section: default
priority: extra
description: "FoundationDB client library - Shared library for FoundationDB applications"
maintainer: FoundationDB Community
homepage: https://github.com/apple/foundationdb
license: Apache-2.0
disable_globbing: false
replaces:
- libfoundationdb
provides:
- libfoundationdb
- libfdb_c.so()(64bit)
# Files to include in the package
contents:
- src: /app/libfdb_c.so
dst: /usr/lib64/libfdb_c.so
file_info:
mode: 0755
owner: root
group: root
# Scripts to run during installation/removal
scripts:
postinstall: /app/resources/scripts/postinstall.sh
@@ -0,0 +1,4 @@
#!/usr/bin/env bash
# Update the dynamic linker cache to include the new library
ldconfig