Normalize path for upper-constraints
It seems pip distinguishes paths with .. or extra / for constraints.
For example, the following directories are considered different.
/path/to/dir
/path/to//dir
/path/to/dir/subdir/..
This commit tries to normalize the given directory name to avoid
"Could not satisfy constraints for 'xxxx': installation from path
or url cannot be constrained to a version" error due to directory
name mismatch.
Reference: https://github.com/pypa/pip/pull/3582
Closes-Bug: #1542545
Change-Id: Iae9d58c27d3b10bca16e4a471507c4d5c16439a0
diff --git a/inc/python b/inc/python
index 35bab6f..495150d 100644
--- a/inc/python
+++ b/inc/python
@@ -300,6 +300,13 @@
local flags=$2
local extras=$3
+ # Normalize the directory name to avoid
+ # "installation from path or url cannot be constrained to a version"
+ # error.
+ # REVISIT(yamamoto): Remove this when fixed in pip.
+ # https://github.com/pypa/pip/pull/3582
+ project_dir=$(cd $project_dir && pwd)
+
if [ -n "$REQUIREMENTS_DIR" ]; then
# Constrain this package to this project directory from here on out.
local name