Skip to content
This repository has been archived by the owner on Sep 3, 2019. It is now read-only.

Commit

Permalink
Add /etc/profile from MSysGit
Browse files Browse the repository at this point in the history
  • Loading branch information
anaisbetts committed Feb 7, 2012
1 parent 7ef6358 commit 1f1ee43
Show file tree
Hide file tree
Showing 2 changed files with 188 additions and 0 deletions.
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
termcap binary
profile binary
187 changes: 187 additions & 0 deletions etc/profile
Original file line number Diff line number Diff line change
@@ -0,0 +1,187 @@
# Copyright (C) 2001, 2002 Earnie Boyd <earnie@users.sf.net>
# This file is part of the Minimal SYStem.
# http://www.mingw.org/msys.shtml
#
# File: profile
# Description: Shell environment initialization script
# Last Revised: 2002.05.04

if [ -z "$MSYSTEM" ]; then
MSYSTEM=MINGW32
fi

# My decision to add a . to the PATH and as the first item in the path list
# is to mimick the Win32 method of finding executables.
#
# I filter the PATH value setting in order to get ready for self hosting the
# MSYS runtime and wanting different paths searched first for files.
if [ $MSYSTEM == MINGW32 ]; then
export PATH=".:/usr/local/bin:/mingw/bin:/bin:$PATH"
else
export PATH=".:/usr/local/bin:/bin:/mingw/bin:$PATH"
fi

# strip out cygwin paths from PATH
case "$PATH" in
*/cygwin/*)
PATH="$(awk -vRS=: -vORS=: '!/cygwin/' <<< "$PATH")"
# awk always adds a trailing separator
export PATH="${PATH%:}"
;;
esac

# check msys-1.0.dll
if test -f /etc/msys-1.0.dll.md5
then
# if check succeeds, let's avoid checking again
md5sum --status --check /etc/msys-1.0.dll.md5 &&
rm -f /etc/msys-1.0.dll.md5 ||
printf "\n\033[31mERROR: Your msys-1.0.dll is out-of-date!\033[m\n\n"
fi

if [ -z "$USERNAME" ]; then
LOGNAME="`id -un`"
else
LOGNAME="$USERNAME"
fi

# Set up USER's home directory
if [ -z "$HOME" -o ! -d "$HOME" ]; then
HOME="$HOMEDRIVE$HOMEPATH"
if [ -z "$HOME" -o ! -d "$HOME" ]; then
HOME="$USERPROFILE"
fi
fi

if [ ! -d "$HOME" ]; then
printf "\n\033[31mERROR: HOME directory '$HOME' doesn't exist!\033[m\n\n"
echo "This is an error which might be related to msysGit issue 108."
echo "You might want to set the environment variable HOME explicitly."
printf "\nFalling back to \033[31m/ ($(cd / && pwd -W))\033[m.\n\n"
HOME=/
fi

# normalize HOME to unix path
HOME="$(cd "$HOME" ; pwd)"

export PATH="$HOME/bin:$PATH"

export GNUPGHOME=~/.gnupg

if [ -z "$MAGIC" ]; then
magicfile=$(cd / && pwd -W)'/mingw/share/misc/magic'
test -f "$magicfile" && export MAGIC="$magicfile"
fi

if [ "x$HISTFILE" == "x/.bash_history" ]; then
HISTFILE=$HOME/.bash_history
fi

if [ -e ~/.inputrc ]; then
export INPUTRC=~/.inputrc
else
export INPUTRC=/etc/inputrc
fi

case "$LS_COLORS" in
*rs*)
# Our ls may ot handle LS_COLORS inherited in a Wine process
unset LS_COLORS;;
esac

export HOME LOGNAME MSYSTEM HISTFILE

for i in /etc/profile.d/*.sh ; do
if [ -f $i ]; then
. $i
fi
done

export MAKE_MODE=unix

# Git specific stuff
test -e /bin/git.exe -o -e /git/git.exe || {
echo
echo -------------------------------------------------------
echo "Building and Installing Git"
echo -------------------------------------------------------

cd /git &&
make install

case $? in
0)
MESSAGE="You are in the git working tree, and all is ready for you to hack."
;;
*)
MESSAGE="Your build failed... Please fix it, and give feedback on the Git list."
esac

test -d /installer-tmp && rm -rf /installer-tmp

cat <<EOF
-------------------------
Hello, dear Git developer.
This is a minimal MSYS environment to work on Git.
$MESSAGE
EOF
}

# let's make sure that the post-checkout hook is installed
test -d /.git && test ! -x /.git/hooks/post-checkout &&
test -x /share/msysGit/post-checkout-hook &&
mkdir -p /.git/hooks &&
cp /share/msysGit/post-checkout-hook /.git/hooks/post-checkout

test -f /etc/motd && sed "s/\$MESSAGE/$MESSAGE/" < /etc/motd
test -x /share/msysGit/initialize.sh -a ! -d /.git &&
cat << EOF
It appears that you installed msysGit using the full installer.
To set up the Git repositories, please run /share/msysGit/initialize.sh
EOF

case ":$PATH:" in
*:/cmd:*|*:/bin:*) ;;
*)
cat << EOF
In order to use Git from cmd.exe:
1. Add c:\msysgit\cmd to cmd's PATH
2. DON'T add c:\msysgit\bin or c:\msysgit\mingw\bin to cmd's PATH
Commands like 'git add' will work from cmd.exe now.
Commands like 'git-add' will NOT work. Add more wrappers as appropriate.
EOF
esac


. /etc/git-completion.bash
if test -z "$WINELOADERNOEXEC"
then
PS1='\[\033]0;$MSYSTEM:\w\007
\033[32m\]\u@\h \[\033[33m\w$(__git_ps1)\033[0m\]
$ '
else
PS1='\[\033]0;$MSYSTEM:\w\007
\033[32m\]\u@\h \[\033[33m\w\033[0m\]
$ '
fi

# set default options for 'less'
export LESS=-FRSX
# set default protocol for 'plink'
export PLINK_PROTOCOL=ssh

# read user-specific settings, possibly overriding anything above
if [ -e ~/.bashrc ]; then
. ~/.bashrc
elif [ -e ~/.bash_profile ]; then
. ~/.bash_profile
elif [ -e /etc/bash_profile ]; then
. /etc/bash_profile
fi

0 comments on commit 1f1ee43

Please sign in to comment.