feat: add Stalwart Mail Server and FoundationDB library packages
- 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:
@@ -0,0 +1 @@
|
||||
1
|
||||
@@ -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
|
||||
@@ -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
|
||||
Executable
+10
@@ -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
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user