From 7ba2e38cd6dafd1efdfb6be8f8ad1402a444a8f5 Mon Sep 17 00:00:00 2001 From: Virgil Dupras Date: Sat, 21 Dec 2013 12:13:26 -0500 Subject: [PATCH] Package PyPI dependencies right into our source package --- bootstrap.sh | 8 +++++++- package.py | 9 ++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/bootstrap.sh b/bootstrap.sh index 1ff59e2f..303a38a5 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -19,7 +19,13 @@ if [ "$(uname)" == "Darwin" ]; then pip install -r requirements-osx.txt else python3 -c "import PyQt5" >/dev/null 2>&1 || { echo >&2 "PyQt 5.1+ required. Install it and try again. Aborting"; exit 1; } - pip install -r requirements.txt + if [ -d "deps" ]; then + # We have a collection of dependencies in our source package. We might as well use it instead + # of downloading it from PyPI. + pip install --no-index --find-links=deps -r requirements.txt + else + pip install -r requirements.txt + fi fi echo "Bootstrapping complete! You can now configure, build and run dupeGuru with:" diff --git a/package.py b/package.py index ea162abf..ca3eb1f9 100644 --- a/package.py +++ b/package.py @@ -153,10 +153,17 @@ def package_arch(edition): shutil.copy(op.join('images', ed('dg{}_logo_128.png')), srcpath) def package_source_tgz(edition): + if not op.exists('deps'): + print("Downloading PyPI dependencies") + print_and_do('pip install --download=deps -r requirements.txt') + print("Creating git archive") app_version = get_module_version('core_{}'.format(edition)) - name = 'dupeguru-{}-src-{}.tar.gz'.format(edition, app_version) + name = 'dupeguru-{}-src-{}.tar'.format(edition, app_version) dest = op.join('build', name) print_and_do('git archive -o {} HEAD'.format(dest)) + print("Adding dependencies and wrapping up") + print_and_do('tar -rf {} deps'.format(dest)) + print_and_do('gzip {}'.format(dest)) def main(): args = parse_args()