From 711db9352c8a0be9ac809b89192eacfa5ffbb7de Mon Sep 17 00:00:00 2001 From: Joshua Tauberer Date: Sun, 5 Oct 2014 13:32:52 -0400 Subject: [PATCH] bootstrap: apt was mangling stdin When executed "cat bootstrap.sh | bash", apt-get mangled stdin. The script would terminate at the end of the if block containing apt-get (that seems to be as much as bash read from the pipe) and the remainder of the script was output to the console. This was very weird. Ensuring that apt-get and git have their stdins redirected from /dev/null seems to fix the problem. see #224 --- setup/bootstrap.sh | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) mode change 100755 => 100644 setup/bootstrap.sh diff --git a/setup/bootstrap.sh b/setup/bootstrap.sh old mode 100755 new mode 100644 index cbf2c7c3..6343b585 --- a/setup/bootstrap.sh +++ b/setup/bootstrap.sh @@ -16,27 +16,34 @@ if [[ $EUID -ne 0 ]]; then exit fi -# Go to root's home directory. -cd - # Clone the Mail-in-a-Box repository if it doesn't exist. if [ ! -d mailinabox ]; then echo Installing git . . . - apt-get -q -q install -y git + DEBIAN_FRONTEND=noninteractive apt-get -q -q install -y git < /dev/null + echo echo Downloading Mail-in-a-Box . . . - git clone -b $TAG --depth 1 https://github.com/mail-in-a-box/mailinabox 2> /dev/null - cd mailinabox + git clone \ + -b $TAG --depth 1 \ + https://github.com/mail-in-a-box/mailinabox \ + $HOME/mailinabox \ + < /dev/null 2> /dev/null -# If it does exist, update it. -else + echo +fi + +# Change directory to it. +cd $HOME/mailinabox + +# Update it. +if [ "$TAG" != `git describe` ]; then echo Updating Mail-in-a-Box to $TAG . . . - cd mailinabox git fetch if ! git checkout -q $TAG; then echo "Update failed. Did you modify something in `pwd`?" exit fi + echo fi # Start setup script.