summaryrefslogtreecommitdiff
path: root/bin/rcdn
diff options
context:
space:
mode:
authorGravatar Mike Burns <mike@mike-burns.com>2014-03-28 15:12:03 +0100
committerGravatar Mike Burns <mike@mike-burns.com>2014-03-28 15:59:03 +0100
commitc2c7d34973a97c3efb76cf91cce81ffffe131985 (patch)
treeeebb53b98f4acb50794c5256079a70c78adf831c /bin/rcdn
parent9805390bda7bfe213770c525065e06b111143996 (diff)
Discover a POSIX shell for Solaris
Under Solaris, use ksh instead of `/bin/sh`. This uses `$SHELL` as a POSIX shell, coupled with a `configure` check that sets it correctly. Note that the POSIX shell might end up being bash, so this actually introduces more fragmentation than it reduces. Taken from https://github.com/freedreno/mesa/blob/master/configure.ac
Diffstat (limited to 'bin/rcdn')
-rwxr-xr-xbin/rcdn107
1 files changed, 0 insertions, 107 deletions
diff --git a/bin/rcdn b/bin/rcdn
deleted file mode 100755
index 2caa340..0000000
--- a/bin/rcdn
+++ /dev/null
@@ -1,107 +0,0 @@
-#!/bin/sh
-
-: ${RCM_LIB:=$(dirname "$0")/../share/rcm}
-. "$RCM_LIB/rcm.sh"
-
-remove_link() {
- local dest="$1"
- local original="$2"
- local sigil="$3"
-
- if [ "x$dest" = "x/" ]; then
- $VERBOSE "not a symlink, skipping: $original"
- elif [ -L "$dest" -o "x$sigil" = "xX" ]; then
- rm_v -rf "$dest"
- rmdir -p "$(dirname "$original")" 2>/dev/null
- else
- remove_link "$(dirname "$dest")" "$original"
- fi
-}
-
-show_help() {
- local exit_code=${1:-0}
-
- $PRINT "Usage: rcdn [-Vqvh] [-I EXCL_PAT] [-x EXCL_PAT] [-t TAG] [-d DOT_DIR]"
- $PRINT "see rcdn(1) and rcm(5) for more details"
-
- exit $exit_code
-}
-
-handle_command_line() {
- local arg_tags=
- local verbosity=0
- local version=0
- local run_hooks=0
- local dotfiles_dirs=
- local files=
- local excludes=
- local includes=
- local symlink_dirs=
-
- while getopts VqvhI:x:S:t:d: opt; do
- case "$opt" in
- h) show_help ;;
- I) includes="$includes $OPTARG";;
- k) run_hooks=1 ;;
- K) run_hooks=0 ;;
- t) arg_tags="$arg_tags $OPTARG" ;;
- S) symlink_dirs="$symlink_dirs $OPTARG";;
- v) verbosity=$(($verbosity + 1));;
- q) verbosity=$(($verbosity - 1));;
- d) dotfiles_dirs="$dotfiles_dirs $OPTARG" ;;
- V) version=1 ;;
- x) excludes="$excludes $OPTARG" ;;
- esac
- done
- shift $(($OPTIND-1))
-
- handle_common_flags rcup $version $verbosity
-
- tags="${arg_tags:-$TAGS}"
- dotfiles_dirs="${dotfiles_dirs:-$DOTFILES_DIRS}"
- files="$@"
- RUN_HOOKS=$run_hooks
-
- for tag in $tags; do
- LS_ARGS="$LS_ARGS -t $tag"
- done
- for dotfiles_dir in $dotfiles_dirs; do
- LS_ARGS="$LS_ARGS -d $dotfiles_dir"
- done
- for exclude in $excludes; do
- LS_ARGS="$LS_ARGS -x $exclude"
- done
- for include in $includes; do
- LS_ARGS="$LS_ARGS -I $include"
- done
- for symlink_dir in $symlink_dirs; do
- LS_ARGS="$LS_ARGS -S $symlink_dir"
- done
- LS_ARGS="$LS_ARGS $files"
-
- $DEBUG "LS_ARGS: $LS_ARGS"
-}
-
-LS_ARGS=-F
-
-handle_command_line "$@"
-: ${DOTFILES_DIRS:=$DOTFILES_DIRS $DEFAULT_DOTFILES_DIR}
-
-run_hooks pre down
-
-dests_and_srcs="$(lsrc $LS_ARGS)"
-
-saved_ifs="$IFS"
-IFS='
-'
-for dest_and_src in $dests_and_srcs; do
- IFS=:
- set -- $dest_and_src
- IFS="$saved_ifs"
- dest="$1"
- sigil="$3"
-
- remove_link "$dest" "$dest" "$sigil"
-done
-
-run_hooks post down