summaryrefslogtreecommitdiff
path: root/bin/couchjs.tpl.in
blob: 0bc84f2f982beb09b6a42bd7b09171eab4271bbc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
#! /bin/sh -e

# @configure_input@

# Licensed under the Apache License, Version 2.0 (the "License"); you may not
# use this file except in compliance with the License.  You may obtain a copy of
# the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
# License for the specific language governing permissions and limitations under
# the License.

SCRIPT_OK=0
SCRIPT_ERROR=1

DEFAULT_VERSION=170

basename=$(basename $0)

display_version () {
    # Display version and copyright information.

    cat << EOF
$basename - %package_name% %version%

Licensed under the Apache License, Version 2.0 (the "License"); you may not use
this file except in compliance with the License.  You may obtain a copy of the
License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed
under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
CONDITIONS OF ANY KIND, either express or implied.  See the License for the
specific language governing permissions and limitations under the License.
EOF
}

display_help () {
    # Display a short description of the script's behaviour.

    cat << EOF
Usage: $basename [FILE]

The $basename command runs the %package_name% JavaScript interpreter.

The exit status is 0 for success or 1 for failure.

Options:

  -h  display a short help message and exit
  -V  display version information and exit

Report bugs at <%bug_uri%>.
EOF
}

display_error () {
    # Display a short instruction referring users to further documentation.

    if test -n "$1"; then
        echo $1 >&2
    fi
    echo >&2
    echo "Try \`"$basename" -h' for more information." >&2
    exit $SCRIPT_ERROR
}

run_couchjs () {
    # Run the JavaScript interpreter shell with options.

    exec %libbindir%/%couchjs_command_name% $@
}

parse_script_option_list () {
    # Parse the script option list and take the appropriate action.

    if ! argument_list=$(getopt hV $@); then
        display_error
    fi
    eval set -- "$argument_list"
    while [ $# -gt 0 ]; do
        case "$1" in
            -h) shift; display_help; exit $SCRIPT_OK;;
            -V) shift; display_version; exit $SCRIPT_OK;;
            --) shift; break;;
            *) break;;
        esac
    done
    option_list=$(echo $@ | sed 's/--//')
    if test -z "$option_list"; then
        display_error "You must specify a FILE."
    fi
    run_couchjs $option_list
}

parse_script_option_list $@