#!/bin/bash # SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors # SPDX-FileCopyrightText: 2023 SeleniumHQ and contributors # SPDX-License-Identifier: Apache-2.0 # Originally adjusted from https://github.com/SeleniumHQ/docker-selenium/blob/c6df1ab8dc6a5aca05c163c429a062ada1d79c51/NodeChrome/wrap_chrome_binary # which is licensed under the Apache license 2.0 (https://github.com/SeleniumHQ/docker-selenium/blob/c6df1ab8dc6a5aca05c163c429a062ada1d79c51/LICENSE.md) WRAPPER_PATH=$(readlink -f /usr/bin/chromium) BASE_PATH="$WRAPPER_PATH-base" mv "$WRAPPER_PATH" "$BASE_PATH" cat > "$WRAPPER_PATH" <<_EOF #!/bin/bash # umask 002 ensures default permissions of files are 664 (rw-rw-r--) and directories are 775 (rwxrwxr-x). umask 002 # Debian/Ubuntu seems to not respect --lang, it instead needs to be a LANGUAGE environment var # See: https://stackoverflow.com/a/41893197/359999 for var in "\$@"; do if [[ \$var == --lang=* ]]; then LANGUAGE=\${var//--lang=} fi done # Set language environment variable export LANGUAGE="\$LANGUAGE" # Note: exec -a below is a bashism. exec -a "\$0" "$BASE_PATH" --no-sandbox "\$@" _EOF chmod +x "$WRAPPER_PATH" # Also add the executable name expected by Selenium Manager ln --symbolic "$WRAPPER_PATH" /usr/bin/chrome