Introdução - Empacotar um .RPM

Espaço reservado para desenvolvimento de empacotamento de softwares Mageia no Brasil.

Introdução - Empacotar um .RPM

Mensagempor PauloCreto » Qui Nov 10, 2016 10:39 am

Olá a todos,

Antes de algo preciso dizer que crio pacotes simples como por exemplo plymouth, ícones e até mesmo wallpapers para serem instalados como se fosse um pacote (em exemplo) em uma distro como a mageia que seria:

Código: Selecionar todos
# rpm -i icons-theme-creto-noarch.rpm


ou

Código: Selecionar todos
sudo dpkg -i icos-theme-creto-all.deb


Sim, já que estes pacotes nem dependem (no meu caso .DEB) dos arquivos control, que seria na mageia ou outra distro que usa o RPM o specfile ou meutemadeicones.spec

Dito isso encontrei um site com uma excelente dica, que é sim bem antiga a dica, mas que me trouxe uma pequena curiosidade e "achismo", empacotar em RPM mesmo os tais pacotes simples é bem mais dificil que um .DEB (que poderia explicar como se faz aqui, mas não é o caso não é mesmo?) Então na integra vou postar aqui em outra mensagem devido o tamanho.

Vamos começar nessa mensagem, preparar o sistema:
Código: Selecionar todos
urpmi rpm-build rpmlint task-c++-devel task-c-devel tree bash-completion


Ou tão somente:
Código: Selecionar todos
urpmi rpmdevtools rpmlint


Este último pacote o rpmdevtools possui já uma boa gama de scripts que facilitam o processo complicado de empacotar um RPM.

Com o pacote supracitado basta que ao término da sua instalação o usuário comande como usuário "normal" não como ROOT:
Código: Selecionar todos
$ rpmdev-setuptree


Que os scripts irão criar a árvore de diretórios, já com um exemplo de arquivo .SPEC:
Código: Selecionar todos
BUILD RPMS SOURCES SPECS SRPMS


Essa é a preparação necessária que precisamos, depois só vem coisas dificieis mesmo de entender.

(Desculpe ai pessoal, mas mesmo não me achando tão leigo, isso é uma coisa que estudo ante toda dificuldade que tenho com o idioma Tio Sam e minha critica é construtiva, já que é bem dificil entender e..., me desculpe os que defendem mas ser "universal" ter que dar os pacotes tudos escritos em inglês, programar tudo em idioma US, a quem disse que eles são melhores hein?)

Continuando..., o epilogo desta primeira mensagem:
A pasta BUILD é onde estão todos os arquivos que são criados durante uma compilação do pacote quando você cria o rpm. Se o pacote for construído corretamente, então qualquer RPM (s) criado irá para as pastas RPMS e SRPMS. O diretório SRPMS contém apenas rpms de origem. Specfiles são basicamente instruções sobre como o rpm é construído e eles vão na pasta SPECS. O arquivo tar de origem deve entrar no diretório SOURCES juntamente com quaisquer patches.


De início é isso e as referências para esta mensagem são:
1ª Aula de empacotamento RPM - Postada pelo Macxi aqui e elaborada pelo nosXw no antigo MageiaBR
Empacotamento DEB e RPM

Neste último arquivo em PDF nota-se a grande diferença do empacotamento DEB e RPM.

Ressalto que meu maior intuito é tentar entender e aprender como construir um

T+
Perguntas-me qual foi o meu progresso? Comecei a ser amigo de mim mesmo. Sêneca
>>>Telegram - @Creto<<<
Blog do Creto
Avatar do usuário
PauloCreto
Colaborador Intermediario Mageia
Colaborador Intermediario Mageia
 
Mensagens: 188
Registrado em: Qui Mar 17, 2016 10:22 pm
Localização: São Caetano de Odivelas/Soure - Pará

Re: Introdução - Empacotar um .RPM

Mensagempor PauloCreto » Seg Nov 14, 2016 9:48 pm

Não tem como colocar códigos aqui aula suspensa temporariamente

####

T+
Perguntas-me qual foi o meu progresso? Comecei a ser amigo de mim mesmo. Sêneca
>>>Telegram - @Creto<<<
Blog do Creto
Avatar do usuário
PauloCreto
Colaborador Intermediario Mageia
Colaborador Intermediario Mageia
 
