From 55679791b5de18a074c57999e5097af50cdd7ae3 Mon Sep 17 00:00:00 2001 From: Tzafrir Cohen Date: Wed, 25 Jan 2017 17:55:30 +0200 Subject: [PATCH] xpp_fxloader: Also look for udevadm in /bin * udevadm is being moved to /bin. /sbin/udevadm will remain as a compatibility symlink. * xpp_fxloader should also look for /bin/udevadm in addition to /sbin/udevadm and /sbin/udevsettle * Reverse the order: look for newer ones first. Signed-off-by: Tzafrir Cohen --- xpp/astribank_hook | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/xpp/astribank_hook b/xpp/astribank_hook index fdfa82a..3b5a6fb 100755 --- a/xpp/astribank_hook +++ b/xpp/astribank_hook @@ -94,22 +94,27 @@ wait_for_udev() { UDEV_SETTLE_MAX_TIME=10 echo "Waiting for udev to settle down..." - if [ -x /sbin/udevsettle ]; then - # Old system, stand-alone udevsettle command - /sbin/udevsettle --timeout="$UDEV_SETTLE_MAX_TIME" + udevsettle_cmd= + if [ -x /bin/udevadm ]; then + udevsettle_cmd="/bin/udevadm settle" elif [ -x /sbin/udevadm ]; then - # Assume modern system, udevadm has settle parameter - if ! /sbin/udevadm settle --timeout="$UDEV_SETTLE_MAX_TIME" - then - echo "udevadm failed ($?)." - echo "Fallback to sleep $UDEV_SETTLE_MAX_TIME seconds." - sleep "$UDEV_SETTLE_MAX_TIME" - fi + udevsettle_cmd="/sbin/udevadm settle" + elif [ -x /sbin/udevsettle ]; then + udevsettle_cmd="/sbin/udevsettle" else echo "No udevsettle/udevadm." echo "Fallback to sleep $UDEV_SETTLE_MAX_TIME seconds." sleep "$UDEV_SETTLE_MAX_TIME" + return fi + + if ! $udevsettle_cmd --timeout="$UDEV_SETTLE_MAX_TIME" + then + echo "udevadm failed ($?)." + echo "Fallback to sleep $UDEV_SETTLE_MAX_TIME seconds." + sleep "$UDEV_SETTLE_MAX_TIME" + fi + sleep 1 # Wait a bit more (races) }