mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
Wrap installer in a function
This will assure that the install script will not begin executing until after it has been downloaded should it be utilized in a 'curl | bash' workflow. Signed-off-by: Eric Windisch <eric@windisch.us>
This commit is contained in:
parent
26e83832c7
commit
fa961ce046
1 changed files with 200 additions and 197 deletions
|
@ -20,7 +20,8 @@ command_exists() {
|
||||||
command -v "$@" > /dev/null 2>&1
|
command -v "$@" > /dev/null 2>&1
|
||||||
}
|
}
|
||||||
|
|
||||||
case "$(uname -m)" in
|
do_docker_install() {
|
||||||
|
case "$(uname -m)" in
|
||||||
*64)
|
*64)
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
|
@ -28,19 +29,19 @@ case "$(uname -m)" in
|
||||||
echo >&2 'Docker currently only supports 64bit platforms.'
|
echo >&2 'Docker currently only supports 64bit platforms.'
|
||||||
exit 1
|
exit 1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
if command_exists docker || command_exists lxc-docker; then
|
if command_exists docker || command_exists lxc-docker; then
|
||||||
echo >&2 'Warning: "docker" or "lxc-docker" command appears to already exist.'
|
echo >&2 'Warning: "docker" or "lxc-docker" command appears to already exist.'
|
||||||
echo >&2 'Please ensure that you do not already have docker installed.'
|
echo >&2 'Please ensure that you do not already have docker installed.'
|
||||||
echo >&2 'You may press Ctrl+C now to abort this process and rectify this situation.'
|
echo >&2 'You may press Ctrl+C now to abort this process and rectify this situation.'
|
||||||
( set -x; sleep 20 )
|
( set -x; sleep 20 )
|
||||||
fi
|
fi
|
||||||
|
|
||||||
user="$(id -un 2>/dev/null || true)"
|
user="$(id -un 2>/dev/null || true)"
|
||||||
|
|
||||||
sh_c='sh -c'
|
sh_c='sh -c'
|
||||||
if [ "$user" != 'root' ]; then
|
if [ "$user" != 'root' ]; then
|
||||||
if command_exists sudo; then
|
if command_exists sudo; then
|
||||||
sh_c='sudo -E sh -c'
|
sh_c='sudo -E sh -c'
|
||||||
elif command_exists su; then
|
elif command_exists su; then
|
||||||
|
@ -50,37 +51,37 @@ if [ "$user" != 'root' ]; then
|
||||||
echo >&2 'We are unable to find either "sudo" or "su" available to make this happen.'
|
echo >&2 'We are unable to find either "sudo" or "su" available to make this happen.'
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
curl=''
|
curl=''
|
||||||
if command_exists curl; then
|
if command_exists curl; then
|
||||||
curl='curl -sSL'
|
curl='curl -sSL'
|
||||||
elif command_exists wget; then
|
elif command_exists wget; then
|
||||||
curl='wget -qO-'
|
curl='wget -qO-'
|
||||||
elif command_exists busybox && busybox --list-modules | grep -q wget; then
|
elif command_exists busybox && busybox --list-modules | grep -q wget; then
|
||||||
curl='busybox wget -qO-'
|
curl='busybox wget -qO-'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# perform some very rudimentary platform detection
|
# perform some very rudimentary platform detection
|
||||||
lsb_dist=''
|
lsb_dist=''
|
||||||
if command_exists lsb_release; then
|
if command_exists lsb_release; then
|
||||||
lsb_dist="$(lsb_release -si)"
|
lsb_dist="$(lsb_release -si)"
|
||||||
fi
|
fi
|
||||||
if [ -z "$lsb_dist" ] && [ -r /etc/lsb-release ]; then
|
if [ -z "$lsb_dist" ] && [ -r /etc/lsb-release ]; then
|
||||||
lsb_dist="$(. /etc/lsb-release && echo "$DISTRIB_ID")"
|
lsb_dist="$(. /etc/lsb-release && echo "$DISTRIB_ID")"
|
||||||
fi
|
fi
|
||||||
if [ -z "$lsb_dist" ] && [ -r /etc/debian_version ]; then
|
if [ -z "$lsb_dist" ] && [ -r /etc/debian_version ]; then
|
||||||
lsb_dist='debian'
|
lsb_dist='debian'
|
||||||
fi
|
fi
|
||||||
if [ -z "$lsb_dist" ] && [ -r /etc/fedora-release ]; then
|
if [ -z "$lsb_dist" ] && [ -r /etc/fedora-release ]; then
|
||||||
lsb_dist='fedora'
|
lsb_dist='fedora'
|
||||||
fi
|
fi
|
||||||
if [ -z "$lsb_dist" ] && [ -r /etc/os-release ]; then
|
if [ -z "$lsb_dist" ] && [ -r /etc/os-release ]; then
|
||||||
lsb_dist="$(. /etc/os-release && echo "$ID")"
|
lsb_dist="$(. /etc/os-release && echo "$ID")"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
lsb_dist="$(echo "$lsb_dist" | tr '[:upper:]' '[:lower:]')"
|
lsb_dist="$(echo "$lsb_dist" | tr '[:upper:]' '[:lower:]')"
|
||||||
case "$lsb_dist" in
|
case "$lsb_dist" in
|
||||||
amzn|fedora|centos)
|
amzn|fedora|centos)
|
||||||
if [ "$lsb_dist" = 'amzn' ]; then
|
if [ "$lsb_dist" = 'amzn' ]; then
|
||||||
(
|
(
|
||||||
|
@ -217,16 +218,18 @@ case "$lsb_dist" in
|
||||||
)
|
)
|
||||||
exit 0
|
exit 0
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
cat >&2 <<'EOF'
|
echo >&2
|
||||||
|
echo >&2 'Either your platform is not easily detectable, is not supported by this'
|
||||||
|
echo >&2 'installer script (yet - PRs welcome! [hack/install.sh]), or does not yet have'
|
||||||
|
echo >&2 'a package for Docker. Please visit the following URL for more detailed'
|
||||||
|
echo >&2 'installation instructions:'
|
||||||
|
echo >&2
|
||||||
|
echo >&2 ' https://docs.docker.com/en/latest/installation/'
|
||||||
|
echo >&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
Either your platform is not easily detectable, is not supported by this
|
do_docker_install
|
||||||
installer script (yet - PRs welcome! [hack/install.sh]), or does not yet have
|
|
||||||
a package for Docker. Please visit the following URL for more detailed
|
|
||||||
installation instructions:
|
|
||||||
|
|
||||||
https://docs.docker.com/en/latest/installation/
|
|
||||||
|
|
||||||
EOF
|
|
||||||
exit 1
|
exit 1
|
||||||
|
|
Loading…
Add table
Reference in a new issue