46 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
		
		
			
		
	
	
			46 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| 
								 | 
							
								#!/usr/bin/env bash
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# This script installs PyPy as a Python interpreter on a Flatcar instance.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								set -o errexit
							 | 
						||
| 
								 | 
							
								set -o nounset
							 | 
						||
| 
								 | 
							
								set -o pipefail
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[[ -n ${DEBUG:-} ]] && set -o xtrace
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								BINDIR="/opt/bin"
							 | 
						||
| 
								 | 
							
								BUILDER_ENV="/opt/bin/builder-env"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								set -x
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								mkdir -p ${BINDIR}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								cd ${BINDIR}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if [[ -e ${BINDIR}/.bootstrapped ]]; then
							 | 
						||
| 
								 | 
							
								  exit 0
							 | 
						||
| 
								 | 
							
								fi
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								PYPY_VERSION=7.2.0
							 | 
						||
| 
								 | 
							
								PYTHON3_VERSION=3.6
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								curl -sfL https://github.com/squeaky-pl/portable-pypy/releases/download/pypy-${PYPY_VERSION}/pypy-${PYPY_VERSION}-linux_x86_64-portable.tar.bz2 | tar -xjf -
							 | 
						||
| 
								 | 
							
								mv -n pypy-${PYPY_VERSION}-linux_x86_64-portable pypy2
							 | 
						||
| 
								 | 
							
								ln -s ./pypy2/bin/pypy python2
							 | 
						||
| 
								 | 
							
								ln -s ./pypy2/bin/pypy python
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								curl -sfL  https://github.com/squeaky-pl/portable-pypy/releases/download/pypy${PYTHON3_VERSION}-${PYPY_VERSION}/pypy${PYTHON3_VERSION}-${PYPY_VERSION}-linux_x86_64-portable.tar.bz2 | tar -xjf -
							 | 
						||
| 
								 | 
							
								mv -n pypy${PYTHON3_VERSION}-${PYPY_VERSION}-linux_x86_64-portable pypy3
							 | 
						||
| 
								 | 
							
								ln -s ./pypy3/bin/pypy3 python3
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								${BINDIR}/python --version
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								${BINDIR}/pypy2/bin/virtualenv-pypy ${BUILDER_ENV}
							 | 
						||
| 
								 | 
							
								chown -R core ${BUILDER_ENV}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								ln -s builder-env/bin/pip ${BINDIR}/pip
							 | 
						||
| 
								 | 
							
								# need to have symlink pip3 required by ansible/roles/providers/tasks/aws.yml
							 | 
						||
| 
								 | 
							
								ln -s builder-env/bin/pip ${BINDIR}/pip3
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								touch ${BINDIR}/.bootstrapped
							 |