release-1.10release-1.7release-1.8release-1.9
Last change
on this file since f7cf6c2 was
72634c5,
checked in by Nelson Elhage <nelhage@mit.edu>, 15 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.