mirror of
https://github.com/ceph/ceph
synced 2025-03-24 03:07:30 +00:00
install-deps.sh: only prepare wheels for "make check"
* move `for_make_check` to the beginning of script, as FreeBSD will also use this variable * extract `preload_wheels_for_tox()` function out to improve readability * call `preload_wheels_for_tox()` only if `for_make_check` is true Signed-off-by: Kefu Chai <kchai@redhat.com>
This commit is contained in:
parent
b0aec38341
commit
ff631a19b4
100
install-deps.sh
100
install-deps.sh
@ -231,6 +231,16 @@ EOF
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for_make_check=false
|
||||||
|
if tty -s; then
|
||||||
|
# interactive
|
||||||
|
for_make_check=true
|
||||||
|
elif [ $FOR_MAKE_CHECK ]; then
|
||||||
|
for_make_check=true
|
||||||
|
else
|
||||||
|
for_make_check=false
|
||||||
|
fi
|
||||||
|
|
||||||
if [ x$(uname)x = xFreeBSDx ]; then
|
if [ x$(uname)x = xFreeBSDx ]; then
|
||||||
$SUDO pkg install -yq \
|
$SUDO pkg install -yq \
|
||||||
devel/babeltrace \
|
devel/babeltrace \
|
||||||
@ -289,15 +299,6 @@ if [ x$(uname)x = xFreeBSDx ]; then
|
|||||||
|
|
||||||
exit
|
exit
|
||||||
else
|
else
|
||||||
for_make_check=false
|
|
||||||
if tty -s; then
|
|
||||||
# interactive
|
|
||||||
for_make_check=true
|
|
||||||
elif [ $FOR_MAKE_CHECK ]; then
|
|
||||||
for_make_check=true
|
|
||||||
else
|
|
||||||
for_make_check=false
|
|
||||||
fi
|
|
||||||
[ $WITH_SEASTAR ] && with_seastar=true || with_seastar=false
|
[ $WITH_SEASTAR ] && with_seastar=true || with_seastar=false
|
||||||
source /etc/os-release
|
source /etc/os-release
|
||||||
case $ID in
|
case $ID in
|
||||||
@ -469,44 +470,51 @@ function activate_virtualenv() {
|
|||||||
. $env_dir/bin/activate
|
. $env_dir/bin/activate
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function preload_wheels_for_tox() {
|
||||||
|
local ini=$1
|
||||||
|
shift
|
||||||
|
pushd .
|
||||||
|
cd $(dirname $ini)
|
||||||
|
local require_files=$(ls *requirements*.txt 2>/dev/null) || true
|
||||||
|
local constraint_files=$(ls *constraints*.txt 2>/dev/null) || true
|
||||||
|
local require=$(echo -n "$require_files" | sed -e 's/^/-r /')
|
||||||
|
local constraint=$(echo -n "$constraint_files" | sed -e 's/^/-c /')
|
||||||
|
local md5=wheelhouse/md5
|
||||||
|
if test "$require"; then
|
||||||
|
if ! test -f $md5 || ! md5sum -c $md5 > /dev/null; then
|
||||||
|
rm -rf wheelhouse
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if test "$require" && ! test -d wheelhouse ; then
|
||||||
|
for interpreter in python2.7 python3 ; do
|
||||||
|
type $interpreter > /dev/null 2>&1 || continue
|
||||||
|
activate_virtualenv $top_srcdir $interpreter || exit 1
|
||||||
|
populate_wheelhouse "wheel -w $wip_wheelhouse" $require $constraint || exit 1
|
||||||
|
done
|
||||||
|
mv $wip_wheelhouse wheelhouse
|
||||||
|
md5sum $require_files $constraint_files > $md5
|
||||||
|
fi
|
||||||
|
popd
|
||||||
|
}
|
||||||
|
|
||||||
# use pip cache if possible but do not store it outside of the source
|
# use pip cache if possible but do not store it outside of the source
|
||||||
# tree
|
# tree
|
||||||
# see https://pip.pypa.io/en/stable/reference/pip_install.html#caching
|
# see https://pip.pypa.io/en/stable/reference/pip_install.html#caching
|
||||||
mkdir -p install-deps-cache
|
if $for_make_check; then
|
||||||
top_srcdir=$(pwd)
|
mkdir -p install-deps-cache
|
||||||
export XDG_CACHE_HOME=$top_srcdir/install-deps-cache
|
top_srcdir=$(pwd)
|
||||||
wip_wheelhouse=wheelhouse-wip
|
export XDG_CACHE_HOME=$top_srcdir/install-deps-cache
|
||||||
|
wip_wheelhouse=wheelhouse-wip
|
||||||
|
#
|
||||||
|
# preload python modules so that tox can run without network access
|
||||||
|
#
|
||||||
|
find . -name tox.ini | while read ini ; do
|
||||||
|
preload_wheels_for_tox $ini
|
||||||
|
done
|
||||||
|
for interpreter in python2.7 python3 ; do
|
||||||
|
rm -rf $top_srcdir/install-deps-$interpreter
|
||||||
|
done
|
||||||
|
rm -rf $XDG_CACHE_HOME
|
||||||
|
git --version || (echo "Dashboard uses git to pull dependencies." ; false)
|
||||||
|
fi
|
||||||
|
|
||||||
#
|
|
||||||
# preload python modules so that tox can run without network access
|
|
||||||
#
|
|
||||||
find . -name tox.ini | while read ini ; do
|
|
||||||
(
|
|
||||||
cd $(dirname $ini)
|
|
||||||
require_files=$(ls *requirements*.txt 2>/dev/null) || true
|
|
||||||
constraint_files=$(ls *constraints*.txt 2>/dev/null) || true
|
|
||||||
require=$(echo -n "$require_files" | sed -e 's/^/-r /')
|
|
||||||
constraint=$(echo -n "$constraint_files" | sed -e 's/^/-c /')
|
|
||||||
md5=wheelhouse/md5
|
|
||||||
if test "$require"; then
|
|
||||||
if ! test -f $md5 || ! md5sum -c $md5 > /dev/null; then
|
|
||||||
rm -rf wheelhouse
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
if test "$require" && ! test -d wheelhouse ; then
|
|
||||||
for interpreter in python2.7 python3 ; do
|
|
||||||
type $interpreter > /dev/null 2>&1 || continue
|
|
||||||
activate_virtualenv $top_srcdir $interpreter || exit 1
|
|
||||||
populate_wheelhouse "wheel -w $wip_wheelhouse" $require $constraint || exit 1
|
|
||||||
done
|
|
||||||
mv $wip_wheelhouse wheelhouse
|
|
||||||
md5sum $require_files $constraint_files > $md5
|
|
||||||
fi
|
|
||||||
)
|
|
||||||
done
|
|
||||||
|
|
||||||
for interpreter in python2.7 python3 ; do
|
|
||||||
rm -rf $top_srcdir/install-deps-$interpreter
|
|
||||||
done
|
|
||||||
rm -rf $XDG_CACHE_HOME
|
|
||||||
git --version || (echo "Dashboard uses git to pull dependencies." ; false)
|
|
||||||
|
Loading…
Reference in New Issue
Block a user