wine-start: avoid going through msys.bat
[msysgit.git] / etc / profile
blob47fdf143b20bae28893229a70df1d7bddb5da1de
1 # Copyright (C) 2001, 2002  Earnie Boyd  <earnie@users.sf.net>
2 # This file is part of the Minimal SYStem.
3 #   http://www.mingw.org/msys.shtml
5 #         File: profile
6 #  Description: Shell environment initialization script
7 # Last Revised: 2002.05.04
9 if [ -z "$MSYSTEM" ]; then
10   MSYSTEM=MINGW32
13 # My decision to add a . to the PATH and as the first item in the path list
14 # is to mimick the Win32 method of finding executables.
16 # I filter the PATH value setting in order to get ready for self hosting the
17 # MSYS runtime and wanting different paths searched first for files.
18 if [ $MSYSTEM == MINGW32 ]; then
19   export PATH=".:/usr/local/bin:/mingw/bin:/bin:$PATH"
20 else
21   export PATH=".:/usr/local/bin:/bin:/mingw/bin:$PATH"
24 # strip out cygwin paths from PATH
25 case "$PATH" in
26 */cygwin/*)
27         PATH="$(awk -vRS=: -vORS=: '!/cygwin/' <<< "$PATH")"
28         # awk always adds a trailing separator
29         export PATH="${PATH%:}"
30         ;;
31 esac
33 # check msys-1.0.dll
34 if test -f /etc/msys-1.0.dll.md5
35 then
36         # if check succeeds, let's avoid checking again
37         md5sum --status --check /etc/msys-1.0.dll.md5 &&
38         rm -f /etc/msys-1.0.dll.md5 ||
39         printf "\n\033[31mERROR: Your msys-1.0.dll is out-of-date!\033[m\n\n"
42 if [ -z "$USERNAME" ]; then
43   LOGNAME="`id -un`"
44 else
45   LOGNAME="$USERNAME"
48 # Set up USER's home directory
49 if [ -z "$HOME" -o ! -d "$HOME" ]; then
50   HOME="$HOMEDRIVE$HOMEPATH"
51   if [ -z "$HOME" -o ! -d "$HOME" ]; then
52     HOME="$USERPROFILE"
53   fi
56 if [ ! -d "$HOME" ]; then
57         printf "\n\033[31mERROR: HOME directory '$HOME' doesn't exist!\033[m\n\n"
58         echo "This is an error which might be related to msysGit issue 108."
59         echo "You might want to set the environment variable HOME explicitly."
60         printf "\nFalling back to \033[31m/ ($(cd / && pwd -W))\033[m.\n\n"
61         HOME=/
64 # normalize HOME to unix path
65 HOME="$(cd "$HOME" ; pwd)"
67 export PATH="$HOME/bin:$PATH"
69 export GNUPGHOME=~/.gnupg
71 test -n "$MAGIC" || export MAGIC=$(cd / && pwd -W)'/mingw/share/misc/magic'
73 if [ "x$HISTFILE" == "x/.bash_history" ]; then
74   HISTFILE=$HOME/.bash_history
77 if [ -e ~/.inputrc ]; then
78     export INPUTRC=~/.inputrc
79 else
80     export INPUTRC=/etc/inputrc
83 case "$LS_COLORS" in
84 *rs*)
85         # Our ls may ot handle LS_COLORS inherited in a Wine process
86         unset LS_COLORS;;
87 esac
89 export HOME LOGNAME MSYSTEM HISTFILE
91 for i in /etc/profile.d/*.sh ; do
92   if [ -f $i ]; then
93     . $i
94   fi
95 done
97 export MAKE_MODE=unix
99 # Git specific stuff
100 test -e /bin/git.exe -o -e /git/git.exe || {
101         echo
102         echo -------------------------------------------------------
103         echo "Building and Installing Git"
104         echo -------------------------------------------------------
106         cd /git &&
107         make install
109         case $? in
110         0)
111                 MESSAGE="You are in the git working tree, and all is ready for you to hack."
112         ;;
113         *)
114                 MESSAGE="Your build failed...  Please fix it, and give feedback on the Git list."
115         esac
117         test -d /installer-tmp && rm -rf /installer-tmp
119         cat <<EOF
122 -------------------------
123 Hello, dear Git developer.
125 This is a minimal MSYS environment to work on Git.
127 $MESSAGE
132 # let's make sure that the post-checkout hook is installed
133 test -d /.git && test ! -x /.git/hooks/post-checkout &&
134 test -x /share/msysGit/post-checkout-hook &&
135 mkdir -p /.git/hooks &&
136 cp /share/msysGit/post-checkout-hook /.git/hooks/post-checkout
138 test -f /etc/motd && sed "s/\$MESSAGE/$MESSAGE/" < /etc/motd
139 test -x /share/msysGit/initialize.sh -a ! -d /.git &&
140 cat << EOF
142 It appears that you installed msysGit using the full installer.
143 To set up the Git repositories, please run /share/msysGit/initialize.sh
146 case ":$PATH:" in
147 *:/cmd:*|*:/bin:*) ;;
149         cat << EOF
151 In order to use Git from cmd.exe:
152 1. Add c:\msysgit\cmd to cmd's PATH
153 2. DON'T add c:\msysgit\bin or c:\msysgit\mingw\bin to cmd's PATH
154 Commands like 'git add' will work from cmd.exe now.
155 Commands like 'git-add' will NOT work. Add more wrappers as appropriate.
157 esac
160 . /git/contrib/completion/git-completion.bash
161 if test -z "$WINELOADERNOEXEC"
162 then
163         PS1='\[\033]0;$MSYSTEM:\w\007
164 \033[32m\]\u@\h \[\033[33m\w$(__git_ps1)\033[0m\]
165 $ '
166 else
167         PS1='\[\033]0;$MSYSTEM:\w\007
168 \033[32m\]\u@\h \[\033[33m\w\033[0m\]
169 $ '
172 # set default options for 'less'
173 export LESS=-FRSX
174 # set default protocol for 'plink'
175 export PLINK_PROTOCOL=ssh
177 # read user-specific settings, possibly overriding anything above
178 if [ -e ~/.bashrc ]; then
179     . ~/.bashrc
180 elif [ -e ~/.bash_profile ]; then
181     . ~/.bash_profile
182 elif [ -e /etc/bash_profile ]; then
183     . /etc/bash_profile