mirror of
https://github.com/jmcorgan/fips.git
synced 2026-07-30 19:46:15 +00:00
Add fips-gateway binary to CI artifact and Docker build. Systemd service unit with After=fips.service dependency and security hardening. Debian and AUR package entries. OpenWrt packaging: procd init script managing dnsmasq forwarding, proxy NDP, RA route advertisements for the virtual IP pool, and a global IPv6 prefix on br-lan to work around Android suppressing AAAA queries on ULA-only networks. Sysctl config for IPv6 forwarding. Gateway enabled by default in OpenWrt config. Ethernet transport enabled by default. Default gateway config section (commented out) in common fips.yaml.
66 lines
2.5 KiB
Bash
66 lines
2.5 KiB
Bash
# Maintainer: Johnathan Corgan <jcorgan@corganlabs.com>
|
|
pkgname=fips
|
|
pkgver=0.1.0
|
|
pkgrel=1
|
|
pkgdesc="Distributed, decentralized network routing protocol for mesh nodes"
|
|
url="https://github.com/jmcorgan/fips"
|
|
license=('MIT')
|
|
arch=('x86_64')
|
|
depends=('gcc-libs' 'glibc')
|
|
makedepends=('cargo')
|
|
optdepends=('systemd-resolved: .fips DNS resolution')
|
|
conflicts=('fips-git')
|
|
backup=('etc/fips/fips.yaml' 'etc/fips/hosts')
|
|
install=fips.install
|
|
source=("$pkgname-$pkgver.tar.gz::https://github.com/jmcorgan/fips/archive/v$pkgver.tar.gz"
|
|
"fips.sysusers"
|
|
"fips.tmpfiles")
|
|
b2sums=('SKIP' # tarball hash computed by CI via updpkgsums on release
|
|
'25a0552f3d67d12f48dfd40fe4776ad7c46afeeab76bd2674b48e234db3c145810a24569a8c1a7f4c186eb546f0fae2ebe1550080c0e91d8eb72ba9934c752a6'
|
|
'844257cb8e09cd935d0d6345922d0f3ec777411daca20e24175b346a7b3cb95ebce12631a9466c4d94f1588ed8d62d92514ff24025ccfd0efb358e542b454b00')
|
|
options=('!lto')
|
|
|
|
prepare() {
|
|
cd "$pkgname-$pkgver"
|
|
cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')"
|
|
}
|
|
|
|
build() {
|
|
cd "$pkgname-$pkgver"
|
|
export CARGO_TARGET_DIR=target
|
|
export SOURCE_DATE_EPOCH=$(stat -c %Y Cargo.toml)
|
|
cargo build --frozen --release
|
|
}
|
|
|
|
check() {
|
|
cd "$pkgname-$pkgver"
|
|
export CARGO_TARGET_DIR=target
|
|
cargo test --frozen --lib
|
|
}
|
|
|
|
package() {
|
|
cd "$pkgname-$pkgver"
|
|
|
|
# Binaries
|
|
install -Dm0755 target/release/fips "$pkgdir/usr/bin/fips"
|
|
install -Dm0755 target/release/fipsctl "$pkgdir/usr/bin/fipsctl"
|
|
install -Dm0755 target/release/fipstop "$pkgdir/usr/bin/fipstop"
|
|
install -Dm0755 target/release/fips-gateway "$pkgdir/usr/bin/fips-gateway"
|
|
|
|
# Systemd service files (from packaging/debian/ -- correct /usr/bin/ paths)
|
|
install -Dm0644 packaging/debian/fips.service "$pkgdir/usr/lib/systemd/system/fips.service"
|
|
install -Dm0644 packaging/debian/fips-dns.service "$pkgdir/usr/lib/systemd/system/fips-dns.service"
|
|
install -Dm0644 packaging/debian/fips-gateway.service "$pkgdir/usr/lib/systemd/system/fips-gateway.service"
|
|
|
|
# Config files (from packaging/common/)
|
|
install -Dm0600 packaging/common/fips.yaml "$pkgdir/etc/fips/fips.yaml"
|
|
install -Dm0644 packaging/common/hosts "$pkgdir/etc/fips/hosts"
|
|
|
|
# System integration (from local source files in $srcdir)
|
|
install -Dm0644 "$srcdir/fips.sysusers" "$pkgdir/usr/lib/sysusers.d/fips.conf"
|
|
install -Dm0644 "$srcdir/fips.tmpfiles" "$pkgdir/usr/lib/tmpfiles.d/fips.conf"
|
|
|
|
# License
|
|
install -Dm0644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
|
|
}
|