Criar um pacote RPM com o executável do Lazarus

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

Re: Criar um pacote RPM com o executável do Lazarus

Mensagempor will » Dom Fev 08, 2015 1:45 pm

Abri o arquivo que vc botou no mediafire e não tinha nada dentro da pasta SPECS, o spec deve estar ali dentro, o zip com o programa estava mas não o SPEC.
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: Criar um pacote RPM com o executável do Lazarus

Mensagempor unix007 » Dom Fev 08, 2015 2:18 pm

O SPEC está vazio,é no SOURCES que está o arquivo.zip.
O seu recalque bate no IPTABLES e dropa.
Avatar do usuário
unix007
Colaborador Intermediario Mageia
Colaborador Intermediario Mageia
 
Mensagens: 117
Registrado em: Qui Jan 29, 2015 10:39 pm
Localização: Jaraguá do sul,SC

Re: Criar um pacote RPM com o executável do Lazarus

Mensagempor will » Dom Fev 08, 2015 6:59 pm

unix007 escreveu:O SPEC está vazio,é no SOURCES que está o arquivo.zip.

O arquivo spec tem que estar na pasta SPECS para que funcione os paths
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: Criar um pacote RPM com o executável do Lazarus

Mensagempor Visitante 953 » Sex Fev 13, 2015 6:57 pm

Um Off rápido, bom te ver de novo por aqui Will!!

T+
Visitante 953
 

Re: Criar um pacote RPM com o executável do Lazarus

Mensagempor will » Sáb Fev 14, 2015 9:46 am

creto escreveu:Um Off rápido, bom te ver de novo por aqui Will!!

T+

\o/ ;) :P
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: Criar um pacote RPM com o executável do Lazarus

Mensagempor blaisewirth » Dom Fev 15, 2015 5:16 pm

Tenho como Hobby o Lazarus :D
Depois que vi este tópico, resolvi pesquisar e descobrir como gerar um RPM
Usei como base o exemplo disponível na wiki do lazarus => http://wiki.freepascal.org/Deploying_Your_Application#Creating_a_RPM_Package_on_Linux

Primeiro vamos a estrutura de pastas:

Código: Selecionar todos
mgadobrasil
mgadobrasil/usr
mgadobrasil/usr/share
mgadobrasil/usr/share/applications/   => contém um arquivo .dektop (usado para criar uma entrada no menu)
mgadobrasil/usr/share/pixmaps/        => contém um arquivo .ico (ìcone)
mgadobrasil/usr/bin/                         => contém o arquivo binário gerado pelo lazarus


compactar em um arquivo tar.bz2

Código: Selecionar todos
tar -cvvjf mgadobrasil.tar.bz2 mgadobrasil/


e mover para o diretório sources na estrutura de pastas rpmbuild

Código: Selecionar todos
RPM/SOURCES
RPM/BUILD
RPM/BUILDROOT
RPM/SRPMS
RPM/SPECS
RPM/RPMS


depois é necessário criar o arquivo .spec no diretório specs na estrutura de pastas rpmbuild

Código: Selecionar todos
%define name    mgadobrasil
%define version 1.0
%define release mga
%define dir     mgadobrasil
%define root    /home/natan/tmp/ROOT/

Summary:        Pacote RPM de Exemplo
Name:           %{name}
Version:        %{version}
Release:        %{release}
Vendor:         Mageia do Brasil
URL:            www.mageiadobrasil.com.br
License:        Distribuível livremente
Group:          Documentation
Packager:       blaisewirth
Source0:        %{name}.tar.bz2
BuildRoot:      %{root}
BuildRequires:  desktop-file-utils, xdg-utils

%description
O mgadobrasil é um exemplo de como criar um pacote rpm.

%prep
cd $RPM_SOURCE_DIR
cp %{name}.tar.bz2 $RPM_BUILD_DIR
cd $RPM_BUILD_DIR
rm -rf %{dir}
rm -f %{name}.tar
bunzip2 -d %{name}.tar.bz2
tar -xvf %{name}.tar

%install
rm -rf $RPM_BUILD_ROOT
cp -r $RPM_BUILD_DIR/%{dir}/ $RPM_BUILD_ROOT/

#desktop-file-install --dir=$RPM_BUILD_ROOT/usr/share/applications/ $RPM_BUILD_ROOT/usr/share/applications/%{name}.desktop
#xdg-desktop-icon install --novendor $RPM_BUILD_ROOT/usr/share/applications/%{name}.desktop
xdg-desktop-menu install --novendor $RPM_BUILD_ROOT/usr/share/applications/%{name}.desktop

