@@ -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 ##
@@ -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.
@@ -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"
}
@@ -20,6 +20,8 @@ case $0 in
esac
. "$dir0/ovs-lib" || exit 1
+PATH=$OVS_BIN_PATH
+
usage() {
UTIL=$(basename $0)
cat <<EOF
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 <amorenoz@redhat.com> --- 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(-)