File: release.sh

package info (click to toggle)
libsysactivity 0.6.5-2~bpo70%2B1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy-backports
  • size: 672 kB
  • sloc: ansic: 5,893; sh: 89; makefile: 43
file content (106 lines) | stat: -rwxr-xr-x 2,719 bytes parent folder | download | duplicates (3)
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
#!/bin/bash

if [ $# -ne 1 ]
then
	echo "Usage: `basename $0` {version}"
	exit 1
fi

DOTTED_VERSION=$1
SLASHED_VERSION=$(echo $DOTTED_VERSION|sed 's/\./_/g')
OLD_WORKING_DIR=`pwd`
WORKING_DIR=/tmp/libsysactivity-$RANDOM

clean () {
	rm -rf $WORKING_DIR
}

mkdir -p $WORKING_DIR
cd $WORKING_DIR

git clone git://libsysactivity.git.sourceforge.net/gitroot/libsysactivity/libsysactivity -b v${DOTTED_VERSION%.*} libsysactivity-$DOTTED_VERSION
cd libsysactivity-$DOTTED_VERSION
git checkout v$DOTTED_VERSION
cd ..

grep -r --color "	printf" $WORKING_DIR/libsysactivity-$DOTTED_VERSION/src/*
if	[ $? == 0 ]; then
	echo "There are printf() calls in the code"
	clean
	exit 2
fi

grep LIBSA_VERSION $WORKING_DIR/libsysactivity-$DOTTED_VERSION/CMakeLists.txt
read -p "Have you updated the CMakeList.txt version? (y/n) " yn
if	[ $yn != "y" ]; then
	clean
	exit 2
fi

grep SA_VERSION_ $WORKING_DIR/libsysactivity-$DOTTED_VERSION/src/common/global.h
read -p "Have you updated the version in global.h? (y/n) " yn
if	[ $yn != "y" ]; then
	clean
	exit 2
fi

grep PROJECT_NUMBER $WORKING_DIR/libsysactivity-$DOTTED_VERSION/Doxyfile
read -p "Have you updated the Doxyfile version? (y/n) " yn
if	[ $yn != "y" ]; then
	clean
	exit 2
fi

cat $WORKING_DIR/libsysactivity-$DOTTED_VERSION/cmake/libsysactivityConfigVersion.cmake
read -p "Have you updated the libsysactivityConfigVersion.cmake? (always needed) (y/n) " yn
if	[ $yn != "y" ]; then
	clean
	exit 2
fi

head $WORKING_DIR/libsysactivity-$DOTTED_VERSION/CHANGELOG
read -p "Have you updated the changelog? (y/n) " yn
if	[ $yn != "y" ]; then
	clean
	exit 2
fi

grep LIBSA_ABI_VERSION $WORKING_DIR/libsysactivity-$DOTTED_VERSION/src/CMakeLists.txt
read -p "Did you break the ABI? (y/n) " yn

for dir in DragonFly FreeBSD Linux NetBSD OpenBSD SunOS
do
	cppcheck --error-exitcode=1 -I $WORKING_DIR/libsysactivity-$DOTTED_VERSION/src/common/ -I $WORKING_DIR/libsysactivity-$DOTTED_VERSION/src/$dir/ $WORKING_DIR/libsysactivity-$DOTTED_VERSION/src/$dir/*.c
	if	[ $? != 0 ]; then
		echo "ERROR: cppcheck found an error on $dir code."
		clean
		exit 3
	fi
done

mkdir $WORKING_DIR/libsysactivity-$DOTTED_VERSION/build/
cd $WORKING_DIR/libsysactivity-$DOTTED_VERSION/build/

cmake .. -DCMAKE_BUILD_TYPE=debug && make
if	[ $? != 0 ]; then
	echo "ERROR: Can't build the CVS code."
	clean
	exit 4
fi

make -f test/Makefile && make test
if	[ $? != 0 ]; then
	echo "ERROR: Unit tests not passed."
	clean
	exit 5
fi
rm -rf $WORKING_DIR/libsysactivity-$DOTTED_VERSION/build/*
rm -rf $WORKING_DIR/libsysactivity-$DOTTED_VERSION/.git*

cd $WORKING_DIR
tar -zcvf libsysactivity-$DOTTED_VERSION.tar.gz libsysactivity-$DOTTED_VERSION

mv libsysactivity-$DOTTED_VERSION.tar.gz ~
cd $OLD_WORKING_DIR

clean