diff --git a/dist/redhat/build_rpm.sh b/dist/redhat/build_rpm.sh deleted file mode 100755 index 4e7e8cf..0000000 --- a/dist/redhat/build_rpm.sh +++ /dev/null @@ -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 diff --git a/reloc/build_rpm.sh b/reloc/build_rpm.sh index 36772a5..2c5a229 100755 --- a/reloc/build_rpm.sh +++ b/reloc/build_rpm.sh @@ -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