mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-01-04 13:47:35 -08:00
net-misc/openvswitch: add 2.17.12
Now with much faster tests. Closes: https://bugs.gentoo.org/722580 Closes: https://bugs.gentoo.org/947197 Closes: https://bugs.gentoo.org/955429 Closes: https://bugs.gentoo.org/952617 Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
parent
7ee91ee8cf
commit
00d92eb8d5
@ -1,2 +1,3 @@
|
||||
DIST openvswitch-2.17.12.tar.gz 8176749 BLAKE2B eee2b7163e16884b3108c855bb0a9fd132a1edd495c15c5734bfcb4a53e4c664415be653f6e0fd4624902d852cc92ac8a1eb72c8350d3747e8ba6f89dd2a0582 SHA512 e434c1a2836efac45a295fe33f1fc7a9c47ac61919d86ac8b8a173b9528e5e0a58546772b47dc396ff006abb030df321cd8320e7faef132dba916d7a2d488e3b
|
||||
DIST openvswitch-2.17.8.tar.gz 8097747 BLAKE2B d37ae60481255476d41aa94086f6a597107b23176f7ff47eeff9d85a5904da3685886663451317e0b9e512fb049b4024e291f320752aa90fe798ff08f49772c5 SHA512 c94685b67f9f25c81a590696d36c431fadf09c2504b06565011c2945ef242c5039508b312992597822f8ee274ce615ca58bc6bb2aa0a9cf1346bc2dcada70fa1
|
||||
DIST openvswitch-2.17.9.tar.gz 8136490 BLAKE2B cdb5ec81fb9ac04786fc1230d60c6c9bbf7ec2929cf5ab40bb1e0e7442480383d0ad8f24f14df4901cab8f39a6532445cf1810c9b9e3a779d7d15bfe35101a37 SHA512 b91212f9c10a208bca9d15cd5a219ae24b7e9bf8b5c8fdebc21cd9fa8229bc655f9f3591d79dd30c1a8212daed15d5a26bf9532b3496e3660bc8b62012f45636
|
||||
|
||||
193
net-misc/openvswitch/openvswitch-2.17.12.ebuild
Normal file
193
net-misc/openvswitch/openvswitch-2.17.12.ebuild
Normal file
@ -0,0 +1,193 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
MODULES_OPTIONAL_USE="modules"
|
||||
PYTHON_COMPAT=( python3_{11..13} )
|
||||
|
||||
inherit autotools dot-a flag-o-matic linux-mod-r1 multiprocessing
|
||||
inherit python-single-r1 systemd tmpfiles
|
||||
|
||||
DESCRIPTION="Production quality, multilayer virtual switch"
|
||||
HOMEPAGE="https://www.openvswitch.org"
|
||||
SRC_URI="https://www.openvswitch.org/releases/${P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0 GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
|
||||
IUSE="debug modules monitor +ssl unwind valgrind"
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
|
||||
# Check python/ovs/version.py in tarball for dev-python/ovs dep
|
||||
RDEPEND="
|
||||
${PYTHON_DEPS}
|
||||
$(python_gen_cond_dep '
|
||||
~dev-python/ovs-2.17.12[${PYTHON_USEDEP}]
|
||||
dev-python/twisted[${PYTHON_USEDEP}]
|
||||
dev-python/zope-interface[${PYTHON_USEDEP}]
|
||||
')
|
||||
debug? ( dev-lang/perl )
|
||||
unwind? ( sys-libs/libunwind:= )
|
||||
ssl? ( dev-libs/openssl:= )
|
||||
"
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
sys-apps/util-linux[caps]
|
||||
valgrind? ( dev-debug/valgrind )
|
||||
"
|
||||
BDEPEND="
|
||||
virtual/pkgconfig
|
||||
${PYTHON_DEPS}
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/sphinx[${PYTHON_USEDEP}]
|
||||
')
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/xcp-interface-reconfigure-2.3.2.patch"
|
||||
)
|
||||
|
||||
CONFIG_CHECK="~NET_CLS_ACT ~NET_CLS_U32 ~NET_SCH_INGRESS ~NET_ACT_POLICE ~IPV6 ~TUN"
|
||||
MODULE_NAMES="openvswitch(net:${S}/datapath/linux)"
|
||||
BUILD_TARGETS="all"
|
||||
|
||||
pkg_setup() {
|
||||
if use modules ; then
|
||||
CONFIG_CHECK+=" ~!OPENVSWITCH"
|
||||
kernel_is ge 3 10 0 || die "Linux >= 3.10.0 and <= 5.8 required for userspace modules"
|
||||
kernel_is le 5 8 999 || die "Linux >= 3.10.0 and <= 5.8 required for userspace modules"
|
||||
linux-mod-r1_pkg_setup
|
||||
else
|
||||
CONFIG_CHECK+=" ~OPENVSWITCH"
|
||||
linux-info_pkg_setup
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# Never build kernelmodules, doing this manually
|
||||
sed -i \
|
||||
-e '/^SUBDIRS/d' \
|
||||
datapath/Makefile.in || die "sed failed"
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
set_arch_to_kernel
|
||||
python_setup
|
||||
lto-guarantee-fat
|
||||
|
||||
# monitor is statically enabled for bug #596206
|
||||
# use monitor || export ovs_cv_python="no"
|
||||
# pyside is staticly disabled
|
||||
export ovs_cv_pyuic4="no"
|
||||
|
||||
# flake8 is primarily a style guide tool, running it as part of the tests
|
||||
# in Gentoo does not make much sense, only breaks them: bug #607280
|
||||
export ovs_cv_flake8="no"
|
||||
|
||||
# Only adds a diagram to the man page, just skip it as we don't
|
||||
# want to add a BDEPEND on graphviz right now. bug #856286
|
||||
export ovs_cv_dot="no"
|
||||
|
||||
export ac_cv_header_valgrind_valgrind_h=$(usex valgrind)
|
||||
|
||||
local linux_config
|
||||
use modules && linux_config="--with-linux=${KV_OUT_DIR}"
|
||||
|
||||
export ac_cv_lib_unwind_unw_backtrace="$(usex unwind)"
|
||||
|
||||
# bug #955429
|
||||
append-cflags -std=gnu17
|
||||
|
||||
# Need PYTHON3 variable for bug #860240
|
||||
PYTHON3="${PYTHON}" CONFIG_SHELL="${BROOT}"/bin/bash SHELL="${BROOT}"/bin/bash econf ${linux_config} \
|
||||
--with-rundir=/run/openvswitch \
|
||||
--with-logdir=/var/log/openvswitch \
|
||||
--with-pkidir=/etc/ssl/openvswitch \
|
||||
--with-dbdir=/var/lib/openvswitch \
|
||||
$(use_enable ssl) \
|
||||
$(use_enable !debug ndebug)
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
default
|
||||
|
||||
use modules && linux-mod-r1_src_compile
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# https://docs.openvswitch.org/en/latest/topics/testing/
|
||||
# RECHECK=yes because with parallel tests, sometimes a port is
|
||||
# in use.
|
||||
emake -Onone check TESTSUITEFLAGS="--jobs=$(makeopts_jobs)" RECHECK=yes
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
strip-lto-bytecode
|
||||
|
||||
local SCRIPT
|
||||
if use monitor; then
|
||||
# ovs-bugtool is installed to sbin by the build system, but we
|
||||
# install it to bin below, and these clash in merged-usr
|
||||
# https://bugs.gentoo.org/889846
|
||||
rm "${ED}"/usr/sbin/ovs-bugtool || die
|
||||
|
||||
for SCRIPT in ovs-{pcap,parse-backtrace,dpctl-top,l3ping,tcpdump,tcpundump,test,vlan-test} bugtool/ovs-bugtool; do
|
||||
python_doscript utilities/"${SCRIPT}"
|
||||
done
|
||||
rm -r "${ED}"/usr/share/openvswitch/python || die
|
||||
fi
|
||||
|
||||
keepdir /var/{lib,log}/openvswitch
|
||||
keepdir /etc/ssl/openvswitch
|
||||
fperms 0750 /etc/ssl/openvswitch
|
||||
|
||||
rm -rf "${ED}"/var/run || die
|
||||
|
||||
newconfd "${FILESDIR}/ovsdb-server_conf2" ovsdb-server
|
||||
newconfd "${FILESDIR}/ovs-vswitchd.confd-r2" ovs-vswitchd
|
||||
newinitd "${FILESDIR}/ovsdb-server-r1" ovsdb-server
|
||||
newinitd "${FILESDIR}/ovs-vswitchd-r1" ovs-vswitchd
|
||||
|
||||
systemd_newunit "${FILESDIR}/ovsdb-server-r3.service" ovsdb-server.service
|
||||
systemd_newunit "${FILESDIR}/ovs-vswitchd-r3.service" ovs-vswitchd.service
|
||||
systemd_newunit rhel/usr_lib_systemd_system_ovs-delete-transient-ports.service ovs-delete-transient-ports.service
|
||||
newtmpfiles "${FILESDIR}/openvswitch.tmpfiles" openvswitch.conf
|
||||
|
||||
insinto /etc/logrotate.d
|
||||
newins rhel/etc_logrotate.d_openvswitch openvswitch
|
||||
|
||||
use modules && linux-mod-r1_src_install
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
use modules && linux-mod-r1_pkg_postinst
|
||||
|
||||
tmpfiles_process openvswitch.conf
|
||||
|
||||
# Only needed on non-systemd, but helps anyway
|
||||
elog "Use the following command to create an initial database for ovsdb-server:"
|
||||
elog " emerge --config =${CATEGORY}/${PF}"
|
||||
elog "(will create a database in /var/lib/openvswitch/conf.db)"
|
||||
elog "or to convert the database to the current schema after upgrading."
|
||||
}
|
||||
|
||||
pkg_config() {
|
||||
local db="${EROOT%}"/var/lib/openvswitch/conf.db
|
||||
if [[ -e "${db}" ]] ; then
|
||||
einfo "Database '${db}' already exists, doing schema migration..."
|
||||
einfo "(if the migration fails, make sure that ovsdb-server is not running)"
|
||||
ovsdb-tool convert "${db}" \
|
||||
"${EROOT}"/usr/share/openvswitch/vswitch.ovsschema || die "converting database failed"
|
||||
else
|
||||
einfo "Creating new database '${db}'..."
|
||||
ovsdb-tool create "${db}" \
|
||||
"${EROOT}"/usr/share/openvswitch/vswitch.ovsschema || die "creating database failed"
|
||||
fi
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user