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.
This commit is contained in:
parent
53fd746705
commit
4508198507
5 changed files with 121 additions and 4 deletions
38
standalone/rpm/rpmbuild-from-standalone-tarball
Executable file
38
standalone/rpm/rpmbuild-from-standalone-tarball
Executable file
|
@ -0,0 +1,38 @@
|
|||
#!/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"
|
Loading…
Add table
Add a link
Reference in a new issue