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
This commit is contained in:
parent
f42a1c5a74
commit
711db9352c
|
@ -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.
|
||||
|
|
Loading…
Reference in New Issue