OLD | NEW |
1 #!/bin/bash | 1 #!/bin/bash |
2 # | 2 # |
3 # install.sh [--uninstall] sourcefile targetfile | 3 # install.sh [--uninstall] sourcefile targetfile [install options] |
4 # | 4 # |
5 | 5 |
6 | 6 |
7 # Check for uninstall option | 7 # Check for uninstall option |
8 if test "x$1" == "x--uninstall" ; then | 8 if test "x$1" == "x--uninstall" ; then |
9 UNINSTALL=true | 9 UNINSTALL=true |
10 SOURCE=$2 | 10 SOURCE=$2 |
11 TARGET=$3 | 11 TARGET=$3 |
| 12 shift 3 |
12 else | 13 else |
13 UNINSTALL=false | 14 UNINSTALL=false |
14 SOURCE=$1 | 15 SOURCE=$1 |
15 TARGET=$2 | 16 TARGET=$2 |
| 17 shift 2 |
16 fi | 18 fi |
17 | 19 |
18 # Check usage | 20 # Check usage |
19 if test -z "$SOURCE" || test -z "$TARGET" ; then | 21 if test -z "$SOURCE" || test -z "$TARGET" ; then |
20 echo Usage: install.sh [--uninstall] source target >&2 | 22 echo Usage: install.sh [--uninstall] source target [install options] >&2 |
21 exit 1 | 23 exit 1 |
22 fi | 24 fi |
23 | 25 |
24 | 26 |
25 # | 27 # |
26 # do_install(SOURCE_FILE, TARGET_FILE) | 28 # do_install(SOURCE_FILE, TARGET_FILE) |
27 # | 29 # |
28 | 30 |
29 do_install() | 31 do_install() |
30 { | 32 { |
31 local SOURCE=$1 | 33 local SOURCE=$1 |
32 local TARGET=$2 | 34 local TARGET=$2 |
| 35 local PARAMS=$3 |
33 | 36 |
34 install -D $SOURCE $TARGET | 37 install -p -D $PARAMS $SOURCE $TARGET |
35 } | 38 } |
36 | 39 |
37 | 40 |
38 # | 41 # |
39 # do_uninstall(SOURCE_FILE, TARGET_FILE) | 42 # do_uninstall(SOURCE_FILE, TARGET_FILE) |
40 # | 43 # |
41 | 44 |
42 do_uninstall() | 45 do_uninstall() |
43 { | 46 { |
44 local SOURCE=$1 | 47 local SOURCE=$1 |
(...skipping 10 matching lines...) Expand all Loading... |
55 else | 58 else |
56 echo WARNING: Skipping uninstall for $TARGET - not installed! >&2 | 59 echo WARNING: Skipping uninstall for $TARGET - not installed! >&2 |
57 fi | 60 fi |
58 } | 61 } |
59 | 62 |
60 | 63 |
61 # Call sub routine | 64 # Call sub routine |
62 if $UNINSTALL ; then | 65 if $UNINSTALL ; then |
63 do_uninstall $SOURCE $TARGET | 66 do_uninstall $SOURCE $TARGET |
64 else | 67 else |
65 do_install $SOURCE $TARGET | 68 do_install $SOURCE $TARGET "$*" |
66 fi | 69 fi |
67 | 70 |
68 exit 0 | 71 exit 0 |
OLD | NEW |