Added debug code
[clearscm.git] / rc / setup_rc
1 #!/bin/bash
2 ################################################################################
3 #
4 # File:         $RCSfile: setup_rc,v $
5 # Revision:     $Revision: 1.6 $
6 # Description:  This script sets up my rc scripts
7 # Author:       Andrew@DeFaria.com
8 # Created:      Thu Feb 16 07:34:32 PST 2006
9 # Modified:     $Date: 2011/12/14 22:28:59 $
10 # Language:     bash
11 #
12 # (c) Copyright 2006, Andrew@DeFaria.com, all rights reserved
13 #
14 ################################################################################
15 function ReplaceFile {
16   dest=$1
17   source=$2
18
19   if [ -f "$dest" ]; then
20     if [ -h "$dest" ]; then
21       return
22     else
23       echo "Saving your old $dest as $dest.save..."
24       mv "$dest" "$dest.save"
25     fi
26   fi
27
28   if [ ! -h "$dest" ]; then
29     ln -s "$source" "$dest"
30   fi
31 } # ReplaceFile
32
33 function ReplaceDir {
34   dest=$1
35   source=$2
36
37   if [ -d "$dest" ]; then
38     if [ -h "$dest" ]; then
39       return
40     else
41       echo "Saving your old $dest as $dest.save..."
42       mv "$dest" "$dest.save"
43     fi
44   fi
45
46   if [ ! -h "$dest" ]; then
47     ln -s "$source" "$dest"
48   fi
49 } # ReplaceDir
50
51 if [ ! -d $HOME/.rc ]; then
52   echo "No $HOME/.rc directory found"
53   exit 1
54 fi
55
56 cat /dev/null > /tmp/debug.log
57
58 # Check to see if we were already setup
59 symlink=$(stat -c %N ~/.bashrc | awk '{print $2}')
60
61 if [ "$symlink" = "->" ]; then
62   echo "DEBUG: ~/.bashrc is a symlink" >> /tmp/debug.log
63   to=$(stat -c %N ~/.bashrc | awk '{print $NF}')
64
65   if [[ "$to" =~ .rc\/bash_login ]]; then
66     echo "DEBUG: Already setup" >> /tmp/debug.log
67     exit
68   else
69     echo "DEBUG: Not setup yet" >> /tmp/debug.log
70   fi
71 else
72   echo "DEBUG: ~/.bashrc is not a symlink. Must setup" >> /tmp/debug.log
73 fi
74
75 ReplaceFile "$HOME/.Xdefaults"    "$HOME/.rc/Xdefaults"
76 ReplaceFile "$HOME/.bash_login"   "$HOME/.rc/bash_login"
77 ReplaceFile "$HOME/.bashrc"           "$HOME/.rc/bash_login"
78 ReplaceFile "$HOME/.inputrc"        "$HOME/.rc/inputrc"
79 ReplaceFile "$HOME/.vimrc"            "$HOME/.rc/vimrc"
80 ReplaceDir  "$HOME/.xemacs"           "$HOME/.rc/xemacs"
81 ReplaceFile "$HOME/.ssh/config"   "$HOME/.rc/sshconfig"
82 ReplaceFile "$HOME/.perlcriticrc" "$HOME/.rc/perlcriticrc"
83 ReplaceFile "$HOME/.perltidyrc"   "$HOME/.rc/perltidyrc"
84 ReplaceFile "$HOME/.gitconfig"    "$HOME/.rc/gitconfig"