release-1.10release-1.7release-1.8release-1.9
|
Last change
on this file since f183917 was
72634c5,
checked in by Nelson Elhage <nelhage@mit.edu>, 16 years ago
|
|
locker-update: Don't skip arches because the bare binary is missing.
|
-
Property mode set to
100755
|
|
File size:
1.9 KB
|
| Line | |
|---|
| 1 | #!/bin/bash |
|---|
| 2 | beta= |
|---|
| 3 | dryrun= |
|---|
| 4 | |
|---|
| 5 | usage() { |
|---|
| 6 | echo "Usage: $0 [--dry-run|-n] [--beta|-b] NEW-VERSION" >&2 |
|---|
| 7 | exit 1; |
|---|
| 8 | } |
|---|
| 9 | |
|---|
| 10 | for 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 |
|---|
| 23 | done |
|---|
| 24 | |
|---|
| 25 | test -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 | |
|---|
| 30 | E= |
|---|
| 31 | test -n "$dryrun" && E=echo |
|---|
| 32 | |
|---|
| 33 | B= |
|---|
| 34 | test -n "$beta" && B=-beta |
|---|
| 35 | |
|---|
| 36 | cd /mit/barnowl/arch/ |
|---|
| 37 | |
|---|
| 38 | update_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 | |
|---|
| 51 | for 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" ] && \ |
|---|
| 57 | ! [ "$(shopt -s nullglob; echo $i/bin/$NEWVERSION.zephyr?)" ] ; then |
|---|
| 58 | echo "# New version $NEWVERSION not built for arch $i..."; |
|---|
| 59 | else |
|---|
| 60 | echo "# $i" |
|---|
| 61 | |
|---|
| 62 | # Sanity -- make sure the 'barnowl' symlink is correct. |
|---|
| 63 | $E ln -sf "../../common/bin/barnowl$B" "$i/bin/barnowl$B" |
|---|
| 64 | update_symlink "$i/bin" "$NEWVERSION" "barnowl.real$B" |
|---|
| 65 | update_symlink "$i/bin" "$NEWVERSION.zephyr3" "barnowl.real$B.zephyr3" |
|---|
| 66 | update_symlink "$i/bin" "$NEWVERSION.zephyr4" "barnowl.real$B.zephyr4" |
|---|
| 67 | |
|---|
| 68 | $E ln -sf "../../common/bin/zcrypt" "$i/bin/zcrypt" |
|---|
| 69 | update_symlink "$i/bin" "zcrypt${NEWVERSION#barnowl}" "zcrypt.real" |
|---|
| 70 | update_symlink "$i/bin" "zcrypt${NEWVERSION#barnowl}.zephyr3" "zcrypt.real.zephyr3" |
|---|
| 71 | update_symlink "$i/bin" "zcrypt${NEWVERSION#barnowl}.zephyr4" "zcrypt.real.zephyr4" |
|---|
| 72 | fi |
|---|
| 73 | done; |
|---|
Note: See
TracBrowser
for help on using the repository browser.