# Contributor: Stuart Cardall # Maintainer: Leonardo Arena pkgname=ovn pkgver=23.09.0 ovs_pkgver=3.2.1 pkgrel=4 pkgdesc="Open Virtual Network" url="https://www.ovn.org" arch="all" license="Apache-2.0" makedepends="automake autoconf libtool libcap-ng-dev linux-headers openssl-dev>3 python3 unbound-dev " subpackages="$pkgname-dev $pkgname-doc $pkgname-dbg $pkgname-openrc" giturl="https://github.com/openvswitch/ovs.git" _gitrev="498cedc" options="!check" # most of the tests are failing install="$pkgname.post-install" source="$pkgname-$pkgver.tar.gz::https://github.com/ovn-org/ovn/archive/refs/tags/v$pkgver.tar.gz openvswitch-$ovs_pkgver.tar.gz::https://github.com/openvswitch/ovs/archive/refs/tags/v$ovs_pkgver.tar.gz ovn-ctl.confd ovn-northd.initd ovn-ovsdb-server-nb.initd ovn-ovsdb-server-sb.initd ovn-controller.initd ovs-modules.initd ovs-vswitchd.confd ovs-vswitchd.initd ovsdb-server.confd ovsdb-server.initd ovs-ifupdown-alpine.patch " provides="openvswitch=$ovs_pkgver" # https://dev.alpinelinux.org/archive/ovn/openvswitch-$ovs_pkgver-$_gitrev.tar.gz snapshot() { mkdir -p "$srcdir" cd "$srcdir" if ! [ -d ovs ]; then git clone $giturl; fi cd ovs git archive --prefix=openvswitch-$ovs_pkgver/ -o "$srcdir"/openvswitch-$ovs_pkgver-$_gitrev.tar.gz $_gitrev scp "$srcdir"/openvswitch-$ovs_pkgver-$_gitrev.tar.gz dev.alpinelinux.org:/archive/$pkgname/ } prepare() { # default_prepare ./boot.sh cd "$srcdir"/ovs-$ovs_pkgver patch -p1 < ../ovs-ifupdown-alpine.patch ./boot.sh } build() { export CFLAGS="$CFLAGS -fPIC" # First OpenVSwitch must be built # Taking the same configure options from openvswitch APKBUILD cd "$srcdir"/ovs-$ovs_pkgver ./configure \ --prefix=/usr \ --sysconfdir=/etc \ --mandir=/usr/share/man \ --infodir=/usr/share/info \ --localstatedir=/var \ --enable-ndebug \ --enable-libcap-ng make msg "Built OVS. Now building OVN" cd "$builddir" ./configure \ --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var \ --mandir=/usr/share/man \ --infodir=/usr/share/info \ --enable-shared \ --enable-ndebug \ --with-ovs-source=../ovs-$ovs_pkgver \ --with-ovs-build=../ovs-$ovs_pkgver make } check() { make check } package() { # parallel install issue make -j1 DESTDIR="$pkgdir" install install -Dm644 ../ovn-ctl.confd "$pkgdir"/etc/conf.d/ovn-ctl local f for f in ovn-northd \ ovn-ovsdb-server-nb \ ovn-ovsdb-server-sb \ ; do install -Dm755 ../"$f".initd "$pkgdir/etc/init.d/$f" ln -s ovn-ctl "$pkgdir/etc/conf.d/$f" done install -Dm755 ../ovn-controller.initd "$pkgdir/etc/init.d/ovn-controller" # Install the required version of OpenVSwitch # Taken from openvswitch package cd "$srcdir/ovs-$ovs_pkgver" make DESTDIR="$pkgdir" install # we don't install python and bash extensions rm -rf "$pkgdir"/usr/share/openvswitch/python rm -rf "$pkgdir"/etc/bash_completion.d 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 } sha512sums=" 90fb0496e7a219fa8a4cf22daa40ce54a7e8174228d1baa6946c399a81fed7ba380a8e0a93ad8da6a83aaf47c22312637541e449e076f08884fc9dd28179e6fd ovn-23.09.0.tar.gz 709e7a39c97d44cb4fc2741ec386d2bb446adf4c374d5d15480dc62e49d5e327354eb81ca09b55b0c0954dd42b28d3bd278840247d42b2f8802e667f90bd8c97 openvswitch-3.2.1.tar.gz b98fd4acefcc03714cebe18dd78839ec1e6777ed6b1b035873b7a05c24ce5c91b62d890543e58529ed47413c4ab926468a9915bf15675475712ac039f9d1cda5 ovn-ctl.confd 436f3bc162675b5baa9e301d58fe30d7d0dfb7a196f73012cd8dd3ee7b3e9016c8db81092629da08ee08fc572a697c4c1463c819254c26eaf1f69150f522c503 ovn-northd.initd e2dc52c9328514d5ebe1b6b9e63a6b6055ff9fe1d9b4eb1cec429631f65d24b2144d5f328c7943b501eef40f1aafdf5bd247d5e7d58b028d25a8a361b9ebdcb0 ovn-ovsdb-server-nb.initd 393e8ae14280e8495b92063556c40273a8dc04572e2a78f03cbf61fd37fe509d9deacf30f50831f23664c1c3dd566122c5e683e928aa5e5c8a035f3183d84a78 ovn-ovsdb-server-sb.initd 9d54d84d1e70b0cc13c2c19b327f1441208ebcf3c1248c6625afa32cd47f8207ea80006fa82c9de6aa4d3fe03b2ab3bd3c887fb85dd6cb9bb7e5c3925afa38af ovn-controller.initd 1e08aa5ac6ce55b97256478b9243c8a4c92a42a97fc70ea0439c832b12a775af28a127224ae6c4ce01642dde65f76c610a44105912338bf443d8ea390c2d9ccf ovs-modules.initd 346aea099f51707d2b4fc9fdc8c1502582723fb4e00c4d5d1624b0378c94dfb76674fa95e2af894f36169df52109dbe441ee6a45aa744584d9e4c74d15a46c1d ovs-vswitchd.confd 4bff37f8bed32d5327b4b0433984ab8ffdce77f618034aa6ffd1ad4a7caa00703ea2bef312876dce5aafa4c17fe06dddd75e5c05c10e13bf8f5c3805a0654a96 ovs-vswitchd.initd b1588d076bbfc7ef2dd46fce8e46186f40cbbc4667697f7ac13ddc68e34568fdab315fde47838de7f6d32916853190336cfe3735f672ad7cb624ae14dbff55a5 ovsdb-server.confd 097d4721a78fff749c534910d98543778474406bd61b469b88a0d981a2a380556444437ec44278cead6d8688c45a38b2acbf1551acb9ab38d048f413728e3b88 ovsdb-server.initd 08c08612be2bbcc3c006a6175f2357542e436fa5bec6b2f3ff5200e8084874a72b8116d3408cffec312e33c104b177db381727666f8dd4712617616eee8c4d63 ovs-ifupdown-alpine.patch "