- added fedora script to build rpms on fedora

This commit is contained in:
Mark Vejvoda 2011-12-09 00:51:41 +00:00
parent 201a656da4
commit 3ed8b3a58a
2 changed files with 83 additions and 0 deletions

83
mk/fedora/buildRPMs.sh Executable file
View File

@ -0,0 +1,83 @@
#!/bin/bash
# Run this script from its own folder on a Fedora based system.
# This script will install everything needed and copy the source and data archives
# then build RPM's and copy them to a destination. See the section below and
# change the variables as required (I build from my local system). Commented out
# below for example are wget calls to get source and data from the official
# sourceforge links
#
# Start changes here
#
SOURCE_PACKAGE_VER=3.6.0.1
DATA_PACKAGE_VER=$SOURCE_PACKAGE_VER
SOURCE_PACKAGE_RPM_VER=3.6.0
DATA_PACKAGE_RPM_VER=$SOURCE_PACKAGE_RPM_VER
SOURCE_COPY_CMD="cp /media/dlinknas/games/MegaGlest/megaglest-source-$SOURCE_PACKAGE_VER.tar.xz ./"
DATA_COPY_CMD="cp /media/dlinknas/games/MegaGlest/megaglest-data-$DATA_PACKAGE_VER.tar.xz ./"
#SOURCE_COPY_CMD="wget http://sourceforge.net/projects/megaglest/files/megaglest_$SOURCE_PACKAGE_RPM_VER/megaglest-source-$SOURCE_PACKAGE_VER.tar.xz/download -O megaglest-source-$SOURCE_PACKAGE_VER.tar.xz"
#DATA_COPY_CMD="wget http://sourceforge.net/projects/megaglest/files/megaglest_$DATA_PACKAGE_RPM_VER/megaglest-data-$DATA_PACKAGE_VER.tar.xz/download -O megaglest-data-$DATA_PACKAGE_VER.tar.xz"
SOURCE_PUBLISH_CMD="cp RPMS/x86_64/*.rpm /media/dlinknas/games/MegaGlest/"
DATA_PUBLISH_CMD="cp RPMS/noarch/*.rpm /media/dlinknas/games/MegaGlest/; cp RPMS/x86/*.rpm /media/dlinknas/games/MegaGlest/; cp RPMS/x86_64/*.rpm /media/dlinknas/games/MegaGlest/"
#
# End changes here
#
#remove old archives
[[ -f "megaglest-source-$SOURCE_PACKAGE_VER.tar.xz" ]] && rm "megaglest-source-$SOURCE_PACKAGE_VER.tar.xz"
[[ -f "megaglest-source-$SOURCE_PACKAGE_RPM_VER.tar.bz2" ]] && rm "megaglest-source-$SOURCE_PACKAGE_RPM_VER.tar.bz2"
[[ -f "megaglest-data-$DATA_PACKAGE_VER.tar.xz" ]] && rm "megaglest-data-$DATA_PACKAGE_VER.tar.xz"
[[ -f "megaglest-data-$DATA_PACKAGE_RPM_VER.tar.bz2" ]] && rm "megaglest-data-$DATA_PACKAGE_RPM_VER.tar.bz2"
# Get the source and data archives
echo "copying source archive [$SOURCE_COPY_CMD]"
$SOURCE_COPY_CMD
echo "setting up source archive..."
tar Jxf megaglest-source-$SOURCE_PACKAGE_VER.tar.xz >/dev/null 2>&1
tar -cvjf megaglest-source-$SOURCE_PACKAGE_RPM_VER.tar.bz2 megaglest-$SOURCE_PACKAGE_RPM_VER/ >/dev/null 2>&1
rm -rf megaglest-$SOURCE_PACKAGE_RPM_VER/
rm megaglest-source-$SOURCE_PACKAGE_VER.tar.xz
echo "copying data archive [$DATA_COPY_CMD]"
$DATA_COPY_CMD
echo "setting up data archive..."
tar Jxf megaglest-data-$DATA_PACKAGE_VER.tar.xz >/dev/null 2>&1
cd megaglest-$DATA_PACKAGE_RPM_VER/
tar -cvjf megaglest-data-$DATA_PACKAGE_RPM_VER.tar.bz2 * >/dev/null 2>&1
cd ../
mv megaglest-$DATA_PACKAGE_RPM_VER/megaglest-data-$DATA_PACKAGE_RPM_VER.tar.bz2 ./
rm -rf megaglest-$DATA_PACKAGE_RPM_VER/
rm megaglest-data-$DATA_PACKAGE_VER.tar.xz
# Install fedora dev and package tools
echo "installing fedora build tools..."
sudo yum install @development-tools
sudo yum install fedora-packager
# Install dependencies for Megaglest
echo "installing MegaGlest dependencies..."
sudo yum install cmake libX11-devel SDL-devel openal-soft-devel xerces-c-devel freeglut-devel krb5-devel libdrm-devel libidn-devel libjpeg-devel libpng-devel libssh2-devel openldap-devel libxml2-devel subversion mesa-libGL-devel mesa-libGLU-devel openal-soft-devel SDL-devel libcurl-devel c-ares-devel wxGTK-devel glew-devel libogg-devel libvorbis-devel lua-devel wxGTK-devel openssl-devel wxBase desktop-file-utils recode gcc gcc-c++ ftgl-devel ftgl autogen autogen-libopts
# create an rpm user
echo "creating rpm user (please enter the password: makerpm)"
sudo /usr/sbin/useradd makerpm
echo makerpm | sudo /usr/bin/passwd makerpm --stdin
echo "copying rpm config files..."
sudo cp megaglest-rpm-meta.tar.bz2 /home/makerpm
sudo cp megaglest-source-$SOURCE_PACKAGE_RPM_VER.tar.bz2 /home/makerpm/rpmbuild/SOURCES/
sudo cp megaglest-data-$DATA_PACKAGE_RPM_VER.tar.bz2 /home/makerpm/rpmbuild/SOURCES/
# now build the binary and data rpms
echo "building rpms..."
su - makerpm -c "rpmdev-setuptree; cd rpmbuild/; tar xvf ../megaglest-rpm-meta.tar.bz2; cd SPECS/; rpmbuild -ba megaglest.spec; cd ../; cp RPMS/x86/*.rpm /media/dlinknas/games/MegaGlest/; $SOURCE_PUBLISH_CMD; mv SOURCES/megaglest-data-3.6.0.tar.bz2 ./; rm -f SOURCES/*; mv megaglest-data-3.6.0.tar.bz2 SOURCES/; rm -f SPECS/*; mv megaglest-data.spec SPECS/; cd SPECS/; rpmbuild -ba megaglest-data.spec; cd ../; $DATA_PUBLISH_CMD; rm -f SOURCES/*; rm -f SPECS/*;"
echo "DONE building rpms"

Binary file not shown.