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 Copiar enlaceEnlace copiado en el portapapeles!
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-develCopy 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. |