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.
This commit is contained in:
@@ -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 = {
|
||||
|
||||
Reference in New Issue
Block a user