summaryrefslogtreecommitdiff
path: root/lib/talloc/script/release-script.sh
blob: fd5c1eff5db4706633d0167f25be7425fdd3ccd4 (plain)
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
#!/bin/bash

if [ "$1" = "" ]; then
    echo "Please provide version string, eg: 1.2.0"
    exit 1
fi

if [ ! -d "lib/talloc" ]; then
    echo "Run this script from the samba base directory."
    exit 1
fi

# Check exports and signatures are up to date
pushd lib/talloc
./script/abi_checks.sh talloc talloc.h
abicheck=$?
popd
if [ ! "$abicheck" = "0" ]; then
    echo "ERROR: ABI Checks produced warnings!"
    exit 1
fi

git clean -f -x -d lib/talloc
git clean -f -x -d lib/replace

curbranch=`git branch |grep "^*" | tr -d "* "`

version=$1
strver=`echo ${version} | tr "." "-"`

# Checkout the release tag
git branch -f talloc-release-script-${strver} talloc-${strver}
if [ ! "$?" = "0" ];  then
    echo "Unable to checkout talloc-${strver} release"
    exit 1
fi

git checkout talloc-release-script-${strver}

# Test configure agrees with us
confver=`grep "^AC_INIT" lib/talloc/configure.ac | tr -d "AC_INIT(talloc, " | tr -d ")"`
if [ ! "$confver" = "$version" ]; then
    echo "Wrong version, requested release for ${version}, found ${confver}"
    exit 1
fi

# Now build tarball
cp -a lib/talloc talloc-${version}
cp -a lib/replace talloc-${version}/libreplace
pushd talloc-${version}
./autogen.sh
popd
tar cvzf talloc-${version}.tar.gz talloc-${version}
rm -fr talloc-${version}

#Clean up
git checkout $curbranch
git branch -d talloc-release-script-${strver}