diff --git a/barnowl b/barnowl index 926d281..7e94815 100755 --- a/barnowl +++ b/barnowl @@ -17,4 +17,24 @@ case $BARNOWL_REAL in *) BARNOWL_REAL_PATH="$(athdir /mit/barnowl bin)/$BARNOWL_REAL" ;; esac +# Detect zephyr name if necessary +if [ ! -x "$BARNOWL_REAL_PATH" ]; then + SUFFIX= + case $ATHENA_SYS in + *_deb50) + # Both Debian Lenny and Ubuntu Karmic use the _deb50 + # sysname, but they have different zephyr versions (soname + # 3 and 4, respectively). So for that sysname, we the + # build script includes the zephyr soname into the binary + # name, and we pick the right one. + if /sbin/ldconfig -p | grep -qF "libzephyr.so.4"; then + SUFFIX=.zephyr4 + else + SUFFIX=.zephyr3 + fi + ;; + esac + BARNOWL_REAL_PATH="$BARNOWL_REAL_PATH$SUFFIX" +fi + exec "$BARNOWL_REAL_PATH" "$@"