This repository has been archived by the owner on May 18, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 4
/
new.sh
executable file
·92 lines (84 loc) · 2.65 KB
/
new.sh
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
#!/usr/bin/bash
#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License, Version 1.0 only
# (the "License"). You may not use this file except in compliance
# with the License.
#
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
# or http://www.opensolaris.org/os/licensing.
# See the License for the specific language governing permissions
# and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
# If applicable, add the following below this CDDL HEADER, with the
# fields enclosed by brackets "[]" replaced with your own identifying
# information: Portions Copyright [yyyy] [name of copyright owner]
#
# CDDL HEADER END
#
#
# Copyright 2014 OmniTI Computer Consulting, Inc. All rights reserved.
# Use is subject to license terms.
#
show_usage() {
echo "Usage: $0 [-h | -l | [-t TYPE] <NAME>]"
echo " -h : Show usage summary"
echo " -l : List available template types"
echo " -t TYPE : Optionally specify script type."
echo "Creates a new build directory under $BUILDDIR called <NAME>"
echo "and places a build script template in it."
}
if [[ -z $1 ]]; then
show_usage
exit 254
fi
SCRIPTDIR=`dirname $0`
BUILDDIR=$SCRIPTDIR/build
TYPESAVAIL="basic perl python"
# Default type if not specified
TYPE="basic"
NAME=$1
while getopts "hlt:" opt; do
case $opt in
h)
show_usage
exit
;;
l)
echo "Valid types are: $TYPESAVAIL"
exit 0
;;
t)
TYPE=$OPTARG
NAME=$3
if [[ "$TYPE" != "basic" && "$TYPE" != "perl" && "$TYPE" != "python" ]]; then
echo "Unknown type: $TYPE"
echo "Valid types are: $TYPESAVAIL"
exit 2
elif [[ -z $NAME ]]; then
echo "No name specified."
exit 2
fi
;;
esac
done
if [ ! -d "$BUILDDIR" ]; then
echo "WARNING: Creating new build script repository at $BUILDDIR" >&2
git init "$BUILDDIR" || { echo "Error: Build script repository init failed." >&2; exit 1; }
cp template/{config,site}.sh build/
fi
if [[ -d $BUILDDIR/$NAME ]]; then
echo "Error: Directory $BUILDDIR/$NAME exists."
exit 1
fi
year=`date +%Y`
echo "Creating new $TYPE build script under $BUILDDIR/$NAME"
mkdir $BUILDDIR/$NAME
cat $SCRIPTDIR/template/${TYPE}-template.sh | \
sed -e "s/@@CYEAR@@/$year/" > $BUILDDIR/$NAME/build.sh
chmod +x $BUILDDIR/$NAME/build.sh
mkdir $BUILDDIR/$NAME/patches