BEM VINDO AO BLOG DO MARCOS CARRARO CRIADOR DO "CARRARO DASHBOARD". MUITO MAIS QUE UM SIMPLES BLOG.

sexta-feira, 19 de setembro de 2014

Criando pacotes RPM Centos 6.5 - 2

Buenas,

Continuidade de http://marcoscarraro.blogspot.com.br/2014/09/criando-um-repositorio-de-rpm-1.html

Então lá vamos nos criar os pacotes RPM.

Pacotes necessários
# yum install rpmdevtools

Vamos criar um usuário limpo para fazer a criação dos pacotes, para não puxar permissões especiais.
# adduser pacotes
# passwd pacotes

Logando no usuário
# su pacotes

Vamos criar a estrutura básica do RPM, o ideal é trabalhar sempre no ~ do usuário
# cd ~
# rpmdev-setuptree

Vai criar uma pasta chamada rpmbuild

Informações da estrutura criada.
BUILD é usado como espaço de rascunho para compilar realmente o software.
RPMS contém o RPM binário que o rpmbuild constrói.
SOURCES destina-se ao código-fonte.
SPECS contém seu arquivo ou arquivos spec— um arquivo spec por RPM que desejar construir.
SRPMS contém o RPM fonte construído durante o processo.

Ok, preparado o terreno, vamos criar a estrutura do nosso programa, a estrutura do programa pode ser /etc/programa , /usr/local/programa , /var/log/programa 

# mkdir -p pacote-1/opt/pacote/
# mkdir -p pacote-1/var/log/pacote/
# echo "Arquivo de testes" > ./pacote-1/opt/pacote/conteudo.conf

Depois da estrutura criada, os arquivos transferidos, é hora de compactar tudo, repare que vamos salvar dentro da pasta SOURCES.
# tar -czvf rpmbuild/SOURCES/pacote-1.tar.gz pacote-1/


Feito isso é a hora de criar o SPEC, esse cara é quem vai reger toda instalação.
# rpmdev-newspec rpmbuild/SPECS/pacote.spec

Utilize este arquivo pré elaborado por mim, ele é genérico, porém esta comentado referente ao que cada bloco ira fazer. Altere as demais informações, onde o Name é utilizado junto do Version, por isso criamos o pacote-1.tar.gz, também pode alterar as dependências do pacote, colocar ações pré instalação, pós instalação, pré desinstalação, pós desinstalação.


#
#  DESCRICAO DO PACOTE E CRIADOR
#
Name: pacote
Version: 1 
Release: 0
Summary: PACOTE ABC De testes
Group: APP
License: GPL
URL: http://marcoscarraro.blogspot.com

#
#  INFORMACOES DO PACOTE, E DEPENDENCIAS
#
Source0: %{name}-%{version}.tar.gz
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-buildroot 
#Requires: httpd php php-common

#
#   DESCRICAO GERAL
#
%description
Pacote criado para testes

#
#   ACOES A SEREM TOMADAS
#   %pre,      %post,       %preun,       %postun
#   pre instal, post instal, pre uninstal, pos uninstal
%pre
echo "Instalando O pacote aguarde..."


%prep
%setup -q

#
#  EXECUTA A INSTALACAO, PODEMOS INCREMENTAR A MESMA
#
%install
mkdir -p %{buildroot}
cp -R * %{buildroot}

#
#  FAZ A LIMPEZA DA INSTALACAO
#
%clean
rm -rf %{buildroot}

#
#  TERMINA A INSTALACAO, PODEMOS APLICAR COMANDOS AQUI
#
%post
echo "Pacote Instalado com sucesso"

#
#  INDICA OS ARQUIVOS,PASTAS INSTALADOS, PARA SABER QUANDO FOR FAZER UM RPM -E
#
%files
%defattr(-,root,root,-)
/var/log/pacote
/opt/pacote/pacote.conf
/opt/pacote/

Abraços
Marcos Carraro


Nenhum comentário:

Postar um comentário

Posts que a turma mais esta lendo...

Posts que a turma mais esta lendo...

Marcos Carraro