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 - BuildRequires:rubygems-devel- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 
								No contener ninguna RubyGems RequiresoProvides, 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) - Requiere: ruby(release)- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 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. |