From decd8304a38c9f44365f99b117be3f4797cc32be Mon Sep 17 00:00:00 2001 From: Fizban Date: Wed, 3 Jun 2020 00:02:20 +1000 Subject: [PATCH] Try from image --- Dockerfile | 2 +- entrypoint.sh | 47 ++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 47 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index ad8635c..7f604c0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM ubuntu:16.04 +FROM cdrx/pyinstaller-windows COPY entrypoint.sh /entrypoint.sh RUN chmod +x /entrypoint.sh diff --git a/entrypoint.sh b/entrypoint.sh index 4944745..0c39331 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -1 +1,46 @@ -docker run -v "$(pwd)/$1:/src/" cdrx/pyinstaller-windows \ No newline at end of file +#!/bin/bash + +# Fail on errors. +set -e + +# Make sure .bashrc is sourced +. /root/.bashrc + +# Allow the workdir to be set using an env var. +# Useful for CI pipiles which use docker for their build steps +# and don't allow that much flexibility to mount volumes +SRCDIR=$1 +WORKDIR=${SRCDIR:-/src} + +# +# In case the user specified a custom URL for PYPI, then use +# that one, instead of the default one. +# +if [[ "$PYPI_URL" != "https://pypi.python.org/" ]] || \ + [[ "$PYPI_INDEX_URL" != "https://pypi.python.org/simple" ]]; then + # the funky looking regexp just extracts the hostname, excluding port + # to be used as a trusted-host. + mkdir -p /wine/drive_c/users/root/pip + echo "[global]" > /wine/drive_c/users/root/pip/pip.ini + echo "index = $PYPI_URL" >> /wine/drive_c/users/root/pip/pip.ini + echo "index-url = $PYPI_INDEX_URL" >> /wine/drive_c/users/root/pip/pip.ini + echo "trusted-host = $(echo $PYPI_URL | perl -pe 's|^.*?://(.*?)(:.*?)?/.*$|$1|')" >> /wine/drive_c/users/root/pip/pip.ini + + echo "Using custom pip.ini: " + cat /wine/drive_c/users/root/pip/pip.ini +fi + +cd $WORKDIR + +if [ -f requirements.txt ]; then + pip install -r requirements.txt +fi # [ -f requirements.txt ] + +echo "$@" + +if [[ "$@" == "" ]]; then + pyinstaller --clean -y --dist ./dist/windows --workpath /tmp *.spec + chown -R --reference=. ./dist/windows +else + sh -c "$@" +fi # [[ "$@" == "" ]]