dot rc

Sign in or create your account | Project List | Help

dot rc Git Source Tree

Root/install.sh

1#!/bin/bash
2
3skip=()
4
5inst()
6{
7    src="$1"
8    dest="$2"
9
10    mkdir -p "${dest%/*}"
11    rm -f "$dest"
12    cp -p "$src" "$dest"
13    echo "installed $src"
14}
15
16lnk()
17{
18    src="$1"
19    dest="$2"
20
21    mkdir -p "${dest%/*}"
22    if [ -L "$dest" ]; then
23        if [ "$(readlink $dest)" != "$PWD/$src" ]; then
24            rm -f "$dest"
25            ln -s "$PWD/$src" "$dest"
26            echo "updated $src"
27        fi
28    elif ! [ -e "$dest" ]; then
29        ln -s "$PWD/$src" "$dest"
30        echo "added $src"
31    else
32        save="$dest.hrcsave"
33        rm -f "$save"
34        mv -f "$dest" "$save"
35        ln -s "$PWD/$src" "$dest"
36        echo "replaced $src, old file in ${save#$HOME/}"
37    fi
38}
39
40make
41for f in rc/*; do
42    [ -e "$f" ] || continue
43    for s in "${skip[@]}"; do
44        [ "$s" = "$f" ] && break
45    done
46    [ "$s" = "$f" ] && continue
47    lnk "$f" "$HOME/.${f#*/}"
48done
49
50umask 077
51
52if [ -d ~/.gnome2 ]; then
53    for f in gnome/*; do
54        [ -e "$f" ] || continue
55        lnk "$f" "$HOME/.gnome2/${f#*/}"
56    done
57fi
58
59sys=`uname`
60hw=`uname -i 2>/dev/null || uname -p`
61
62[ -d opt/noarch ] && lnk opt/noarch ~/opt/noarch/misc/bin
63
64[ -d opt/$sys/noarch ] && lnk opt/$sys/noarch ~/opt/noarch/$sys/bin
65[ -d opt/$hw ] && lnk opt/$hw ~/opt/$hw/misc/bin
66[ -d opt/$sys/$hw ] && lnk opt/$sys/$hw ~/opt/$hw/$sys/bin
67
68if [ "$hw" = x86_64 ]; then
69    hw=i386
70    [ -d opt/$hw ] && lnk opt/$hw ~/opt/$hw/misc/bin
71    [ -d opt/$sys/$hw ] && lnk opt/$sys/$hw ~/opt/$hw/$sys/bin
72fi
73

Archive Download this file

Branches:
master