Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
H
heroku-buildpack-python
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
0
Merge Requests
0
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Python-Dev
heroku-buildpack-python
Commits
19513067
Commit
19513067
authored
Dec 19, 2016
by
Kenneth Reitz
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dash-e'
# Conflicts: # bin/compile
parents
753c912e
94514a81
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
29 additions
and
30 deletions
+29
-30
compile
bin/compile
+29
-30
No files found.
bin/compile
View file @
19513067
...
@@ -27,8 +27,9 @@ BUILD_DIR=$1
...
@@ -27,8 +27,9 @@ BUILD_DIR=$1
CACHE_DIR
=
$2
CACHE_DIR
=
$2
ENV_DIR
=
$3
ENV_DIR
=
$3
# Export path environment variables for sub-scripts.
# Static configurations for virtualenv caches.
export
BIN_DIR ROOT_DIR BUILD_DIR CACHE_DIR ENV_DIR
VIRTUALENV_LOC
=
".heroku/venv"
LEGACY_TRIGGER
=
"lib/python2.7"
DEFAULT_PYTHON_VERSION
=
"python-2.7.13"
DEFAULT_PYTHON_VERSION
=
"python-2.7.13"
DEFAULT_PYTHON_STACK
=
"cedar-14"
DEFAULT_PYTHON_STACK
=
"cedar-14"
...
@@ -132,35 +133,33 @@ fi
...
@@ -132,35 +133,33 @@ fi
# Prepare the cache.
# Prepare the cache.
mkdir
-p
$CACHE_DIR
mkdir
-p
$CACHE_DIR
# Purge "old-style" virtualenvs.
bpwatch start clear_old_venvs
[
-d
$CACHE_DIR
/
$LEGACY_TRIGGER
]
&&
rm
-fr
$CACHE_DIR
/.heroku/bin
$CACHE_DIR
/.heroku/lib
$CACHE_DIR
/.heroku/include
[
-d
$CACHE_DIR
/
$VIRTUALENV_LOC
]
&&
rm
-fr
$CACHE_DIR
/.heroku/venv
$CACHE_DIR
/.heroku/src
bpwatch stop clear_old_venvs
# Restore old artifacts from the cache.
# Restore old artifacts from the cache.
bpwatch start restore_cache
bpwatch start restore_cache
mkdir
-p
.heroku
mkdir
-p
.heroku
cp
-R
$CACHE_DIR
/.heroku/python .heroku/ &> /dev/null
||
true
cp
-R
$CACHE_DIR
/.heroku/python-stack .heroku/ &> /dev/null
||
true
cp
-R
$CACHE_DIR
/.heroku/python-version .heroku/ &> /dev/null
||
true
cp
-R
$CACHE_DIR
/.heroku/vendor .heroku/ &> /dev/null
||
true
cp
-R
$CACHE_DIR
/.heroku/venv .heroku/ &> /dev/null
||
true
if
[[
-d
$CACHE_DIR
/.heroku/src
]]
;
then
cp
-R
$CACHE_DIR
/.heroku/src .heroku/ &> /dev/null
||
true
fi
cp
-R
$CACHE_DIR
/.heroku/python .heroku/ &> /dev/null
||
true
cp
-R
$CACHE_DIR
/.heroku/python-stack .heroku/ &> /dev/null
||
true
cp
-R
$CACHE_DIR
/.heroku/python-version .heroku/ &> /dev/null
||
true
cp
-R
$CACHE_DIR
/.heroku/vendor .heroku/ &> /dev/null
||
true
cp
-R
$CACHE_DIR
/.heroku/venv .heroku/ &> /dev/null
||
true
bpwatch stop restore_cache
bpwatch stop restore_cache
mkdir
-p
$(
dirname
$PROFILE_PATH
)
mkdir
-p
$(
dirname
$PROFILE_PATH
)
# Make the directory for -e pip installations.
mkdir
-p
/app/.heroku/src
if
[[
$BUILD_DIR
!=
'/app'
]]
;
then
if
[[
$BUILD_DIR
!=
'/app'
]]
;
then
# python expects to reside in /app, so set up symlinks
# python expects to reside in /app, so set up symlinks
# we will not remove these later so subsequent buildpacks can still invoke it
# we will not remove these later so subsequent buildpacks can still invoke it
ln
-s
$BUILD_DIR
/.heroku/python /app/.heroku/python
ln
-s
$BUILD_DIR
/.heroku/python /app/.heroku/python
ln
-s
$BUILD_DIR
/.heroku/vendor /app/.heroku/vendor
ln
-s
$BUILD_DIR
/.heroku/src /app/.heroku/src
ln
-s
$BUILD_DIR
/.heroku/venv /app/.heroku/venv
ln
-s
$BUILD_DIR
/.heroku/vendor /app/.heroku/vendor
# NOTE: /app/.heroku/src also exists, but is copied manually later.
ln
-s
$BUILD_DIR
/.heroku/venv /app/.heroku/venv
fi
fi
# Install Python.
# Install Python.
...
@@ -187,13 +186,20 @@ sub-env $BIN_DIR/steps/geo-libs
...
@@ -187,13 +186,20 @@ sub-env $BIN_DIR/steps/geo-libs
# GDAL support.
# GDAL support.
source
$BIN_DIR
/steps/gdal
source
$BIN_DIR
/steps/gdal
# rewrite any existing egg links to point to the build dir so pip does not fail with a mismatch error
find .heroku/python/lib/python
*
/site-packages/
-name
"*.egg-link"
-print0
| xargs
-r
-0
-n
1
sed
-i
-e
"s#/app/#
$(
pwd
)
/#"
find .heroku/python/lib/python
*
/site-packages/
-name
"*.pth"
-print0
| xargs
-r
-0
-n
1
sed
-i
-e
"s#/app/#/
$(
pwd
)
/#"
# Install dependencies with Pip.
# Install dependencies with Pip.
source
$BIN_DIR
/steps/pip-install
source
$BIN_DIR
/steps/pip-install
# rewrite build dir in egg links to /app so things are found at runtime
find .heroku/python/lib/python
*
/site-packages/
-name
"*.egg-link"
-print0
| xargs
-r
-0
-n
1
sed
-i
-e
"s#
$(
pwd
)
/#/app/#"
find .heroku/python/lib/python
*
/site-packages/
-name
"*.pth"
-print0
| xargs
-r
-0
-n
1
sed
-i
-e
"s#
$(
pwd
)
/#/app/#"
# Django collectstatic support.
# Django collectstatic support.
sub-env
$BIN_DIR
/steps/collectstatic
sub-env
$BIN_DIR
/steps/collectstatic
# Create .profile script for application runtime environment variables.
# Create .profile script for application runtime environment variables.
set-env PATH
'$HOME/.heroku/python/bin:$PATH'
set-env PATH
'$HOME/.heroku/python/bin:$PATH'
set-env PYTHONUNBUFFERED
true
set-env PYTHONUNBUFFERED
true
...
@@ -207,11 +213,6 @@ set-default-env PYTHONPATH /app/
...
@@ -207,11 +213,6 @@ set-default-env PYTHONPATH /app/
# Install sane-default script for $WEB_CONCURRENCY and $FORWARDED_ALLOW_IPS.
# Install sane-default script for $WEB_CONCURRENCY and $FORWARDED_ALLOW_IPS.
cp
$ROOT_DIR
/vendor/python.gunicorn.sh
$GUNICORN_PROFILE_PATH
cp
$ROOT_DIR
/vendor/python.gunicorn.sh
$GUNICORN_PROFILE_PATH
# Symlink the directory for -e pip installations
if
[[
$BUILD_DIR
!=
'/app'
]]
;
then
deep-cp /app/.heroku/src
$BUILD_DIR
/.heroku/src
ln
-s
/app/.heroku/src
$BUILD_DIR
/.heroku/src
fi
# Experimental post_compile hook.
# Experimental post_compile hook.
bpwatch start post_compile
bpwatch start post_compile
...
@@ -226,7 +227,6 @@ bpwatch start dump_cache
...
@@ -226,7 +227,6 @@ bpwatch start dump_cache
rm
-rf
$CACHE_DIR
/.heroku/python-stack
rm
-rf
$CACHE_DIR
/.heroku/python-stack
rm
-rf
$CACHE_DIR
/.heroku/vendor
rm
-rf
$CACHE_DIR
/.heroku/vendor
rm
-rf
$CACHE_DIR
/.heroku/venv
rm
-rf
$CACHE_DIR
/.heroku/venv
rm
-rf
$CACHE_DIR
/.heroku/src
mkdir
-p
$CACHE_DIR
/.heroku
mkdir
-p
$CACHE_DIR
/.heroku
cp
-R
.heroku/python
$CACHE_DIR
/.heroku/
cp
-R
.heroku/python
$CACHE_DIR
/.heroku/
...
@@ -234,7 +234,6 @@ bpwatch start dump_cache
...
@@ -234,7 +234,6 @@ bpwatch start dump_cache
cp
-R
.heroku/python-stack
$CACHE_DIR
/.heroku/ &> /dev/null
||
true
cp
-R
.heroku/python-stack
$CACHE_DIR
/.heroku/ &> /dev/null
||
true
cp
-R
.heroku/vendor
$CACHE_DIR
/.heroku/ &> /dev/null
||
true
cp
-R
.heroku/vendor
$CACHE_DIR
/.heroku/ &> /dev/null
||
true
cp
-R
.heroku/venv
$CACHE_DIR
/.heroku/ &> /dev/null
||
true
cp
-R
.heroku/venv
$CACHE_DIR
/.heroku/ &> /dev/null
||
true
cp
-R
.heroku/src
$CACHE_DIR
/.heroku/ &> /dev/null
||
true
bpwatch stop dump_cache
bpwatch stop dump_cache
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment