VERSION="@PACKAGE_VERSION@" #set -x DEBUG=: DEST_DIR=$HOME PRINT=echo PROMPT=echo_n ERROR=echo_error VERBOSE=: MKDIR=mkdir LN="ln -s" CP="cp -R" RM=rm DEFAULT_DOTFILES_DIR=$HOME/.dotfiles MV=mv INSTALL=rcup ROOT_DIR=$HOME HOSTNAME=`hostname | sed -e 's/\..*//'` unset CDPATH echo_n() { printf "%s " "$*" } echo_error() { local exit_status=$1 shift echo $* >&2 exit $exit_status } echo_stderr() { echo $* >&2 } is_relative() { echo $1 | grep -vq '^/' } version() { cat << EOV $1 (rcm) $VERSION Copyright (C) 2013 Mike Burns License BSD: BSD 3-clause license Written by Mike Burns. EOV } handle_common_flags() { local prog_name=$1 local version=$2 local verbosity=$3 if [ $version -eq 1 ]; then version $prog_name exit 0 elif [ $verbosity -ge 2 ]; then DEBUG=echo_stderr VERBOSE=echo PRINT=echo MV="$MV -v" RM="$RM -v" LN="$LN -v" CP="$CP -v" INSTALL="$INSTALL -vv" elif [ $verbosity -eq 1 ]; then DEBUG=: VERBOSE=echo PRINT=echo MV="$MV -v" RM="$RM -v" LN="$LN -v" CP="$CP -v" INSTALL="$INSTALL -v" elif [ $verbosity -eq 0 ]; then DEBUG=: VERBOSE=: PRINT=echo MV="$MV -v" RM="$RM -v" LN="$LN -v" CP="$CP -v" else DEBUG=: VERBOSE=: PRINT=: INSTALL="$INSTALL -q" fi } handle_metadata_flags() { local arg_tags=$1 local dotfiles_dirs=$2 : ${TAGS:=$arg_tags} : ${DOTFILES_DIRS:=$dotfiles_dirs} $DEBUG "TAGS: $TAGS" $DEBUG "DOTFILES_DIRS: $DOTFILES_DIRS" } run_hooks() { $DEBUG "run_hooks $1 $2" $DEBUG " with DOTFILES_DIRS: $DOTFILES_DIRS" local when="$1" local direction="$2" local hook_file if [ $RUN_HOOKS -eq 1 ]; then for dotfiles_dir in $DOTFILES_DIRS; do hook_file="$dotfiles_dir/hooks/$when-$direction" if [ -e "$hook_file" ]; then $VERBOSE "running $when-$direction hooks for $dotfiles_dir" find "$hook_file" -type f -perm +111 -print -exec {} \; else $DEBUG "no $when-$direction hook present for $dotfiles_dir, skipping" fi done fi } de_dot() { $DEBUG "de_dot $1" $DEBUG " with DEST_DIR: $DEST_DIR" echo $1 | sed -e "s|$DEST_DIR/||" | sed -e 's/^\.//' } : ${RCRC:=$HOME/.rcrc} if [ -r "$RCRC" ]; then . "$RCRC" fi