💾 Archived View for gem.sdf.org › jmccue › repository › bsd_rcs.sh captured on 2024-09-29 at 01:17:43.

View Raw

More Information

⬅️ Previous capture (2024-08-31)

-=-=-=-=-=-=-

#!/bin/sh
#
# set up grcs-5.9.4p4 on OpenBSD
# for use with emacs
#
# set variable g_dir to the directory you wnat to use, default
#     $HOME/bin
#

f_link()
{
    l_rmode="$1"
    l_prog="$2"
    l_base=`basename "$l_prog"`
    l_new=`echo "$l_base" | sed 's/^g//'`
    l_new_rcs="$g_dir/$l_new"
    l_new_grcs="$g_dir/$l_base"

    if test ! -x "$l_prog"
    then
        echo "E100: missing $l_prog" ; exit 2
    fi

    case "$l_rmode" in
        "LINK")
            if test -L "$l_new_rcs"
            then
                echo "W110: found $l_new_rcs" ; return
            fi
            if test -x "$l_new_rcs"
            then
                echo "W111: found $l_new_rcs" ; return
            fi
            if test -L "$l_new_grcs"
            then
                echo "W110: found $l_new_grcs" ; return
            fi
            if test -x "$l_new_grcs"
            then
                echo "W111: found $l_new_grcs" ; return
            fi
            ln -s "$l_prog" "$l_new_rcs"
            ln -s "$l_prog" "$l_new_grcs"
            ;;
        "UNDO")
            if test ! -L "$l_new_rcs"
            then
                echo "W120: missing  $l_new_rcs" ; return
            fi
            if test ! -x "$l_new_rcs"
            then
                echo "W121: missing $l_new_rcs" ; return
            fi
            if test ! -L "$l_new_grcs"
            then
                echo "W120: missing  $l_new_grcs" ; return
            fi
            if test ! -x "$l_new_grcs"
            then
                echo "W121: missing $l_new_grcs" ; return
            fi
            rm "$l_new_rcs"
            rm "$l_new_grcs"
            ;;
        *)
            echo "E130: $l_rmode in valid" ; exit 2
            ;;
    esac

} # END: f_link()

#
# main
#

g_dir="$HOME/bin"  # should be first Dir in your path
g_rmode="LINK"     # SET to either LINK or UNDO

if test "`uname -s`" != "OpenBSD"
then
    echo "$OS NOT SUPORTED"
    exit 2
fi

# all we need is to update ~/.xessions
# with PATH from ~/.profile and execute
# these commands and emacs will work

f_link "$g_rmode" "/usr/local/bin/gci"
f_link "$g_rmode" "/usr/local/bin/gco"
f_link "$g_rmode" "/usr/local/bin/gident"
f_link "$g_rmode" "/usr/local/bin/gmerge"
f_link "$g_rmode" "/usr/local/bin/grcs"
f_link "$g_rmode" "/usr/local/bin/grcsclean"
f_link "$g_rmode" "/usr/local/bin/grcsdiff"
f_link "$g_rmode" "/usr/local/bin/grcsmerge"
f_link "$g_rmode" "/usr/local/bin/grlog"

exit 0