diff options
Diffstat (limited to 'Build-tools/Do-rpm')
-rwxr-xr-x | Build-tools/Do-rpm | 127 |
1 files changed, 127 insertions, 0 deletions
diff --git a/Build-tools/Do-rpm b/Build-tools/Do-rpm new file mode 100755 index 00000000000..f1847604840 --- /dev/null +++ b/Build-tools/Do-rpm @@ -0,0 +1,127 @@ +#!/bin/bash + +# We built on one of two machines +bmachine=work +smachine=work +owner=my + +# Hard path!! +bpath=`/bin/pwd` +rpmdir="/usr/src/redhat" + +###### Perl STUFF ##### + +# Perl version numbers. Should be autodetected from the files in the +# Perl-mysql-modules/ directory. +DBI_VERSION="1.11" +DATA_SHOWTABLE_VERSION="3.3" +DBD_MYSQL_VERSION="1.2209" +MAKERPM="$rpmdir/SOURCES/makerpm.pl" + +####################### + +VER=`grep "AM_INIT_AUTOMAKE(mysql, " $bpath/configure.in | \ + sed -e 's;AM_INIT_AUTOMAKE(mysql, ;;' -e 's;);;'` +VER_NO_DASH=`echo $VER | sed -e "s|-.*$||"` + +echo "Building RPM for MySQL version $VER on $bmachine" + +log=$bpath/Logs/Log-RPM-`date +%y%m%d-%H%M` + +( +set -x +# Copy MySQL source and spec files +scp $bpath/mysql-$VER.tar.gz $owner@$bmachine:$rpmdir/SOURCES +scp $bpath/Docs/Images/mysql-logo.gif $owner@$bmachine:$rpmdir/SOURCES/mysql.gif +scp $bpath/support-files/mysql-$VER.spec $owner@$bmachine:$rpmdir/SPECS + +# Copy perl things. Has to be uncompressed since Compress.pm is not +# installed yet. Set CEXT to .gz when we support compression. +CEXT= +#scp $bpath/Perl-mysql-modules/To-SOURCES/* $owner@$bmachine:$rpmdir/SOURCES + +# This had to be installed on the target machince! +# http://www.perl.com/CPAN/modules/by-module/Archive/Archive-Tar-0.21.tar.gz +# cd /usr/lib/perl5/site_perl/5.005; ln -s ../* .; rm -f 5.005 + +TMP_SCRIPT_MYSQL=00-temp-for-do-rpm.$$ +cat > $bpath/Logs/$TMP_SCRIPT_MYSQL <<END +set -x + +# Check environment +export MYSQL_BUILD_PATH="/usr/cygnus/redhat-980810/H-i386-pc-linux-gnu/bin/:/usr/bin:/bin" +export MYSQL_BUILD_CFLAGS="-O6 -fomit-frame-pointer -mpentium" +export MYSQL_BUILD_CXXFLAGS="-O6 -fomit-frame-pointer \ + -felide-constructors -fno-exceptions -fno-rtti -mpentium" +gcc -v + +# Make RPM +rpm -ba $rpmdir/SPECS/mysql-$VER.spec +rm -f /tmp/$TMP_SCRIPT_MYSQL +END + +TMP_SCRIPT_PERL=00-temp-for-perl-rpm.$$ +cat > $bpath/Logs/$TMP_SCRIPT_PERL <<END +set -x + +# First clean up so we do not get old versions when wildcard matching +rm -f $rpmdir/SOURCES/DBI-*.spec +rm -f $rpmdir/RPMS/i386/Perl-*.rpm +rm -f $rpmdir/SRPMS/Perl-*.rpm +rm -f $rpmdir/RPMS/i386/MySQL*-$VER_NO_DASH*.rpm +rm -f $rpmdir/SRPMS/MySQL*-$VER_NO_DASH*.rpm + +chmod a+x ${MAKERPM} +rm + +${MAKERPM} --verbose --package-name=DBI --package-version ${DBI_VERSION} \ + --specs --source=DBI-${DBI_VERSION}.tar$CEXT + +rpm -ba $rpmdir/SPECS/DBI-${DBI_VERSION}.spec + +${MAKERPM} --verbose --package-name=Data-ShowTable \ + --package-version ${DATA_SHOWTABLE_VERSION} \ + --specs --source=Data-ShowTable-${DATA_SHOWTABLE_VERSION}.tar$CEXT + +rpm -ba $rpmdir/SPECS/Data-ShowTable-${DATA_SHOWTABLE_VERSION}.spec + +for v in ${DBD_MYSQL_VERSION}; do + ${MAKERPM} + --specs \ + --source=Msql-Mysql-modules-$v.tar$CEXT \ + --setup-dir=Msql-Mysql-modules-$v \ + --package-name=DBD-mysql \ + --package-version=$v \ + --makemakeropts='--noprompt --mysql-install --mysql-install-nodbd \ + --nomsql-install --nomsql1-install' \ + --require=perl-Data-ShowTable --require=perl-DBI + rpm -ba $rpmdir/SPECS/DBD-mysql-$v.spec +done + +for srcrpm in $rpmdir/SRPMS/perl-*.src.rpm +do + rpm --rebuild $srcrpm +done + +rm -f /tmp/$TMP_SCRIPT_PERL +END + +# scp $bpath/Logs/$TMP_SCRIPT_MYSQL $owner@$bmachine:/tmp/$TMP_SCRIPT_MYSQL + +ssh $bmachine -l $owner bash $bpath/Logs/$TMP_SCRIPT_MYSQL + +# Build perl RPM (we currently need to be root to do this and that is +# not possible) + +#scp $bpath/Logs/$TMP_SCRIPT_PERL $owner@$bmachine:/tmp/$TMP_SCRIPT_PERL +#ssh $bmachine -l root bash /tmp/$TMP_SCRIPT_PERL + +# Copy RPMs back to the source dir. We must do this here since the +# $bmachine may not have permission to access $smachine. +scp $owner@$bmachine:$rpmdir/RPMS/i386/MySQL*-$VER_NO_DASH*.rpm $bpath/NEW-RPMS +scp $owner@$bmachine:$rpmdir/SRPMS/MySQL*-$VER_NO_DASH*.rpm $bpath/NEW-RPMS + +# And the perl ones +#scp $owner@$bmachine:$rpmdir/RPMS/i386/Perl*-*.rpm $bpath/NEW-RPMS +#scp $owner@$bmachine:$rpmdir/SRPMS/Perl*-*.rpm $bpath/NEW-RPMS +) > $log 2>&1 |