Custom shebangs for applications entrypoint

This commit is contained in:
Valentin Niess
2020-05-06 13:58:15 +02:00
parent 07adf65f99
commit 70aaa05f4e
4 changed files with 10 additions and 1 deletions

View File

@@ -1 +1,2 @@
#! /bin/bash -i
{{ python-executable }} -u "${APPDIR}/opt/python{{ python-version }}/bin/xonsh" "$@"

View File

@@ -296,6 +296,7 @@ def relocate_python(python=None, appdir=None):
entrypoint_path = PREFIX + '/data/entrypoint.sh'
entrypoint = load_template(entrypoint_path, python=PYTHON_X_Y)
dictionary = {'entrypoint': entrypoint,
'shebang': '#! /bin/bash',
'tcltk-env': tcltk_env_string(PYTHON_PKG)}
_copy_template('apprun.sh', apprun, **dictionary)

View File

@@ -247,10 +247,17 @@ def execute(appdir, name=None, python_version=None, linux_tag=None,
if entrypoint_path:
entrypoint_path = entrypoint_path[0]
log('BUNDLE', os.path.basename(entrypoint_path))
with open(entrypoint_path) as f:
shebang = f.readline().strip()
if not shebang.startswith('#!'):
shebang = '#! /bin/bash'
entrypoint = load_template(entrypoint_path, **dictionary)
python_pkg = 'AppDir/opt/python{0:}/lib/python{0:}'.format(
python_version)
dictionary = {'entrypoint': entrypoint,
'shebang': shebang,
'tcltk-env': tcltk_env_string(python_pkg)}
copy_template(PREFIX + '/data/apprun.sh', 'AppDir/AppRun',
**dictionary)

View File

@@ -1,4 +1,4 @@
#! /bin/bash
{{ shebang }}
# Export APPRUN if running from an extracted image
self="$(readlink -f -- $0)"