4.6.3. Creación de paquetes RPM a partir de paquetes RubyGems
Esta sección describe cómo crear paquetes RPM a partir de paquetes creados por RubyGems.
Para crear un RPM fuente para un paquete RubyGems, se necesitan dos archivos:
- Un archivo de gemas
- Un archivo RPM SPEC
4.6.3.1. Convenciones de los archivos SPEC de RubyGems
Un archivo SPEC de RubyGems debe cumplir las siguientes convenciones:
-
Contiene una definición de
%{gem_name}
, que es el nombre de la especificación de la gema. - El origen del paquete debe ser la URL completa del archivo de la gema liberada; la versión del paquete debe ser la versión de la gema.
Contiene el
BuildRequires:
una directiva definida de la siguiente manera para poder tirar de las macros necesarias para construir.BuildRequires:rubygems-devel
-
No contener ninguna RubyGems
Requires
oProvides
, porque son autogeneradas. No contener la directiva
BuildRequires:
definida como sigue, a menos que quiera especificar explícitamente la compatibilidad con la versión de Ruby:Requiere: ruby(release)
La dependencia generada automáticamente de RubyGems (
Requires: ruby(rubygems)
) es suficiente.
Macros
Las macros útiles para los paquetes creados por RubyGems son proporcionadas por los paquetes rubygems-devel
.
Nombre de la macro | Ruta ampliada | Uso |
---|---|---|
%{gem_dir} | /usr/share/gems | Directorio superior para la estructura de la gema. |
%{gem_instdir} | %{gem_dir}/gems/%{gem_name}-%{version} | Directorio con el contenido real de la gema. |
%{gem_libdir} | %{gem_instdir}/lib | El directorio de la biblioteca de la gema. |
%{gem_cache} | %{gem_dir}/cache/%{gem_name}-%{version}.gem | La gema en caché. |
%{gem_spec} | %{gem_dir}/especificaciones/%{gem_name}-%{version}.gemspec | El archivo de especificación de gemas. |
%{gem_docdir} | %{gem_dir}/doc/%{gem_name}-%{version} | La documentación RDoc de la gema. |
%{gem_extdir_mri} | %{_libdir}/gems/ruby/%{gem_name}-%{version} | El directorio para la extensión de la gema. |