4.6.3. Criação de pacotes RPM a partir de pacotes RubyGems
Esta seção descreve como criar pacotes RPM a partir de pacotes criados pela RubyGems.
Para criar um RPM fonte para um pacote RubyGems, são necessários dois arquivos:
- Um arquivo gema
- Um arquivo RPM SPEC
4.6.3.1. RubyGems convenções de arquivos SPEC
Um arquivo da RubyGems SPEC deve atender as seguintes convenções:
-
Contém uma definição de
%{gem_name}
, que é o nome da especificação da gema. - A fonte do pacote deve ser o URL completo do arquivo de gemas lançado; a versão do pacote deve ser a versão da gema.
Conter o
BuildRequires:
uma diretiva definida como segue para poder puxar as macros necessárias para construir.BuildRequires:rubygems-devel
-
Não contém nenhum RubyGems
Requires
ouProvides
, pois estes são autogerados. Não contém a diretriz
BuildRequires:
definida como segue, a menos que você queira especificar explicitamente a compatibilidade da versão Ruby:Requer: rubi(liberação)
A dependência gerada automaticamente pelo RubyGems (
Requires: ruby(rubygems)
) é suficiente.
Macros
Macros úteis para pacotes criados pela RubyGems são fornecidos pelos pacotes rubygems-devel
.
Macro nome | Caminho estendido | Utilização |
---|---|---|
%{gem_dir} | /usr/share/gems | Diretório superior para a estrutura da jóia. |
%{gem_instdir} | %{gem_dir}/gems/%{gem_name}-%{version} | Diretório com o conteúdo real da jóia. |
%{gem_libdir} | %{gem_instdir}/lib | O diretório da biblioteca da jóia. |
%{gem_cache} | %{gem_dir}/cache/%{gem_name}-%{versão}.gem | A jóia em cache. |
%{gem_spec} | %{gem_dir}/specifications/%{gem_name}-%{version}.gemspec | O arquivo de especificação da jóia. |
%{gem_docdir} | %{gem_dir}/doc/%{gem_name}-%{version} | A documentação RDoc da jóia. |
%{gem_extdir_mri} | %{_libdir}/gems/ruby/%{gem_name}-%{versão} | O diretório para extensão de jóias. |