Red Hat Training

A Red Hat training course is available for RHEL 8

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 ou Provides, 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.

Tabela 4.3. Macros da RubyGems

Macro nomeCaminho estendidoUtilizaçã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.