mirror of
https://github.com/kennethreitz/heroku-buildpack-python.git
synced 2026-06-05 23:10:16 +00:00
purge old virtualenvs
This commit is contained in:
+13
-31
@@ -49,11 +49,9 @@ CACHED_DIRS=".heroku"
|
||||
PIP_DOWNLOAD_CACHE=${PIP_DOWNLOAD_CACHE:-$CACHE_DIR/pip_downloads}
|
||||
|
||||
# Static configurations for virtualenv caches.
|
||||
LEGACY_VIRTUALENV_LOC="."
|
||||
MODERN_VIRTUALENV_LOC=".heroku/venv"
|
||||
LEGACY_VIRTUALENV_DIRS="bin include lib"
|
||||
LEGACY_VIRTUALENV_TRIGGER="lib/python2.7"
|
||||
PROFILE_PATH="$1/.profile.d/python.sh"
|
||||
PROFILE_PATH="$BUILD_DIR/.profile.d/python.sh"
|
||||
|
||||
|
||||
# Python version. This will be used in the future to specify custom Pythons.
|
||||
@@ -66,6 +64,7 @@ unset GIT_DIR PYTHONHOME PYTHONPATH LD_LIBRARY_PATH LIBRARY_PATH
|
||||
# We'll need to send these statics to other scripts we `source`.
|
||||
export PIP_DOWNLOAD_CACHE BUILD_DIR CACHE_DIR BIN_DIR PROFILE_PATH
|
||||
|
||||
# Syntax sugar.
|
||||
source $BIN_DIR/utils
|
||||
|
||||
# ## Build Time
|
||||
@@ -96,24 +95,8 @@ mkdir -p $CACHE_DIR
|
||||
VIRTUALENV_LOC=$MODERN_VIRTUALENV_LOC
|
||||
VIRTUALENV_DIRS=$MODERN_VIRTUALENV_LOC
|
||||
|
||||
# Support "old-style" virtualenvs.
|
||||
if [ -d $CACHE_DIR/$LEGACY_VIRTUALENV_TRIGGER ]; then
|
||||
LEGACY_VIRTUALENV=true
|
||||
VIRTUALENV_LOC=$LEGACY_VIRTUALENV_LOC
|
||||
VIRTUALENV_DIRS=$LEGACY_VIRTUALENV_DIRS
|
||||
CACHED_DIRS=$LEGACY_VIRTUALENV_DIRS
|
||||
|
||||
# Warn for a checked-in virtualenv.
|
||||
if [ -d "lib" ] || [ -d "bin" ]; then
|
||||
puts-warn "You have a virtualenv checked in. You should ignore the appropriate paths in your repo. See http://devcenter.heroku.com/articles/gitignore for more info.";
|
||||
fi
|
||||
|
||||
# Reject a conflicting checked-in virtualenv.
|
||||
if [ -f "lib/python2.7" ]; then
|
||||
puts-warn "Checked-in virtualenv conflict."
|
||||
exit 1;
|
||||
fi
|
||||
fi
|
||||
# Purge "old-style" virtualenvs.
|
||||
[ -d $CACHE_DIR/$LEGACY_VIRTUALENV_TRIGGER ] && rm -fr $CACHE_DIR/*
|
||||
|
||||
# Restore old artifacts from the cache.
|
||||
for dir in $CACHED_DIRS; do
|
||||
@@ -206,16 +189,15 @@ for dir in $CACHED_DIRS; do
|
||||
done
|
||||
|
||||
# Set context environment variables.
|
||||
if [ ! -n "$LEGACY_VIRTUALENV" ]; then
|
||||
set-env PATH '$HOME/.heroku/venv/bin:$PATH'
|
||||
set-default-env PYTHONUNBUFFERED true
|
||||
set-default-env LIBRARY_PATH /app/.heroku/vendor/lib
|
||||
set-default-env LD_LIBRARY_PATH /app/.heroku/vendor/lib
|
||||
set-default-env LANG en_US.UTF-8
|
||||
set-default-env PYTHONHASHSEED random
|
||||
set-default-env PYTHONHOME /app/.heroku/venv/
|
||||
set-default-env PYTHONPATH /app/
|
||||
fi
|
||||
set-env PATH '$HOME/.heroku/venv/bin:$PATH'
|
||||
set-default-env PYTHONUNBUFFERED true
|
||||
set-default-env LIBRARY_PATH /app/.heroku/vendor/lib
|
||||
set-default-env LD_LIBRARY_PATH /app/.heroku/vendor/lib
|
||||
set-default-env LANG en_US.UTF-8
|
||||
set-default-env PYTHONHASHSEED random
|
||||
set-default-env PYTHONHOME /app/.heroku/venv/
|
||||
set-default-env PYTHONPATH /app/
|
||||
|
||||
|
||||
# ### Fin.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user