%clean
rm -rf $RPM_BUILD_DIR/*.*

%files
/usr/bin/%{name}
/usr/share/applications/%{name}.desktop
/usr/share/pixmaps/%{name}.ico

%changelog

* Sat Feb 14 2015 mgadobrasil-1.0-mga.i386.rpm

- O pacote de instalação do mgadobrasil para linux é criado.


deixo aqui o arquivo RPM gerado juntamente com um vídeo mostrando a instalção do mesmo
https://drive.google.com/open?id=0B2NiBKGjUhfHdEVYSWkzc0dUbzg&authuser=0


e aqui deixo um arquivo tar.bz2 com todos os arquivos utilizado para criar o rpm juntamente com um vídeo mostrando como criei o RPM
https://drive.google.com/open?id=0B2NiBKGjUhfHWkdOSV8xNmVFOE0&authuser=0


Lembrando que os seguintes arquivos devem ser adaptados para os seus respectivos rpms

mgadobrasil/usr/share/applications/mgadobrasil.desktop (modificar de acordo com seu aplicativo)
mgadobrasil/usr/share/pixmaps/mgadobrasil.ico (substituir por seu ícone)
mgadobrasil/usr/bin/ mgadobrasil (substituir por seu arquivo binário)
RPM/SOURCES/mgadobrasil.tar.bz2 (substituir por seus sources)
RPM/SPECS/mgadobrasil.spec (fazer as devidas alterações no spec e substituir)

unix007 espero que os arquivos disponibilizado possam te ajudar ;)
________________________________________________________________________________________________________

Um dúvida que eu fiquei, é que eu uso o seguinte comando no .spec
xdg-desktop-menu install --novendor $RPM_BUILD_ROOT/usr/share/applications/%{name}.desktop

mas quando eu desinstalo o pacote rpm, o atalho continua lá no menu

Eu gostaria de saber onde eu posso colocar o comando
xdg-desktop-menu uninstall $RPM_BUILD_ROOT/usr/share/applications/%{name}.desktop

para remover o atalho no menu, quando o pacote for desinstalado?
Imagem
Software gets slower faster than hardware gets faster.
Niklaus Wirth
Avatar do usuário
blaisewirth
Colaborador Mageia
Colaborador Mageia
 
Mensagens: 12
Registrado em: Sáb Fev 14, 2015 11:09 am

Re: Criar um pacote RPM com o executável do Lazarus

Mensagempor will » Dom Fev 15, 2015 7:00 pm

As the package is being removed, its %preun and %postun scripts are executed.

:D depois do %postun
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: Criar um pacote RPM com o executável do Lazarus

Mensagempor unix007 » Dom Fev 15, 2015 10:59 pm

will escreveu:
As the package is being removed, its %preun and %postun scripts are executed.

:D depois do %postun


Dê um exemplo disso will,para facilitar o aprendizado.Pois ainda não entendi o que você mencionou.
O seu recalque bate no IPTABLES e dropa.
Avatar do usuário
unix007
Colaborador Intermediario Mageia
Colaborador Intermediario Mageia
 
Mensagens: 117
Registrado em: Qui Jan 29, 2015 10:39 pm
Localização: Jaraguá do sul,SC

Re: Criar um pacote RPM com o executável do Lazarus

Mensagempor blaisewirth » Seg Fev 16, 2015 1:07 am

will escreveu:
As the package is being removed, its %preun and %postun scripts are executed.

:D depois do %postun

Obrigado will

Em vermelho as linhas adicionadas no arquivo .spec

%define name mgadobrasil
%define version 1.0
%define release mga
%define dir mgadobrasil
%define root /home/natan/tmp/ROOT/

Summary: Pacote RPM de Exemplo
Name: %{name}
Version: %{version}
Release: %{release}
Vendor: Mageia do Brasil
URL: www.mageiadobrasil.com.br
License: Distribuível livremente
Group: Documentation
Packager: blaisewirth
Source0: %{name}.tar.bz2
BuildRoot: %{root}
BuildRequires: desktop-file-utils, xdg-utils
Requires(postun): desktop-file-utils, xdg-utils

%description
O mgadobrasil é um exemplo de como criar um pacote rpm.

%prep
cd $RPM_SOURCE_DIR
cp %{name}.tar.bz2 $RPM_BUILD_DIR
cd $RPM_BUILD_DIR
rm -rf %{dir}
rm -f %{name}.tar
bunzip2 -d %{name}.tar.bz2
tar -xvf %{name}.tar

%install
rm -rf $RPM_BUILD_ROOT
cp -r $RPM_BUILD_DIR/%{dir}/ $RPM_BUILD_ROOT/

#desktop-file-install --dir=$RPM_BUILD_ROOT/usr/share/applications/ $RPM_BUILD_ROOT/usr/share/applications/%{name}.desktop
#xdg-desktop-icon install --novendor $RPM_BUILD_ROOT/usr/share/applications/%{name}.desktop
xdg-desktop-menu install --novendor $RPM_BUILD_ROOT/usr/share/applications/%{name}.desktop

%clean
rm -rf $RPM_BUILD_DIR/*.*

%postun
xdg-desktop-menu uninstall $RPM_BUILD_ROOT/usr/share/applications/%{name}.desktop


%files
/usr/bin/%{name}
/usr/share/applications/%{name}.desktop
/usr/share/pixmaps/%{name}.ico

%changelog

* Sat Feb 14 2015 mgadobrasil-1.0-mga.i386.rpm

- O pacote de instalação do mgadobrasil para linux é criado.
Imagem
Software gets slower faster than hardware gets faster.
Niklaus Wirth
Avatar do usuário
blaisewirth
Colaborador Mageia
Colaborador Mageia
 
Mensagens: 12
Registrado em: Sáb Fev 14, 2015 11:09 am

Re: Criar um pacote RPM com o executável do Lazarus

Mensagempor will » Seg Fev 16, 2015 1:47 am

funciona esse spec? lembre de seguir os passos para empacotar rpm do site da mageia, porque embora o rpm exista ja faz como 20 anos, cada distro tem o seu "jeito" de fazer o spec. Por exemplo a maioria do seu %prep acho que da pra fazer de forma automatica, também o uso do xdg-desktop-menu acho que é meio anticuado, talvez eu esteja falando besteira xD
Blaisewirth, talvez vc possa fazer aulas em portugues sobre empacotar rpm, sería realmente muito construtivo para toda a comunidade rpm no brasil, fedora, mageia, mandriva, pclinux etc
nosXw
Imagem
Avatar do usuário
will
Super Mago Mageia
Super Mago Mageia
 
Mensagens: 740
Registrado em: Qui Mai 02, 2013 11:39 pm

AnteriorPróximo

Voltar para Empacotamento de software

Quem está online

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

cron