Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add UCS-2 builds of Python to the docker image #35

Merged
merged 4 commits into from
Mar 21, 2016
Merged

Conversation

natefoo
Copy link
Member

@natefoo natefoo commented Mar 4, 2016

/opt/<major> links to the UCS-4 builds, but /opt/<major><soabi_flags> and /opt/<full><soabi_flags> are the more specific paths:

nate@mjolnir0% docker run --rm natefoo/manylinux1_x86_64 ls -l /opt
total 48
lrwxrwxrwx 1 root root  13 Mar  4 17:23 2.6 -> /opt/2.6.9mu/
drwxr-xr-x 1 root root  36 Mar  4 17:24 2.6.9m
drwxr-xr-x 1 root root  36 Mar  4 17:23 2.6.9mu
lrwxrwxrwx 1 root root  12 Mar  4 17:24 2.6m -> /opt/2.6.9m/
lrwxrwxrwx 1 root root  13 Mar  4 17:23 2.6mu -> /opt/2.6.9mu/
lrwxrwxrwx 1 root root  14 Mar  4 17:26 2.7 -> /opt/2.7.11mu/
drwxr-xr-x 1 root root  36 Mar  4 17:27 2.7.11m
drwxr-xr-x 1 root root  36 Mar  4 17:26 2.7.11mu
lrwxrwxrwx 1 root root  13 Mar  4 17:27 2.7m -> /opt/2.7.11m/
lrwxrwxrwx 1 root root  14 Mar  4 17:26 2.7mu -> /opt/2.7.11mu/
lrwxrwxrwx 1 root root  12 Mar  4 17:29 3.3 -> /opt/3.3.6m/
drwxr-xr-x 1 root root  36 Mar  4 17:29 3.3.6m
lrwxrwxrwx 1 root root  12 Mar  4 17:29 3.3m -> /opt/3.3.6m/
lrwxrwxrwx 1 root root  12 Mar  4 17:31 3.4 -> /opt/3.4.4m/
drwxr-xr-x 1 root root  36 Mar  4 17:31 3.4.4m
lrwxrwxrwx 1 root root  12 Mar  4 17:31 3.4m -> /opt/3.4.4m/
lrwxrwxrwx 1 root root  12 Mar  4 17:33 3.5 -> /opt/3.5.1m/
drwxr-xr-x 1 root root  36 Mar  4 17:33 3.5.1m
lrwxrwxrwx 1 root root  12 Mar  4 17:33 3.5m -> /opt/3.5.1m/
drwxr-xr-x 1 root root  24 Mar  4 17:18 rh

/opt/<major><soabi_flags> and /opt/<full><soabi_flags> are the more
specific paths.
fi
for soabi_flags in $soabi_flags_list; do
/opt/${PYVER}${soabi_flags}/bin/python $MY_DIR/manylinux1-check.py
done
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should probably just be

for PYTHON in /opt/*/bin/python; do
    $PYTHON $MY_DIR/manylinux1-check.py
done

it's a bit redundant (checks the same interpreters repeatedly), but the test takes a fraction of a second so who cares -- being thorough and robust seems more important.

@njsmith
Copy link
Member

njsmith commented Mar 5, 2016

Also, what's the rh directory listed in your ls output above?

@njsmith
Copy link
Member

njsmith commented Mar 5, 2016

Otherwise LGTM. One possible further enhancement would be to implement @rmcgibbo's suggestion here: #29 (comment)

@natefoo
Copy link
Member Author

natefoo commented Mar 7, 2016

/opt/rh is where devtoolset-2 is installed.

@natefoo
Copy link
Member Author

natefoo commented Mar 7, 2016

How about /opt/python/2.6.9m, /opt/python/2.6.9mu, etc. with symlinks from /opt/2.6m, /opt/2.6mu, and drop the /opt/2.6 etc. links entirely?

@njsmith
Copy link
Member

njsmith commented Mar 8, 2016

/opt/rh is where devtoolset-2 is installed.

Oh, of course, sorry.

How about /opt/python/2.6.9m, /opt/python/2.6.9mu, etc. with symlinks from /opt/2.6m, /opt/2.6mu, and drop the /opt/2.6 etc. links entirely?

I don't think it matters that much, so whatever you prefer really :-). Just so long as one can write for PIP in /<something>/*/bin/pip; do ...

