From 709ce43b32be805813fad3f5da1e4cfd674c9e78 Mon Sep 17 00:00:00 2001
From: Vytor Calixto <vytorcalixto@gmail.com>
Date: Fri, 15 Apr 2016 11:16:52 -0300
Subject: [PATCH 01/10] Removido Makefile

---
 debian-based/Makefile | 35 -----------------------------------
 1 file changed, 35 deletions(-)
 delete mode 100644 debian-based/Makefile

diff --git a/debian-based/Makefile b/debian-based/Makefile
deleted file mode 100644
index 12d7c88..0000000
--- a/debian-based/Makefile
+++ /dev/null
@@ -1,35 +0,0 @@
-fresh-install: update install
-
-update:
-	sudo apt-get update
-	sudo apt-get upgrade -y
-
-install: ssh php mysql php-mysql ruby nodejs git editors openjdk xchmn latex curl
-
-ssh:
-	sudo apt-get install -y openssh-client openssh-server
-php:
-	sudo apt-get install -y php5
-mysql: 
-	sudo apt-get install -y mysql-client mysql-server
-php-mysql: php mysql
-
-ruby:	
-	sudo apt-get install -y ruby-full
-nodejs:
-	sudo apt-get install -y nodejs npm
-git:
-	sudo apt-get install -y git
-editors:
-	sudo apt-get install -y vim gedit
-openjdk:
-	sudo apt-get install -y openjdk-7-jre openjdk-7-jdk default-jdk default-jre
-flash:
-	sudo apt-get install -y pepperflashplugin-nonfree
-xchm:
-	sudo apt-get install -y xchm
-latex:
-	sudo apt-get install -y texlive-full kile
-curl:
-	sudo apt-get install -y curl
-
-- 
GitLab


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 02/10] =?UTF-8?q?Instala=C3=A7=C3=A3o=20feita=20atrav?=
 =?UTF-8?q?=C3=A9s=20de=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


From 27a99950444099d047a63d432c789994d13ea9e0 Mon Sep 17 00:00:00 2001
From: Vytor Calixto <vytorcalixto@gmail.com>
Date: Fri, 15 Apr 2016 11:32:10 -0300
Subject: [PATCH 03/10] Alterado README com exemplo correto de debian-based

---
 README.md | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/README.md b/README.md
index 02e67ab..54e66b2 100644
--- a/README.md
+++ b/README.md
@@ -9,13 +9,16 @@ Após formatar uma máquina, baixe o makefile de acordo com gerenciador de pacot
 **Instale:**
 
 Debian based
-`wget https://gitlab.c3sl.ufpr.br/pet/Install/raw/master/debian-based/Makefile; make`
+```
+wget https://gitlab.c3sl.ufpr.br/pet/Install/raw/master/debian-based/install.sh
+./install.sh -f
+```
 
-Arch Based
+Arch based
 `wget https://gitlab.c3sl.ufpr.br/pet/Install/raw/master/arch-based/Makefile; make`
 
 ### Exemplo
 `make fresh-install`  
 `make editors`
 ## Contribuição
-Adicione pacotes que não tenham sido lembrados aqui e outros pacotes opcionais.
\ No newline at end of file
+Adicione pacotes que não tenham sido lembrados aqui e outros pacotes opcionais.
-- 
GitLab


From 5e1a88db0f319789459940e1c656ab634bef9598 Mon Sep 17 00:00:00 2001
From: Vytor Calixto <vytorcalixto@gmail.com>
Date: Fri, 15 Apr 2016 11:32:33 -0300
Subject: [PATCH 04/10] Corrigido install.sh
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Verificação de string vazia estava checando um parmetro inexistente

(os problemas do ctrl+c e ctrl+v do stackoverflow)
---
 debian-based/install.sh | 36 +++++++++++++++++++-----------------
 1 file changed, 19 insertions(+), 17 deletions(-)

