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