summaryrefslogtreecommitdiff
path: root/bin/mkrc.in
diff options
context:
space:
mode:
authorGravatar Mike Burns <mike@mike-burns.com>2014-05-05 11:08:02 +0200
committerGravatar Mike Burns <mike@mike-burns.com>2014-05-07 10:43:12 +0200
commit8c26bfec32441830b4a0e5938a6cc7de1a64ff99 (patch)
tree5b22c7195b76f67a79fe4bd763f02faa5bd20e39 /bin/mkrc.in
parentc9d180900a3f8e54b456c9e71bfaac930bbc2478 (diff)
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.
Diffstat (limited to 'bin/mkrc.in')
-rwxr-xr-xbin/mkrc.in14
1 files changed, 12 insertions, 2 deletions
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