Mensagens: 188
Registrado em: Qui Mar 17, 2016 10:22 pm
Localização: São Caetano de Odivelas/Soure - Pará

Re: Introdução - Empacotar um .RPM

Mensagempor will » Qui Nov 17, 2016 2:12 am

Com pastebin e shots ou talvez esse tipo de artigo seja melhor que esteja na wiki.
nosXw
Imagem
Avatar do usuário
will
Super Mago Mageia
Super Mago Mageia
 
Mensagens: 740
Registrado em: Qui Mai 02, 2013 11:39 pm

Re: Introdução - Empacotar um .RPM

Mensagempor PauloCreto » Sáb Nov 19, 2016 10:33 am

will escreveu:Com pastebin e shots ou talvez esse tipo de artigo seja melhor que esteja na wiki.

Sim é sim Will, mas infelizmente com a nova reformulação da Wiki do Mageia do Brasil eu não sei mais editar por lá, fico totalmente perdido.

Se alguém quiser posso passar as aulas para serem postas na wiki que tenho aqui do pacote que você me enviou, como eu disse infelizmente não consigo editar mais na wiki, já que depois de fazer a edição não consigo achar mais o artigo e meus favoritos já estão lotados.

Como diria Mario Quintana:
"A preguiça é a mãe do progresso. Se o homem não tivesse preguiça de caminhar, não teria inventado a roda."

T+
Perguntas-me qual foi o meu progresso? Comecei a ser amigo de mim mesmo. Sêneca
>>>Telegram - @Creto<<<
Blog do Creto
Avatar do usuário
PauloCreto
Colaborador Intermediario Mageia
Colaborador Intermediario Mageia
 
Mensagens: 188
Registrado em: Qui Mar 17, 2016 10:22 pm
Localização: São Caetano de Odivelas/Soure - Pará

Re: Introdução - Empacotar um .RPM

Mensagempor PauloCreto » Qua Nov 30, 2016 12:41 am

Olá,

Como sei que este artigo não seria bem explicado por mim, vou apenas dizer que aprendi com alguma busca na WWW consegui achar um artigo muito explicativo de como criar um pacote RPM, entendo que o "X" de tudo é o .SPEC e então estudar ele é ponto crucial da questão.

Vou apenas compartilhar aqui primeiro o meu primeiro pacote simples em .RPM:

- Arquivo .SPEC: https://www.dropbox.com/s/6w8pat3bc5e7e ... .spec?dl=0
- Source: https://www.dropbox.com/s/ly3gx5rkdlqy4 ... c.rpm?dl=0
- Pacote instalável para o ambiente Xfce: >>> wallpaper-theme-dobieline-1.0.1-1pclos2016.noarch.rpm <<<

Ou seja o arquivo .spec:
Código: Selecionar todos
Name: wallpaper-theme-dobieline
Summary: DobieLine Wallpaper
Version: 1.0.1
Release: %mkrel 1
Group: System/Configuration/Theme
License: GPL
URL: http://blogdocretoinf.blogspot.com.br/
Source: DobieLineWallpaper-%{version}.tar.xz
Buildroot: %_tmppath/%{name}-%{version}-%{release}
Obsoletes: DobieLineWallpaper
BuildArch: noarch

%description
Wallpaper for the DobieLine theme.

%prep
%setup -q -n DobieLineWallpaper-1.0.1


%build

%install
rm -rf %buildroot

install -d -m 0755 %buildroot%{_datadir}/backgrounds/xfce/
install -m 0644 DobieLineWP.png %buildroot%{_datadir}/backgrounds/xfce/

%files
%defattr(-,root,root)
%{_datadir}/backgrounds/xfce/DobieLineWP.png


%clean
rm -fr %buildroot

%changelog
* Tue Nov 29 2016 Creto <beneditocorrea71 at gmail dot com> 1.0.1-1pclos2016
- first build for DobieLine Wallpaper



T+
Perguntas-me qual foi o meu progresso? Comecei a ser amigo de mim mesmo. Sêneca
>>>Telegram - @Creto<<<
Blog do Creto
Avatar do usuário
PauloCreto
Colaborador Intermediario Mageia
Colaborador Intermediario Mageia
 
Mensagens: 188
Registrado em: Qui Mar 17, 2016 10:22 pm
Localização: São Caetano de Odivelas/Soure - Pará


Voltar para Empacotamento de software

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

cron