* [gentoo-commits] repo/gentoo:master commit in: net-misc/openvswitch/, net-misc/openvswitch/files/
@ 2017-05-30 16:32 Matt Thode
0 siblings, 0 replies; 4+ messages in thread
From: Matt Thode @ 2017-05-30 16:32 UTC (permalink / raw
To: gentoo-commits
commit: 2f0ef03da3f01aac834583e21ed090fcdaa20200
Author: Matthew Thode <prometheanfire <AT> gentoo <DOT> org>
AuthorDate: Tue May 30 16:32:15 2017 +0000
Commit: Matt Thode <prometheanfire <AT> gentoo <DOT> org>
CommitDate: Tue May 30 16:32:15 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2f0ef03d
net-misc/openvswitch: 2.7.0-r3 bup for CVE-2017-9214 bug 620200
Package-Manager: Portage-2.3.5, Repoman-2.3.2
net-misc/openvswitch/files/CVE-2017-9214.patch | 27 ++++
net-misc/openvswitch/openvswitch-2.7.0-r3.ebuild | 153 +++++++++++++++++++++++
2 files changed, 180 insertions(+)
diff --git a/net-misc/openvswitch/files/CVE-2017-9214.patch b/net-misc/openvswitch/files/CVE-2017-9214.patch
new file mode 100644
index 00000000000..33686df3acf
--- /dev/null
+++ b/net-misc/openvswitch/files/CVE-2017-9214.patch
@@ -0,0 +1,27 @@
+Fix buffer overrread in ofputil_pull_queue_get_config_reply10()
+
+msg->size isn't the relevant measurement here because we're only supposed
+to read 'len' bytes. Reading more than that causes 'len' to underflow to a
+large number at the end of the loop.
+
+Reported-by: Bhargava Shastry <bshastry at sec.t-labs.tu-berlin.de>
+Signed-off-by: Ben Pfaff <blp at ovn.org>
+---
+ lib/ofp-util.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/ofp-util.c b/lib/ofp-util.c
+index bdf89b6c3017..f05ca398c13e 100644
+--- a/lib/ofp-util.c
++++ b/lib/ofp-util.c
+@@ -2610,7 +2610,7 @@ ofputil_pull_queue_get_config_reply10(struct ofpbuf *msg,
+
+ hdr = ofpbuf_at_assert(msg, 0, sizeof *hdr);
+ prop_len = ntohs(hdr->len);
+- if (prop_len < sizeof *hdr || prop_len > msg->size || prop_len % 8) {
++ if (prop_len < sizeof *hdr || prop_len > len || prop_len % 8) {
+ return OFPERR_OFPBRC_BAD_LEN;
+ }
+
+--
+2.10.2
diff --git a/net-misc/openvswitch/openvswitch-2.7.0-r3.ebuild b/net-misc/openvswitch/openvswitch-2.7.0-r3.ebuild
new file mode 100644
index 00000000000..a3809b7fa0e
--- /dev/null
+++ b/net-misc/openvswitch/openvswitch-2.7.0-r3.ebuild
@@ -0,0 +1,153 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python{2_7,3_4,3_5} )
+
+inherit autotools eutils linux-info linux-mod python-r1 systemd
+
+DESCRIPTION="Production quality, multilayer virtual switch"
+HOMEPAGE="http://openvswitch.org"
+SRC_URI="http://openvswitch.org/releases/${P}.tar.gz"
+
+LICENSE="Apache-2.0 GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="debug modules monitor +ssl"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ || (
+ >=sys-apps/openrc-0.10.5
+ sys-apps/systemd
+ )
+ ssl? ( dev-libs/openssl:0= )
+ ${PYTHON_DEPS}
+ ~dev-python/ovs-${PV}[${PYTHON_USEDEP}]
+ dev-python/twisted[conch,${PYTHON_USEDEP}]
+ dev-python/zope-interface[${PYTHON_USEDEP}]
+ debug? ( dev-lang/perl )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+PATCHES="${FILESDIR}/xcp-interface-reconfigure-2.3.2.patch ${FILESDIR}/doc-fix.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 <= 4.8 required for userspace modules"
+ kernel_is le 4 9 999 || die "Linux >= 3.10.0 and <= 4.8 required for userspace modules"
+ linux-mod_pkg_setup
+ else
+ CONFIG_CHECK+=" ~OPENVSWITCH"
+ linux-info_pkg_setup
+ fi
+}
+
+src_prepare() {
+ # Never build kernelmodules, doing this manually
+ epatch "${FILESDIR}/CVE-2017-9214.patch"
+ sed -i \
+ -e '/^SUBDIRS/d' \
+ datapath/Makefile.in || die "sed failed"
+ eautoreconf
+ default
+}
+
+src_configure() {
+ set_arch_to_kernel
+ # monitor is statically enabled for bug 596206
+ use monitor || export ovs_cv_python="no"
+ # pyside is staticly disabled
+ export ovs_cv_pyuic4="no"
+
+ local linux_config
+ use modules && linux_config="--with-linux=${KV_OUT_DIR}"
+
+ econf ${linux_config} \
+ --with-rundir=/var/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_src_compile
+}
+
+src_install() {
+ default
+
+ local SCRIPT
+ if use monitor; then
+ for SCRIPT in ovs-{pcap,parse-backtrace,dpctl-top,l3ping,tcpdump,tcpundump,test,vlan-test} bugtool/ovs-bugtool; do
+ sed -e '1s|^.*$|#!/usr/bin/python|' -i utilities/"${SCRIPT}"
+ python_foreach_impl 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_conf" ovs-vswitchd
+ newinitd "${FILESDIR}/ovsdb-server-r1" ovsdb-server
+ newinitd "${FILESDIR}/ovs-vswitchd-r1" ovs-vswitchd
+
+ systemd_dounit "${FILESDIR}/ovsdb-server.service"
+ systemd_dounit "${FILESDIR}/ovs-vswitchd.service"
+ systemd_newtmpfilesd "${FILESDIR}/openvswitch.tmpfiles" openvswitch.conf
+
+ insinto /etc/logrotate.d
+ newins rhel/etc_logrotate.d_openvswitch openvswitch
+
+ use modules && linux-mod_src_install
+}
+
+pkg_postinst() {
+ use modules && linux-mod_pkg_postinst
+
+ local pv
+ for pv in ${REPLACING_VERSIONS}; do
+ if ! version_is_at_least 1.9.0 ${pv} ; then
+ ewarn "The configuration database for Open vSwitch got moved in version 1.9.0 from"
+ ewarn " /etc/openvswitch"
+ ewarn "to"
+ ewarn " /var/lib/openvswitch"
+ ewarn "Please copy/move the database manually before running the schema upgrade."
+ ewarn "The PKI files are now supposed to go to /etc/ssl/openvswitch"
+ fi
+ done
+
+ 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
+}
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: net-misc/openvswitch/, net-misc/openvswitch/files/
@ 2018-09-23 20:21 Matt Thode
0 siblings, 0 replies; 4+ messages in thread
From: Matt Thode @ 2018-09-23 20:21 UTC (permalink / raw
To: gentoo-commits
commit: 32da9e276ee7e0af61535e3c9ab605678347ba8e
Author: Matthew Thode <prometheanfire <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 23 20:21:21 2018 +0000
Commit: Matt Thode <prometheanfire <AT> gentoo <DOT> org>
CommitDate: Sun Sep 23 20:21:37 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=32da9e27
net-misc/openvswitch: bumping to 2.10.0-r1 for some systemd changes
Package-Manager: Portage-2.3.49, Repoman-2.3.11
RepoMan-Options: --force
.../files/ovs-delete-transient-ports.service | 10 +++++++++
net-misc/openvswitch/files/ovs-vswitchd2.service | 26 ++++++++++++++++++++++
net-misc/openvswitch/files/ovsdb-server2.service | 24 ++++++++++++++++++++
net-misc/openvswitch/files/ovsdb-server_conf2 | 3 +++
...-2.10.0.ebuild => openvswitch-2.10.0-r1.ebuild} | 8 ++++---
5 files changed, 68 insertions(+), 3 deletions(-)
diff --git a/net-misc/openvswitch/files/ovs-delete-transient-ports.service b/net-misc/openvswitch/files/ovs-delete-transient-ports.service
new file mode 100644
index 00000000000..4cd4d7f57f9
--- /dev/null
+++ b/net-misc/openvswitch/files/ovs-delete-transient-ports.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Open vSwitch Delete Transient Ports
+After=ovsdb-server.service
+Before=ovs-vswitchd.service
+AssertPathExists=/var/run/openvswitch/db.sock
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+ExecStart=/usr/share/openvswitch/scripts/ovs-ctl delete-transient-ports
diff --git a/net-misc/openvswitch/files/ovs-vswitchd2.service b/net-misc/openvswitch/files/ovs-vswitchd2.service
new file mode 100644
index 00000000000..3092fdaaa66
--- /dev/null
+++ b/net-misc/openvswitch/files/ovs-vswitchd2.service
@@ -0,0 +1,26 @@
+[Unit]
+Description=Open vSwitch Daemon
+Documentation=man:ovs-vswitchd
+Wants=network.target
+Before=network.target network.service
+Requires=ovsdb-server.service
+After=ovsdb-server.service network-pre.target systemd-udev-settle.service
+ReloadPropagatedFrom=ovsdb-server.service
+AssertPathIsReadWrite=/var/run/openvswitch/db.sock
+
+[Service]
+Type=forking
+Restart=on-failure
+Environment=HOME=/var/run/openvswitch
+EnvironmentFile=-/run/openvswitch/useropts
+EnvironmentFile=-/etc/conf.d/ovs-vswitchd
+ExecStart=/usr/share/openvswitch/scripts/ovs-ctl \
+ --no-ovsdb-server --no-monitor --system-id=random \
+ ${OVSUSER} start $OPTIONS
+ExecStop=/usr/share/openvswitch/scripts/ovs-ctl --no-ovsdb-server stop
+ExecReload=/usr/share/openvswitch/scripts/ovs-ctl --no-ovsdb-server \
+ --no-monitor --system-id=random ${OVSUSER} restart $OPTIONS
+TimeoutSec=300
+
+[Install]
+WantedBy=multi-user.target
diff --git a/net-misc/openvswitch/files/ovsdb-server2.service b/net-misc/openvswitch/files/ovsdb-server2.service
new file mode 100644
index 00000000000..5ff6f904466
--- /dev/null
+++ b/net-misc/openvswitch/files/ovsdb-server2.service
@@ -0,0 +1,24 @@
+[Unit]
+Description=Open vSwitch Database Unit
+Documentation=man:ovsdb-server
+After=syslog.target network-pre.target
+Before=network.target network.service
+Wants=ovs-delete-transient-ports.service
+
+[Service]
+Type=forking
+Restart=on-failure
+EnvironmentFile=-/etc/conf.d/ovsdb-server
+ExecStartPre=/bin/chown ${OVS_USER_ID} /var/run/openvswitch /var/log/openvswitch
+ExecStartPre=/bin/sh -c 'rm -f /run/openvswitch/useropts; if [ "$${OVS_USER_ID/:*/}" != "root" ]; then /usr/bin/echo "OVSUSER=--ovs-user=${OVS_USER_ID}" > /run/openvswitch/useropts; fi'
+EnvironmentFile=-/run/openvswitch/useropts
+ExecStart=/usr/share/openvswitch/scripts/ovs-ctl \
+ --no-ovs-vswitchd --no-monitor --system-id=random \
+ ${OVSUSER} \
+ start $OPTIONS
+ExecStop=/usr/share/openvswitch/scripts/ovs-ctl --no-ovs-vswitchd stop
+ExecReload=/usr/share/openvswitch/scripts/ovs-ctl --no-ovs-vswitchd \
+ ${OVSUSER} \
+ --no-monitor restart $OPTIONS
+RuntimeDirectory=openvswitch
+RuntimeDirectoryMode=0755
diff --git a/net-misc/openvswitch/files/ovsdb-server_conf2 b/net-misc/openvswitch/files/ovsdb-server_conf2
index 97367b9717e..07eca5e6c9f 100644
--- a/net-misc/openvswitch/files/ovsdb-server_conf2
+++ b/net-misc/openvswitch/files/ovsdb-server_conf2
@@ -9,6 +9,9 @@ PRIVATE_KEY="db:Open_vSwitch,SSL,private_key"
CERTIFICATE="db:Open_vSwitch,SSL,certificate"
BOOTSTRAP_CA_CERT="db:Open_vSwitch,SSL,ca_cert"
+# Default user
+OVS_USER_ID="root:root"
+
# Alternative path for the database (default is /etc/openvswitch/conf.db)
# DATABASE="/etc/openvswitch/conf.db"
diff --git a/net-misc/openvswitch/openvswitch-2.10.0.ebuild b/net-misc/openvswitch/openvswitch-2.10.0-r1.ebuild
similarity index 92%
rename from net-misc/openvswitch/openvswitch-2.10.0.ebuild
rename to net-misc/openvswitch/openvswitch-2.10.0-r1.ebuild
index b0141c8947f..302aafe58fe 100644
--- a/net-misc/openvswitch/openvswitch-2.10.0.ebuild
+++ b/net-misc/openvswitch/openvswitch-2.10.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -106,8 +106,9 @@ src_install() {
newinitd "${FILESDIR}/ovsdb-server-r1" ovsdb-server
newinitd "${FILESDIR}/ovs-vswitchd-r1" ovs-vswitchd
- systemd_dounit "${FILESDIR}/ovsdb-server.service"
- systemd_dounit "${FILESDIR}/ovs-vswitchd.service"
+ systemd_newunit "${FILESDIR}/ovsdb-server2.service" ovsdb-server.service
+ systemd_newunit "${FILESDIR}/ovs-vswitchd2.service" ovs-vswitchd.service
+ systemd_newunit rhel/usr_lib_systemd_system_ovs-delete-transient-ports.service ovs-delete-transient-ports.service
systemd_newtmpfilesd "${FILESDIR}/openvswitch.tmpfiles" openvswitch.conf
insinto /etc/logrotate.d
@@ -131,6 +132,7 @@ pkg_postinst() {
fi
done
+ # 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)"
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: net-misc/openvswitch/, net-misc/openvswitch/files/
@ 2022-06-22 12:01 Michał Górny
0 siblings, 0 replies; 4+ messages in thread
From: Michał Górny @ 2022-06-22 12:01 UTC (permalink / raw
To: gentoo-commits
commit: a660ae14eab8752fbcb71f2d86f259eaddfe9447
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 22 11:54:12 2022 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Jun 22 12:00:58 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a660ae14
net-misc/openvswitch: Remove old
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
net-misc/openvswitch/Manifest | 1 -
.../files/ovs-delete-transient-ports.service | 10 --
net-misc/openvswitch/files/ovs-vswitchd.service | 15 ---
net-misc/openvswitch/files/ovsdb-server.service | 14 --
net-misc/openvswitch/files/ovsdb-server_conf | 16 ---
net-misc/openvswitch/openvswitch-2.14.1.ebuild | 147 ---------------------
6 files changed, 203 deletions(-)
diff --git a/net-misc/openvswitch/Manifest b/net-misc/openvswitch/Manifest
index cc9e42bfb518..70ff24911853 100644
--- a/net-misc/openvswitch/Manifest
+++ b/net-misc/openvswitch/Manifest
@@ -1,2 +1 @@
-DIST openvswitch-2.14.1.tar.gz 7388751 BLAKE2B 5f73dfc76101724564b1e8a1a79a13775e0394bcd97690b4e6ab860db5f639c636573d70927d257c6f8cd80b5b1780f909ad0521b842069bc6c6e069696bc416 SHA512 1dfc119fc230ea7bc2569544d24409b624593f16eea8d7034e0fced8ccfa09b0cde65244f9032bbad30885feada12c28065b776eadef85fc714743139ce7ff0b
DIST openvswitch-2.15.0.tar.gz 7434380 BLAKE2B c2f855ece89da3277f090d4328ff1659cc4976a4dbdfa44bdd4e750ea80e72592536af00250abe25565a6c2cda9f086ca22dcc16ed9db38692028a758995e9ac SHA512 a4e49268d6dd7d9d8fbf2005e8ffe45ede0998d21c98d7018474142656c65c05b14c8a7e4c7d8e0eea36e28d87550826225205e1fa03055d35a8cb048617c832
diff --git a/net-misc/openvswitch/files/ovs-delete-transient-ports.service b/net-misc/openvswitch/files/ovs-delete-transient-ports.service
deleted file mode 100644
index 4cd4d7f57f97..000000000000
--- a/net-misc/openvswitch/files/ovs-delete-transient-ports.service
+++ /dev/null
@@ -1,10 +0,0 @@
-[Unit]
-Description=Open vSwitch Delete Transient Ports
-After=ovsdb-server.service
-Before=ovs-vswitchd.service
-AssertPathExists=/var/run/openvswitch/db.sock
-
-[Service]
-Type=oneshot
-RemainAfterExit=yes
-ExecStart=/usr/share/openvswitch/scripts/ovs-ctl delete-transient-ports
diff --git a/net-misc/openvswitch/files/ovs-vswitchd.service b/net-misc/openvswitch/files/ovs-vswitchd.service
deleted file mode 100644
index a573a503e14c..000000000000
--- a/net-misc/openvswitch/files/ovs-vswitchd.service
+++ /dev/null
@@ -1,15 +0,0 @@
-[Unit]
-Description=Open vSwitch Daemon
-Documentation=man:ovs-vswitchd
-Wants=network.target
-Before=network.target
-Requires=ovsdb-server.service
-After=ovsdb-server.service
-
-[Service]
-# --pidfile options is needed for create file used
-# by ovs-appctl command.
-ExecStart=/usr/sbin/ovs-vswitchd --mlockall --monitor unix:/var/run/openvswitch/db.sock --pidfile
-
-[Install]
-WantedBy=multi-user.target
diff --git a/net-misc/openvswitch/files/ovsdb-server.service b/net-misc/openvswitch/files/ovsdb-server.service
deleted file mode 100644
index 9493c40755d8..000000000000
--- a/net-misc/openvswitch/files/ovsdb-server.service
+++ /dev/null
@@ -1,14 +0,0 @@
-[Unit]
-Description=Open vSwitch Database Server
-Documentation=man:ovsdb-server
-
-[Service]
-# The file can be shared for this as this values are prone to change
-# and that way we don't need to update them in two different places
-EnvironmentFile=/etc/conf.d/ovsdb-server
-ExecStart=/usr/sbin/ovsdb-server --monitor \
- --remote=punix:${DB_SOCKET} \
- --remote=${REMOTE_DB} \
- --private-key=${PRIVATE_KEY} \
- --certificate=${CERTIFICATE} \
- --bootstrap-ca-cert=${BOOTSTRAP_CA_CERT}
diff --git a/net-misc/openvswitch/files/ovsdb-server_conf b/net-misc/openvswitch/files/ovsdb-server_conf
deleted file mode 100644
index 1299b820640c..000000000000
--- a/net-misc/openvswitch/files/ovsdb-server_conf
+++ /dev/null
@@ -1,16 +0,0 @@
-# Socket for bringing the server up
-DB_SOCKET="/var/run/openvswitch/db.sock"
-
-# Remote sockets are defined in the database by default
-REMOTE_DB="db:Open_vSwitch,manager_options"
-
-# All certificates and keys are stored in the database (if any)
-PRIVATE_KEY="db:SSL,private_key"
-CERTIFICATE="db:SSL,certificate"
-BOOTSTRAP_CA_CERT="db:SSL,ca_cert"
-
-# Alternative path for the database (default is /etc/openvswitch/conf.db)
-# DATABASE="/etc/openvswitch/conf.db"
-
-# Additional options
-# OPTIONS=""
diff --git a/net-misc/openvswitch/openvswitch-2.14.1.ebuild b/net-misc/openvswitch/openvswitch-2.14.1.ebuild
deleted file mode 100644
index c873cc5a5478..000000000000
--- a/net-misc/openvswitch/openvswitch-2.14.1.ebuild
+++ /dev/null
@@ -1,147 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_7 python3_8 python3_9 )
-
-inherit autotools linux-info linux-mod python-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 x86"
-IUSE="debug modules monitor +ssl"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="
- ssl? ( dev-libs/openssl:0= )
- ${PYTHON_DEPS}
- ~dev-python/ovs-2.13.0[${PYTHON_USEDEP}]
- dev-python/twisted[conch,${PYTHON_USEDEP}]
- dev-python/zope-interface[${PYTHON_USEDEP}]
- debug? ( dev-lang/perl )"
-DEPEND="${RDEPEND}
- sys-apps/util-linux[caps]"
-BDEPEND="virtual/pkgconfig"
-
-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 <= 4.8 required for userspace modules"
- # docs state 4.17.x code states 4.15.x
- kernel_is le 5 5 999 || die "Linux >= 3.10.0 and <= 4.18 required for userspace modules"
- linux-mod_pkg_setup
- else
- CONFIG_CHECK+=" ~OPENVSWITCH"
- linux-info_pkg_setup
- fi
-}
-
-src_prepare() {
- # Never build kernelmodules, doing this manually
- sed -i \
- -e '/^SUBDIRS/d' \
- datapath/Makefile.in || die "sed failed"
- eautoreconf
- default
-}
-
-src_configure() {
- set_arch_to_kernel
- # 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"
-
- local linux_config
- use modules && linux_config="--with-linux=${KV_OUT_DIR}"
-
- econf ${linux_config} \
- --with-rundir=/var/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_src_compile
-}
-
-src_install() {
- default
-
- local SCRIPT
- if use monitor; then
- for SCRIPT in ovs-{pcap,parse-backtrace,dpctl-top,l3ping,tcpdump,tcpundump,test,vlan-test} bugtool/ovs-bugtool; do
- sed -e '1s|^.*$|#!/usr/bin/python|' -i utilities/"${SCRIPT}"
- python_foreach_impl 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_src_install
-}
-
-pkg_postinst() {
- use modules && linux-mod_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
-}
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: net-misc/openvswitch/, net-misc/openvswitch/files/
@ 2024-03-04 7:53 Joonas Niilola
0 siblings, 0 replies; 4+ messages in thread
From: Joonas Niilola @ 2024-03-04 7:53 UTC (permalink / raw
To: gentoo-commits
commit: 81a509bcc3fb98c2b5f3d3e323f26ce92a5ae138
Author: Brahmajit Das <brahmajit.xyz <AT> gmail <DOT> com>
AuthorDate: Thu Feb 8 19:44:21 2024 +0000
Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Mon Mar 4 07:53:47 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=81a509bc
net-misc/openvswitch: add 2.17.8
Updating to latest LTS release and fixing build error with GCC 14
Closes: https://bugs.gentoo.org/923703
Signed-off-by: Brahmajit Das <brahmajit.xyz <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/35235
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
net-misc/openvswitch/Manifest | 1 +
.../files/openvswitch-2.17.8-gcc14-build-fix.patch | 32 ++++
net-misc/openvswitch/openvswitch-2.17.8.ebuild | 174 +++++++++++++++++++++
3 files changed, 207 insertions(+)
diff --git a/net-misc/openvswitch/Manifest b/net-misc/openvswitch/Manifest
index 3bebee2ed69e..7acfe647114a 100644
--- a/net-misc/openvswitch/Manifest
+++ b/net-misc/openvswitch/Manifest
@@ -1 +1,2 @@
DIST openvswitch-2.17.6.tar.gz 8092331 BLAKE2B 0564a332e8c876552a9a3a068f4e54d3f5d56428e277e32f188aba9626035818c900be45171964ddcb782166a5e5b3b8f3a2fb80d5ed9723b94c9e1ed7410544 SHA512 ff9d19a9101c9a18117a859150d391eecbd6a331e35da3f20a62acaac1febbfbad716874734f9bd0d304d635212884f9f617b944e79bb7e554ddd9e5c53645c8
+DIST openvswitch-2.17.8.tar.gz 8097747 BLAKE2B d37ae60481255476d41aa94086f6a597107b23176f7ff47eeff9d85a5904da3685886663451317e0b9e512fb049b4024e291f320752aa90fe798ff08f49772c5 SHA512 c94685b67f9f25c81a590696d36c431fadf09c2504b06565011c2945ef242c5039508b312992597822f8ee274ce615ca58bc6bb2aa0a9cf1346bc2dcada70fa1
diff --git a/net-misc/openvswitch/files/openvswitch-2.17.8-gcc14-build-fix.patch b/net-misc/openvswitch/files/openvswitch-2.17.8-gcc14-build-fix.patch
new file mode 100644
index 000000000000..6a439dc0544a
--- /dev/null
+++ b/net-misc/openvswitch/files/openvswitch-2.17.8-gcc14-build-fix.patch
@@ -0,0 +1,32 @@
+https://github.com/openvswitch/ovs/commit/335a5deac3ff91448ca14651e92f39dfdd512fcf.patch
+From: Ilya Maximets <i.maximets@ovn.org>
+Date: Thu, 18 Jan 2024 15:59:05 +0100
+Subject: [PATCH] ovs-atomic: Fix inclusion of Clang header by GCC 14.
+
+GCC 14 started to advertise c_atomic extension, older versions didn't
+do that. Add check for __clang__, so GCC doesn't include headers
+designed for Clang.
+
+Another option would be to prefer stdatomic implementation instead,
+but some older versions of Clang are not able to use stdatomic.h
+supplied by GCC as described in commit:
+ 07ece367fb5f ("ovs-atomic: Prefer Clang intrinsics over <stdatomic.h>.")
+
+This change fixes OVS build with GCC on Fedora Rawhide (40).
+
+Reported-by: Jakob Meng <code@jakobmeng.de>
+Acked-by: Jakob Meng <jmeng@redhat.com>
+Acked-by: Eelco Chaudron <echaudro@redhat.com>
+Acked-by: Simon Horman <horms@ovn.org>
+Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
+--- a/lib/ovs-atomic.h
++++ b/lib/ovs-atomic.h
+@@ -328,7 +328,7 @@
+ #if __CHECKER__
+ /* sparse doesn't understand some GCC extensions we use. */
+ #include "ovs-atomic-pthreads.h"
+- #elif __has_extension(c_atomic)
++ #elif __clang__ && __has_extension(c_atomic)
+ #include "ovs-atomic-clang.h"
+ #elif HAVE_ATOMIC && __cplusplus >= 201103L
+ #include "ovs-atomic-c++.h"
diff --git a/net-misc/openvswitch/openvswitch-2.17.8.ebuild b/net-misc/openvswitch/openvswitch-2.17.8.ebuild
new file mode 100644
index 000000000000..059ccf3295d6
--- /dev/null
+++ b/net-misc/openvswitch/openvswitch-2.17.8.ebuild
@@ -0,0 +1,174 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MODULES_OPTIONAL_USE="modules"
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit autotools linux-mod 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.1_p1[${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"
+ "${FILESDIR}/${PN}-2.17.8-gcc14-build-fix.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_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
+
+ # 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)"
+
+ # 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_src_compile
+}
+
+src_install() {
+ default
+
+ 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_src_install
+}
+
+pkg_postinst() {
+ use modules && linux-mod_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
+}
^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2024-03-04 7:53 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-06-22 12:01 [gentoo-commits] repo/gentoo:master commit in: net-misc/openvswitch/, net-misc/openvswitch/files/ Michał Górny
-- strict thread matches above, loose matches on Subject: below --
2024-03-04 7:53 Joonas Niilola
2018-09-23 20:21 Matt Thode
2017-05-30 16:32 Matt Thode
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox