1
1
#! /bin/bash
2
2
3
+ [[ $IGNERR == 1 ]] || set -e
4
+ [[ $VERBOSE == 1 ]] && set -x
5
+
3
6
[[ -z $DEVICE ]] && { echo DEVICE undefined; exit 1; }
4
7
[[ -z $BINDIR ]] && { echo BINDIR undefined; exit 1; }
5
8
[[ -z $INSTALL_DIR ]] && { echo INSTALL_DIR undefined; exit 1; }
@@ -9,7 +12,7 @@ HERE="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"
9
12
. $HERE /readies/shibumi/functions
10
13
ROOT=$( realpath $HERE /..)
11
14
12
- RAMP_PROG=ramp
15
+ RAMP_PROG=" python3 -m RAMP. ramp"
13
16
REDIS_ENT_LIB_PATH=/opt/redislabs/lib
14
17
15
18
BINDIR=$( realpath $BINDIR )
@@ -18,30 +21,37 @@ INSTALL_DIR=$(realpath $INSTALL_DIR)
18
21
export LC_ALL=C.UTF-8
19
22
export LANG=C.UTF-8
20
23
24
+ export ARCH=$( $ROOT /opt/readies/bin/platform --arch)
25
+ export OS=$( $ROOT /opt/readies/bin/platform --os)
26
+ export OSNICK=$( $ROOT /opt/readies/bin/platform --osnick)
27
+
21
28
pack_ramp () {
22
29
echo " Building RAMP file ..."
23
30
cd $ROOT
31
+
32
+ local STEM=$PRODUCT .$OS -$OSNICK -$ARCH
33
+ local FQ_VER=$GIT_VER
34
+ local FQ_PACKAGE=$STEM .$FQ_VER
35
+
36
+ # this is only to extract {semantic_version} into VERSION
24
37
RAMPOUT=$( mktemp /tmp/ramp.XXXXXX)
25
38
$RAMP_PROG pack -m $ROOT /ramp.yml -o $BINDIR /$PRODUCT .{os}-{architecture}.{semantic_version}.zip $INSTALL_DIR /$PRODUCT .so 2> /dev/null | grep ' .zip' > $RAMPOUT
26
- realpath $( tail -1 $RAMPOUT ) > $BINDIR /PACKAGE
27
- cat $BINDIR /PACKAGE | sed -e " s/[^.]*\.[^.]*\.\(.*\)\.zip/\1/" > $BINDIR /VERSION
28
- cat $BINDIR /PACKAGE | sed -e " s/[^.]*\.\([^.]*\)\..*\.zip/\1/" > $BINDIR /OSARCH
29
- PACKAGE=$( cat $BINDIR /PACKAGE)
30
- VERSION=$( cat $BINDIR /VERSION)
31
- OSARCH=$( cat $BINDIR /OSARCH)
32
- $RAMP_PROG pack -m $ROOT /ramp.yml -o " $BINDIR /$PRODUCT .{os}-{architecture}.{semantic_version}.zip" \
33
- -c " BACKENDSPATH $REDIS_ENT_LIB_PATH /$PRODUCT -$DEVICE -$VERSION /backends" $INSTALL_DIR /$PRODUCT .so 2> /dev/null | grep ' .zip' > $RAMPOUT
34
- rm -f $RAMPOUT
35
- export PACK_FNAME=" $( basename $PACKAGE ) "
39
+ local rampfile=` realpath $( tail -1 $RAMPOUT ) `
40
+ rm -f $rampfile $RAMPOUT
41
+ echo ` basename $rampfile ` | sed -e " s/[^.]*\.[^.]*\.\(.*\)\.zip/\1/" > $BINDIR /VERSION
42
+ export VERSION=$( cat $BINDIR /VERSION)
43
+
44
+ $RAMP_PROG pack -m $ROOT /ramp.yml -o $BINDIR /$FQ_PACKAGE .zip \
45
+ -c " BACKENDSPATH $REDIS_ENT_LIB_PATH /$PRODUCT -$DEVICE -$VERSION /backends" $INSTALL_DIR /$PRODUCT .so > /dev/null 2>&1
36
46
37
47
cd " $BINDIR "
38
- RAMP_STEM=$PRODUCT .$OSARCH
39
- ln -sf $PACK_FNAME $RAMP_STEM .latest.zip
40
- [[ ! -z $BRANCH ]] && ln -sf $PACK_FNAME $RAMP_STEM .${BRANCH} .zip
41
- ln -sf $PACK_FNAME $RAMP_STEM .${GIT_VER} .zip
48
+ ln -sf $FQ_PACKAGE .zip $STEM .$VERSION .zip
49
+ ln -sf $FQ_PACKAGE .zip $STEM .latest.zip
50
+ # [[ ! -z $BRANCH ]] && ln -sf $FQ_PACKAGE.zip $STEM.$BRANCH.zip
42
51
43
- export RELEASE_ARTIFACTS=" $RELEASE_ARTIFACTS $PACK_FNAME $RAMP_STEM .latest.zip"
44
- export DEV_ARTIFACTS=" $DEV_ARTIFACTS $RAMP_STEM .${BRANCH} .zip $RAMP_STEM .${GIT_VER} .zip"
52
+ export RELEASE_ARTIFACTS=" $RELEASE_ARTIFACTS $STEM .$VERSION .zip $RAMP_STEM .latest.zip"
53
+ export DEV_ARTIFACTS=" $DEV_ARTIFACTS $FQ_PACKAGE .zip $STEM .$BRANCH .zip"
54
+ # [[ ! -z $BRANCH ]] && export DEV_ARTIFACTS="$DEV_ARTIFACTS $DEPS.$BRANCH.tgz"
45
55
46
56
echo " Done."
47
57
}
@@ -50,35 +60,37 @@ pack_deps() {
50
60
echo " Building dependencies file ..."
51
61
52
62
cd $ROOT
53
- PACK_FNAME=$( basename ` cat $BINDIR /PACKAGE` )
54
- ARCHOSVER=$( echo " $PACK_FNAME " | sed -e " s/^[^.]*\.\([^.]*\..*\)\.zip/\1/" )
63
+
55
64
VERSION=$( cat $BINDIR /VERSION)
65
+ local VARIANT=$OS -$OSNICK -$ARCH .$GIT_VER
66
+
67
+ local STEM=$PRODUCT -$DEVICE -dependencies.$OS -$OSNICK -$ARCH
68
+ local FQ_VER=$GIT_VER
69
+ local FQ_PACKAGE=$STEM .$FQ_VER
70
+
56
71
cd $INSTALL_DIR
72
+ local BACKENDS_DIR=$PRODUCT -$DEVICE -$VERSION
57
73
if [[ ! -h backends ]]; then
58
74
[[ ! -d backends ]] && { echo " install-$DEVICE /backend directory not found." ; exit 1; }
59
- rm -rf $PRODUCT - $DEVICE - $VERSION
60
- mkdir $PRODUCT - $DEVICE - $VERSION
75
+ rm -rf $BACKENDS_DIR
76
+ mkdir $BACKENDS_DIR
61
77
62
- mv backends $PRODUCT - $DEVICE - $VERSION
63
- ln -s $PRODUCT - $DEVICE - $VERSION /backends backends
78
+ mv backends $BACKENDS_DIR
79
+ ln -s $BACKENDS_DIR /backends backends
64
80
fi
65
- find $PRODUCT -$DEVICE -$VERSION -name " *.so*" | xargs tar pczf $BINDIR /$PRODUCT -$DEVICE -dependencies.$ARCHOSVER .tgz
66
- export DEPS_FNAME=" $PRODUCT -$DEVICE -dependencies.$ARCHOSVER .tgz"
81
+ find $BACKENDS_DIR -name " *.so*" | xargs tar pczf $BINDIR /$FQ_PACKAGE .tgz
67
82
68
83
cd " $BINDIR "
69
- DEPS_STEM=$PRODUCT -$DEVICE -dependencies.$OSARCH
70
- ln -sf $DEPS_FNAME $DEPS_STEM .latest.tgz
71
- [[ ! -z $BRANCH ]] && ln -sf $DEPS_FNAME $DEPS_STEM .${BRANCH} .tgz
72
- ln -sf $DEPS_FNAME $DEPS_STEM .${GIT_VER} .tgz
84
+ ln -sf $FQ_PACKAGE .tgz $STEM .$VERSION .tgz
85
+ ln -sf $FQ_PACKAGE .tgz $STEM .latest.tgz
86
+ # [[ ! -z $BRANCH ]] && ln -sf $FQ_PACKAGE.tgz $STEM.$BRANCH.tgz
73
87
74
- export RELEASE_ARTIFACTS=" $RELEASE_ARTIFACTS $DEPS_FNAME $DEPS_STEM .latest.tgz"
75
- export DEV_ARTIFACTS=" $DEV_ARTIFACTS $DEPS_STEM .${BRANCH} .tgz $DEPS_STEM .${GIT_VER} .tgz"
88
+ export RELEASE_ARTIFACTS=" $RELEASE_ARTIFACTS $STEM .$VERSION .tgz $STEM .latest.tgz"
89
+ export DEV_ARTIFACTS=" $DEV_ARTIFACTS $FQ_PACKAGE .tgz"
90
+ # [[ ! -z $BRANCH ]] && export DEV_ARTIFACTS="$DEV_ARTIFACTS $STEM.$BRANCH.tgz"
76
91
77
92
echo " Done."
78
- }
79
-
80
- set -e
81
- [[ $VERBOSE == 1 ]] && set -x
93
+ }
82
94
83
95
if [[ $1 == --help || $1 == help ]]; then
84
96
cat << -END
@@ -103,16 +115,20 @@ PRODUCT_LIB=$PRODUCT.so
103
115
104
116
GIT_VER=" "
105
117
if [[ -d $ROOT /.git ]]; then
106
- GIT_BRANCH=$( git rev-parse --abbrev-ref HEAD)
118
+ if [[ ! -z $BRANCH ]]; then
119
+ GIT_BRANCH=" $BRANCH "
120
+ else
121
+ GIT_BRANCH=$( git rev-parse --abbrev-ref HEAD)
122
+ fi
107
123
GIT_COMMIT=$( git describe --always --abbrev=7 --dirty=" +" )
108
124
GIT_VER=" ${GIT_BRANCH} -${GIT_COMMIT} "
109
- fi
110
-
111
- OSX= " "
112
- if [[ $( $HERE /readies/bin/platform --os ) == macosx ]] ; then
113
- # macOS: ramp is installed here
114
- OSX=1
115
- export PATH= $PATH : $HOME /Library/Python/2.7/bin
125
+ else
126
+ if [[ ! -z $BRANCH ]] ; then
127
+ GIT_BRANCH= " $BRANCH "
128
+ else
129
+ GIT_BRANCH=unknown
130
+ fi
131
+ GIT_VER= " $GIT_BRANCH "
116
132
fi
117
133
118
134
if ! command -v redis-server > /dev/null; then
@@ -126,7 +142,7 @@ pack_ramp
126
142
if [[ ! -z $INTO ]]; then
127
143
mkdir -p $INTO
128
144
cd $INTO
129
- mkdir release branch
145
+ mkdir -p release branch
130
146
131
147
for f in $RELEASE_ARTIFACTS ; do
132
148
[[ -f $BINDIR /$f ]] && cp $BINDIR /$f release/
0 commit comments