@njsmith
Copy link
Member

njsmith commented Mar 8, 2016

Otherwise this looks good to merge to me -- do you want to keep extending this, or just merge as-is and do that as a separate PR?

@natefoo
Copy link
Member Author

natefoo commented Mar 8, 2016

I'll update shortly.

not include SOABI flags. `for py in /opt/*/bin/python` will now allow
looping over all supported builds.
@natefoo
Copy link
Member Author

natefoo commented Mar 8, 2016

Okay, with the latest change:

nate@mjolnir0% docker run --rm --entrypoint=/bin/sh natefoo/manylinux1_x86_64 -c 'ls -l /opt /opt/python; for py in /opt/python/*/bin/python; do $py -V; done'
/opt:
total 28
lrwxrwxrwx 1 root root 19 Mar  8 14:47 2.6m -> /opt/python/2.6.9m/
lrwxrwxrwx 1 root root 20 Mar  8 14:46 2.6mu -> /opt/python/2.6.9mu/
lrwxrwxrwx 1 root root 20 Mar  8 14:51 2.7m -> /opt/python/2.7.11m/
lrwxrwxrwx 1 root root 21 Mar  8 14:49 2.7mu -> /opt/python/2.7.11mu/
lrwxrwxrwx 1 root root 19 Mar  8 14:53 3.3m -> /opt/python/3.3.6m/
lrwxrwxrwx 1 root root 19 Mar  8 14:55 3.4m -> /opt/python/3.4.4m/
lrwxrwxrwx 1 root root 19 Mar  8 14:56 3.5m -> /opt/python/3.5.1m/
drwxr-xr-x 1 root root 92 Mar  8 14:55 python
drwxr-xr-x 1 root root 24 Mar  8 14:41 rh

/opt/python:
total 0
drwxr-xr-x 1 root root 36 Mar  8 14:47 2.6.9m
drwxr-xr-x 1 root root 36 Mar  8 14:46 2.6.9mu
drwxr-xr-x 1 root root 36 Mar  8 14:51 2.7.11m
drwxr-xr-x 1 root root 36 Mar  8 14:49 2.7.11mu
drwxr-xr-x 1 root root 36 Mar  8 14:53 3.3.6m
drwxr-xr-x 1 root root 36 Mar  8 14:55 3.4.4m
drwxr-xr-x 1 root root 36 Mar  8 14:56 3.5.1m
Python 2.6.9
Python 2.6.9
Python 2.7.11
Python 2.7.11
Python 3.3.6
Python 3.4.4
Python 3.5.1

@natefoo
Copy link
Member Author

natefoo commented Mar 15, 2016

@njsmith Does this need anything else?

@njsmith
Copy link
Member

njsmith commented Mar 18, 2016

@ogrisel
Copy link
Contributor

ogrisel commented Mar 18, 2016

This looks good to me but the README.md should be updated to document the new structure of the folders and the meaning of the "m" as you did in the email you sent to the wheel-builders mailing list.

@natefoo
Copy link
Member Author

natefoo commented Mar 18, 2016

@ogrisel Ok, I updated the README.

@ogrisel
Copy link
Contributor

ogrisel commented Mar 18, 2016

LTGM, +1 for merge.

@njsmith
Copy link
Member

njsmith commented Mar 21, 2016

Thanks @natefoo & @ogrisel

njsmith added a commit that referenced this pull request Mar 21, 2016
Add UCS-2 builds of Python to the docker image
@njsmith njsmith merged commit 8707a7c into pypa:master Mar 21, 2016
@njsmith njsmith mentioned this pull request Mar 24, 2016
5 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants