11#! /bin/bash
22
3+ [[ $IGNERR == 1 ]] || set -e
4+ [[ $VERBOSE == 1 ]] && set -x
5+
36[[ -z $DEVICE ]] && { echo DEVICE undefined; exit 1; }
47[[ -z $BINDIR ]] && { echo BINDIR undefined; exit 1; }
58[[ -z $INSTALL_DIR ]] && { echo INSTALL_DIR undefined; exit 1; }
@@ -9,7 +12,7 @@ HERE="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"
912. $HERE /readies/shibumi/functions
1013ROOT=$( realpath $HERE /..)
1114
12- RAMP_PROG=ramp
15+ RAMP_PROG=" python3 -m RAMP. ramp"
1316REDIS_ENT_LIB_PATH=/opt/redislabs/lib
1417
1518BINDIR=$( realpath $BINDIR )
@@ -18,30 +21,37 @@ INSTALL_DIR=$(realpath $INSTALL_DIR)
1821export LC_ALL=C.UTF-8
1922export LANG=C.UTF-8
2023
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+
2128pack_ramp () {
2229 echo " Building RAMP file ..."
2330 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
2437 RAMPOUT=$( mktemp /tmp/ramp.XXXXXX)
2538 $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
3646
3747 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
4251
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"
4555
4656 echo " Done."
4757}
@@ -50,35 +60,37 @@ pack_deps() {
5060 echo " Building dependencies file ..."
5161
5262 cd $ROOT
53- PACK_FNAME=$( basename ` cat $BINDIR /PACKAGE` )
54- ARCHOSVER=$( echo " $PACK_FNAME " | sed -e " s/^[^.]*\.\([^.]*\..*\)\.zip/\1/" )
63+
5564 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+
5671 cd $INSTALL_DIR
72+ local BACKENDS_DIR=$PRODUCT -$DEVICE -$VERSION
5773 if [[ ! -h backends ]]; then
5874 [[ ! -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
6177
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
6480 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
6782
6883 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
7387
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"
7691
7792 echo " Done."
78- }
79-
80- set -e
81- [[ $VERBOSE == 1 ]] && set -x
93+ }
8294
8395if [[ $1 == --help || $1 == help ]]; then
8496 cat << -END
@@ -103,16 +115,20 @@ PRODUCT_LIB=$PRODUCT.so
103115
104116GIT_VER=" "
105117if [[ -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
107123 GIT_COMMIT=$( git describe --always --abbrev=7 --dirty=" +" )
108124 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 "
116132fi
117133
118134if ! command -v redis-server > /dev/null; then
@@ -126,7 +142,7 @@ pack_ramp
126142if [[ ! -z $INTO ]]; then
127143 mkdir -p $INTO
128144 cd $INTO
129- mkdir release branch
145+ mkdir -p release branch
130146
131147 for f in $RELEASE_ARTIFACTS ; do
132148 [[ -f $BINDIR /$f ]] && cp $BINDIR /$f release/
0 commit comments