quarta-feira, 30 de novembro de 2016

Preparando o sistema para criar um pacote RPM

Aula - 1

Nessa dica vamos aprender a preparar o sistema para podermos criar um pacote RPM.
Claro que mesmo em um Debian, ou mesmo no Ubuntu isso também é possível, mas por hora não vamos para esse lado mais técnico, usando então uma distribuição baseada em RPM (PCLinuxOS, Mageia, Fedora, OpenSUSE, etc.), iremos abrir o terminal, para assim entendermos como as coisas vão se construindo.

E aqui estou usando o PCLinuxOS e em algumas das distros mencionadas nessa postagem eu realmente não conheço os comandos e então vou citar apenas dois exemplos que são para o PCLOS e Fedora:

No terminal o primeiro passo para isso é:

No PCLinuxOS
# apt-get update ; apt-get install easyrpmbuilder
No Fedora
$ sudo dnf install rpmdevtools rpmlint
 Feito isso o terminal irá instalar os compiladores necessários, depois de terminada a instalação ressalto que se você estiver como root "#" no terminal volte para usuário comum, pois de agora em diante tudo é feito assim, como usuário comum, então agora vamos criar a árvore de diretórios necessária para o empacotamento:


$ rpmdev-setuptree 
 Esse comando irá criar todas as pastas usadas em um empacotamento .RPM, vamos verificar as pastas

cd rpmbuild; ls
BUILD/  BUILDROOT/  RPMS/  SOURCES/  SPECS/  SRPMS/ 
As funções destas pastas são:
  • A pasta SOURCES é onde você deve jogar o código fonte do programa que vai empacotar. Não se preocupe em descompactá-lo;
  • Na pasta SPECS você vai criar um script que é próprio para fazer RPMs chamado “arquivo de especificação”. Nele escreveremos todos os dados do RPM como nome, versão, descrição etc. Geralmente ele recebe o nome do programa a ser empacotado com a extensão .spec;
  • Na pasta BUILD ocorre o processo de compilação. Aqui é onde é feito o trabalho sujo pelo compilador. O seu código fonte é automaticamente descompactado aqui, checado, compilado e empacotado. Pense nessa pasta como a “linha de produção” dos seus pacotes.
  • Em RPMS são jogados os pacotes prontos. Basta ir até esta pasta e instalar os pacotes depois de pronto
  • SRPMS também contém RPMs, mas não do tipo que vem com um executável. O SRPM é apenas o código fonte do seu RPM. Com um SRPM, qualquer um é capaz de reproduzir o seu RPM sem nenhum esforço. Dentro dele temos o código fonte do software, o seu arquivo .spec ou qualquer outra coisa que você tenha colocado em seu pacote
Na próxima dica falaremos de uma forma bem amigável sobre o arquivo de configuração ou seja o file.SPEC

Até a próxima dica