mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2026-01-06 09:11:38 +01:00
155 lines
3.7 KiB
Plaintext
155 lines
3.7 KiB
Plaintext
# Contributor: Daniel Corbe <daniel@corbe.net>
|
|
# Maintainer: Celeste <cielesti@protonmail.com>
|
|
pkgname=frr
|
|
pkgver=9.0.1
|
|
pkgrel=0
|
|
pkgdesc="Free Range Routing is a fork of Quagga"
|
|
pkgusers="frr"
|
|
pkggroups="frr frrvty"
|
|
url="https://frrouting.org/"
|
|
arch="all"
|
|
license="GPL-2.0-or-later"
|
|
# libyang version restriction can be removed when upgrading to 9.1
|
|
# See: https://github.com/CESNET/libyang/issues/2090
|
|
depends="iproute2 bash libyang<2.1.111"
|
|
makedepends="
|
|
autoconf
|
|
automake
|
|
bison
|
|
bsd-compat-headers
|
|
c-ares-dev
|
|
elfutils-dev
|
|
flex
|
|
json-c-dev
|
|
libcap-dev
|
|
libtool
|
|
libyang-dev
|
|
linux-headers
|
|
net-snmp-dev
|
|
protobuf-c-dev
|
|
py3-sphinx
|
|
python3-dev
|
|
readline-dev
|
|
rtrlib-dev
|
|
texinfo
|
|
"
|
|
checkdepends="py3-pytest"
|
|
install="$pkgname.pre-install"
|
|
subpackages="$pkgname-dbg
|
|
$pkgname-doc::noarch
|
|
$pkgname-openrc::noarch
|
|
$pkgname-pythontools::noarch
|
|
$pkgname-rpki
|
|
$pkgname-snmp
|
|
"
|
|
source="https://github.com/FRRouting/frr/archive/frr-$pkgver.tar.gz
|
|
frr.initd
|
|
allow-invalid-nlri-attributes.patch
|
|
"
|
|
builddir="$srcdir/frr-frr-$pkgver"
|
|
|
|
_sysconfdir=/etc/frr
|
|
|
|
# secfixes:
|
|
# 8.2.1-r0:
|
|
# - CVE-2022-26125
|
|
# - CVE-2022-26126
|
|
# - CVE-2022-26127
|
|
# - CVE-2022-26128
|
|
# - CVE-2022-26129
|
|
|
|
prepare() {
|
|
default_prepare
|
|
./bootstrap.sh
|
|
}
|
|
|
|
build() {
|
|
export PYTHON=python3
|
|
|
|
CFLAGS="$CFLAGS -flto=auto" \
|
|
./configure \
|
|
--prefix=/usr \
|
|
--localstatedir=/run/frr \
|
|
--sbindir=/usr/lib/frr \
|
|
--sysconfdir=$_sysconfdir \
|
|
--libdir=/usr/lib/frr \
|
|
--with-moduledir=/usr/lib/frr/modules \
|
|
LIBTOOLFLAGS="-rpath /usr/lib/frr" \
|
|
--disable-dependency-tracking \
|
|
--enable-rpki \
|
|
--with-libpam \
|
|
--enable-doc \
|
|
--enable-doc-html \
|
|
--enable-snmp \
|
|
--enable-fpm \
|
|
--disable-protobuf \
|
|
--disable-zeromq \
|
|
--enable-ospfapi \
|
|
--enable-bgp-vnc \
|
|
--enable-multipath=256 \
|
|
--enable-user=${pkgusers%% *} \
|
|
--enable-group=${pkggroups%% *} \
|
|
--enable-vty-group=frrvty \
|
|
--enable-configfile-mask=0640 \
|
|
--enable-logfile-mask=0640
|
|
make
|
|
}
|
|
|
|
check() {
|
|
export PYTHON=python3
|
|
make check
|
|
}
|
|
|
|
package() {
|
|
make DESTDIR="$pkgdir" install
|
|
|
|
# Remove development files, static libraries and headers.
|
|
# They are internal and should not be shipped as a package.
|
|
# Compare https://github.com/FRRouting/frr/blob/frr-7.0/debian/rules#L89
|
|
find "$pkgdir" \( -name '*.la' -o -name '*.a' -o -name 'lib*.so' \) -exec rm -f {} +
|
|
rm -rf "$pkgdir"/usr/include
|
|
rm -f "$pkgdir"/usr/lib/frr/ssd
|
|
|
|
# FRR currently installs two flavours of scripts for starting and stopping it.
|
|
# Remove the deprecated one.
|
|
rm -f "$pkgdir"/usr/lib/frr/frr
|
|
rm -f "$pkgdir"/usr/lib/frr/frr-reload
|
|
|
|
install -d "$pkgdir"$_sysconfdir
|
|
install -Dm644 tools/etc/frr/vtysh.conf \
|
|
tools/etc/frr/frr.conf \
|
|
tools/etc/frr/daemons \
|
|
tools/etc/frr/support_bundle_commands.conf \
|
|
-t "$pkgdir"$_sysconfdir
|
|
chown -R ${pkgusers%% *}:${pkggroups%% *} "$pkgdir"$_sysconfdir
|
|
install -Dm644 tools/etc/iproute2/rt_protos.d/frr.conf \
|
|
-t "$pkgdir"/etc/iproute2/rt_protos.d
|
|
install -Dm755 "$srcdir"/frr.initd "$pkgdir"/etc/init.d/frr
|
|
}
|
|
|
|
pythontools() {
|
|
pkgdesc="$pkgdesc (tools)"
|
|
depends="python3 py3-ipaddr"
|
|
|
|
amove usr/lib/frr/frr-reload.py
|
|
}
|
|
|
|
rpki() {
|
|
pkgdesc="$pkgdesc (BGP RPKI support)"
|
|
|
|
amove usr/lib/frr/modules/bgpd_rpki.so
|
|
}
|
|
|
|
snmp() {
|
|
pkgdesc="$pkgdesc (net-snmp bindings)"
|
|
|
|
amove usr/lib/frr/modules/*_snmp.so \
|
|
usr/lib/frr/libfrrsnmp.*
|
|
}
|
|
|
|
sha512sums="
|
|
fa1884529a98c8e5ad2dab7f6f67246844ea34ba4d68e3a907a01d43e0eec9317104107f5f18e4b61c11d2cbb4d20eac1e8aef6e4a2b2e54efcad245ee3fb6b9 frr-9.0.1.tar.gz
|
|
f86bdf8f6dd89ba69d03a69bbe645b3b752d3fbb38913c5155536b8043b0493901ab078b7acb6ac463d3473c6492900d8a695582f66610955246052b19c0d70c frr.initd
|
|
5b2d735da13ea469c07b254d870fa67f36edb8ccf9eb7073f8858a830e5ec6356a6a9ebe304523ced475ad49beadf09666212eedb65b41edde2d12043ff4b900 allow-invalid-nlri-attributes.patch
|
|
"
|