|
16 | 16 | # specific language governing permissions and limitations |
17 | 17 | # under the License. |
18 | 18 |
|
19 | | -CWD=`pwd` |
20 | | -RPMDIR=$CWD/../../dist/rpmbuild |
21 | | -PACK_PROJECT=cloudstack |
| 19 | +function usage() { |
| 20 | + echo "" |
| 21 | + echo "usage: ./package.sh [-p|--pack] [-h|--help] [ARGS]" |
| 22 | + echo "" |
| 23 | + echo "oss|OSS To package oss components only" |
| 24 | + echo "nonoss|NONOSS To package non-oss and oss components" |
| 25 | + echo "" |
| 26 | + echo "Examples: ./package.sh -p|--pack oss|OSS" |
| 27 | + echo " ./package.sh -p|--pack nonoss|NONOSS" |
| 28 | + echo " ./package.sh (Default OSS)" |
| 29 | + echo "" |
| 30 | + exit 1 |
| 31 | +} |
22 | 32 |
|
| 33 | +function defaultPackaging() { |
| 34 | + CWD=`pwd` |
| 35 | + RPMDIR=$CWD/../../dist/rpmbuild |
| 36 | + PACK_PROJECT=cloudstack |
| 37 | + VERSION=`(cd ../../; mvn org.apache.maven.plugins:maven-help-plugin:2.1.1:evaluate -Dexpression=project.version) | grep '^[0-9]\.'` |
23 | 38 |
|
24 | | -VERSION=`(cd ../../; mvn org.apache.maven.plugins:maven-help-plugin:2.1.1:evaluate -Dexpression=project.version) | grep '^[0-9]\.'` |
25 | | -if echo $VERSION | grep SNAPSHOT ; then |
26 | | - REALVER=`echo $VERSION | cut -d '-' -f 1` |
27 | | - DEFVER="-D_ver $REALVER" |
28 | | - DEFPRE="-D_prerelease 1" |
29 | | - DEFREL="-D_rel SNAPSHOT" |
30 | | -else |
31 | | - DEFVER="-D_ver $REALVER" |
32 | | - DEFPRE= |
33 | | - DEFREL= |
34 | | -fi |
| 39 | + if echo $VERSION | grep SNAPSHOT ; then |
| 40 | + REALVER=`echo $VERSION | cut -d '-' -f 1` |
| 41 | + DEFVER="-D_ver $REALVER" |
| 42 | + DEFPRE="-D_prerelease 1" |
| 43 | + DEFREL="-D_rel SNAPSHOT" |
| 44 | + else |
| 45 | + DEFVER="-D_ver $REALVER" |
| 46 | + DEFPRE= |
| 47 | + DEFREL= |
| 48 | + fi |
| 49 | + mkdir -p $RPMDIR/SPECS |
| 50 | + mkdir -p $RPMDIR/SOURCES/$PACK_PROJECT-$VERSION |
| 51 | + |
| 52 | + (cd ../../; tar -c --exclude .git --exclude dist . | tar -C $RPMDIR/SOURCES/$PACK_PROJECT-$VERSION -x) |
| 53 | + (cd $RPMDIR/SOURCES/; tar -czf $PACK_PROJECT-$VERSION.tgz $PACK_PROJECT-$VERSION) |
| 54 | + |
| 55 | + cp cloud.spec $RPMDIR/SPECS |
| 56 | + |
| 57 | + (cd $RPMDIR; rpmbuild -ba SPECS/cloud.spec "-D_topdir $RPMDIR" "$DEFVER" "$DEFREL" "$DEFPRE") |
| 58 | + |
| 59 | + exit |
| 60 | +} |
| 61 | + |
| 62 | +function packaging() { |
| 63 | + CWD=`pwd` |
| 64 | + RPMDIR=$CWD/../../dist/rpmbuild |
| 65 | + PACK_PROJECT=cloudstack |
| 66 | + DEFOSSNOSS="-D_ossnoss $packageval" |
| 67 | + VERSION=`(cd ../../; mvn org.apache.maven.plugins:maven-help-plugin:2.1.1:evaluate -Dexpression=project.version) | grep '^[0-9]\.'` |
35 | 68 |
|
36 | | -mkdir -p $RPMDIR/SPECS |
37 | | -mkdir -p $RPMDIR/SOURCES/$PACK_PROJECT-$VERSION |
| 69 | + if echo $VERSION | grep SNAPSHOT ; then |
| 70 | + REALVER=`echo $VERSION | cut -d '-' -f 1` |
| 71 | + DEFVER="-D_ver $REALVER" |
| 72 | + DEFPRE="-D_prerelease 1" |
| 73 | + DEFREL="-D_rel SNAPSHOT" |
| 74 | + else |
| 75 | + DEFVER="-D_ver $REALVER" |
| 76 | + DEFPRE= |
| 77 | + DEFREL= |
| 78 | + fi |
38 | 79 |
|
| 80 | + mkdir -p $RPMDIR/SPECS |
| 81 | + mkdir -p $RPMDIR/SOURCES/$PACK_PROJECT-$VERSION |
39 | 82 |
|
40 | | -(cd ../../; tar -c --exclude .git --exclude dist . | tar -C $RPMDIR/SOURCES/$PACK_PROJECT-$VERSION -x ) |
41 | | -(cd $RPMDIR/SOURCES/; tar -czf $PACK_PROJECT-$VERSION.tgz $PACK_PROJECT-$VERSION) |
| 83 | + (cd ../../; tar -c --exclude .git --exclude dist . | tar -C $RPMDIR/SOURCES/$PACK_PROJECT-$VERSION -x ) |
| 84 | + (cd $RPMDIR/SOURCES/; tar -czf $PACK_PROJECT-$VERSION.tgz $PACK_PROJECT-$VERSION) |
42 | 85 |
|
43 | | -cp cloud.spec $RPMDIR/SPECS |
| 86 | + cp cloud.spec $RPMDIR/SPECS |
44 | 87 |
|
45 | | -(cd $RPMDIR; rpmbuild -ba SPECS/cloud.spec "-D_topdir $RPMDIR" "$DEFVER" "$DEFREL" "$DEFPRE") |
| 88 | + (cd $RPMDIR; rpmbuild -ba SPECS/cloud.spec "-D_topdir $RPMDIR" "$DEFVER" "$DEFREL" "$DEFPRE" "$DEFOSSNOSS") |
| 89 | + |
| 90 | + exit |
| 91 | +} |
| 92 | + |
| 93 | + |
| 94 | +if [ $# -lt 1 ] ; then |
| 95 | + defaultPackaging |
| 96 | +elif [ $# -gt 0 ] ; then |
| 97 | + SHORTOPTS="hp:" |
| 98 | + LONGOPTS="help,pack:" |
| 99 | + ARGS=$(getopt -s bash -u -a --options $SHORTOPTS --longoptions $LONGOPTS --name $0 -- "$@" ) |
| 100 | + |
| 101 | + eval set -- "$ARGS" |
| 102 | + |
| 103 | + while [ $# -gt 0 ] ; do |
| 104 | + case "$1" in |
| 105 | + -h | --help) |
| 106 | + usage |
| 107 | + exit 0 |
| 108 | + ;; |
| 109 | + -p | --pack) |
| 110 | + echo "Packaging Apache CloudStack" |
| 111 | + packageval=$2 |
| 112 | + if [ "$packageval" == "oss" -o "$packageval" == "OSS" ] ; then |
| 113 | + defaultPackaging |
| 114 | + elif [ "$packageval" == "nonoss" -o "$packageval" == "NONOSS" ] ; then |
| 115 | + packaging |
| 116 | + else |
| 117 | + echo "Error: Incorrect usage. See help ./package.sh --help|-h." |
| 118 | + exit 1 |
| 119 | + fi |
| 120 | + ;; |
| 121 | + -) |
| 122 | + echo "Unrecognized option." |
| 123 | + usage |
| 124 | + exit 1 |
| 125 | + ;; |
| 126 | + --) |
| 127 | + echo "Unrecognized option." |
| 128 | + usage |
| 129 | + exit 1 |
| 130 | + ;; |
| 131 | + -*) |
| 132 | + echo "Unrecognized option." |
| 133 | + usage |
| 134 | + exit 1 |
| 135 | + ;; |
| 136 | + *) |
| 137 | + shift |
| 138 | + break |
| 139 | + ;; |
| 140 | + esac |
| 141 | + done |
| 142 | +else |
| 143 | + echo "Incorrect choice. Nothing to do." >&2 |
| 144 | + echo "./package.sh --help for details" |
| 145 | +fi |
0 commit comments