OpenSDE Framework (without history before r20070)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

56 lines
1.3 KiB

  1. # --- SDE-COPYRIGHT-NOTE-BEGIN ---
  2. # This copyright note is auto-generated by ./scripts/Create-CopyPatch.
  3. #
  4. # Filename: lib/libsde.in
  5. # Copyright (C) 2006 - 2010 The OpenSDE Project
  6. #
  7. # More information can be found in the files COPYING and README.
  8. #
  9. # This program is free software; you can redistribute it and/or modify
  10. # it under the terms of the GNU General Public License as published by
  11. # the Free Software Foundation; version 2 of the License. A copy of the
  12. # GNU General Public License can be found in the file COPYING.
  13. # --- SDE-COPYRIGHT-NOTE-END ---
  14. [ -n "$SDEROOT" ] || SDEROOT='.'
  15. export SDEROOT
  16. # determine the version
  17. #
  18. sdever=$("$SDEROOT/lib/version.sh")
  19. . $SDEROOT/lib/term-functions.in
  20. # default settings
  21. #
  22. [ -n "$SDESETTINGS" ] || SDESETTINGS="$HOME/.sde/settings"
  23. export SDESETTINGS
  24. if [ ! -e "$SDESETTINGS" ]; then
  25. mkdir -p "${SDESETTINGS%/*}"
  26. touch "$SDESETTINGS"
  27. chmod 600 "$SDESETTINGS"
  28. fi
  29. # how to `echo -e` on this /bin/sh
  30. #
  31. if [ "$(echo -e foo)" = "foo" ]; then
  32. export ECHO_E="echo -e"
  33. else
  34. export ECHO_E="echo"
  35. fi
  36. # LOCK/UNLOCK facility
  37. #
  38. # FIXME: we must trap Ctrl-C on lock(), and restore the previous
  39. # trap state after unlocking
  40. lock() {
  41. while ! ln -s "$1" "$1.lock" 2> /dev/null; do
  42. sleep 1;
  43. done
  44. }
  45. unlock() {
  46. rm "$1.lock"
  47. }