reloc: simplified .rpm build process
We don't really need to have two build_rpm.sh, merge it to reloc.
This commit is contained in:
parent
99e491df40
commit
f1612ef508
59
dist/redhat/build_rpm.sh
vendored
59
dist/redhat/build_rpm.sh
vendored
@ -1,59 +0,0 @@
|
||||
#!/bin/bash -e
|
||||
|
||||
PRODUCT=$(cat SCYLLA-PRODUCT-FILE)
|
||||
|
||||
. /etc/os-release
|
||||
print_usage() {
|
||||
echo "build_rpm.sh --reloc-pkg build/scylla-jmx-package.tar.gz"
|
||||
echo " --reloc-pkg specify relocatable package path"
|
||||
exit 1
|
||||
}
|
||||
RELOC_PKG=
|
||||
while [ $# -gt 0 ]; do
|
||||
case "$1" in
|
||||
"--reloc-pkg")
|
||||
RELOC_PKG=$2
|
||||
shift 2
|
||||
;;
|
||||
*)
|
||||
print_usage
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
is_redhat_variant() {
|
||||
[ -f /etc/redhat-release ]
|
||||
}
|
||||
|
||||
if [ ! -e SCYLLA-RELOCATABLE-FILE ]; then
|
||||
echo "do not directly execute build_rpm.sh, use reloc/build_rpm.sh instead."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "$RELOC_PKG" ]; then
|
||||
print_usage
|
||||
exit 1
|
||||
fi
|
||||
if [ ! -f "$RELOC_PKG" ]; then
|
||||
echo "$RELOC_PKG is not found."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
SCYLLA_VERSION=$(cat SCYLLA-VERSION-FILE)
|
||||
SCYLLA_RELEASE=$(cat SCYLLA-RELEASE-FILE)
|
||||
VERSION=$SCYLLA_VERSION-$SCYLLA_RELEASE
|
||||
|
||||
RPMBUILD=$(readlink -f ../)
|
||||
mkdir -p $RPMBUILD/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}
|
||||
|
||||
ln -fv $RELOC_PKG $RPMBUILD/SOURCES/
|
||||
|
||||
parameters=(
|
||||
-D"version $SCYLLA_VERSION"
|
||||
-D"release $SCYLLA_RELEASE"
|
||||
-D"product $PRODUCT"
|
||||
)
|
||||
|
||||
cp dist/redhat/scylla-jmx.spec $RPMBUILD/SPECS
|
||||
# this rpm can be install on both fedora / centos7, so drop distribution name from the file name
|
||||
rpmbuild -ba "${parameters[@]}" --define '_binary_payload w2.xzdio' --define "_topdir $RPMBUILD" --undefine "dist" $RPM_JOBS_OPTS $RPMBUILD/SPECS/scylla-jmx.spec
|
@ -1,19 +1,16 @@
|
||||
#!/bin/bash -e
|
||||
|
||||
. /etc/os-release
|
||||
print_usage() {
|
||||
echo "build_rpm.sh --reloc-pkg build/scylla-jmx-package.tar.gz"
|
||||
echo " --reloc-pkg specify relocatable package path"
|
||||
echo " --builddir specify rpmbuild directory"
|
||||
exit 1
|
||||
}
|
||||
RELOC_PKG=$(readlink -f build/scylla-jmx-package.tar.gz)
|
||||
RELOC_PKG=build/scylla-jmx-package.tar.gz
|
||||
BUILDDIR=build/redhat
|
||||
OPTS=""
|
||||
while [ $# -gt 0 ]; do
|
||||
case "$1" in
|
||||
"--reloc-pkg")
|
||||
OPTS="$OPTS $1 $(readlink -f $2)"
|
||||
RELOC_PKG=$2
|
||||
shift 2
|
||||
;;
|
||||
@ -27,10 +24,27 @@ while [ $# -gt 0 ]; do
|
||||
esac
|
||||
done
|
||||
|
||||
if [[ ! $OPTS =~ --reloc-pkg ]]; then
|
||||
OPTS="$OPTS --reloc-pkg $RELOC_PKG"
|
||||
fi
|
||||
RELOC_PKG=$(readlink -f $RELOC_PKG)
|
||||
RPMBUILD=$(readlink -f $BUILDDIR)
|
||||
mkdir -p "$BUILDDIR"
|
||||
tar -C "$BUILDDIR" -xpf $RELOC_PKG scylla-jmx/SCYLLA-RELEASE-FILE scylla-jmx/SCYLLA-RELOCATABLE-FILE scylla-jmx/SCYLLA-VERSION-FILE scylla-jmx/SCYLLA-PRODUCT-FILE scylla-jmx/dist/redhat
|
||||
cd "$BUILDDIR"/scylla-jmx
|
||||
exec ./dist/redhat/build_rpm.sh $OPTS
|
||||
|
||||
SCYLLA_VERSION=$(cat SCYLLA-VERSION-FILE)
|
||||
SCYLLA_RELEASE=$(cat SCYLLA-RELEASE-FILE)
|
||||
VERSION=$SCYLLA_VERSION-$SCYLLA_RELEASE
|
||||
PRODUCT=$(cat SCYLLA-PRODUCT-FILE)
|
||||
|
||||
mkdir -p $RPMBUILD/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}
|
||||
|
||||
ln -fv $RELOC_PKG $RPMBUILD/SOURCES/
|
||||
|
||||
parameters=(
|
||||
-D"version $SCYLLA_VERSION"
|
||||
-D"release $SCYLLA_RELEASE"
|
||||
-D"product $PRODUCT"
|
||||
)
|
||||
|
||||
cp dist/redhat/scylla-jmx.spec $RPMBUILD/SPECS
|
||||
# this rpm can be install on both fedora / centos7, so drop distribution name from the file name
|
||||
rpmbuild -ba "${parameters[@]}" --define '_binary_payload w2.xzdio' --define "_topdir $RPMBUILD" --undefine "dist" $RPMBUILD/SPECS/scylla-jmx.spec
|
||||
|
Loading…
x
Reference in New Issue
Block a user