Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactoring install.sh #3194

Merged
merged 8 commits into from
Sep 9, 2016
41 changes: 27 additions & 14 deletions cmd/ipfs/dist/install.sh
Original file line number Diff line number Diff line change
@@ -1,21 +1,34 @@
#!/bin/sh
#
# Installation script for ipfs. It tries to move $bin in one of the
# directories stored in $binpaths.

bin=ipfs
binpaths="/usr/local/bin /usr/bin"

# this script is currently brain dead.
# it merely tries two locations.
# in the future maybe use value of $PATH.
# This variable contains a nonzero length string in case the script fails
# because of missing write permissions.
is_write_perm_missing=""

binpath=/usr/local/bin
if [ -d "$binpath" ]; then
mv "$bin" "$binpath/$bin"
echo "installed $binpath/$bin"
exit 0
fi
for binpath in $binpaths; do
if mv "$bin" "$binpath/$bin" 2> /dev/null; then
echo "Moved $bin to $binpath"
exit 0
else
if [ -d "$binpath" -a ! -w "$binpath" ]; then
is_write_perm_missing=1
fi
fi
done

echo "We cannot install $bin in one of the directories $binpaths"

binpath=/usr/bin
if [ -d "$binpath" ]; then
mv "$bin" "$binpath/$bin"
echo "installed $binpath/$bin"
exit 0
if [ -n "$is_write_perm_missing" ]; then
echo "It seems that we do not have the necessary write permissions."
echo "Perhaps try running this script as a privileged user:"
echo
echo " sudo $0"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yay, good explanation 👍

echo
fi

exit 1