rpmbuild: Allow to define custom builddir
Alternative for the default of $HOME/rpmbuild. Signed-off-by: Michal Berger <michalx.berger@intel.com> Change-Id: Id1feb7207926b518deb87045fc17bb3d1d4c374e Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/8159 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
This commit is contained in:
parent
ab7bd10ad9
commit
93e6e40442
@ -11,6 +11,7 @@ fi
|
|||||||
source "$1"
|
source "$1"
|
||||||
|
|
||||||
rootdir=$(readlink -f $(dirname $0))
|
rootdir=$(readlink -f $(dirname $0))
|
||||||
|
testdir=$rootdir # to get the storage space for tests
|
||||||
source "$rootdir/test/common/autotest_common.sh"
|
source "$rootdir/test/common/autotest_common.sh"
|
||||||
|
|
||||||
function build_rpms() (
|
function build_rpms() (
|
||||||
@ -20,7 +21,7 @@ function build_rpms() (
|
|||||||
unset -v LD_LIBRARY_PATH
|
unset -v LD_LIBRARY_PATH
|
||||||
|
|
||||||
install_uninstall_rpms() {
|
install_uninstall_rpms() {
|
||||||
rpms=("$HOME/rpmbuild/RPMS/x86_64/"spdk{,-devel,{,-dpdk}-libs}-$version-1.x86_64.rpm)
|
rpms=("$builddir/rpm/x86_64/"spdk{,-devel,{,-dpdk}-libs}-$version-1.x86_64.rpm)
|
||||||
|
|
||||||
sudo rpm -i "${rpms[@]}"
|
sudo rpm -i "${rpms[@]}"
|
||||||
rpms=("${rpms[@]##*/}") rpms=("${rpms[@]%.rpm}")
|
rpms=("${rpms[@]##*/}") rpms=("${rpms[@]%.rpm}")
|
||||||
@ -31,11 +32,12 @@ function build_rpms() (
|
|||||||
}
|
}
|
||||||
|
|
||||||
build_rpm() {
|
build_rpm() {
|
||||||
MAKEFLAGS="$MAKEFLAGS" SPDK_VERSION="$version" DEPS=no "$rootdir/rpmbuild/rpm.sh" "$@"
|
BUILDDIR=$builddir MAKEFLAGS="$MAKEFLAGS" SPDK_VERSION="$version" DEPS=no "$rootdir/rpmbuild/rpm.sh" "$@"
|
||||||
install_uninstall_rpms
|
install_uninstall_rpms
|
||||||
}
|
}
|
||||||
|
|
||||||
version="test_shared"
|
version="test_shared"
|
||||||
|
builddir=$SPDK_TEST_STORAGE/test-rpm
|
||||||
run_test "build_shared_rpm" build_rpm --with-shared
|
run_test "build_shared_rpm" build_rpm --with-shared
|
||||||
|
|
||||||
if [[ -n $SPDK_TEST_NATIVE_DPDK ]]; then
|
if [[ -n $SPDK_TEST_NATIVE_DPDK ]]; then
|
||||||
|
@ -46,15 +46,18 @@ get_version() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
build_rpm() (
|
build_rpm() (
|
||||||
local macros=()
|
local macros=() dir
|
||||||
|
|
||||||
macros+=(-D "configure $configure")
|
macros+=(-D "configure $configure")
|
||||||
macros+=(-D "make $make")
|
macros+=(-D "make $make")
|
||||||
macros+=(-D "release $release")
|
macros+=(-D "release $release")
|
||||||
macros+=(-D "version $version")
|
macros+=(-D "version $version")
|
||||||
|
|
||||||
# Prepare default dir structure
|
# Adjust dir macros to update the final location of the RPMS
|
||||||
mkdir -p "$HOME"/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}
|
for dir in build buildroot rpm source spec srcrpm; do
|
||||||
|
mkdir -p "$rpmbuild_dir/$dir"
|
||||||
|
macros+=(-D "_${dir}dir $rpmbuild_dir/$dir")
|
||||||
|
done
|
||||||
|
|
||||||
if [[ $configure == *"with-shared"* || $configure == *"with-dpdk"* ]]; then
|
if [[ $configure == *"with-shared"* || $configure == *"with-dpdk"* ]]; then
|
||||||
macros+=(-D "dpdk 1")
|
macros+=(-D "dpdk 1")
|
||||||
@ -82,10 +85,10 @@ build_rpm() (
|
|||||||
|
|
||||||
fedora_python_sys_path_workaround
|
fedora_python_sys_path_workaround
|
||||||
|
|
||||||
# Despite building in-place, rpmbuild still looks under SOURCES as defined
|
# Despite building in-place, rpmbuild still looks under source dir as defined
|
||||||
# in Source:. Create a dummy file to fulfil its needs and to keep Source in
|
# in Source:. Create a dummy file to fulfil its needs and to keep Source in
|
||||||
# the .spec.
|
# the .spec.
|
||||||
: > "$rpmbuild_dir/SOURCES/spdk-$version.tar.gz"
|
: > "$rpmbuild_dir/source/spdk-$version.tar.gz"
|
||||||
|
|
||||||
printf '* Starting rpmbuild...\n'
|
printf '* Starting rpmbuild...\n'
|
||||||
rpmbuild --clean --nodebuginfo "${macros[@]}" --build-in-place -ba "$spec"
|
rpmbuild --clean --nodebuginfo "${macros[@]}" --build-in-place -ba "$spec"
|
||||||
@ -99,7 +102,7 @@ release=${RPM_RELEASE:-1}
|
|||||||
requirements=${REQUIREMENTS:-}
|
requirements=${REQUIREMENTS:-}
|
||||||
version=${SPDK_VERSION:-$(get_version)}
|
version=${SPDK_VERSION:-$(get_version)}
|
||||||
|
|
||||||
rpmbuild_dir=$HOME/rpmbuild
|
rpmbuild_dir=${BUILDDIR:-"$HOME/rpmbuild"}
|
||||||
spec=$specdir/spdk.spec
|
spec=$specdir/spdk.spec
|
||||||
|
|
||||||
build_rpm
|
build_rpm
|
||||||
|
Loading…
Reference in New Issue
Block a user