public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [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