forked from xmidt-org/talaria
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild_rpm.sh
executable file
·91 lines (69 loc) · 2.08 KB
/
build_rpm.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
#!/bin/bash
NAME=talaria
RPM_BUILD_ROOT=/root
SIGN=1
usage()
{
echo "usage: build_rpm.sh [--rpm-build-root path] [--no-sign]"
echo " --rpm-build-root - the path where /rpmbuild exists for your user"
echo " --no-sign - don't try to sign the build"
}
while [ "$1" != "" ]; do
case $1 in
--rpm-build-root ) shift
RPM_BUILD_ROOT=$1
;;
--no-sign ) SIGN=0
;;
--build-number ) shift
BUILD_NUMBER=$1
;;
-h | --help ) usage
exit
;;
* ) usage
exit 1
esac
shift
done
echo "Adjusting build number..."
taglist=`git tag -l`
tags=($taglist)
release=${tags[${#tags[@]}-1]}
if [ -z "$release" ]; then
echo "Could not find latest release tag!"
else
echo "Most recent release tag: $release"
fi
release=`echo "$release" | sed -e 's/^.*\([0-9]\+\.[0-9]\+\.[0-9]\+\).*\+$/\1/'`
new_release="$release-${BUILD_NUMBER}"
echo "Issuing release $new_release..."
echo "New base version: $release..."
echo "Building the ${NAME} rpm..."
pushd ..
cp -r ${NAME} ${NAME}-$release
tar -czvf ${NAME}-$new_release.tar.gz ${NAME}-$release
mv ${NAME}-$new_release.tar.gz ${RPM_BUILD_ROOT}/rpmbuild/SOURCES
rm -rf ${NAME}-$release
popd
# Merge the changelog into the spec file so we're consistent
cat ${NAME}.spec.in > ${NAME}.spec
cat ChangeLog >> ${NAME}.spec
if [ 0 == $SIGN ]; then
yes "" | rpmbuild -ba \
--define "_ver $release" \
--define "_releaseno ${BUILD_NUMBER}" \
--define "_fullver $new_release" \
${NAME}.spec
else
yes "" | rpmbuild -ba --sign \
--define "_signature gpg" \
--define "_gpg_name Comcast Xmidt Team <[email protected]>" \
--define "_ver $release" \
--define "_releaseno ${BUILD_NUMBER}" \
--define "_fullver $new_release" \
${NAME}.spec
fi
pushd ..
echo "$new_release" > versionno.txt
popd