diff options
author | Guy Harris <gharris@sonic.net> | 2023-07-01 15:24:55 -0700 |
---|---|---|
committer | Guy Harris <gharris@sonic.net> | 2023-07-01 15:24:55 -0700 |
commit | a63bce3323473290b98b91a4209053e6b339e07c (patch) | |
tree | 167ffd4154fe832a154049d487467bcf6d6654ac | |
parent | 9c41f66a08b74f67d539fbd93adc0c3a797ae466 (diff) |
Cirrus CI: try overwriting /etc/profile and adding a debug emssage.
-rw-r--r-- | .cirrus.yml | 1 | ||||
-rw-r--r-- | msys2-profile | 178 |
2 files changed, 179 insertions, 0 deletions
diff --git a/.cirrus.yml b/.cirrus.yml index 3b958d45..e70183cc 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -73,6 +73,7 @@ windows_task: MATRIX_CMAKE: yes MSYSTEM: MINGW64 install_script: + - sh -c "cp msys2-profile /etc/profile" - choco install --no-progress -y winflexbison - win_flex --version - win_bison --version diff --git a/msys2-profile b/msys2-profile new file mode 100644 index 00000000..e09c9de4 --- /dev/null +++ b/msys2-profile @@ -0,0 +1,178 @@ +# To the extent possible under law, the author(s) have dedicated all +# copyright and related and neighboring rights to this software to the +# public domain worldwide. This software is distributed without any warranty. +# You should have received a copy of the CC0 Public Domain Dedication along +# with this software. +# If not, see <https://creativecommons.org/publicdomain/zero/1.0/>. + + +# System-wide profile file + +# Some resources... +# Customizing Your Shell: http://www.dsl.org/cookbook/cookbook_5.html#SEC69 +# Consistent BackSpace and Delete Configuration: +# http://www.ibb.net/~anne/keyboard.html +# The Linux Documentation Project: https://www.tldp.org/ +# The Linux Cookbook: https://www.tldp.org/LDP/linuxcookbook/html/ +# Greg's Wiki https://mywiki.wooledge.org/ + +# Setup some default paths. Note that this order will allow user installed +# software to override 'system' software. +# Modifying these default path settings can be done in different ways. +# To learn more about startup files, refer to your shell's man page. + +echo "Starting /etc/profile; PATH is ${PATH}" + +MSYS2_PATH="/usr/local/bin:/usr/bin:/bin" +MANPATH='/usr/local/man:/usr/share/man:/usr/man:/share/man' +INFOPATH='/usr/local/info:/usr/share/info:/usr/info:/share/info' + +case "${MSYS2_PATH_TYPE:-inherit}" in + strict) + # Do not inherit any path configuration, and allow for full customization + # of external path. This is supposed to be used in special cases such as + # debugging without need to change this file, but not daily usage. + unset ORIGINAL_PATH + ;; + inherit) + # Inherit previous path. Note that this will make all of the Windows path + # available in current shell, with possible interference in project builds. + ORIGINAL_PATH="${ORIGINAL_PATH:-${PATH}}" + ;; + *) + # Do not inherit any path configuration but configure a default Windows path + # suitable for normal usage with minimal external interference. + WIN_ROOT="$(PATH=${MSYS2_PATH} exec cygpath -Wu)" + ORIGINAL_PATH="${WIN_ROOT}/System32:${WIN_ROOT}:${WIN_ROOT}/System32/Wbem:${WIN_ROOT}/System32/WindowsPowerShell/v1.0/" +esac + +unset MINGW_MOUNT_POINT +. '/etc/msystem' +case "${MSYSTEM}" in +MINGW*|CLANG*|UCRT*) + MINGW_MOUNT_POINT="${MINGW_PREFIX}" + PATH="${MINGW_MOUNT_POINT}/bin:${MSYS2_PATH}${ORIGINAL_PATH:+:${ORIGINAL_PATH}}" + PKG_CONFIG_PATH="${MINGW_MOUNT_POINT}/lib/pkgconfig:${MINGW_MOUNT_POINT}/share/pkgconfig" + ACLOCAL_PATH="${MINGW_MOUNT_POINT}/share/aclocal:/usr/share/aclocal" + MANPATH="${MINGW_MOUNT_POINT}/local/man:${MINGW_MOUNT_POINT}/share/man:${MANPATH}" + ;; +*) + PATH="${MSYS2_PATH}:/opt/bin${ORIGINAL_PATH:+:${ORIGINAL_PATH}}" + PKG_CONFIG_PATH="/usr/lib/pkgconfig:/usr/share/pkgconfig:/lib/pkgconfig" +esac + +CONFIG_SITE="/etc/config.site" + +MAYBE_FIRST_START=false +SYSCONFDIR="${SYSCONFDIR:=/etc}" + +# TMP and TEMP as defined in the Windows environment must be kept +# for windows apps, even if started from msys2. However, leaving +# them set to the default Windows temporary directory or unset +# can have unexpected consequences for msys2 apps, so we define +# our own to match GNU/Linux behaviour. +# +# Note: this uppercase/lowercase workaround does not seem to work. +# In fact, it has been removed from Cygwin some years ago. See: +# +# * https://cygwin.com/git/gitweb.cgi?p=cygwin-apps/base-files.git;a=commitdiff;h=3e54b07 +# * https://cygwin.com/git/gitweb.cgi?p=cygwin-apps/base-files.git;a=commitdiff;h=7f09aef +# +ORIGINAL_TMP="${ORIGINAL_TMP:-${TMP}}" +ORIGINAL_TEMP="${ORIGINAL_TEMP:-${TEMP}}" +#unset TMP TEMP +#tmp=$(exec cygpath -w "$ORIGINAL_TMP" 2> /dev/null) +#temp=$(exec cygpath -w "$ORIGINAL_TEMP" 2> /dev/null) +#TMP="/tmp" +#TEMP="/tmp" +case "$TMP" in *\\*) TMP="$(cygpath -m "$TMP")";; esac +case "$TEMP" in *\\*) TEMP="$(cygpath -m "$TEMP")";; esac +test -d "$TMPDIR" || test ! -d "$TMP" || { + TMPDIR="$TMP" + export TMPDIR +} + + +print_flags () +{ + (( $1 & 0x0002 )) && echo -n "binary" || echo -n "text" + (( $1 & 0x0010 )) && echo -n ",exec" + (( $1 & 0x0040 )) && echo -n ",cygexec" + (( $1 & 0x0100 )) && echo -n ",notexec" +} + +# Shell dependent settings +profile_d () +{ + local file= + for file in $(export LC_COLLATE=C; echo /etc/profile.d/*.$1); do + [ -e "${file}" ] && . "${file}" + done + + if [ -n "${MINGW_MOUNT_POINT}" ]; then + for file in $(export LC_COLLATE=C; echo ${MINGW_MOUNT_POINT}/etc/profile.d/*.$1); do + [ -e "${file}" ] && . "${file}" + done + fi +} + +for postinst in $(export LC_COLLATE=C; echo /etc/post-install/*.post); do + [ -e "${postinst}" ] && . "${postinst}" +done + +if [ ! "x${BASH_VERSION}" = "x" ]; then + HOSTNAME="$(exec /usr/bin/hostname)" + SHELL=`which bash` + profile_d sh + [ -f "/etc/bash.bashrc" ] && . "/etc/bash.bashrc" +elif [ ! "x${KSH_VERSION}" = "x" ]; then + typeset -l HOSTNAME="$(exec /usr/bin/hostname)" + profile_d sh + PS1=$(print '\033]0;${PWD}\n\033[32m${USER}@${HOSTNAME} \033[33m${PWD/${HOME}/~}\033[0m\n$ ') +elif [ ! "x${ZSH_VERSION}" = "x" ]; then + HOSTNAME="$(exec /usr/bin/hostname)" + profile_d sh + profile_d zsh + PS1='(%n@%m)[%h] %~ %% ' + SHELL=`which zsh` +elif [ ! "x${POSH_VERSION}" = "x" ]; then + HOSTNAME="$(exec /usr/bin/hostname)" + PS1="$ " +else + HOSTNAME="$(exec /usr/bin/hostname)" + profile_d sh + PS1="$ " +fi + +if [ -n "$ACLOCAL_PATH" ] +then + export ACLOCAL_PATH +fi + +export PATH MANPATH INFOPATH PKG_CONFIG_PATH USER TMP TEMP HOSTNAME PS1 SHELL tmp temp ORIGINAL_TMP ORIGINAL_TEMP ORIGINAL_PATH CONFIG_SITE +unset PATH_SEPARATOR + +if [ "$MAYBE_FIRST_START" = "true" ]; then + + if [ -f "/usr/bin/update-ca-trust" ] + then + sh /usr/bin/update-ca-trust + fi + + clear + echo + echo + echo "###################################################################" + echo "# #" + echo "# #" + echo "# C A U T I O N #" + echo "# #" + echo "# This is first start of MSYS2. #" + echo "# You MUST restart shell to apply necessary actions. #" + echo "# #" + echo "# #" + echo "###################################################################" + echo + echo +fi +unset MAYBE_FIRST_START |