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: 4.091 ]

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

Associar uma extensão a um programa no Ubuntu

Instalando e Configurando o Google Earth

Acessando compartilhamentos de rede do Windows pelo CentOS

VirtualBox não reconhece dispositivos USB do hospedeiro (host)

Ícone do network-manager mostra "Dispositivo não gerenciável" na área de notificações do Ubuntu [Resolvido]

Leitura recomendada

GoogleEarth - "setup.data/setup.xml:1: parser error : Start tag expected not found"

Baixando arquivos do Rapidshare com Free Rapid

Instalando o LimeWire no Debian Etch e Ubuntu sem frescuras!

VirtualBox: VERR_SUPLIB_OWNER_NOT_ROOT VMMR0.r0

Como verificar se sua imagem Linux (ISO) está corrompida

  

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