Commit 95b0bb2d authored by Ihar Hrachyshka's avatar Ihar Hrachyshka
Browse files

ovn: use ovs-lib and ovs client tools from openvswitch derivation

In-tree ovs (from submodule) is not meant to be used except for linking
.so/.a to ovn binaries.
parent 761cbe0f
Loading
Loading
Loading
Loading
+9 −16
Original line number Diff line number Diff line
@@ -14,6 +14,8 @@
  python3,
  unbound,
  xdp-tools,
  openvswitch,
  makeWrapper,
}:
let
  withOpensslConfigureFlag = "--with-openssl=${lib.getLib openssl.dev}";
@@ -47,6 +49,7 @@ stdenv.mkDerivation (finalAttrs: {
    autoreconfHook
    pkg-config
    python3
    makeWrapper
  ];

  buildInputs = [
@@ -88,23 +91,13 @@ stdenv.mkDerivation (finalAttrs: {
  ];

  postInstall = ''
    mkdir -vp $out/share/openvswitch/scripts
    mkdir -vp $out/etc/ovn
    cp ovs/ovsdb/ovsdb-client $out/bin
    cp ovs/ovsdb/ovsdb-server $out/bin
    cp ovs/ovsdb/ovsdb-tool $out/bin
    cp ovs/vswitchd/ovs-vswitchd $out/bin
    cp ovs/utilities/ovs-appctl $out/bin
    cp ovs/utilities/ovs-vsctl $out/bin
    cp ovs/utilities/ovs-ctl $out/share/openvswitch/scripts
    cp ovs/utilities/ovs-lib $out/share/openvswitch/scripts
    cp ovs/utilities/ovs-kmod-ctl $out/share/openvswitch/scripts
    cp ovs/vswitchd/vswitch.ovsschema $out/share/openvswitch
    sed -i "s#/usr/local/etc#/var/lib#g" $out/share/openvswitch/scripts/ovs-lib
    sed -i "s#/usr/local/bin#$out/bin#g" $out/share/openvswitch/scripts/ovs-lib
    sed -i "s#/usr/local/sbin#$out/bin#g" $out/share/openvswitch/scripts/ovs-lib
    sed -i "s#/usr/local/share#$out/share#g" $out/share/openvswitch/scripts/ovs-lib
    sed -i '/chown -R $INSTALL_USER:$INSTALL_GROUP $ovn_etcdir/d' $out/share/ovn/scripts/ovn-ctl

    mkdir -vp $out/share/openvswitch/scripts
    ln -s ${openvswitch}/share/openvswitch/scripts/ovs-lib $out/share/openvswitch/scripts/ovs-lib

    wrapProgram $out/share/ovn/scripts/ovn-ctl \
      --prefix PATH : ${lib.makeBinPath [ openvswitch ]}
  '';

  env = {