Como criar pacotes RPM ou DEB pelo código-fonte utilizando FPM (Ruby on Rails)

Publicado por Eduardo Mozart de Oliveira em 21/09/2016

[ Hits: 3.928 ]

Blog: http://www.eduardomozartdeoliveira.wordpress.com/

 


Como criar pacotes RPM ou DEB pelo código-fonte utilizando FPM (Ruby on Rails)



Queria ter a aparência vendida pelo Xfce na página inicial do projeto no CentOS 5.
Linux: Como criar pacotes RPM ou DEB pelo código-fonte utilizando FPM (Ruby on Rails)
Infelizmente não tive sucesso. Mas aprendi coisas bem interessantes, como criar pacotes RPM ou DEB no Unix.

Precisamos do Ruby on Rails. Para instala-lo no CentOS, leia esta dica. Em outras distribuições, provavelmente o modo de instalação é parecido, mas talvez mude o nome de algumas dependências e comandos (pesquise na internet, na dúvida).

Após a instalação do Ruby on Rails, digite no terminal:

# gem install fpm

Com isso, instalamos o FPM!

Após a instalação, compile o código-fonte normalmente como faria:

# ./configure
# make


Mas, ao invés de logo instalar o pacote no sistema, use os comandos:

mkdir /tmp/installdir
# make install DESTDIR=/tmp/installdir


Com isso, criamos o diretório /tmp/installdir e instalamos o programa nele.

Agora usaremos o FPM para tornar o diretório /tmp/installdir em um pacote RPM ou DEB. Podemos fazer isso por que, se você usar "ls -la" em /tmp/installdir, verá todos os arquivos que seriam adicionados ao sistema, inclusive a estrutura (geralmente começa com /usr). Para isso, use o comando:

cd /tmp/installdir
# fpm -s dir -t rpm -n glib -v 2.32.4 -C /tmp/installdir -p glib-VERSION_ARCH.rpm usr
  • -s (source): informamos que queremos fazer um pacote a partir de um diretório.
  • -t (type): Informamos o tipo de pacotes que criaremos (mude para deb caso queira criar um pacote para o Debian).
  • -n (name): Nome do pacote. No exemplo do post, usamos o glib.
  • -v (version): Versão do pacote.
  • -C: diretório onde "instalamos" o pacote.
  • -p: Nome do arquivo que será salvo o pacote. VERSION_ARCH é um parâmetro escrito automaticamente. VERSION é preenchido pelo -v e ARCH será preenchido pela arquitetura do sistema operacional (ix86 ou x86_64). No final, use .rpm ou .deb, dependendo do tipo de pacote que deseja criar.
  • usr é o diretório onde está o programa instalado. Use ls -la em /tmp/installdir e use o diretório onde o programa está instalado (geralmente é usr, mas pode mudar).

Após a instalação, ele criará o pacote glib-2.32.4_x86_64.rpm em /tmp/installdir. Para instala-lo no sistema, use o comando:

# rpm -i glib-2.32.4_x86_64.rpm

Referência

USE CASE. Package something that uses 'make install' s.l., 2015 https://github.com/jordansissel/fpm/wiki/PackageMakeInstall (acessado em 28 outubro 2015)

Outras dicas deste autor

Adicionando memória virtual (SWAP) temporária no GNU/Linux

Compilação do M64Py à partir do código-fonte no Debian 10 "Buster"

Convertendo arquivos para PDF a partir do menu de contexto do Nautilus

Configuração de impressão do SIAFI no Ubuntu

Erro - apt-get no Ubuntu: ** (appstreamcli): CRITICAL **: Error while moving old database out of the way. AppStream cache update failed [Resolvido]

Leitura recomendada

Instalação e configuração Halberd

Instalando a calculadora gnome-calculator no Slackware 14.2

Gráficos matemáticos

Tocar CD de áudio no XMMS

Ouvindo MP3 no XMMS no SuSE 10.1

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts