source: scripts/locker-update @ a06334e

release-1.10release-1.6release-1.7release-1.8release-1.9
Last change on this file since a06334e was a06334e, checked in by Nelson Elhage <nelhage@mit.edu>, 14 years ago
Use a wrapper script for zcrypt Actual binaries get zcrypt.real pointed to them.
  • Property mode set to 100755
File size: 1.8 KB
Line 
1#!/bin/bash
2beta=
3dryrun=
4
5usage() {
6    echo "Usage: $0 [--dry-run|-n] [--beta|-b] NEW-VERSION" >&2
7    exit 1;
8}
9
10for arg in "$@"; do
11    case $arg in
12        --beta|-b)
13            beta=1 ;;
14        --dry-run|-n)
15            dryrun=1 ;;
16        -*)
17            usage ;;
18        *)
19            test -n "$NEWVERSION" && usage
20            NEWVERSION="$arg"
21            ;;
22    esac
23done
24
25test -z "$NEWVERSION" && usage
26
27# Run this as 'locker-update NEW-VERSION' to upgrade the barnowl.real
28# symlink in all arch/ directories to point to the new version.
29
30E=
31test -n "$dryrun" && E=echo
32
33B=
34test -n "$beta" && B=-beta
35
36cd /mit/barnowl/arch/
37
38update_symlink() {
39  local dir="$1"
40  local target="$2"
41  local link="$3"
42  if [ -e "$dir/$target" ]; then
43    # update the symlink
44    $E ln -sf "$target" "$dir/$link"
45  else
46    # delete the symlink
47    $E rm -f "$dir/$link"
48  fi
49}
50
51for i in *; do
52    if [ -L "$i" ]; then
53        echo "# Skipping $i as a symbolic link..."
54    elif [ "$i" = "common" ]; then
55        echo "# Skipping 'common'..."
56    elif ! [ -e "$i/bin/$NEWVERSION" ]; then
57        echo "# New version $NEWVERSION not built for arch $i...";
58    else
59        echo "# $i"
60
61        # Sanity -- make sure the 'barnowl' symlink is correct.
62        $E ln -sf "../../common/bin/barnowl$B" "$i/bin/barnowl$B"
63        update_symlink "$i/bin" "$NEWVERSION"         "barnowl.real$B"
64        update_symlink "$i/bin" "$NEWVERSION.zephyr3" "barnowl.real$B.zephyr3"
65        update_symlink "$i/bin" "$NEWVERSION.zephyr4" "barnowl.real$B.zephyr4"
66
67        $E ln -sf "../../common/bin/zcrypt" "$i/bin/zcrypt"
68        update_symlink "$i/bin" "zcrypt${NEWVERSION#barnowl}"         "zcrypt.real"
69        update_symlink "$i/bin" "zcrypt${NEWVERSION#barnowl}.zephyr3" "zcrypt.real.zephyr3"
70        update_symlink "$i/bin" "zcrypt${NEWVERSION#barnowl}.zephyr4" "zcrypt.real.zephyr4"
71    fi
72done;
Note: See TracBrowser for help on using the repository browser.