polardbxengine/extra/IS/dependency/easy/rpm/t_libeasy-build.sh

63 lines
1.7 KiB
Bash
Executable File

#!/bin/bash
export LANG=C
usage()
{
echo "Usage: $0 rpmdir packagename version release"
exit 0
}
if [ $# -ne 4 ]; then
usage
fi
RPM_MACROS=$HOME/.rpmmacros
if [ -e $RPM_MACROS ]; then
mv -f $RPM_MACROS $RPM_MACROS.bak
fi
TOPDIR=/tmp/.rpm_create_$$
version=$3
dist=`cat /etc/redhat-release | awk '{print int($7)}'`
if [ "$dist" == "4" ] || [ "$dist" == "5" ] || [ "$dist" == "6" ]; then
release=$4.el${dist}
else
release=$4
fi
svn_version=`svn info .. 2>&1 | grep Revision: | cut -d " " -f 2`
echo "%_topdir $TOPDIR" > $RPM_MACROS
echo "%_libeasy_version $version" >> $RPM_MACROS
echo "%_libeasy_sover ${version%.*}" >> $RPM_MACROS
echo "%_svn_version $svn_version" >> $RPM_MACROS
echo "%_release $release" >> $RPM_MACROS
cd ..
rm -f rpm/t_libeasy*.rpm
rm -rf "${TOPDIR}"
mkdir -p "${TOPDIR}/SPECS" "${TOPDIR}/SOURCES" "${TOPDIR}/SRPMS" "${TOPDIR}/RPMS" "${TOPDIR}/BUILD"
/bin/cp -f configure.ac configure.ac.rpmbak
/bin/cp -f src/libeasy.map src/libeasy.map.rpmbak
/bin/cp -f src/Makefile.am src/Makefile.am.rpmbak
sed -i -e "/AC_INIT/ s/t_libeasy, [^,]\+,/t_libeasy, ${version}-${release}-${svn_version},/" configure.ac
sed -i -e "s/^EASY_.*{/EASY_${version%.*} {/g" src/libeasy.map
sed -i -e "/version-number/ s/version-number.*/version-number ${version//./:}/g" src/Makefile.am
sh bootstrap.sh
./configure
make rpm
/bin/cp -f configure.ac.rpmbak configure.ac
/bin/cp -f src/libeasy.map.rpmbak src/libeasy.map
/bin/cp -f src/Makefile.am.rpmbak src/Makefile.am
rpmlist=`find $TOPDIR/RPMS -name "*.rpm"`
for rpm in $rpmlist
do
echo "move $rpm"
mv $rpm rpm/
done
rm -rf $TOPDIR $RPM_MACROS
if [ -f $RPM_MACROS.bak ]; then
mv -f $RPM_MACROS.bak $RPM_MACROS
fi
cd -