fix: detect correct python binary to use

Ideally python usage goes away - the dokku-installer should become a mandatory cli command, and the plugin is rewritten in golang - but for now, we need to use the correct binary when running dokku.

Closes #3714
This commit is contained in:
Jose Diaz-Gonzalez
2019-10-17 14:24:47 -04:00
parent a1860bae14
commit 50863a9b76
2 changed files with 15 additions and 1 deletions

6
debian/postinst vendored
View File

@@ -92,6 +92,12 @@ setup-dokku-installer() {
NGINX_ROOT="/etc/nginx"
[[ -x /usr/bin/openresty ]] && NGINX_ROOT="/usr/local/openresty/nginx/conf"
if command -v "python3" &>/dev/null; then
sed -i '1 s/^.*$/#!\/usr\/bin\/env python3/' /usr/share/dokku/contrib/dokku-installer.py
elif command -v "python2.7" &>/dev/null; then
sed -i '1 s/^.*$/#!\/usr\/bin\/env python2.7/' /usr/share/dokku/contrib/dokku-installer.py
fi
if [[ -f "$NGINX_ROOT/conf.d/dokku-installer.conf" ]]; then
echo "Setting up dokku-installer"
/usr/share/dokku/contrib/dokku-installer.py onboot

View File

@@ -48,7 +48,15 @@ EOF
for CONTAINER_FILE in $CONTAINER_FILES; do
CIDS+="$(<"$DOKKU_ROOT/$APP/$CONTAINER_FILE")"
done
"$DOCKER_BIN" container inspect "${CIDS[@]}" | python2.7 "$TMP_INSPECT_CMD"
local PYTHON_BIN=python
if command -v "python3" &>/dev/null; then
PYTHON_BIN=python3
elif command -v "python2.7" &>/dev/null; then
PYTHON_BIN=python2.7
fi
"$DOCKER_BIN" container inspect "${CIDS[@]}" | "$PYTHON_BIN" "$TMP_INSPECT_CMD"
}