If openvswitch is not installed in the default system's path ovs-save script will fail to find the tools it requires.
Fix this by adding $bindir to the PATH. Refactor common path calculation into ovs-lib. Signed-off-by: Adrian Moreno <[email protected]> --- utilities/ovs-ctl.in | 11 +---------- utilities/ovs-kmod-ctl.in | 7 +------ utilities/ovs-lib.in | 21 +++++++++++++++++++++ utilities/ovs-save | 2 ++ 4 files changed, 25 insertions(+), 16 deletions(-) diff --git a/utilities/ovs-ctl.in b/utilities/ovs-ctl.in index e6e07f476..df4770ac2 100644 --- a/utilities/ovs-ctl.in +++ b/utilities/ovs-ctl.in @@ -19,16 +19,7 @@ case $0 in esac . "$dir0/ovs-lib" || exit 1 -for dir in "$sbindir" "$bindir" /sbin /bin /usr/sbin /usr/bin; do - case :$PATH: in - *:$dir:*) ;; - *) - case $dir in - $sbindir | $bindir) PATH=$dir:$PATH ;; - *) PATH=$PATH:$dir ;; - esac - esac -done +PATH=$OVS_SBIN_PATH ## ----- ## ## start ## diff --git a/utilities/ovs-kmod-ctl.in b/utilities/ovs-kmod-ctl.in index 19f100964..9804008cf 100644 --- a/utilities/ovs-kmod-ctl.in +++ b/utilities/ovs-kmod-ctl.in @@ -20,12 +20,7 @@ case $0 in esac . "$dir0/ovs-lib" || exit 1 -for dir in "$sbindir" "$bindir" /sbin /bin /usr/sbin /usr/bin; do - case :$PATH: in - *:$dir:*) ;; - *) PATH=$PATH:$dir ;; - esac -done +PATH=$OVS_SBIN_PATH insert_mods () { # Try loading openvswitch kernel module. diff --git a/utilities/ovs-lib.in b/utilities/ovs-lib.in index 13477a6a9..a00c484f6 100644 --- a/utilities/ovs-lib.in +++ b/utilities/ovs-lib.in @@ -39,6 +39,27 @@ else dbdir='@DBDIR@' fi +OVS_SBIN_PATH=$PATH +OVS_BIN_PATH=$PATH +for dir in "$sbindir" "$bindir" /sbin /bin /usr/sbin /usr/bin; do + case :$PATH: in + *:$dir:*) ;; + *) + case $dir in + $bindir) + OVS_BIN_PATH=$dir:$OVS_BIN_PATH + OVS_SBIN_PATH=$dir:$OVS_SBIN_PATH + ;; + $sbindir) + OVS_SBIN_PATH=$dir:$OVS_SBIN_PATH + ;; + *) + OVS_BIN_PATH=$OVS_BIN_PATH:$dir + OVS_SBIN_PATH=$OVS_SBIN_PATH:$dir + esac + esac +done + ovs_ctl_log () { echo "$@" >> "${logdir}/ovs-ctl.log" } diff --git a/utilities/ovs-save b/utilities/ovs-save index a190902f4..1c4810648 100755 --- a/utilities/ovs-save +++ b/utilities/ovs-save @@ -20,6 +20,8 @@ case $0 in esac . "$dir0/ovs-lib" || exit 1 +PATH=$OVS_BIN_PATH + usage() { UTIL=$(basename $0) cat <<EOF -- 2.35.3 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
