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.

62 lines
1.4 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 - 2016 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. if [ -z "$SDESETTINGS" ]; then
  23. if [ -n "$SUDO_USER" ]; then
  24. SDESETTINGS="$( grep -m 1 "^$SUDO_USER:" /etc/passwd | cut -d: -f6)/.sde/settings"
  25. else
  26. SDESETTINGS="$HOME/.sde/settings"
  27. fi
  28. export SDESETTINGS
  29. fi
  30. if [ ! -e "$SDESETTINGS" ]; then
  31. mkdir -p "${SDESETTINGS%/*}"
  32. touch "$SDESETTINGS"
  33. chmod 600 "$SDESETTINGS"
  34. fi
  35. # how to `echo -e` on this /bin/sh
  36. #
  37. if [ "$(echo -e foo)" = "foo" ]; then
  38. export ECHO_E="echo -e"
  39. else
  40. export ECHO_E="echo"
  41. fi
  42. # LOCK/UNLOCK facility
  43. #
  44. # FIXME: we must trap Ctrl-C on lock(), and restore the previous
  45. # trap state after unlocking
  46. lock() {
  47. while ! ln -s "$1" "$1.lock" 2> /dev/null; do
  48. sleep 1;
  49. done
  50. }
  51. unlock() {
  52. rm "$1.lock"
  53. }