From c3d9885b16b94a3ce53fb59489f554abca171955 Mon Sep 17 00:00:00 2001
From: Vytor Calixto <vytorcalixto@gmail.com>
Date: Fri, 15 Apr 2016 11:17:01 -0300
Subject: [PATCH] =?UTF-8?q?Instala=C3=A7=C3=A3o=20feita=20atrav=C3=A9s=20d?=
 =?UTF-8?q?e=20script?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 debian-based/install.sh   | 94 +++++++++++++++++++++++++++++++++++++++
 debian-based/packages.txt | 12 +++++
 2 files changed, 106 insertions(+)
 create mode 100755 debian-based/install.sh
 create mode 100644 debian-based/packages.txt

diff --git a/debian-based/install.sh b/debian-based/install.sh
new file mode 100755
index 0000000..97c55d9
--- /dev/null
+++ b/debian-based/install.sh
@@ -0,0 +1,94 @@
+#!/bin/bash
+
+PACKAGES=
+RUBY_VERSION=2.3.0
+ABSOLUTE_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
+#Ruby precisa de uma função especial para ser instalado através do RVM
+function ruby {
+    gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
+    curl -sSL https://get.rvm.io | bash -s stable
+    source $HOME/.rvm/scripts/rvm
+    rvm install $RUBY_VERSION
+}
+
+function update {
+    sudo apt-get update
+    sudo apt-get upgrade -y
+}
+
+#Instala todos os pacotes no arquivo packages
+function install {
+    PACKAGES=$(cat "$ABSOLUTE_PATH/packages.txt" | cut -d: -f2 | tr '\r\n' ' ')
+}
+
+function fresh-install {
+    update
+    install
+}
+
+function list {
+    cat "$ABSOLUTE_PATH/packages.txt" | tr ':' '\t'
+}
+
+function help {
+    echo "$(basename "$0") [-f|--fresh-install] [-h|--help] [-l|--list] (pacotes) -- Utilize para instalar pacotes na sua máquina"
+    echo
+    echo "onde:"
+    echo "      -h mostra a ajuda e sai"
+    echo "      -f instala todos os pacotes da lista"
+    echo "      -l lista os pacotes disponíveis"
+    echo "exemplo de uso:"
+    echo "      $(basename "$0") php mysql ruby"
+}
+
+#Se o arquivo não existe, o script cria
+if [ ! -f "$ABSOLUTE_PATH/packages.txt" ]
+then
+    packages="ssh:openssh-client openssh-server
+    php:php5 php5-mysql php5-pgsql php5-sqlite
+    mysql:mysql-client mysql-server
+    nodejs:nodejs npm
+    git:git
+    editors:vim gedit
+    openjdk:openjdk-7-jre openjdk-7-jdk default-jdk default-jre
+    flash:pepperflashplugin-nonfree
+    xchm:xchm
+    latex:texlive-full kile
+    curl:curl
+    make:make"
+    echo $packages > "$ABSOLUTE_PATH/packages.txt"
+fi
+while [[ $# > 0 ]]
+do
+    key="$1"
+    case $key in
+        -f|--fresh-install)
+        fresh-install
+        sudo apt-get install -y $PACKAGES
+        exit 0
+        ;;
+        -h|--help)
+        help
+        exit 0
+        ;;
+        -l|--list)
+        list
+        exit 0
+        ;;
+        ruby)
+        ruby
+        ;;
+        *)
+        #concatena na lista de pacotes as regras passadas por parâmetro
+        PACKAGES="$(cat "$ABSOLUTE_PATH/packages.txt" | grep $key | cut -d: -f2) $PACKAGES"
+        ;;
+    esac
+    shift
+done
+if [ -z "${param// }" ]
+then
+    # sudo apt-get install -y $PACKAGES
+    echo $PACKAGES
+else
+    help
+fi
diff --git a/debian-based/packages.txt b/debian-based/packages.txt
new file mode 100644
index 0000000..3aae238
--- /dev/null
+++ b/debian-based/packages.txt
@@ -0,0 +1,12 @@
+ssh:openssh-client openssh-server
+php:php5 php5-mysql php5-pgsql php5-sqlite
+mysql:mysql-client mysql-server
+nodejs:nodejs npm
+git:git
+editors:vim gedit
+openjdk:openjdk-7-jre openjdk-7-jdk default-jdk default-jre
+flash:pepperflashplugin-nonfree
+xchm:xchm
+latex:texlive-full kile
+curl:curl
+make:make
-- 
GitLab