diff --git a/mk/fedora/buildRPMs.sh b/mk/fedora/buildRPMs.sh new file mode 100755 index 000000000..d4aa7b463 --- /dev/null +++ b/mk/fedora/buildRPMs.sh @@ -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" diff --git a/mk/fedora/megaglest-rpm-meta.tar.bz2 b/mk/fedora/megaglest-rpm-meta.tar.bz2 new file mode 100755 index 000000000..b88fffb43 Binary files /dev/null and b/mk/fedora/megaglest-rpm-meta.tar.bz2 differ