Disseram a você para “clonar o repo e construí-lo” e não sabe o que fazer a seguir? Mostraremos como fazer com que esse programa no GitHub seja executado no Linux, mesmo se você for um iniciante.
As instruções que constituem um programa de computador são escritas, editadas e salvas em arquivos de texto. Um programa chamado compilador processa esses arquivos. Isso produz a versão executável do programa. Os arquivos de texto de instruções são chamados de código-fonte. A versão do programa que pode realmente ser executado em um computador é chamada de binária ou executável.
Essa é uma versão simplificada dos eventos, mas pinta uma imagem correta – se generalizada. Na prática, você encontrará todos os tipos de variações desse modelo. Às vezes, outros programas geram os arquivos de texto. Outras vezes, o código-fonte é executado dentro de um interpretador e não precisa ser compilado e assim por diante.
No entanto, a única verdade universal em todos os projetos de software é esta: os arquivos de código-fonte são as joias da coroa e precisam ser cuidados com o mesmo cuidado.
Índice
Programas de controle de versão
Todos os arquivos de código-fonte em um projeto são chamados de base de código. Projetos grandes geralmente têm muitos desenvolvedores trabalhando na base de código. Cada mudança de código deve ser rastreada e identificável. Se necessário, as alterações devem ser reversíveis. Se diferentes desenvolvedores fizerem alterações no mesmo arquivo de código-fonte, suas edições deverão ser mescladas.
Não é surpreendente, então, que programas de software chamados sistemas de controle de versão existam para tornar mais fácil o gerenciamento de alterações na base de código. Os sistemas de controle de versão mantêm todas as versões anteriores de cada arquivo na base de código e cada mudança é registrada, comentada e rastreada.
Uma pequena coisa chamada Git
Linus Torvalds, o criador do kernel Linux , desenvolveu um programa de controle de versão chamado Git para administrar a base de código do kernel Linux. Agora é o software de controle de versão mais amplamente adotado do mundo. Existem milhões de pessoas usando – literalmente.
Com o Git, a base de código de um projeto é armazenada em repositórios . Além dos repositórios locais que ficam nos computadores do desenvolvedor e, talvez, em um servidor central na rede, é uma boa prática ter um repositório externo ou remoto.
E é aí que entra o GitHub.
GitHub
O GitHub foi criado como resultado do git
sucesso de. Os fundadores viram a necessidade emergente de git
repositórios remotos hospedados com segurança . Eles lançaram um negócio que fornece uma plataforma em nuvem para permitir que as equipes de desenvolvimento hospedem repositórios remotos. Em abril de 2019, o GitHub hospedava mais de 100 milhões de repositórios.
Se um aplicativo for um projeto de código aberto, as chances são muito altas de que ele seja hospedado no GitHub. Existem outras plataformas de repositórios disponíveis, tais como BitBucket e gitlab , mas GitHub tem a parte do leão dos repositórios de código aberto.
Anatomia de um Repositório
Um repositório GitHub é composto de pastas contendo arquivos, como os arquivos de código-fonte muito importantes. Normalmente, existem muitos outros tipos de arquivos no repositório. Pode haver arquivos de documentação, páginas de manual, arquivos de licença de software, instruções de construção e arquivos de script de shell. Não existem regras sobre o que um repositório deve ou deve conter, mas existem convenções.
Se você conhece uma cozinha, pode navegar em qualquer cozinha. É o mesmo com repositórios. Depois de entender as convenções, você sabe aonde ir para encontrar o que precisa.
Então, como você obtém uma cópia do repositório em seu computador e como você constrói o programa em um executável binário?
O arquivo leia-me
É tradicional incluir um arquivo leia-me em um repositório. Pode ser chamado de leia-me, Leia-me ou README. Ele pode ter uma extensão “.md” ou nenhuma extensão.
Vamos dar uma olhada no repositório GitHub para o editor Atom . Você vê uma longa lista de pastas e arquivos. Role para baixo e você verá o conteúdo do arquivo README.md.
O GitHub coloca automaticamente o conteúdo do arquivo leia-me na página inicial do repositório. Se o arquivo leia-me tiver uma extensão “.md”, ele conterá a linguagem de marcação Markdown . Isso permite que os desenvolvedores usem elementos de estilo, como fontes, marcadores e imagens.
Normalmente, um arquivo leia-me tem seções que informam sobre o que é o projeto, qual é a licença de tipo, quem mantém o projeto, como se envolver e como construir e executar o aplicativo.
Se não listar as instruções de construção reais, ele dirá onde encontrar essas informações. Outras informações úteis para construir o aplicativo, como as ferramentas de construção necessárias e outras dependências, podem ser listadas aqui ou um link pode levá-lo a essas informações.
Repositório de caixas
Nossa missão é clonar o repositório de caixas e, em seguida, construir o boxes
aplicativo.
O repositório segue o mesmo layout do Atom. Há uma lista de pastas e arquivos e abaixo dela está o conteúdo do arquivo leia-me. Ele segue o layout padrão de um repositório, mas é um projeto menor, portanto, há menos pastas e arquivos.
O arquivo leia-me também é mais breve. Ele tem uma seção chamada “Desenvolvimento”. Nessa seção, há um link intitulado “construir a partir da fonte”. Se seguirmos esse link, devemos encontrar as informações de que precisamos.
Geralmente, é necessário fazer algumas investigações leves para navegar no repositório e encontrar as informações que você deseja, mas não é difícil. Leia tudo na página do repositório com atenção. Às vezes, as informações estão lá, mas podem não ser exibidas com destaque.
As dependências
A página “Construindo a partir do código-fonte” possui uma seção chamada “Construindo no Linux”, e é exatamente isso que precisamos. Ele diz que devemos ter um compilador C , Bison e Flex instalados.
As instruções de construção dizem para emitir o make
comando, então também precisaremos make
.
As ferramentas necessárias para construir este aplicativo são um compilador C, Bison, Flex make
e Git (para clonar o repositório para o seu computador).
Este artigo foi pesquisado em computadores que executam as distribuições Ubuntu, Fedora e Manjaro Linux. Nenhuma distribuição tinha todas essas ferramentas instaladas – algo precisava ser instalado em cada uma delas.
Instalando o Conjunto de Ferramentas
O Ubuntu precisava ter Git, Flex, Bison e make
instalado. Aqui estão os comandos:
sudo apt-get install git
sudo apt-get install flex
sudo apt-get install bison
sudo apt-get install make
O Fedora precisava ter Flex, Bison e make
instalado. Aqui estão os comandos:
sudo dnf install flex
sudo dnf install bison
sudo dnf install make
Manjaro precisava ter o compilador GCC, Flex e Bison instalados. Aqui estão os comandos:
sudo pacman -Syu gcc
sudo pacman -Syu flex
sudo pacman -Syu bison
Clonando o Repositório
Cada repositório GitHub tem um endereço da web específico usado com Git para clonar o repositório em seu computador. Na página principal do repositório de caixas, há um botão verde denominado “Clonar ou baixar”.
Clique no botão para ver o endereço da web. Este é o endereço que devemos passar ao git
comando quando clonamos o repositório.
Mude para o diretório em que queremos que o repositório seja clonado e, em seguida, use este comando. Se a janela do seu terminal suportar, você pode copiar e colar o endereço da web no comando. Pressione Ctrl + Shift + V para colar em uma janela de terminal do GNOME.
Git clona o repositório remoto e cria um local em seu computador. Ele nos diz que está sendo clonado em um diretório chamado “caixas”.
O diretório boxes é criado dentro do diretório a partir do qual você emitiu o git
comando. Se mudarmos para o diretório boxes e olharmos o conteúdo, veremos a mesma lista de arquivos e pastas que vimos na página do GitHub.
Ótimo! Clonamos com sucesso o código-fonte e outros arquivos em nosso computador. Agora, precisamos construir o aplicativo.
Construindo o aplicativo
Para construir o aplicativo, devemos seguir as instruções no repositório GitHub. Às vezes, executamos um arquivo shell específico e outros executamos make
. As instruções de compilação que estamos seguindo nos disseram para executar make
.
O make
utilitário lê e executa um conjunto de instruções de um makefile. Estas instruções mostram make
como compilar o programa e vinculá-lo. make
passa as instruções para o compilador e outras ferramentas de construção.
O comando que devemos usar chamará make
duas vezes. A primeira chamada para make
construir o aplicativo e a segunda executa um conjunto de testes.
O comando que as instruções de compilação nos disseram para usar é:
fazer && fazer teste
Muitas linhas de saída rolam rapidamente na janela do terminal. Em um minuto ou mais, você retornará ao prompt de comando.
Implantando o aplicativo de caixas
O aplicativo foi construído e temos um binário executável. Devemos agora copiar o binário para o diretório / usr / bin /. Isso permite que o shell o encontre quando tentarmos usá-lo.
Para alguns aplicativos, isso pode ser tudo que você precisa fazer. Em outros casos, você pode precisar copiar arquivos adicionais, como páginas de manual e arquivos de configuração, para locais no sistema de arquivos. O último é o que temos que fazer com nosso novo aplicativo, porque estava nas instruções de construção.
Use sudo
para executar esses comandos. O primeiro comando copia uma página de manual para o diretório man1:
sudo cp doc / boxes.1 / usr / share / man / man1
Em seguida, copie o arquivo de configuração global para um diretório em / usr / share /:
sudo cp boxes-config / usr / share / boxes
Por fim, copie o binário para / usr / bin:
sudo cp src / boxes / usr / bin
Testando o aplicativo de caixas
Vamos ver se tudo funciona! Tente abrir a página de manual do boxes
comando.
caixas de homem
Isso é encorajador! Você verá uma página de manual informando como usar o boxes
comando.
Pressione “Q” para sair do sistema man e tente usar o boxes
comando.
echo How-To Geek | caixas
E recebemos a resposta:
Isso pode parecer um pouco desanimador, considerando todo o esforço que você fez, mas o objetivo deste exercício foi orientá-lo na retirada de um repositório do GitHub e na construção do aplicativo.
O boxes
comando permite que você envolva o texto direcionado a ele em uma ampla variedade de quadros. Alguns deles podem ser usados como comentários em arquivos de código-fonte. O formato acima funcionaria como um comentário em um arquivo de código-fonte C, por exemplo. Outros são puramente decorativos. A -d
opção (design) permite que você escolha o estilo da moldura.
echo How-To Geek | caixas -d whirly
echo How-To Geek | caixas -d c-cmt2
Existe uma longa lista de designs à sua escolha. Para ver todos eles, use este comando:
caixas -l | Menos
Build Complete
As etapas para criar a partir do código-fonte geralmente são simples:
- Revise as instruções de construção no repositório.
- Verifique se você tem as ferramentas necessárias instaladas e instale as que estiverem faltando.
- Clone o repositório para o seu computador.
- Siga as instruções de construção, que geralmente são tão simples quanto digitar
make
. - Copie o (s) arquivo (s) para os locais necessários.
Se houver etapas nas instruções de construção que não estão claras, veja se o projeto tem um fórum ou comunidade para o qual você pode enviar uma pergunta. Se o aplicativo tiver um site, ele pode ter uma página “Fale conosco”. O desenvolvedor que mantém o projeto das caixas tem seu e-mail na página “Sobre” do site das caixas . É um gesto generoso de sua parte, típico da comunidade de código aberto mais ampla.