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
Read More
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
Marcos Carraro