git-lfs/rpm/build_rpms.bsh
Chris Darroch 47644a6d1e rpm/build_rpms.bsh: drop unused NODEPS variable
In commit e2f770c8f5f2251976a83a5983c9ce170a764884 of PR #428
the rpm/build_rpms.bsh script was updated to run the rpmbuild command
with the --nodeps option when the NODEPS environment variable was defined
and set non-zero.

However, in commit 88430de792d96ec74846779aeb0530a4fb1ff49a of PR #654
the script was revised to always pass the --nodeps option to the
rpmbuild command, so the NODEPS environment variable no longer had
any effect, and so We can therefore remove our handling of this variable.
2022-12-28 00:09:59 -08:00

95 lines
2.5 KiB
Bash
Executable File

#!/usr/bin/env bash
set -eu
CURDIR=$(cd $(dirname ${BASH_SOURCE[0]}); pwd)
VERSION_ID=$(source /etc/os-release; echo ${VERSION_ID%%.*})
OS_NAME=$(source /etc/os-release; echo ${NAME})
OS_NAME=${OS_NAME,,}
case "${OS_NAME}" in
centos*|red*|almalinux|rocky*)
RPM_DIST=".el${VERSION_ID}"
;;
fedora)
RPM_DIST=".fc${VERSION_ID}"
;;
sles)
RPM_DIST=".sles${VERSION_ID}"
;;
opensuse)
RPM_DIST=".opensuse${VERSION_ID}"
;;
*)
RPM_DIST="%{nil}"
;;
esac
RPMBUILD=(rpmbuild --define "_topdir ${CURDIR}" --define "dist ${RPM_DIST}")
SUDO=${SUDO=`if command -v sudo > /dev/null 2>&1; then echo sudo; fi`}
export PATH=${PATH}:/usr/local/bin
set -vx
SPEC=${CURDIR}/SPECS/git-lfs.spec
$SUDO yum install -y rpm-build
mkdir -p ${CURDIR}/{BUILD,BUILDROOT,SOURCES,RPMS,SRPMS}
if ! command -v asciidoctor; then
echo "Downloading Asciidoctor ruby gem..."
pushd ${CURDIR}/SOURCES
curl -L -O https://rubygems.org/downloads/asciidoctor-2.0.17.gem
popd
echo "Building Asciidoctor ruby gem..."
"${RPMBUILD[@]}" -ba ${CURDIR}/SPECS/rubygem-asciidoctor.spec
echo "Installing Asciidoctor ruby gem..."
$SUDO yum install -y --nogpgcheck $(ls ${CURDIR}/RPMS/noarch/rubygem-*.rpm | grep -v debuginfo)
fi
rm -fr ${CURDIR}/{BUILD,BUILDROOT}
mkdir -p ${CURDIR}/{BUILD,BUILDROOT}
pushd ${CURDIR}/..
#Yes, compile lfs before compiling lfs...
FORCE_LOCALIZE=true make
#Use the version output to grab the version number and short sha
#(that yes, I could have gotten from git myself)
LFS_VERSION=$(./bin/git-lfs version | sed -r 's|.*/([0-9.]*).*|\1|')
sed -i 's|\(^Version:\s*\).*|\1'"${LFS_VERSION}"'|' "$SPEC"
popd
#Prep the SOURCES dir for git-lfs
echo "Zipping up current checkout of git-lfs..."
echo "Cleaning ${CURDIR}/tmptar"
rm -rf ${CURDIR}/tmptar
mkdir -p ${CURDIR}/tmptar/git-lfs-${LFS_VERSION}
pushd ${CURDIR}/..
#I started running out of space in the docker, so I needed to copy a little less waste
tar -c --exclude tmptar --exclude repos . | tar -x -C ${CURDIR}/tmptar/git-lfs-${LFS_VERSION}/
popd
pushd ${CURDIR}/tmptar
tar -zcf ${CURDIR}/SOURCES/git-lfs-${LFS_VERSION}.tar.gz git-lfs-${LFS_VERSION}
popd
echo "Cleaning ${CURDIR}/tmptar again"
rm -rf ${CURDIR}/tmptar
#TODO TASK 2
#cp ${CURDIR}/../docker/public.key ${CURDIR}/SOURCES/RPM-GPG-KEY-GITLFS
touch ${CURDIR}/SOURCES/RPM-GPG-KEY-GITLFS
echo "Build git-lfs rpm..."
#--no-deps added for now so you can compile without official rpms installed
"${RPMBUILD[@]}" --nodeps -ba "$SPEC"
echo "All Done!"