Página 1 de 1

Introdução - Empacotar um .RPM

MensagemEnviado: Qui Nov 10, 2016 9:39 am
por PauloCreto
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+

Re: Introdução - Empacotar um .RPM

MensagemEnviado: Seg Nov 14, 2016 8:48 pm
por PauloCreto
Não tem como colocar códigos aqui aula suspensa temporariamente

####

T+

Re: Introdução - Empacotar um .RPM

MensagemEnviado: Qui Nov 17, 2016 1:12 am
por will
Com pastebin e shots ou talvez esse tipo de artigo seja melhor que esteja na wiki.

Re: Introdução - Empacotar um .RPM

MensagemEnviado: Sáb Nov 19, 2016 9:33 am
por PauloCreto
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+

Re: Introdução - Empacotar um .RPM

MensagemEnviado: Ter Nov 29, 2016 11:41 pm
por PauloCreto
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+

Re: Introdução - Empacotar um .RPM

MensagemEnviado: Qui Mar 18, 2021 3:20 pm
por PauloCreto
Depois de algum tempo longe voltar a ativa por aqui
;)

T+

Re: Introdução - Empacotar um .RPM

MensagemEnviado: Sáb Mar 20, 2021 9:24 pm
por caffilhobr
Valeu pela dica.