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

Fix progress spinner. #4178

Merged
merged 1 commit into from
Oct 9, 2017
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 25 additions & 22 deletions snipeit.sh
Original file line number Diff line number Diff line change
Expand Up @@ -39,12 +39,14 @@ spin[3]="/"

# Debian/Ubuntu friendly f(x)s
progress () {
echo -n " "
while kill -0 "$pid" > /dev/null 2>&1; do
for i in "${spin[@]}"; do
echo -ne "\b$i"
sleep .1
done
done
echo ""
}

setvhdebian () {
Expand All @@ -63,7 +65,6 @@ setvhdebian () {
echo " CustomLog /var/log/apache2/access.log combined"
echo "</VirtualHost>"
} >> $apachefile
echo >> $hosts "127.0.0.1 $hostname $fqdn"
log "a2ensite $name.conf"
}

Expand Down Expand Up @@ -203,7 +204,7 @@ read -r setpw

case $setpw in
[yY] | [yY][Ee][Ss] )
mysqluserpw="$(echo `< /dev/urandom tr -dc _A-Za-z-0-9 | head -c16`)"
mysqluserpw="$(< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c16; echo)"
echo ""
ans="yes"
;;
Expand All @@ -219,8 +220,6 @@ esac
done

#TODO: Lets not install snipeit application under root
#TODO: Make progress tracker go on the same line of the step being run
#TODO: Progress tracker on each step

case $distro in
debian)
Expand All @@ -230,15 +229,15 @@ case $distro in
ownergroup=www-data:www-data
tzone=$(cat /etc/timezone)

echo "* Updating with apt-get update."
echo -n "* Updating with apt-get update."
log "apt-get update" & pid=$!
progress

echo "* Upgrading packages with apt-get upgrade."
echo -n "* Upgrading packages with apt-get upgrade."
log "apt-get -y upgrade" & pid=$!
progress

echo "* Installing Apache httpd, PHP, MariaDB and other requirements."
echo -n "* Installing Apache httpd, PHP, MariaDB and other requirements."
log "DEBIAN_FRONTEND=noninteractive apt-get install -y mariadb-server mariadb-client apache2 libapache2-mod-php php php-mcrypt php-curl php-mysql php-gd php-ldap php-zip php-mbstring php-xml php-bcmath curl git unzip" & pid=$!
progress

Expand All @@ -247,6 +246,7 @@ case $distro in
echo "* Creating the new virtual host in Apache."
setvhdebian

echo "* Setting up hosts file."
echo >> $hosts "127.0.0.1 $hostname $fqdn"

echo "* Securing MariaDB."
Expand All @@ -262,6 +262,7 @@ case $distro in
log "service apache2 restart"

elif [[ "$version" =~ ^8 ]]; then
##################################### Install for Debian 8 ##############################################
webdir=/var/www
ownergroup=www-data:www-data
tzone=$(cat /etc/timezone)
Expand All @@ -273,17 +274,17 @@ case $distro in
#PHP7 repository
log "apt-get install -y apt-transport-https"
log "wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg"
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list
echo "deb https://packages.sury.org/php/ $codename main" > /etc/apt/sources.list.d/php.list

echo "* Updating with apt-get update."
echo -n "* Updating with apt-get update."
log "apt-get update" & pid=$!
progress

echo "* Upgrading packages with apt-get upgrade."
echo -n "* Upgrading packages with apt-get upgrade."
log "apt-get -y upgrade" & pid=$!
progress

echo "* Installing Apache httpd, PHP, MariaDB and other requirements."
echo -n "* Installing Apache httpd, PHP, MariaDB and other requirements."
log "DEBIAN_FRONTEND=noninteractive apt-get install -y mariadb-server mariadb-client php7.1 php7.1-mcrypt php7.1-curl php7.1-mysql php7.1-gd php7.1-ldap php7.1-zip php7.1-mbstring php7.1-xml php7.1-bcmath curl git unzip" & pid=$!
progress

