63 lines
1.7 KiB
Bash
Executable File
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 -
|