|
|
|
#!/bin/bash
|
|
|
|
# Run this after a new release to update dependencies
|
|
|
|
|
|
|
|
set -e
|
|
|
|
|
|
|
|
venv_dir=~/.electrum-venv
|
|
|
|
contrib=$(dirname "$0")
|
|
|
|
|
|
|
|
which virtualenv > /dev/null 2>&1 || { echo "Please install virtualenv" && exit 1; }
|
|
|
|
python3 -m hashin -h > /dev/null 2>&1 || { python3 -m pip install hashin; }
|
|
|
|
other_python=$(which python3)
|
|
|
|
|
|
|
|
for i in '' '-hw' '-binaries'; do
|
|
|
|
rm -rf "$venv_dir"
|
|
|
|
virtualenv -p $(which python3) $venv_dir
|
|
|
|
|
|
|
|
source $venv_dir/bin/activate
|
|
|
|
|
|
|
|
echo "Installing $m dependencies"
|
|
|
|
|
|
|
|
python -m pip install -r $contrib/requirements/requirements${i}.txt --upgrade
|
|
|
|
|
|
|
|
echo "OK."
|
|
|
|
|
|
|
|
requirements=$(pip freeze --all)
|
|
|
|
restricted=$(echo $requirements | $other_python $contrib/deterministic-build/find_restricted_dependencies.py)
|
|
|
|
requirements="$requirements $restricted"
|
|
|
|
|
|
|
|
echo "Generating package hashes..."
|
|
|
|
rm $contrib/deterministic-build/requirements${i}.txt
|
|
|
|
touch $contrib/deterministic-build/requirements${i}.txt
|
|
|
|
|
|
|
|
for requirement in $requirements; do
|
|
|
|
echo -e "\r Hashing $requirement..."
|
|
|
|
$other_python -m hashin -r $contrib/deterministic-build/requirements${i}.txt ${requirement}
|
|
|
|
done
|
|
|
|
|
|
|
|
echo "OK."
|
|
|
|
done
|
|
|
|
|
|
|
|
echo "Done. Updated requirements"
|