96 lines
1.8 KiB
Bash
Executable File
96 lines
1.8 KiB
Bash
Executable File
#!/bin/sh
|
|
set -f
|
|
|
|
iep_preserve_env() {
|
|
## preserve LD_PRELOAD
|
|
unset __IEP_LD_PRELOAD
|
|
__IEP_LD_PRELOAD="${LD_PRELOAD:-}"
|
|
unset LD_PRELOAD
|
|
|
|
## glibc: preserve MALLOC_ARENA_MAX
|
|
unset __IEP_MALLOC_ARENA_MAX
|
|
__IEP_MALLOC_ARENA_MAX=${MALLOC_ARENA_MAX:-2}
|
|
export MALLOC_ARENA_MAX=2
|
|
}
|
|
|
|
iep_restore_env() {
|
|
unset IEP_VERBOSE IEP_TRACE IEP_ROOT IEP_LOCAL_OVERRIDE
|
|
|
|
## restore LD_PRELOAD
|
|
if [ -n "${__IEP_LD_PRELOAD}" ] ; then
|
|
export LD_PRELOAD="${__IEP_LD_PRELOAD}"
|
|
fi
|
|
unset __IEP_LD_PRELOAD
|
|
|
|
## glibc: restore MALLOC_ARENA_MAX
|
|
if [ "${MALLOC_ARENA_MAX}" = 2 ] ; then
|
|
export MALLOC_ARENA_MAX="${__IEP_MALLOC_ARENA_MAX}"
|
|
fi
|
|
unset __IEP_MALLOC_ARENA_MAX
|
|
}
|
|
|
|
iep_preserve_env
|
|
|
|
## early setup TMPDIR (affects "mktemp")
|
|
export TMPDIR=/run/angie/tmp
|
|
[ -d "${TMPDIR}" ] || install -d -m 03777 "${TMPDIR}"
|
|
|
|
## RFC: no need to run entire entrypoint for custom command
|
|
# case "$1" in
|
|
# angie | */angie ) ;;
|
|
# * )
|
|
# unset IEP_INIT DUMB_INIT_ARGS
|
|
# iep_restore_env
|
|
# exec "$@"
|
|
# ;;
|
|
# esac
|
|
|
|
unset __IEP_SRC ; __IEP_SRC="${0##*/}"
|
|
. /image-entry.d/00-common.envsh
|
|
|
|
unexport IEP_INIT DUMB_INIT_ARGS
|
|
|
|
## run parts (if any)
|
|
while read -r f ; do
|
|
[ -n "$f" ] || continue
|
|
[ -f "$f" ] || continue
|
|
|
|
case "$f" in
|
|
*.envsh )
|
|
if ! [ -x "$f" ] ; then
|
|
log "NOT sourcing $f - not executable"
|
|
continue
|
|
fi
|
|
log_always "sourcing $f"
|
|
__IEP_SRC="$f"
|
|
. "$f"
|
|
__IEP_SRC="${0##*/}"
|
|
;;
|
|
* )
|
|
if ! [ -x "$f" ] ; then
|
|
log "NOT running $f - not executable"
|
|
continue
|
|
fi
|
|
log_always "running $f"
|
|
"$f"
|
|
;;
|
|
esac
|
|
done <<EOF
|
|
$(
|
|
if [ -d /image-entry ] ; then
|
|
overlay-dir-list.sh /image-entry.d /image-entry
|
|
else
|
|
find /image-entry.d/ -follow -type f | sort -V
|
|
fi
|
|
)
|
|
EOF
|
|
|
|
iep_restore_env
|
|
|
|
IEP_INIT=$(gobool_to_int "${IEP_INIT:-0}" 0)
|
|
if [ "${IEP_INIT}" = 0 ] ; then
|
|
exec "$@"
|
|
else
|
|
exec dumb-init ${DUMB_INIT_ARGS} "$@"
|
|
fi
|