Ports: Sanitize environment before handling Ports

This keeps users from leaking their host environment variables (CFLAGS,
etc.) into Ports, and it keeps us from leaking Port-specific settings
into their dependencies.
This commit is contained in:
Tim Schumacher 2022-05-19 23:28:43 +02:00 committed by Andreas Kling
parent bdac8c53ea
commit 7550017f97
Notes: sideshowbarker 2024-07-17 10:45:27 +09:00
3 changed files with 15 additions and 0 deletions

View file

@ -21,6 +21,7 @@ PORT_TABLE_FILE = 'AvailablePorts.md'
IGNORE_FILES = {
'.gitignore',
'.port_include.sh',
'.strip_env.sh',
PORT_TABLE_FILE,
'build_all.sh',
'build_installed.sh',

View file

@ -2,6 +2,12 @@
set -eu
SCRIPT="$(dirname "${0}")"
if [ -z "${SERENITY_STRIPPED_ENV:-}" ]; then
exec "${SCRIPT}/.strip_env.sh" "${@}"
fi
unset SERENITY_STRIPPED_ENV
export MAKEJOBS="${MAKEJOBS:-$(nproc)}"
maybe_source() {

8
Ports/.strip_env.sh Executable file
View file

@ -0,0 +1,8 @@
#!/usr/bin/env bash
exec env -i SERENITY_STRIPPED_ENV=1 \
MAKEJOBS="${MAKEJOBS:-}" \
IN_SERENITY_PORT_DEV="${IN_SERENITY_PORT_DEV:-}" \
SERENITY_ARCH="${SERENITY_ARCH:-}" \
SERENITY_TOOLCHAIN="${SERENITY_TOOLCHAIN:-}" \
"${@}"