Browse Source
Merge pull request #4033 from MarkusTeufelberger/pypy_portable
Use Pypy portable on coreos
pull/4044/head
Chad Swenson
6 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with
19 additions and
42 deletions
-
roles/bootstrap-os/files/bootstrap.sh
-
roles/bootstrap-os/files/runner
-
roles/bootstrap-os/tasks/bootstrap-coreos.yml
-
roles/bootstrap-os/templates/python_shim.j2
|
|
@ -11,25 +11,12 @@ if [[ -e $BINDIR/.bootstrapped ]]; then |
|
|
|
exit 0 |
|
|
|
fi |
|
|
|
|
|
|
|
PYPY_VERSION=v6.0.0 |
|
|
|
PYPY_VERSION=6.0.0 |
|
|
|
|
|
|
|
wget -O - https://bitbucket.org/pypy/pypy/downloads/pypy3-$PYPY_VERSION-linux64.tar.bz2 | tar -xjf - |
|
|
|
mv -n pypy3-$PYPY_VERSION-linux64 pypy3 |
|
|
|
wget -O - https://bitbucket.org/squeaky/portable-pypy/downloads/pypy3.5-$PYPY_VERSION-linux_x86_64-portable.tar.bz2 | tar -xjf - |
|
|
|
mv -n pypy3.5-$PYPY_VERSION-linux_x86_64-portable pypy3 |
|
|
|
|
|
|
|
## library fixup |
|
|
|
mkdir -p pypy3/lib |
|
|
|
if [ -f /lib64/libncurses.so.5.9 ]; then |
|
|
|
ln -snf /lib64/libncurses.so.5.9 $BINDIR/pypy3/lib/libtinfo.so.5 |
|
|
|
elif [ -f /lib64/libncurses.so.6.1 ]; then |
|
|
|
ln -snf /lib64/libncurses.so.6.1 $BINDIR/pypy3/lib/libtinfo.so.5 |
|
|
|
fi |
|
|
|
|
|
|
|
cat > $BINDIR/python <<EOF |
|
|
|
#!/bin/bash |
|
|
|
LD_LIBRARY_PATH=$BINDIR/pypy3/lib:$LD_LIBRARY_PATH exec $BINDIR/pypy3/bin/pypy3 "\$@" |
|
|
|
EOF |
|
|
|
|
|
|
|
chmod +x $BINDIR/python |
|
|
|
ln -s ./pypy3/bin/pypy3 python |
|
|
|
$BINDIR/python --version |
|
|
|
|
|
|
|
touch $BINDIR/.bootstrapped |
|
|
@ -1,3 +0,0 @@ |
|
|
|
#!/bin/bash |
|
|
|
BINDIR="/opt/bin" |
|
|
|
LD_LIBRARY_PATH=$BINDIR/pypy3/lib:$LD_LIBRARY_PATH $BINDIR/pypy3/bin/$(basename $0) $@ |
|
|
@ -23,27 +23,19 @@ |
|
|
|
tags: |
|
|
|
- facts |
|
|
|
|
|
|
|
- name: Bootstrap | Check if we need to install pip |
|
|
|
shell: "pip3 --version" |
|
|
|
register: need_pip |
|
|
|
failed_when: false |
|
|
|
changed_when: false |
|
|
|
check_mode: no |
|
|
|
tags: |
|
|
|
- facts |
|
|
|
environment: |
|
|
|
PATH: "{{ ansible_env.PATH }}:{{ bin_dir }}" |
|
|
|
|
|
|
|
- name: Bootstrap | Install pip |
|
|
|
shell: "{{ ansible_python_interpreter }} -m ensurepip" |
|
|
|
when: need_pip.rc != 0 |
|
|
|
|
|
|
|
- name: Bootstrap | Install pip launcher |
|
|
|
copy: |
|
|
|
src: runner |
|
|
|
- name: Bootstrap | Install pip3 |
|
|
|
command: "{{ ansible_python_interpreter }} -m ensurepip" |
|
|
|
args: |
|
|
|
creates: "{{ bin_dir }}/pypy3/bin/pip3" |
|
|
|
register: pip_installed |
|
|
|
|
|
|
|
- name: Bootstrap | Install pip3 link |
|
|
|
file: |
|
|
|
src: "{{ bin_dir }}/pypy3/bin/pip3" |
|
|
|
dest: "{{ bin_dir }}/pip3" |
|
|
|
mode: 0755 |
|
|
|
when: need_pip.rc != 0 |
|
|
|
state: link |
|
|
|
when: pip_installed.changed |
|
|
|
|
|
|
|
- name: Install required python modules |
|
|
|
pip: |
|
|
@ -54,6 +46,9 @@ |
|
|
|
PATH: "{{ ansible_env.PATH }}:{{ bin_dir }}" |
|
|
|
|
|
|
|
- name: Bootstrap | Disable auto-upgrade |
|
|
|
shell: "systemctl stop locksmithd.service && systemctl mask --now locksmithd.service" |
|
|
|
systemd: |
|
|
|
name: locksmithd.service |
|
|
|
masked: true |
|
|
|
state: stopped |
|
|
|
when: |
|
|
|
- not coreos_auto_upgrade |
|
|
@ -1,2 +0,0 @@ |
|
|
|
#!/bin/bash |
|
|
|
LD_LIBRARY_PATH={{ pypy_install_path }}/lib:$LD_LIBRARY_PATH exec {{ pypy_install_path }}/bin/{{ item.src }} "$@" |