From 8c26bfec32441830b4a0e5938a6cc7de1a64ff99 Mon Sep 17 00:00:00 2001 From: Mike Burns Date: Mon, 5 May 2014 11:08:02 +0200 Subject: Add a hostname override Based on issue #82, we now provide `-B` to override the hostname. In particular: - `mkrc -B foo` will enable `-o` but with the hostname set up `foo`. - `lsrc -B foo` will work like normal `lsrc` except it treats `host-foo` as the host-specific directory. - `rcup -B foo` will run a normal `rcup` except `host-foo` is the host-specific directory. - `rcdn -B foo` is just like normal `rcdn`, but with `host-foo` as the host-specific directory. The `HOSTNAME` can also be set in the rcrc(5), and this is overridden by the aforementioned `-B`. While making this change: The `test/Makefile.am` used a mix of tabs and spaces. Since it's a Makefile, replace it all with tabs. --- bin/mkrc.in | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'bin/mkrc.in') diff --git a/bin/mkrc.in b/bin/mkrc.in index e8d3864..7cab210 100755 --- a/bin/mkrc.in +++ b/bin/mkrc.in @@ -9,6 +9,8 @@ destination() { local in_host=$3 local tag="$4" + $DEBUG "destination $dotfiles_dir $dotless $in_host $tag" + if [ "x$tag" != "x" ]; then echo "$dotfiles_dir/tag-$tag" elif [ $in_host = 1 ]; then @@ -36,13 +38,15 @@ for DOTFILES_DIR in $DOTFILES_DIRS $DEFAULT_DOTFILES_DIR; do done tag= +hostname= verbosity=0 in_host=0 version=0 always_copy=0 force_symlink=0 +install_args= -while getopts ChSsVvqot:d: opt; do +while getopts ChSsVvqot:d:B: opt; do case "$opt" in C) always_copy=1 ;; h) show_help ;; @@ -54,11 +58,17 @@ while getopts ChSsVvqot:d: opt; do V) version=1 ;; S) force_symlink=1 ;; s) force_symlink=0 ;; + B) + in_host=1 + hostname="$OPTARG" + install_args="-B $hostname" + ;; esac done shift $(($OPTIND-1)) handle_common_flags mkrc $version $verbosity +HOSTNAME="$(determine_hostname "$hostname")" if [ $in_host -eq 1 -a "x$tag" != "x" ]; then $ERROR 1 "Cannot specify both -o and -t" @@ -88,5 +98,5 @@ for file in $files; do $PRINT "Moving..." mv_v "$file" "$dest/$dotless" $PRINT "Linking..." - $INSTALL -d "$DOTFILES_DIR" -t "${tag:--}" "$dotless" + $INSTALL -d "$DOTFILES_DIR" -t "${tag:--}" $install_args "$dotless" done -- cgit v1.2.3