diff options
author | V3n3RiX <venerix@koprulu.sector> | 2024-10-05 04:27:10 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2024-10-05 04:27:10 +0100 |
commit | f3f72d0d5f1ae9ee74acaa63ccb7a247468e73bf (patch) | |
tree | e67f56736e141f27487331c26096c4c0a51979a8 /net-misc/frr | |
parent | fa275aeb316ed5e68498ca0057b27a1e9c887e26 (diff) |
gentoo auto-resync : 05:10:2024 - 04:27:09
Diffstat (limited to 'net-misc/frr')
-rw-r--r-- | net-misc/frr/Manifest | 8 | ||||
-rw-r--r-- | net-misc/frr/frr-10.0.2.ebuild | 150 | ||||
-rw-r--r-- | net-misc/frr/frr-10.1.1.ebuild | 150 | ||||
-rw-r--r-- | net-misc/frr/frr-9.0.4.ebuild | 156 | ||||
-rw-r--r-- | net-misc/frr/frr-9.1.2.ebuild | 147 |
5 files changed, 611 insertions, 0 deletions
diff --git a/net-misc/frr/Manifest b/net-misc/frr/Manifest index a23c6ec6cfa4..15624692cb6b 100644 --- a/net-misc/frr/Manifest +++ b/net-misc/frr/Manifest @@ -3,9 +3,17 @@ AUX frr-8.4.1-logrotate.patch 2487 BLAKE2B f3eb9b9ce25dd9dd796668ecef5dfeb51b5f3 AUX frr-9.1-mimic-gnu-basename-api-for-non-glibc.patch 958 BLAKE2B 669961fd225132acf04133339a15828ade83df847b2853687fd41ea71c3f33cffc829be1d008351e144092e5ddf1f1c21532c2552bfc8a485db8154fcad78006 SHA512 bf96b96008ff7c5eef4b1773a6694458b3bae3b6d96ecba04b7cbfe1a54e74212bdc6c30bcc443d0f9c5ce27bb4d9fe21f6aef959d949899329fadecb8e7918c AUX frr-openrc-v2 7079 BLAKE2B abbad56f0715b79ba5ba24df373ccb8ab63caa12b04d892693b060c771d47323fd7fcebd9b5688720d4aded23fcb79a36e89a7734b315b0862d16e5ce08d8b10 SHA512 5744c433fd983a56abb8f45e34229b3ab3a03c3e9d5532e2b30a31f3e875076fb56b81a06e661dba7df9f76e463190e831c82ae79deefe1add22d7f0365098ce AUX frr.pam 969 BLAKE2B 227dc91f51fab504229fa5489486fed1aa393d33c024849724ea3fb934e3fd78ee6c9147240133d458ec52021f13e8a27a2d8a0b4625415007c4595222b815ee SHA512 9a169d58232eba7481aee83d92b4e104b6c4ca95e5b31befe29117fbcebc187ad87c061f37ec7c571ff5702101a329ae0c113cf714e2d0dcd39ca4212734a9ed +DIST frr-10.0.2.tar.gz 10968487 BLAKE2B 420503f25e2e40ce9f53cbb04416ba6d2fd8c7c0958f2d42391d7b534e0547e9ee429ad419cb87a06331efa75603bac1a8439844fe6a478f3b5513e656cab726 SHA512 d37373faab6b004b2bb3d99bee76a4a620ef9dcacfeadb9bbea611cb01ece869467583cde656715d50912b44a84da27103da9b2e76da8bcec9c95436ac45393c +DIST frr-10.1.1.tar.gz 11044980 BLAKE2B 32e50394c35712bc4799cae23c369aca6307d92b20a52ca9c2264b9ee82798d4372816cf87fc6e5c00c14d7aa85b08d3560f7ef6e0d72dd2a2ad231f8f7e3841 SHA512 c555bafc7437e8ba0216bd9cc7e0a432af4c9877255ab4ffdd97a0b7626eb3c9022051b91f6cd5d27d06531f6edef84742b67169ebbc040b8a904e58712cb654 DIST frr-9.0.2.tar.gz 10341186 BLAKE2B e9c32bf48dc0adc7dd6c23ad1a2779065c762dc6e461a3f86d6b7afbef245345dc65b33d9dd5b499d4c4a7fb3b80a4416bdec9b42e7d15f2864d80c088e2ad4f SHA512 2cfd1a63cf073b8767fd67d9992d9a775d856234a532b13699304b6b1f15eb68bf1301f2f4c503b151fd5c8191bff67aeac9c7a4dc4a3ddb06f9a5db081423b9 +DIST frr-9.0.4.tar.gz 10346069 BLAKE2B 63c7cec0fdaccba058bac757b68906c2cf0ec307f5313a299ef943f1c708dfa0ec0dee8bd8f743f9e54a3ed06f484435bb032294c4e2d0a026a2bd4187e14ec2 SHA512 e3717945176f72e14722e929a99f1a62ddd5332988d671950253ea4efc2e83f0464043e7acf990df6bc9306b81f4a32633a0debf92c8a19d13edd38a9bb4eaea +DIST frr-9.1.2.tar.gz 10790677 BLAKE2B dfa4967ee0e0bbecea016b9deeb70b1c1b9e409469de145050602608dddd41857be946e8df5c8a594dfaf6a124729af55d7ce4483e6fe6edc41125f09d9dabd2 SHA512 e0ed613090140ece181bff077a7067a00a5fca648ec6627c02d815060087497c68712c1ba244fa1534cdbcef49db92bd9432545d05027dc4b04db4f423726882 DIST frr-9.1.tar.gz 10779477 BLAKE2B ba64f9455c38441f8cadce4eed435fb86344244e98bd1b675335887fb098be29adc035d722d3c128e136a4c6b0aa1adcbdc0e22815702e52170da940a5caf20a SHA512 77b278a3ea87da9dfd7b87e4f9ae67f08ed0f24809f6dd228d2ab2e2c29e2b3191d59d50fc474e53e159ac6c79c302481b462125d0657889516f07b8e05e8562 +EBUILD frr-10.0.2.ebuild 3590 BLAKE2B 28cbff36c8d3f1dae34807c82d69a2f7a19f16bef5dc2a6c0793886189573ae18b0bee7e4c0456c6129c9390d11a57e43d933463d5f8350bfe16948742811401 SHA512 67d15ab63a9faf5734dc309b5f180395ce353fd4ac67725d23efb772c32a2ff34f5425ea18817f6627d469910bd61cca7122f4de36935a25465635812a8b2bcc +EBUILD frr-10.1.1.ebuild 3590 BLAKE2B 28cbff36c8d3f1dae34807c82d69a2f7a19f16bef5dc2a6c0793886189573ae18b0bee7e4c0456c6129c9390d11a57e43d933463d5f8350bfe16948742811401 SHA512 67d15ab63a9faf5734dc309b5f180395ce353fd4ac67725d23efb772c32a2ff34f5425ea18817f6627d469910bd61cca7122f4de36935a25465635812a8b2bcc EBUILD frr-9.0.2.ebuild 3565 BLAKE2B b981fb144f65fc2a5adaeecd383a20da4ffc44fe99c4d93dc3c350394def0845e5e555c72a572600b1c7c53b3462dc7867120f1da772d8cd65574d2306bc35dc SHA512 9d372791d14ea0f2f5cdf9a8ec5f5c8aa1c3ec531156dfd45a00c22471f8a199d95c8417a99f7d76e5c89253a7d7cf13cd8c58856f7e38d3cfac3cce636a5e66 +EBUILD frr-9.0.4.ebuild 3593 BLAKE2B 13bb2b3709a5ae326915d1135b8b0bd3ba75be0f1f1c64769bb89e1974e3b49eb9e123c7b13bfc0584b7cf73b5c8ceb37fffc3ac18a385cc40e520703bf9b64e SHA512 d1556f4fb628ccabaeb33385fe70ae15c8e71f408bfd95524922d53f44758d2e45514b9e1dfc3cbe80419129519d841e319bf0262546a20a9798cee0608e3243 EBUILD frr-9.1-r1.ebuild 3377 BLAKE2B 75a7b84e99e0634ed27f78812df5a70aae8851f72364d06eb3a4dee01a68563be8aeb93110b07d1ef2a9fb4f4c7c991562609aed9fe777781dae8c9867c92620 SHA512 9f1887875e2eb63e1c3e5c1f12e0d57e35bbf4acf9e4e631977d81877a1d045e7f460832f9c8d16568a871de0048625c915c2dd4ee7eb810397561361b60d461 +EBUILD frr-9.1.2.ebuild 3404 BLAKE2B 43e3eceb38641f1e38812f634d69faed5657580e1f4545fa349647d8a46e77283adb7380b182e894eeee07f2bdff559a1c92359eb93890103b0c908444d1f9e7 SHA512 1ee81cc3eb1e7d7ba8d2104eede0d463c80a695c8e228970da093635530e39e1e99888a62ad71b80836677f506b3679eea2fe933d1a5fd4503e45c9b40fc72fa EBUILD frr-9.1.ebuild 3308 BLAKE2B 65266f71442e8c4695a52ed6ae1519dacc9fc57ff541c8593ef40a597df9d384de943a5dae94ec6fb52855afb40002584f7688dc37d0944f695773866861295f SHA512 8c9a497cf2a2dcbe22dc374870f294e12002eca8899953ff66585b79eae81d550effc82b14d95edd69f7aec784cb40db5d4332d36adacbd4abb045768ae33861 MISC metadata.xml 1001 BLAKE2B 32254a7ceb76fb6869dc4b140b54968001eaee2347cde49597a6a599f98b5efcb3e0102e3c7cbd9969a1bc137228be07efb56f791b490ddbaaa8e5c2cf13fba4 SHA512 e63bee06b1eb237fb9e5872a16c294d3378b1a48da1d950e6cc7d6734128c81d019d66fc8be02b9935c9a4e19552f20db335a3296070bcebf4621ffcb3efe91b diff --git a/net-misc/frr/frr-10.0.2.ebuild b/net-misc/frr/frr-10.0.2.ebuild new file mode 100644 index 000000000000..63a5e4f8de35 --- /dev/null +++ b/net-misc/frr/frr-10.0.2.ebuild @@ -0,0 +1,150 @@ +# Copyright 2020-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) +inherit autotools pam python-single-r1 systemd + +DESCRIPTION="The FRRouting Protocol Suite" +HOMEPAGE="https://frrouting.org/" +SRC_URI="https://github.com/FRRouting/frr/archive/${P}.tar.gz" +# FRR tarballs have weird format. +S="${WORKDIR}/frr-${P}" + +LICENSE="GPL-2+" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="doc fpm grpc nhrp ospfapi pam rpki snmp test" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" +RESTRICT="!test? ( test )" + +COMMON_DEPEND=" + ${PYTHON_DEPS} + acct-user/frr + dev-libs/json-c:0= + dev-libs/protobuf-c:0= + >=net-libs/libyang-2.1.128 + sys-libs/libcap + sys-libs/readline:0= + virtual/libcrypt:= + grpc? ( net-libs/grpc:= ) + nhrp? ( net-dns/c-ares:0= ) + pam? ( sys-libs/pam ) + rpki? ( >=net-libs/rtrlib-0.8.0[ssh] ) + snmp? ( net-analyzer/net-snmp:= ) +" +BDEPEND=" + sys-devel/flex + app-alternatives/yacc + doc? ( dev-python/sphinx ) +" +DEPEND=" + ${COMMON_DEPEND} + elibc_musl? ( sys-libs/queue-standalone ) + test? ( + $(python_gen_cond_dep 'dev-python/pytest[${PYTHON_USEDEP}]') + dev-util/cunit + ) +" +RDEPEND=" + ${COMMON_DEPEND} + $(python_gen_cond_dep 'dev-python/ipaddr[${PYTHON_USEDEP}]') +" + +PATCHES=( + "${FILESDIR}"/${PN}-7.5-ipctl-forwarding.patch + "${FILESDIR}"/${PN}-8.4.1-logrotate.patch + "${FILESDIR}"/${PN}-9.1-mimic-gnu-basename-api-for-non-glibc.patch +) + +QA_CONFIG_IMPL_DECL_SKIP=( + mallinfo # No functional impact. + mallinfo2 +) + +src_prepare() { + default + + python_fix_shebang tools + eautoreconf +} + +src_configure() { + local myconf=( + LEX=flex + --with-pkg-extra-version="-gentoo" + --enable-configfile-mask=0640 + --enable-logfile-mask=0640 + --libdir="${EPREFIX}"/usr/lib/frr + --sbindir="${EPREFIX}"/usr/lib/frr + --libexecdir="${EPREFIX}"/usr/lib/frr + --sysconfdir="${EPREFIX}"/etc/frr + --localstatedir="${EPREFIX}"/run/frr + --with-moduledir="${EPREFIX}"/usr/lib/frr/modules + --enable-user=frr + --enable-group=frr + --enable-vty-group=frr + --enable-multipath=64 + $(use_enable doc) + $(use_enable fpm) + $(use_enable grpc) + $(use_enable kernel_linux realms) + $(use_enable nhrp nhrpd) + $(usex ospfapi '--enable-ospfclient' '' '' '') + $(use_enable rpki) + $(use_enable snmp) + ) + + econf "${myconf[@]}" +} + +src_compile() { + default + + use doc && emake -C doc html +} + +src_test() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + default +} + +src_install() { + default + find "${ED}" -name '*.la' -delete || die + + # Install user documentation if asked + use doc && dodoc -r doc/user/_build/html + + # Create configuration directory with correct permissions + # Create logs directory with the correct permissions + diropts -ofrr -gfrr -m0775 + keepdir /var/log/frr /etc/frr + + # Install the default configuration files + insinto /etc/frr + doins tools/etc/frr/{vtysh.conf,frr.conf,daemons} + + # Fix permissions/owners. + fowners frr:frr /etc/frr/{vtysh.conf,frr.conf,daemons} + fperms 640 /etc/frr/{vtysh.conf,frr.conf,daemons} + + # Install logrotate configuration + insinto /etc/logrotate.d + newins redhat/frr.logrotate frr + + # Install PAM configuration file + use pam && newpamd "${FILESDIR}"/frr.pam frr + + # Install init scripts + systemd_dounit tools/frr.service + newinitd "${FILESDIR}"/frr-openrc-v2 frr + + # Conflict files, installed by net-libs/libsmi, bug #758383 + # Files from frr seems to be newer. + rm "${ED}"/usr/share/yang/ietf-interfaces.yang || die + rm "${ED}"/usr/share/yang/ietf-netconf.yang || die + rm "${ED}"/usr/share/yang/ietf-netconf-with-defaults.yang || die + rm "${ED}"/usr/share/yang/ietf-netconf-acm.yang || die +} diff --git a/net-misc/frr/frr-10.1.1.ebuild b/net-misc/frr/frr-10.1.1.ebuild new file mode 100644 index 000000000000..63a5e4f8de35 --- /dev/null +++ b/net-misc/frr/frr-10.1.1.ebuild @@ -0,0 +1,150 @@ +# Copyright 2020-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) +inherit autotools pam python-single-r1 systemd + +DESCRIPTION="The FRRouting Protocol Suite" +HOMEPAGE="https://frrouting.org/" +SRC_URI="https://github.com/FRRouting/frr/archive/${P}.tar.gz" +# FRR tarballs have weird format. +S="${WORKDIR}/frr-${P}" + +LICENSE="GPL-2+" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="doc fpm grpc nhrp ospfapi pam rpki snmp test" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" +RESTRICT="!test? ( test )" + +COMMON_DEPEND=" + ${PYTHON_DEPS} + acct-user/frr + dev-libs/json-c:0= + dev-libs/protobuf-c:0= + >=net-libs/libyang-2.1.128 + sys-libs/libcap + sys-libs/readline:0= + virtual/libcrypt:= + grpc? ( net-libs/grpc:= ) + nhrp? ( net-dns/c-ares:0= ) + pam? ( sys-libs/pam ) + rpki? ( >=net-libs/rtrlib-0.8.0[ssh] ) + snmp? ( net-analyzer/net-snmp:= ) +" +BDEPEND=" + sys-devel/flex + app-alternatives/yacc + doc? ( dev-python/sphinx ) +" +DEPEND=" + ${COMMON_DEPEND} + elibc_musl? ( sys-libs/queue-standalone ) + test? ( + $(python_gen_cond_dep 'dev-python/pytest[${PYTHON_USEDEP}]') + dev-util/cunit + ) +" +RDEPEND=" + ${COMMON_DEPEND} + $(python_gen_cond_dep 'dev-python/ipaddr[${PYTHON_USEDEP}]') +" + +PATCHES=( + "${FILESDIR}"/${PN}-7.5-ipctl-forwarding.patch + "${FILESDIR}"/${PN}-8.4.1-logrotate.patch + "${FILESDIR}"/${PN}-9.1-mimic-gnu-basename-api-for-non-glibc.patch +) + +QA_CONFIG_IMPL_DECL_SKIP=( + mallinfo # No functional impact. + mallinfo2 +) + +src_prepare() { + default + + python_fix_shebang tools + eautoreconf +} + +src_configure() { + local myconf=( + LEX=flex + --with-pkg-extra-version="-gentoo" + --enable-configfile-mask=0640 + --enable-logfile-mask=0640 + --libdir="${EPREFIX}"/usr/lib/frr + --sbindir="${EPREFIX}"/usr/lib/frr + --libexecdir="${EPREFIX}"/usr/lib/frr + --sysconfdir="${EPREFIX}"/etc/frr + --localstatedir="${EPREFIX}"/run/frr + --with-moduledir="${EPREFIX}"/usr/lib/frr/modules + --enable-user=frr + --enable-group=frr + --enable-vty-group=frr + --enable-multipath=64 + $(use_enable doc) + $(use_enable fpm) + $(use_enable grpc) + $(use_enable kernel_linux realms) + $(use_enable nhrp nhrpd) + $(usex ospfapi '--enable-ospfclient' '' '' '') + $(use_enable rpki) + $(use_enable snmp) + ) + + econf "${myconf[@]}" +} + +src_compile() { + default + + use doc && emake -C doc html +} + +src_test() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + default +} + +src_install() { + default + find "${ED}" -name '*.la' -delete || die + + # Install user documentation if asked + use doc && dodoc -r doc/user/_build/html + + # Create configuration directory with correct permissions + # Create logs directory with the correct permissions + diropts -ofrr -gfrr -m0775 + keepdir /var/log/frr /etc/frr + + # Install the default configuration files + insinto /etc/frr + doins tools/etc/frr/{vtysh.conf,frr.conf,daemons} + + # Fix permissions/owners. + fowners frr:frr /etc/frr/{vtysh.conf,frr.conf,daemons} + fperms 640 /etc/frr/{vtysh.conf,frr.conf,daemons} + + # Install logrotate configuration + insinto /etc/logrotate.d + newins redhat/frr.logrotate frr + + # Install PAM configuration file + use pam && newpamd "${FILESDIR}"/frr.pam frr + + # Install init scripts + systemd_dounit tools/frr.service + newinitd "${FILESDIR}"/frr-openrc-v2 frr + + # Conflict files, installed by net-libs/libsmi, bug #758383 + # Files from frr seems to be newer. + rm "${ED}"/usr/share/yang/ietf-interfaces.yang || die + rm "${ED}"/usr/share/yang/ietf-netconf.yang || die + rm "${ED}"/usr/share/yang/ietf-netconf-with-defaults.yang || die + rm "${ED}"/usr/share/yang/ietf-netconf-acm.yang || die +} diff --git a/net-misc/frr/frr-9.0.4.ebuild b/net-misc/frr/frr-9.0.4.ebuild new file mode 100644 index 000000000000..7b90e58baf39 --- /dev/null +++ b/net-misc/frr/frr-9.0.4.ebuild @@ -0,0 +1,156 @@ +# Copyright 2020-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9..12} ) +inherit autotools pam python-single-r1 systemd + +DESCRIPTION="The FRRouting Protocol Suite" +HOMEPAGE="https://frrouting.org/" +SRC_URI="https://github.com/FRRouting/frr/archive/${P}.tar.gz" +# FRR tarballs have weird format. +S="${WORKDIR}/frr-${P}" + +LICENSE="GPL-2" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="doc fpm grpc nhrp ospfapi pam rpki snmp test" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" +RESTRICT="!test? ( test )" + +COMMON_DEPEND=" + ${PYTHON_DEPS} + acct-user/frr + dev-libs/json-c:0= + dev-libs/protobuf-c:0= + >=net-libs/libyang-2.0.0 + <net-libs/libyang-2.1.111 + sys-libs/libcap + sys-libs/readline:0= + virtual/libcrypt:= + grpc? ( net-libs/grpc:= ) + nhrp? ( net-dns/c-ares:0= ) + pam? ( sys-libs/pam ) + rpki? ( >=net-libs/rtrlib-0.8.0[ssh] ) + snmp? ( net-analyzer/net-snmp:= ) +" +BDEPEND=" + ~dev-util/clippy-${PV} + sys-devel/flex + app-alternatives/yacc + doc? ( dev-python/sphinx ) +" +DEPEND=" + ${COMMON_DEPEND} + elibc_musl? ( sys-libs/queue-standalone ) + test? ( + $(python_gen_cond_dep 'dev-python/pytest[${PYTHON_USEDEP}]') + dev-util/cunit + ) +" +RDEPEND=" + ${COMMON_DEPEND} + $(python_gen_cond_dep 'dev-python/ipaddr[${PYTHON_USEDEP}]') +" + +PATCHES=( + "${FILESDIR}"/${PN}-7.5-ipctl-forwarding.patch + "${FILESDIR}"/${PN}-8.4.1-logrotate.patch +) + +QA_CONFIG_IMPL_DECL_SKIP=( + mallinfo # No functional impact. + mallinfo2 +) + +src_prepare() { + default + + python_fix_shebang tools + eautoreconf +} + +src_configure() { + local myconf=( + LEX=flex + --disable-static + --with-pkg-extra-version="-gentoo" + --enable-configfile-mask=0640 + --enable-logfile-mask=0640 + --prefix="${EPREFIX}"/usr + --libdir="${EPREFIX}"/usr/lib/frr + --sbindir="${EPREFIX}"/usr/lib/frr + --libexecdir="${EPREFIX}"/usr/lib/frr + --sysconfdir="${EPREFIX}"/etc/frr + --localstatedir="${EPREFIX}"/run/frr + --with-moduledir="${EPREFIX}"/usr/lib/frr/modules + --with-clippy="${BROOT}"/usr/bin/clippy + --enable-user=frr + --enable-group=frr + --enable-vty-group=frr + --enable-multipath=64 + $(use_enable doc) + $(use_enable fpm) + $(use_enable grpc) + $(use_enable kernel_linux realms) + $(use_enable nhrp nhrpd) + $(usex ospfapi '--enable-ospfclient' '' '' '') + $(use_enable rpki) + $(use_enable snmp) + ) + + econf "${myconf[@]}" +} + +src_compile() { + default + + use doc && emake -C doc html +} + +src_install() { + default + find "${ED}" -name '*.la' -delete || die + + # Install user documentation if asked + use doc && dodoc -r doc/user/_build/html + + # Create configuration directory with correct permissions + keepdir /etc/frr + fowners frr:frr /etc/frr + fperms 775 /etc/frr + + # Create logs directory with the correct permissions + keepdir /var/log/frr + fowners frr:frr /var/log/frr + fperms 775 /var/log/frr + + # Install the default configuration files + insinto /etc/frr + doins tools/etc/frr/vtysh.conf + doins tools/etc/frr/frr.conf + doins tools/etc/frr/daemons + + # Fix permissions/owners. + fowners frr:frr /etc/frr/vtysh.conf + fowners frr:frr /etc/frr/frr.conf + fowners frr:frr /etc/frr/daemons + fperms 640 /etc/frr/vtysh.conf + fperms 640 /etc/frr/frr.conf + fperms 640 /etc/frr/daemons + + # Install logrotate configuration + insinto /etc/logrotate.d + newins redhat/frr.logrotate frr + + # Install PAM configuration file + use pam && newpamd "${FILESDIR}"/frr.pam frr + + # Install init scripts + systemd_dounit tools/frr.service + newinitd "${FILESDIR}"/frr-openrc-v2 frr + + # Conflict files, installed by net-libs/libsmi, bug #758383 + rm "${ED}"/usr/share/yang/ietf-interfaces.yang || die +} diff --git a/net-misc/frr/frr-9.1.2.ebuild b/net-misc/frr/frr-9.1.2.ebuild new file mode 100644 index 000000000000..789b55db98f6 --- /dev/null +++ b/net-misc/frr/frr-9.1.2.ebuild @@ -0,0 +1,147 @@ +# Copyright 2020-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) +inherit autotools pam python-single-r1 systemd + +DESCRIPTION="The FRRouting Protocol Suite" +HOMEPAGE="https://frrouting.org/" +SRC_URI="https://github.com/FRRouting/frr/archive/${P}.tar.gz" +# FRR tarballs have weird format. +S="${WORKDIR}/frr-${P}" + +LICENSE="GPL-2+" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="doc fpm grpc nhrp ospfapi pam rpki snmp test" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" +RESTRICT="!test? ( test )" + +COMMON_DEPEND=" + ${PYTHON_DEPS} + acct-user/frr + dev-libs/json-c:0= + dev-libs/protobuf-c:0= + >=net-libs/libyang-2.0.0 + <net-libs/libyang-2.1.111 + sys-libs/libcap + sys-libs/readline:0= + virtual/libcrypt:= + grpc? ( net-libs/grpc:= ) + nhrp? ( net-dns/c-ares:0= ) + pam? ( sys-libs/pam ) + rpki? ( >=net-libs/rtrlib-0.8.0[ssh] ) + snmp? ( net-analyzer/net-snmp:= ) +" +BDEPEND=" + sys-devel/flex + app-alternatives/yacc + doc? ( dev-python/sphinx ) +" +DEPEND=" + ${COMMON_DEPEND} + elibc_musl? ( sys-libs/queue-standalone ) + test? ( + $(python_gen_cond_dep 'dev-python/pytest[${PYTHON_USEDEP}]') + dev-util/cunit + ) +" +RDEPEND=" + ${COMMON_DEPEND} + $(python_gen_cond_dep 'dev-python/ipaddr[${PYTHON_USEDEP}]') +" + +PATCHES=( + "${FILESDIR}"/${PN}-7.5-ipctl-forwarding.patch + "${FILESDIR}"/${PN}-8.4.1-logrotate.patch + "${FILESDIR}"/${PN}-9.1-mimic-gnu-basename-api-for-non-glibc.patch +) + +QA_CONFIG_IMPL_DECL_SKIP=( + mallinfo # No functional impact. + mallinfo2 +) + +src_prepare() { + default + + python_fix_shebang tools + eautoreconf +} + +src_configure() { + local myconf=( + LEX=flex + --with-pkg-extra-version="-gentoo" + --enable-configfile-mask=0640 + --enable-logfile-mask=0640 + --libdir="${EPREFIX}"/usr/lib/frr + --sbindir="${EPREFIX}"/usr/lib/frr + --libexecdir="${EPREFIX}"/usr/lib/frr + --sysconfdir="${EPREFIX}"/etc/frr + --localstatedir="${EPREFIX}"/run/frr + --with-moduledir="${EPREFIX}"/usr/lib/frr/modules + --enable-user=frr + --enable-group=frr + --enable-vty-group=frr + --enable-multipath=64 + $(use_enable doc) + $(use_enable fpm) + $(use_enable grpc) + $(use_enable kernel_linux realms) + $(use_enable nhrp nhrpd) + $(usex ospfapi '--enable-ospfclient' '' '' '') + $(use_enable rpki) + $(use_enable snmp) + ) + + econf "${myconf[@]}" +} + +src_compile() { + default + + use doc && emake -C doc html +} + +src_test() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + default +} + +src_install() { + default + find "${ED}" -name '*.la' -delete || die + + # Install user documentation if asked + use doc && dodoc -r doc/user/_build/html + + # Create configuration directory with correct permissions + # Create logs directory with the correct permissions + diropts -ofrr -gfrr -m0775 + keepdir /var/log/frr /etc/frr + + # Install the default configuration files + insinto /etc/frr + doins tools/etc/frr/{vtysh.conf,frr.conf,daemons} + + # Fix permissions/owners. + fowners frr:frr /etc/frr/{vtysh.conf,frr.conf,daemons} + fperms 640 /etc/frr/{vtysh.conf,frr.conf,daemons} + + # Install logrotate configuration + insinto /etc/logrotate.d + newins redhat/frr.logrotate frr + + # Install PAM configuration file + use pam && newpamd "${FILESDIR}"/frr.pam frr + + # Install init scripts + systemd_dounit tools/frr.service + newinitd "${FILESDIR}"/frr-openrc-v2 frr + + # Conflict files, installed by net-libs/libsmi, bug #758383 + rm "${ED}"/usr/share/yang/ietf-interfaces.yang || die +} |