blob: 26ba970aa6e45bb34e2cbe0e303ff2ce37499bf5 [file] [log] [blame]
Gavin Howard4ffe5a92018-09-26 20:58:31 -06001#! /bin/sh
rofl0r8f19ed92018-04-01 20:54:56 +01002#
Gavin Howard4ffe5a92018-09-26 20:58:31 -06003# Copyright 2018 Gavin D. Howard
rofl0r8f19ed92018-04-01 20:54:56 +01004#
Gavin Howard4ffe5a92018-09-26 20:58:31 -06005# Permission to use, copy, modify, and/or distribute this software for any
6# purpose with or without fee is hereby granted.
7#
8# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
9# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
10# AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
11# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
12# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13# OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14# PERFORMANCE OF THIS SOFTWARE.
rofl0r8f19ed92018-04-01 20:54:56 +010015#
16
17usage() {
Gavin Howard4ffe5a92018-09-26 20:58:31 -060018 printf "usage: %s install_dir executable [symlinks...]\n" "$0" 1>&2
19 exit 1
rofl0r8f19ed92018-04-01 20:54:56 +010020}
21
Gavin Howard4ffe5a92018-09-26 20:58:31 -060022script=$(realpath "$0")
23scriptdir=$(dirname "$script")
rofl0r8f19ed92018-04-01 20:54:56 +010024
Gavin Howard4ffe5a92018-09-26 20:58:31 -060025INSTALL="$scriptdir/safe-install.sh"
26
27test "$#" -gt 1 || usage
28
29installdir="$1"
30shift
31
32exe="$1"
33shift
34
35"$INSTALL" -Dm 755 "$exe" "$installdir/$exe"
36
37while [ $# -gt 0 ]; do
38
39 link="$1"
40 shift
41
42 base=$(basename "$link")
43
Gavin Howard67cb55d2018-09-26 20:59:34 -060044 rm -f "$installdir/$base"
45 ln -s "$installdir/$exe" "$installdir/$base"
Gavin Howard4ffe5a92018-09-26 20:58:31 -060046
rofl0r8f19ed92018-04-01 20:54:56 +010047done