Expand All @@ -292,6 +293,7 @@ case $distro in
echo "* Creating the new virtual host in Apache."
setvhdebian

echo "* Setting up hosts file."
echo >> $hosts "127.0.0.1 $hostname $fqdn"

echo "* Securing MariaDB."
Expand Down Expand Up @@ -323,17 +325,15 @@ case $distro in
log "apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8"
log "add-apt-repository 'deb [arch=amd64,i386] http://nyc2.mirrors.digitalocean.com/mariadb/repo/10.1/ubuntu $codename main'"

echo "* Updating with apt-get update."
echo -n "* Updating with apt-get update."
log "apt-get update" & pid=$!
#https://wiki.debian.org/Teams/Dpkg/FAQ#Q:_What_can_be_done_when_the_dpkg_lock_is_held.3F
#[ -f /var/lib/dpkg/lock ] && rm -f /var/lib/dpkg/lock
progress

echo "* Upgrading packages with apt-get upgrade."
echo -n "* Upgrading packages with apt-get upgrade."
log "apt-get -y upgrade" & pid=$!
progress

echo "* Installing Apache httpd, PHP, MariaDB and other requirements."
echo -n "* Installing Apache httpd, PHP, MariaDB and other requirements."
log "DEBIAN_FRONTEND=noninteractive apt-get install -y mariadb-server mariadb-client apache2 libapache2-mod-php php php-mcrypt php-curl php-mysql php-gd php-ldap php-zip php-mbstring php-xml php-bcmath curl git unzip" & pid=$!
progress

Expand All @@ -344,6 +344,9 @@ case $distro in
echo "* Creating the new virtual host in Apache."
setvhdebian

echo "* Setting up hosts file."
echo >> $hosts "127.0.0.1 $hostname $fqdn"

echo "* Starting MariaDB."
log "service mysql start"

Expand Down Expand Up @@ -372,17 +375,15 @@ case $distro in
#PHP7 repository
log "add-apt-repository ppa:ondrej/php -y"

echo "* Updating with apt-get update."
echo -n "* Updating with apt-get update."
log "apt-get update" & pid=$!
#https://wiki.debian.org/Teams/Dpkg/FAQ#Q:_What_can_be_done_when_the_dpkg_lock_is_held.3F
#[ -f /var/lib/dpkg/lock ] && rm -f /var/lib/dpkg/lock
progress

echo "* Upgrading packages with apt-get upgrade."
echo -n "* Upgrading packages with apt-get upgrade."
log "apt-get -y upgrade" & pid=$!
progress

echo "* Installing Apache httpd, PHP, MariaDB and other requirements."
echo -n "* Installing Apache httpd, PHP, MariaDB and other requirements."
log "DEBIAN_FRONTEND=noninteractive apt-get install -y mariadb-server mariadb-client php7.1 php7.1-mcrypt php7.1-curl php7.1-mysql php7.1-gd php7.1-ldap php7.1-zip php7.1-mbstring php7.1-xml php7.1-bcmath curl git unzip" & pid=$!
progress

Expand All @@ -393,6 +394,9 @@ case $distro in
echo "* Creating the new virtual host in Apache."
setvhdebian

echo "* Setting up hosts file."
echo >> $hosts "127.0.0.1 $hostname $fqdn"

echo "* Starting MariaDB."
log "service mysql start"

Expand Down Expand Up @@ -513,7 +517,6 @@ case $distro in
mysql -u root -p --execute="CREATE DATABASE snipeit;GRANT ALL PRIVILEGES ON snipeit.* TO snipeit@localhost IDENTIFIED BY '$mysqluserpw';"

#TODO make sure the apachefile doesnt exist isnt already in there
#Create the new virtual host in Apache and enable rewrite
echo "* Creating the new virtual host in Apache."
setvhcentos

Expand Down