mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-03-12 20:27:19 +00:00
freetdm: updated mkrelease.sh to download libsng-ss7 and libsng-isdn, compile
freetdm and mod_freetdm and test the ABI compatibility against older releases, through an external script, before generating the tarball.
This commit is contained in:
parent
e94913a2da
commit
f82c23ea69
@ -29,11 +29,89 @@ then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
arch=$(uname -m)
|
||||||
|
|
||||||
|
# defs
|
||||||
|
LIBSNG_ISDN_URL=ftp://ftp.sangoma.com/linux/libsng_isdn
|
||||||
|
LIBSNG_ISDN_NAME=libsng_isdn-7-current
|
||||||
|
LIBSNG_SS7_URL=ftp://ftp.sangoma.com/linux/libsng_ss7
|
||||||
|
LIBSNG_SS7_NAME=libsng_ss7-3-current
|
||||||
|
LIBSNG_ISDN_DIR="$LIBSNG_ISDN_NAME.$arch"
|
||||||
|
LIBSNG_SS7_DIR="$LIBSNG_SS7_NAME.$arch"
|
||||||
|
|
||||||
|
# download and decompress a tarball
|
||||||
|
# $1 = prefix_url, such as ftp://ftp.sangoma.com/foo/bar
|
||||||
|
# $2 = package name, such as libsng_isdn-7.0.0.x86_64
|
||||||
|
function download() {
|
||||||
|
wget $1/$2.tgz
|
||||||
|
if [ $? = 0 ]
|
||||||
|
then
|
||||||
|
tardir=$(tar -tf $2.tgz | head -n1 | sed 's,\/,,g')
|
||||||
|
tar -xvzf $2.tgz || echo "FAILED to decompress $2.tgz"
|
||||||
|
if [ "$tardir" != "$2" ]
|
||||||
|
then
|
||||||
|
mv $tardir $2 || echo "FAILED to move $tardir to $2"
|
||||||
|
fi
|
||||||
|
echo "SUCCESSFULLY downloaded $2"
|
||||||
|
else
|
||||||
|
echo "FAILED to download $1/$2.tgz"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# download and build libsng-ss7
|
||||||
|
fullname="$LIBSNG_ISDN_NAME.$arch"
|
||||||
|
if [ -d $fullname ]
|
||||||
|
then
|
||||||
|
echo "skipping isdn download since $fullname directory already exists ... remove if you want this step to be performed"
|
||||||
|
else
|
||||||
|
download $LIBSNG_ISDN_URL $fullname
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd $LIBSNG_ISDN_DIR
|
||||||
|
make DESTDIR=$INSTALLPREFIX install || echo "Failed to build libsng-isdn"
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
# download and build libsng-ss7
|
||||||
|
fullname="$LIBSNG_SS7_NAME.$arch"
|
||||||
|
if [ -d $fullname ]
|
||||||
|
then
|
||||||
|
echo "skipping ss7 download since $fullname directory already exists ... remove if you want this step to be performed"
|
||||||
|
else
|
||||||
|
download $LIBSNG_SS7_URL $fullname
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd $LIBSNG_SS7_DIR
|
||||||
|
make DESTDIR=$INSTALLPREFIX install || echo "Failed to build libsng-ss7"
|
||||||
|
cd ..
|
||||||
|
|
||||||
if [ ! -d $INSTALLPREFIX ]
|
if [ ! -d $INSTALLPREFIX ]
|
||||||
then
|
then
|
||||||
mkdir -p $INSTALLPREFIX || exit 1
|
mkdir -p $INSTALLPREFIX || exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# attempt to compile freetdm
|
||||||
|
echo "Build freetdm and mod_freetdm now..."
|
||||||
|
make all mod_freetdm || exit 1
|
||||||
|
echo "freetdm built OK"
|
||||||
|
|
||||||
|
major=$(echo "$VERSION" | cut -d. -f1)
|
||||||
|
minor=$(echo "$VERSION" | cut -d. -f2)
|
||||||
|
micro=$(echo "$VERSION" | cut -d. -f3)
|
||||||
|
release="freetdm-$VERSION"
|
||||||
|
|
||||||
|
# ABI compatibility check
|
||||||
|
if [ -x /usr/local/bin/ftdm_abi_check.py ]; then
|
||||||
|
/usr/local/bin/ftdm_abi_check.py $major
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "ABI compabitility test failed, not creating release. Either increment the major version number or fix the interface."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo -ne "\n\nWARNING: /usr/local/bin/abi_check.py not found, skipping ABI compatibility test\n\n"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# clean the source tree
|
||||||
|
rm -rf $LIBSNG_ISDN_DIR $LIBSNG_SS7_DIR
|
||||||
make clean
|
make clean
|
||||||
make mod_freetdm-clean
|
make mod_freetdm-clean
|
||||||
if [ $NODOCS = "NO" ]
|
if [ $NODOCS = "NO" ]
|
||||||
@ -41,13 +119,7 @@ then
|
|||||||
make dox || exit 1
|
make dox || exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
major=$(echo "$VERSION" | cut -d. -f1)
|
echo "Creating $release ($major.$minor.$micro) at $INSTALLPREFIX/$release (directory will be removed if exists already) ... "
|
||||||
minor=$(echo "$VERSION" | cut -d. -f2)
|
|
||||||
micro=$(echo "$VERSION" | cut -d. -f3)
|
|
||||||
release="freetdm-$VERSION"
|
|
||||||
|
|
||||||
echo "Creating $release ($major.$minor.$micro) at $INSTALLPREFIX/$release (directory will be removed if exists already) ... press any key to continue"
|
|
||||||
read
|
|
||||||
|
|
||||||
mkdir -p $INSTALLPREFIX/$release
|
mkdir -p $INSTALLPREFIX/$release
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user