2009-05-05 09:50:19 -04:00
#!/bin/bash
2010-02-08 10:25:13 -05:00
LNAME = talloc
LINCLUDE = talloc.h
2009-05-05 09:50:19 -04:00
if [ " $1 " = "" ] ; then
echo "Please provide version string, eg: 1.2.0"
exit 1
fi
2010-02-08 10:25:13 -05:00
if [ ! -d " lib/ ${ LNAME } " ] ; then
2009-05-05 09:50:19 -04:00
echo "Run this script from the samba base directory."
exit 1
fi
2009-12-15 09:17:25 -05:00
curbranch = ` git branch | grep "^*" | tr -d "* " `
2009-05-05 09:50:19 -04:00
version = $1
strver = ` echo ${ version } | tr "." "-" `
# Checkout the release tag
2010-02-08 10:25:13 -05:00
git branch -f ${ LNAME } -release-script-${ strver } ${ LNAME } -${ strver }
2009-05-05 09:50:19 -04:00
if [ ! " $? " = "0" ] ; then
2010-02-08 10:25:13 -05:00
echo " Unable to checkout ${ LNAME } - ${ strver } release "
2009-05-05 09:50:19 -04:00
exit 1
fi
2010-02-08 10:05:24 -05:00
function cleanquit {
#Clean up
git checkout $curbranch
2010-02-08 10:25:13 -05:00
git branch -d ${ LNAME } -release-script-${ strver }
2010-02-08 10:05:24 -05:00
exit $1
}
# NOTE: use cleanquit after this point
2010-02-08 10:25:13 -05:00
git checkout ${ LNAME } -release-script-${ strver }
2009-05-05 09:50:19 -04:00
# Test configure agrees with us
2010-02-08 10:25:13 -05:00
confver = ` grep "^AC_INIT" lib/${ LNAME } /configure.ac | tr -d " AC_INIT( ${ LNAME } , " | tr -d ")" `
2009-05-05 09:50:19 -04:00
if [ ! " $confver " = " $version " ] ; then
echo " Wrong version, requested release for ${ version } , found ${ confver } "
2010-02-08 10:05:24 -05:00
cleanquit 1
fi
# Check exports and signatures are up to date
2010-02-08 10:25:13 -05:00
pushd lib/${ LNAME }
./script/abi_checks.sh ${ LNAME } ${ LINCLUDE }
2010-02-08 10:05:24 -05:00
abicheck = $?
popd
if [ ! " $abicheck " = "0" ] ; then
echo "ERROR: ABI Checks produced warnings!"
cleanquit 1
2009-05-05 09:50:19 -04:00
fi
2010-02-08 10:25:13 -05:00
git clean -f -x -d lib/${ LNAME }
2010-02-08 10:05:24 -05:00
git clean -f -x -d lib/replace
2009-05-05 09:50:19 -04:00
# Now build tarball
2010-02-08 10:25:13 -05:00
cp -a lib/${ LNAME } ${ LNAME } -${ version }
cp -a lib/replace ${ LNAME } -${ version } /libreplace
pushd ${ LNAME } -${ version }
2009-05-05 09:50:19 -04:00
./autogen.sh
popd
2010-02-08 10:25:13 -05:00
tar cvzf ${ LNAME } -${ version } .tar.gz ${ LNAME } -${ version }
rm -fr ${ LNAME } -${ version }
2009-05-05 09:50:19 -04:00
2010-02-08 10:05:24 -05:00
cleanquit 0