mirror of
https://github.com/FWGS/xash3d-fwgs
synced 2024-11-22 09:56:22 +01:00
80 lines
2.2 KiB
Bash
Executable File
80 lines
2.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
. scripts/lib.sh
|
|
|
|
download_sign_key()
|
|
{
|
|
echo -n "Downloading $1: "
|
|
curl https://community.omprussia.ru/documentation/files/doc/$1 -o $1 &> /dev/null || die "Can't download $1" && echo "OK"
|
|
}
|
|
|
|
pack_sources()
|
|
{
|
|
echo "Packing sources to $1..."
|
|
git ls-files --recurse-submodules | tar caf "$1" -T-
|
|
}
|
|
|
|
dependencies="SDL2-devel ImageMagick"
|
|
build_dir="build_rpm"
|
|
|
|
if [ "$1" == "aurora" ]; then
|
|
name="su.xash.Engine"
|
|
flavor="aurora"
|
|
else
|
|
name="harbour-xash3d-fwgs"
|
|
flavor="sailfish"
|
|
fi
|
|
|
|
if [ $flavor == 'aurora' ]; then
|
|
download_sign_key regular_key.pem
|
|
download_sign_key regular_cert.pem
|
|
fi
|
|
|
|
rm -fr ${build_dir}/{BUILD,SRPMS}
|
|
mkdir -p ${build_dir}/SOURCES
|
|
pack_sources ${build_dir}/SOURCES/${name}.tar
|
|
git clone https://github.com/FWGS/hlsdk-portable -b mobile_hacks
|
|
pushd hlsdk-portable
|
|
pack_sources ../${build_dir}/SOURCES/hlsdk-portable.tar
|
|
popd
|
|
|
|
sfdk_targets=`sfdk engine exec sb2-config -l | grep default | grep -v i486`
|
|
|
|
for each in $sfdk_targets; do
|
|
target_arch=${each##*-}
|
|
target_arch=${target_arch/.default/}
|
|
echo "Build for '$each' target with '$target_arch' architecture"
|
|
|
|
# install deps for current target
|
|
sfdk engine exec sb2 -t $each -R -m sdk-install zypper in -y ${dependencies}
|
|
|
|
# build RPM for current target
|
|
sfdk engine exec sb2 -t $each rpmbuild \
|
|
--define "_topdir `pwd`/${build_dir}" \
|
|
--define "_arch $target_arch" \
|
|
--define "_packagename $name" \
|
|
--define "_flavor $flavor" \
|
|
-ba scripts/sailfish/harbour-xash3d-fwgs.spec || die "Build for ${each}: FAIL"
|
|
|
|
# sign RPM packacge
|
|
if [ "$flavor" == "aurora" ]; then
|
|
echo -n "Signing RPMs: "
|
|
sfdk engine exec sb2 -t $each rpmsign-external sign --key `pwd`/regular_key.pem --cert `pwd`/regular_cert.pem `pwd`/${build_dir}/RPMS/${target_arch}/$name-0*.rpm || die "FAIL" && echo "OK"
|
|
fi
|
|
|
|
echo -n "Validate RPM: "
|
|
if [ "$flavor" == "aurora" ]; then
|
|
validator_output=`sfdk engine exec rpm-validator -p regular $(pwd)/${build_dir}/RPMS/${target_arch}/$name-0* 2>&1`
|
|
else
|
|
sfdk config target=${each/.default/}
|
|
validator_output=`sfdk check $(pwd)/${build_dir}/RPMS/${target_arch}/$name-0* 2>&1`
|
|
fi
|
|
if [ $? -ne 0 ] ; then
|
|
echo "FAIL"
|
|
echo "${validator_output}"
|
|
break;
|
|
fi
|
|
echo "OK"
|
|
done
|
|
echo "All build done! All your packages in `pwd`/build_rpm/RPMS"
|