git-annex/standalone/rpm/rpmbuild-from-standalone-tarball
Joey Hess 4508198507
building a standalone rpm from the standalone tarball
This allows the rpm to be built anywhere the necessary build deps are
available (including on debian) and the resulting package will work on as
broad a range of rpm distributions as the libc/kernel supports.

The DistributionUpdate changes to use the new script have not yet been
tested.
2019-09-13 11:53:17 -04:00

38 lines
1 KiB
Bash
Executable file

#!/bin/sh
# Create a standalone rpm from a standalone tarball.
#
# This can build a rpm for any architecture you have a standalone tarball
# for, and does not need to be run on a machine of the same architecture.
set -e
rpmarch="$1"
tarball="$2"
version="$(echo "$3" | sed 's/-.*//')"
release=1
rpmrepo="$4"
if [ -z "$rpmarch" ] || [ -z "$tarball" ] || [ -z "$version" ] || [ -z "$rpmrepo" ]; then
echo "usage: rpmbuild-from-standalone-tarball rpmarch file.tar.gz version rpmrepo"
fi
basedir="$(dirname "$0")"
tmpdir=$(mktemp -d)
trap cleanup exit
cleanup () {
rm -rf "$tmpdir"
}
cat "$tarball" | (cd "$tmpdir" && tar zx)
buildroot="$tmpdir/rpmbuild"
mkdir -p "$buildroot"
rpmbuild \
--buildroot="$buildroot" \
--define="_rpmdir `pwd`" \
--define="_rpmfilename git-annex-standalone.rpm" \
--define="version $version" \
--define="release $release" \
--target="$rpmarch" \
-bb "$basedir/git-annex-standalone.spec" \
--quiet
package="git-annex-standalone-$version-$release.$rpmarch.rpm"
mv git-annex-standalone.rpm "$rpmrepo/$package"