# Contributor: Stuart Cardall # Maintainer: Stuart Cardall pkgname=openvswitch pkgver=2.12.3 pkgrel=0 pkgdesc="production quality, multilayer virtual switch" url="http://openvswitch.org/" arch="all" license="Apache-2.0" options="!check" # FIXME: no point in running tests if we ignore result depends_dev="openssl-dev" makedepends="$depends_dev perl linux-headers bash libcap-ng-dev python3 python3-dev py3-six py3-twisted" subpackages="$pkgname-doc $pkgname-dbg $pkgname-dev $pkgname-bash-completion:bashcomp:noarch $pkgname-test:_test py3-$pkgname:_py3:noarch $pkgname-ovn:_ovn $pkgname-openrc " source="http://openvswitch.org/releases/openvswitch-$pkgver.tar.gz ovsdb-server.initd ovsdb-server.confd ovs-vswitchd.initd ovs-vswitchd.confd ovs-modules.initd ifupdown-alpine.patch readme.debian.patch ovsdb-idlc.in-fix-dict-change-during-iteration.patch " # secfixes: # 2.12.3-r0: # - CVE-2020-35498 # 2.12.2-r0: # - CVE-2020-27827 # - CVE-2015-8011 # 2.12.1-r0: # - CVE-2019-14818 # - CVE-2020-10722 # - CVE-2020-10723 # - CVE-2020-10724 build() { ./configure --prefix=/usr \ --sysconfdir=/etc \ --mandir=/usr/share/man \ --infodir=/usr/share/info \ --localstatedir=/var \ --enable-ndebug \ --enable-libcapng \ PYTHON=/usr/bin/python3 make } check() { make check || true } package() { make DESTDIR="$pkgdir" install local _py3site=$(python3 -c "import site; print(site.getsitepackages()[0])") mkdir -p "$pkgdir/$_py3site" cp -a "$pkgdir"/usr/share/openvswitch/python/* "$pkgdir/$_py3site"/ rm -rf "$pkgdir"/usr/share/openvswitch/python mkdir -p "$pkgdir"/usr/share/bash-completion mv "$pkgdir"/etc/bash_completion.d "$pkgdir"/usr/share/bash-completion/completions rm -f "$pkgdir"/usr/lib/*.a install -Dm755 "$srcdir"/ovsdb-server.initd \ "$pkgdir"/etc/init.d/ovsdb-server install -Dm755 "$srcdir"/ovs-vswitchd.initd \ "$pkgdir"/etc/init.d/ovs-vswitchd install -Dm755 "$srcdir"/ovs-modules.initd \ "$pkgdir"/etc/init.d/ovs-modules install -Dm644 "$srcdir"/ovsdb-server.confd \ "$pkgdir"/etc/conf.d/ovsdb-server install -Dm644 "$srcdir"/ovs-vswitchd.confd \ "$pkgdir"/etc/conf.d/ovs-vswitchd install -d "$pkgdir"/etc/network/if-pre-up.d \ "$pkgdir"/etc/network/if-post-down.d install -m755 debian/ifupdown.sh \ "$pkgdir"/etc/network/if-pre-up.d/openvswitch ln -s ../if-pre-up.d/openvswitch \ "$pkgdir"/etc/network/if-post-down.d/openvswitch mkdir -p "$pkgdir"/usr/share/doc/openvswitch install -m644 debian/openvswitch-switch.README.Debian \ "$pkgdir"/usr/share/doc/openvswitch/README.alpine } _mv_files() { local i for i in "$@"; do case $i in */*) mkdir -p "$subpkgdir"/${i%/*};; *) mkdir -p "$subpkgdir";; esac mv "$pkgdir"/$i "$subpkgdir"/$i done } bashcomp() { depends="" pkgdesc="Bash completions for $pkgname" install_if="$pkgname=$pkgver-r$pkgrel bash-completion" amove usr/share/bash-completion/completions } _test() { pkgdesc="Open vSwitch testing utilities" depends="py3-$pkgname=$pkgver-r$pkgrel py-twisted" cd "$pkgdir" local _py3site=$(python3 -c "import site; print(site.getsitepackages()[0])") _mv_files \ usr/bin/ovs-pcap \ usr/bin/ovs-tcpdump \ usr/bin/ovs-tcpundump \ usr/bin/ovs-testcontroller \ ${_py3site#/}/ovstest } _py3() { pkgdesc="Python modules for Open vSwitch" depends="python3 py3-six" cd "$pkgdir" _mv_files usr/lib/python3* } _ovn() { pkgdesc="Open Virtual Network support for openvswitch" cd "$pkgdir" _mv_files \ usr/share/openvswitch/scripts/ovn-ctl \ usr/share/openvswitch/scripts/ovndb-servers.ocf \ usr/share/openvswitch/ovn-sb.ovsschema \ usr/share/openvswitch/ovn-nb.ovsschema \ usr/bin/ovn-sbctl \ usr/bin/ovn-northd \ usr/bin/ovn-trace \ usr/bin/ovn-detrace \ usr/bin/ovn-nbctl \ usr/bin/ovn-controller-vtep \ usr/bin/ovn-controller \ usr/bin/ovn-docker-underlay-driver \ usr/bin/ovn-docker-overlay-driver } sha512sums="0ca93b6af86828e60833f432fcd3244aa2199cd38b39d0f7cf6bb3177c89d6562543cc2fc8a1eb64063d46f91bbb81fb8b067699feca4e91be40e4cc1ca88947 openvswitch-2.12.3.tar.gz 097d4721a78fff749c534910d98543778474406bd61b469b88a0d981a2a380556444437ec44278cead6d8688c45a38b2acbf1551acb9ab38d048f413728e3b88 ovsdb-server.initd b1588d076bbfc7ef2dd46fce8e46186f40cbbc4667697f7ac13ddc68e34568fdab315fde47838de7f6d32916853190336cfe3735f672ad7cb624ae14dbff55a5 ovsdb-server.confd 4bff37f8bed32d5327b4b0433984ab8ffdce77f618034aa6ffd1ad4a7caa00703ea2bef312876dce5aafa4c17fe06dddd75e5c05c10e13bf8f5c3805a0654a96 ovs-vswitchd.initd 346aea099f51707d2b4fc9fdc8c1502582723fb4e00c4d5d1624b0378c94dfb76674fa95e2af894f36169df52109dbe441ee6a45aa744584d9e4c74d15a46c1d ovs-vswitchd.confd 1e08aa5ac6ce55b97256478b9243c8a4c92a42a97fc70ea0439c832b12a775af28a127224ae6c4ce01642dde65f76c610a44105912338bf443d8ea390c2d9ccf ovs-modules.initd eca5b19954e6df7dc17c582e22e4b27533710d077039a54a2ba291ae7d3a2706872f5bcad8795ca58e06ca7e45a9b8c4c51e99aedbabd0e87623972ebcdca230 ifupdown-alpine.patch 177f8c98cfa261b440c398d3a3be4aeba694ee3d43400082427cd3b238de9c84736193a25968a6029f4a09957d00c6fcfb3f87f9317feb71732f31c91933fd29 readme.debian.patch adea9745be1d4721a90f5802b94e5132e380efd9d046ded6b6e13a8d22093705a1f468e40bd6d26f9ef09900a0a9ac2b1e5e9783c807dda07762025c1fa46cfd ovsdb-idlc.in-fix-dict-change-during-iteration.patch"