diff --git a/debian-based/install.sh b/debian-based/install.sh
index 97c55d9..261b333 100755
--- a/debian-based/install.sh
+++ b/debian-based/install.sh
@@ -24,6 +24,8 @@ function install {
 function fresh-install {
     update
     install
+    sudo apt-get install -y $PACKAGES
+    ruby
 }
 
 function list {
@@ -44,19 +46,20 @@ function help {
 #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"
+    packages="ssh:openssh-client openssh-server\n"
+    packages="${packages}php:php5 php5-mysql php5-pgsql php5-sqlite\n"
+    packages="${packages}mysql:mysql-client mysql-server\n"
+    packages="${packages}nodejs:nodejs npm\n"
+    packages="${packages}git:git\n"
+    packages="${packages}editors:vim gedit\n"
+    packages="${packages}openjdk:openjdk-7-jre openjdk-7-jdk default-jdk default-jre\n"
+    packages="${packages}flash:pepperflashplugin-nonfree\n"
+    packages="${packages}xchm:xchm\n"
+    packages="${packages}latex:texlive-full kile\n"
+    packages="${packages}curl:curl\n"
+    packages="${packages}make:make\n"
+
+    echo -e $packages > "$ABSOLUTE_PATH/packages.txt"
 fi
 while [[ $# > 0 ]]
 do
@@ -64,7 +67,6 @@ do
     case $key in
         -f|--fresh-install)
         fresh-install
-        sudo apt-get install -y $PACKAGES
         exit 0
         ;;
         -h|--help)
@@ -85,10 +87,10 @@ do
     esac
     shift
 done
-if [ -z "${param// }" ]
+#Checa se a string não está vazia
+if [ ! -z "${PACKAGES// }" ]
 then
-    # sudo apt-get install -y $PACKAGES
-    echo $PACKAGES
+    sudo apt-get install -y $PACKAGES
 else
     help
 fi
-- 
GitLab


From 4f93498e00842a7be50afe2bde0f3252de92ecd3 Mon Sep 17 00:00:00 2001
From: Vytor Calixto <vytorcalixto@gmail.com>
Date: Fri, 15 Apr 2016 11:33:24 -0300
Subject: [PATCH 05/10] Adicionado script do CI para testes

---
 .gitlab-ci.yml | 8 ++++++++
 1 file changed, 8 insertions(+)
 create mode 100644 .gitlab-ci.yml

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000..2241170
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,8 @@
+debian-test:
+    tags:
+        - debian
+    script:
+        - echo "Excluindo arquivo de pacotes"
+        - rm debian-based/packages.txt
+        - ./debian-based/install.sh -l
+        - ./debian-based/install.sh -f
-- 
GitLab


From 5f2cc10f7f8614a57af1531bd43ed642d2a143e7 Mon Sep 17 00:00:00 2001
From: Vytor Calixto <vytorcalixto@gmail.com>
Date: Fri, 15 Apr 2016 11:34:11 -0300
Subject: [PATCH 06/10] Arquivo com os pacotes para distros debian

As regras foram tiradas do antigo Makefile
---
 packages.txt | 1 +
 1 file changed, 1 insertion(+)
 create mode 100644 packages.txt

diff --git a/packages.txt b/packages.txt
new file mode 100644
index 0000000..c0e20c6
--- /dev/null
+++ b/packages.txt
@@ -0,0 +1 @@
+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


From 1e7d4abe52d9b64b8a81fb7a0ab43f7afceeaea9 Mon Sep 17 00:00:00 2001
From: Vytor Calixto <vytorcalixto@gmail.com>
Date: Fri, 15 Apr 2016 11:41:30 -0300
Subject: [PATCH 07/10] =?UTF-8?q?Adicionado=20arquivo=20para=20contribui?=
 =?UTF-8?q?=C3=A7=C3=A3o?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 CONTRIBUTING.md |  7 +++++++
 README.md       | 10 ++++++++--
 2 files changed, 15 insertions(+), 2 deletions(-)
 create mode 100644 CONTRIBUTING.md

diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 0000000..afb6c89
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,7 @@
+# CONTRIBUIÇÕES
+
+Adicione pacotes que não tenham sido lembrados aqui e outros pacotes opcionais.
+
+Para distribuições baseadas no debian, altere o arquivo debian-based/packages.txt seguindo o padrão "regra: pacote1 pacote2".
+
+Para distribuições baseadas do arch, altere o arquivo arch-based/Makefile criando uma novo regra e inserindo o comando de instalação com os pacotes.
diff --git a/README.md b/README.md
index 54e66b2..3a14a05 100644
--- a/README.md
+++ b/README.md
@@ -18,7 +18,13 @@ Arch based
 `wget https://gitlab.c3sl.ufpr.br/pet/Install/raw/master/arch-based/Makefile; make`
 
 ### Exemplo
+
+**Debian based**
+
+`./install.sh --fresh-install`
+`./install.sh editors ruby ssh`
+
+**Arch based**
+
 `make fresh-install`  
 `make editors`
-## Contribuição
-Adicione pacotes que não tenham sido lembrados aqui e outros pacotes opcionais.
-- 
GitLab


From c95942437d5f6bf066d8081c7362603c2d247a44 Mon Sep 17 00:00:00 2001
From: Vytor Calixto <vytorcalixto@gmail.com>
Date: Fri, 15 Apr 2016 11:49:28 -0300
Subject: [PATCH 08/10] =?UTF-8?q?Script=20verifica=20se=20usu=C3=A1rio=20?=
 =?UTF-8?q?=C3=A9=20root?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 debian-based/install.sh | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/debian-based/install.sh b/debian-based/install.sh
index 261b333..1c2a845 100755
--- a/debian-based/install.sh
+++ b/debian-based/install.sh
@@ -3,6 +3,15 @@
 PACKAGES=
 RUBY_VERSION=2.3.0
 ABSOLUTE_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
+
+#Checa se o usuário é root
+if [[ $EUID -ne 0 ]]
+then
+    ROOT="sudo"
+else
+    ROOT=
+fi
+
 #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
@@ -24,8 +33,7 @@ function install {
 function fresh-install {
     update
     install
-    sudo apt-get install -y $PACKAGES
-    ruby
+    $(echo "$ROOT apt-get install -y $PACKAGES")
 }
 
 function list {
@@ -41,6 +49,7 @@ function help {
     echo "      -l lista os pacotes disponíveis"
     echo "exemplo de uso:"
     echo "      $(basename "$0") php mysql ruby"
+    echo "AVISO: por padrão, o ruby não é instalado. Para instalar, execute $(basename "$0") ruby"
 }
 
 #Se o arquivo não existe, o script cria
@@ -90,7 +99,7 @@ done
 #Checa se a string não está vazia
 if [ ! -z "${PACKAGES// }" ]
 then
-    sudo apt-get install -y $PACKAGES
+    $(echo "$ROOT apt-get install -y $PACKAGES")
 else
     help
 fi
-- 
GitLab


From d1862938b55938e136d68e8f90531a07b85b767b Mon Sep 17 00:00:00 2001
From: Vytor Calixto <vytorcalixto@gmail.com>
Date: Fri, 15 Apr 2016 11:50:47 -0300
Subject: [PATCH 09/10] =?UTF-8?q?Script=20verifica=20se=20usu=C3=A1rio=20?=
 =?UTF-8?q?=C3=A9=20root=20ao=20atualizar?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Ficou faltando isso no último commit
---
 debian-based/install.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/debian-based/install.sh b/debian-based/install.sh
index 1c2a845..5f72d54 100755
--- a/debian-based/install.sh
+++ b/debian-based/install.sh
@@ -21,8 +21,8 @@ function ruby {
 }
 
 function update {
-    sudo apt-get update
-    sudo apt-get upgrade -y
+    $(echo "$ROOT apt-get update")
+    $(echo "$ROOT apt-get upgrade -y")
 }
 
 #Instala todos os pacotes no arquivo packages
-- 
GitLab


From d98364a5c72550c4fd1e31b4b8d868fdc875f20f Mon Sep 17 00:00:00 2001
From: Vytor Calixto <vytorcalixto@gmail.com>
Date: Fri, 15 Apr 2016 11:55:17 -0300
Subject: [PATCH 10/10] Removido flash da lista
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Não está naturalmente na lista de pacotes do Debian (aka vem de terceiros e não é aberto)
---
 debian-based/install.sh   | 1 -
 debian-based/packages.txt | 1 -
 2 files changed, 2 deletions(-)

diff --git a/debian-based/install.sh b/debian-based/install.sh
index 5f72d54..1bce325 100755
--- a/debian-based/install.sh
+++ b/debian-based/install.sh
@@ -62,7 +62,6 @@ then
     packages="${packages}git:git\n"
     packages="${packages}editors:vim gedit\n"
     packages="${packages}openjdk:openjdk-7-jre openjdk-7-jdk default-jdk default-jre\n"
-    packages="${packages}flash:pepperflashplugin-nonfree\n"
     packages="${packages}xchm:xchm\n"
     packages="${packages}latex:texlive-full kile\n"
     packages="${packages}curl:curl\n"
diff --git a/debian-based/packages.txt b/debian-based/packages.txt
index 3aae238..5673e0a 100644
--- a/debian-based/packages.txt
+++ b/debian-based/packages.txt
@@ -5,7 +5,6 @@ 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
-- 
GitLab