Browse code

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

YAMAMOTO Takashi authored on 2016/03/22 14:29:47
Showing 1 changed files
... ...
@@ -300,6 +300,13 @@ function _setup_package_with_constraints_edit {
300 300
     local flags=$2
301 301
     local extras=$3
302 302
 
303
+    # Normalize the directory name to avoid
304
+    # "installation from path or url cannot be constrained to a version"
305
+    # error.
306
+    # REVISIT(yamamoto): Remove this when fixed in pip.
307
+    # https://github.com/pypa/pip/pull/3582
308
+    project_dir=$(cd $project_dir && pwd)
309
+
303 310
     if [ -n "$REQUIREMENTS_DIR" ]; then
304 311
         # Constrain this package to this project directory from here on out.
305 312
         local name