A instalação de programas a partir da fonte é sempre trabalhosa, mas quando não existem ainda pacotes RPM disponíveis para a nossa distro, é a única forma de testarmos um novo software. O KRPMBuilder torna o processo de criar RPMs muito simples e ao alcance de qualquer usuário capaz de de instalar programas a partir do "source".
O KRPMBuilder começa por pedir-nos informações básicas sobre o pacote a construir que ele vai utilizar para o arquivo spec. Vou ilustrar os exemplos assumindo a construção de um RPM para o gtk-2.8.9.tar.gz.
Um passo prévio é copiar o código fonte para o diretório /usr/src/packages/SOURCES:
Vamos abrir o KRPMBuilder e fornecer as informações necessárias. Na primeira janela indicamos:
Nome do projeto: - o nome exato do código fonte, sem a versão nem extensões. ex: gtk;
Versão: - A versão do código fonte. ex: 2.8.9;
Release: - A nossa versão do RPM a criar. Para a primeira - 0;
Licença: - A licença sob a qual é distribuído o software (escolher entre as opções oferecidas);
Empacotador: - O nosso nome ou nickname;
Source file: No nosso exemplo, gtk-2.8.9.tar.gz. É aconselhável manter os dados apresentados como default para este campo e corrigir apenas a extensão do arquivo, conforme o caso para .gz ou .bz2.
Concluído o primeiro passo, no segunda janela vamos indicar:
Distribuição: A distribuição a que se destina o pacote - a sua;
Grupo: Indicar a mais adequada, conforme as seções do seu gerenciador de pacotes. Ex: Sistema/Bibliotecas;
"Provides" / "Requires" - estes campos são preenchidos automaticamente - não precisa dizer nada;
Vendor: O distribuidor do pacote - a sua distro ou seu nome;
Sumário: - Uma breve descrição do pacote;
Descrição: - Uma descrição mais completa do pacote e suas funcionalidades.
Fica pronto o segundo passo, na terceira janela é solicitado:
"build-root": O diretório onde o arquivo .tar.gz vai ser descomprimido e compilado. É aconselhável manter o default;
Prefixo: Este campo serve para indicar um diretório para instalação do pacote diferente da definida no arquivo fonte;
"Configure-options": Opções a transmitir ao "configure" para compilação. Para ver as opções possíveis, precisa descompactar o arquivo fonte e no console executar:
$ configure --help
Use opções se estiver seguro do que está a fazer.
Processador: - Indicar a arquitetura da máquina - i586, ou i386, noarch, etc;
Pacote: Indicar se pretende criar apenas o pacote .rpm ou também o .source.rpm.
E está quase concluída a sua intervenção, só falta seguir para a janela seguinte e dar início à construção do RPM, clicando em "start".
[2] Comentário enviado por pa72 em 15/05/2006 - 05:54h
Para quem não pretende ser um geek (90% dos usuarios linux) é uma ferramenta formidavel para instalar / desinstalar software, e disponibilizar o pacote para outros usuarios da mesma distribuição, que assim podem instalar esse software sem terem de o compilar desde a source!
Combinado com o apt, para resolver automaticamente as dependencias, é muito útil.
[3] Comentário enviado por zezosc em 16/05/2006 - 01:46h
Incrivelmente, hoje vim ao VivaoLinux procurar com cirar rpm. E na capa já estava esse excelenta artigo.
Entretanto, não obtive total sucesso em usá-lo. Ocorreram os seguintes problemas:
- para copiar para /usr/src/RPM/SOURCES (uso Mandriva 2006) tem que ser como root (simples de resolver);
- "# Grupo: Indicar a mais adequada, conforme as seções do seu gerenciador de pacotes. Ex: Sistema/Bibliotecas;"
Não havia lista, mas aceitou preencher manualmente.
# "Provides" / "Requires" - estes campos são preenchidos automaticamente - não precisa dizer nada;
Não foram preenchidos automaticamente.
[4] Comentário enviado por pa72 em 16/05/2006 - 07:43h
Tem duas opções: trabalha como root no KRPMBuilder (abre uma nova sessão do X para isso); ou muda o dono das pastas '/usr/src/packages' e '/var/tmp'.
Os valores 'requires' e 'provides' são preenchidos pelos scripts 'findprovides' 'findrequires' (ou algo parecido) que se encontram na directoria /usr/lib/rpm (no meu caso) - O problema pode ser de permissões, por voçê não estar a trabalhar como root.???
Ou se voçê não instalou atraves de um RPM para a sua distro, procure faze-lo.