-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathbuild.sh
executable file
·74 lines (57 loc) · 1.32 KB
/
build.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
#!/bin/bash
VERSION=$1
REVISION=$2
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
BUILD_DIR="kafka_$VERSION-$REVISION"
KAFKA_DIR="$BUILD_DIR/opt/kafka"
TARFILE="kafka-$VERSION-incubating-src.tgz"
CONTROL_FILE="$BUILD_DIR/DEBIAN/control"
URL="http://mirrors.ibiblio.org/apache/incubator/kafka/kafka-$VERSION-incubating/$TARFILE"
function help {
echo ""
echo -e '\e[1;37;44mAn Ubuntu/Debian packaging script for Apache Kafka\033[0m'
echo ""
echo "USAGE: $0 VERSION REVISION"
echo ""
echo "$0 0.7.2 1"
echo ""
echo "VERSION: the Kafka release version (eg: 0.7.2)"
echo "REVISION: the revision number to use when generating the .deb (eg: 1)"
echo ""
}
if [ -z "$VERSION" ] || [ "${VERSION}xxx" = "xxx" ]
then
help
exit 1
fi
if [ -z "$REVISION" ] || [ "${REVISION}xxx" = "xxx" ]
then
help
exit 1
fi
cd $DIR
if [ ! -f "$BUILD_DIR" ]
then
cp -rp template $BUILD_DIR
fi
if [ ! -f "$TARFILE" ]
then
wget -O $TARFILE $URL
fi
if [ -f "$KAFKA_DIR" ]
then
rm -rf $KAFKA_DIR
fi
if [ -f "$BUILD_DIR.deb" ]
then
rm "$BUILD_DIR.deb"
fi
mkdir -p $KAFKA_DIR
tar -zxf $TARFILE --strip 1 -C $KAFKA_DIR
cd $KAFKA_DIR
./sbt update
./sbt package
cd $DIR
sed -i "s/\$VERSION/$VERSION/g" $CONTROL_FILE
sed -i "s/\$REVISION/$REVISION/g" $CONTROL_FILE
dpkg-deb --build $BUILD_DIR