Guía de escritura de archivos de especificaciones del script de producción de paquetes Rpm

El archivo de especificaciones se utiliza para crear paquetes rpm y contiene mucha información sobre el paquete de software, como el nombre, la versión, la categoría, el resumen de descripción del paquete de software, qué instrucciones ejecutar al crear, qué operaciones realizar al instalar, y los archivos que se incluirán en el paquete de software, listas y más. Los ejemplos son los siguientes:

Name: myprogram
Version: 1.0
Release: 1
Vendor: Jaun
Summary: My program 

License: GPL
URL: http://myprogram.com
Source0: myprogram-1.0.tar.gz
Group: Development/Tools
BuildRequires: gcc

%description
My program is a simple example program.

%prep
%setup -q

%build
./configure
make

%install
make install DESTDIR=%{
    
    buildroot}

%clean
rm -rf %{
    
    buildroot}

%files
%defattr(-,root,root)
/sbin/myprogram

%post
/sbin/ldconfig /sbin/myprogram

%preun
/sbin/ldconfig /sbin/myprogram

%postun
/sbin/ldconfig

%changelog

La siguiente es una introducción a la clasificación de cada parámetro.

1. Descripción del paquete de software

1.1 、 Nombre:

Se puede hacer referencia al nombre del paquete de software más adelante.El %{name}paquete de software RPM final utiliza este nombre, número de versión, número de versión y número de sistema para nombrar el paquete de software.

1.2、Versión

Se podrá hacer referencia al número de versión del paquete de software %{version}en el futuro. El número de versión solo aumentará cuando el paquete de software haya cambiado significativamente con respecto al anterior.

1.3 、 Lanzamiento

El número de serie de emisión real indica el tiempo de empaquetado, el número de veces y otra información, a la que se puede hacer referencia más adelante %{release}.

1.4 、 Proveedor

El nombre del desarrollador del software.

1.5 、 Resumen

Resuma tanta información como sea posible sobre el paquete en una oración.

1.6 、 Licencia/Derechos de autor

La licencia de distribución del paquete de software, es decir, el método de autorización del software, suele ser GPL, otras comunes son: GPL (software libre), BSD, MIT, Public Domain (dominio público), Distributable (contribución), comercial (comercial). ), Compartir, etc.

1.7、URL

El sitio web, el blog, el correo electrónico y otra información del editor se pueden colocar aquí.

1.8 、 Fuente

Generalmente se hace referencia a los paquetes de código fuente usando Source0, Source1..., y también se puede hacer %{source0}referencia a ellos más adelante %{source1}.

1.9 、 Grupo

Para la agrupación de software, se recomienda utilizar la agrupación estándar. Las agrupaciones comunes son las siguientes:

Grupo explicar
Diversiones/Juegos (Entretenimiento/Juegos)
Diversiones/Gráficos (Entretenimiento/Gráficos)
Aplicaciones/Archivo (Solicitud/Documentación)
Aplicaciones/Comunicaciones (Aplicaciones/Comunicaciones)
Aplicaciones/Bases de datos (aplicación/base de datos)
Aplicaciones/Editores (Aplicación/Editor)
Aplicaciones/Emuladores (Aplicación/Emulador)
Aplicaciones/Ingeniería (Ingeniería de aplicaciones)
Aplicaciones/Archivo (Solicitud/Archivo)
Aplicaciones/Internet (Aplicaciones/Internet)
Aplicaciones/Multimedia (Aplicaciones/Multimedia)
Aplicaciones/Productividad (Aplicación/Producto)
Aplicaciones/Publicación (Solicitud/Impresión)
Aplicaciones/Sistema (Sistema operativo)
Aplicaciones/Texto (aplicación/texto)
Desarrollo/Depuradores (Desarrollo/Depurador)
Desarrollo/Idiomas (Lenguaje de desarrollo)
Desarrollo/Bibliotecas (Desarrollo/Biblioteca de funciones)
Desarrollo/Sistema (sistema de desarrollo)
Herramientas de desarrollo (herramientas de desarrollo)
Documentación (documentación)
Entorno/base del sistema (entorno del sistema/base)
Entorno del sistema/Demonios (entorno del sistema/guardia)
Entorno del sistema/núcleo (entorno del sistema/núcleo)
Entorno del sistema/bibliotecas (entorno del sistema/biblioteca de funciones)
Entorno del sistema/Shells (entorno/interfaz del sistema)
Interfaz de usuario/Escritorios (UI/Escritorio)
Interfaz de usuario/X (Ventana UI/X)
Interfaz de usuario/soporte de hardware X (Soporte de hardware UI/X)

1.10、Parche

Ruta del paquete del código fuente del parche, puede usar Patch0, Patch1..., también puede usar %{patch0}, %{patch1}para consultarlo más adelante.

1.11、Construir raíz

El directorio raíz durante la instalación o compilación. Cuando se genera el paquete, si este directorio no se especifica como el directorio raíz virtual, durante la fase de instalación, el directorio raíz del sistema se utilizará como el directorio raíz de instalación.

1.12、Requiere

El paquete RPM generado actualmente debe depender del nombre del paquete de software. Utilice >= o <= para indicar mayor o igual o menor o igual a la versión especificada. Los símbolos están separados por espacios en ambos lados. Diferente Los paquetes de software también están separados por espacios.

1.13 、 Empaquetador

Información del empaquetador

1.14、%description

Una descripción detallada del software, que se puede escribir en varias líneas.

1.15、Construir Arco

Se refiere a la arquitectura del procesador de destino para la compilación. El indicador noarch no se especifica, pero el contenido en /usr/lib/rpm/marcros generalmente se usa como valor predeterminado.

En segundo lugar, el funcionamiento de cada etapa de la generación del paquete de software.

2.1 、%prep

En la etapa de compilación preparatoria, puede usar un script para descomprimir el paquete de código fuente. Si hay un parche, el parche también se procesará y luego se generará la información de configuración de compilación (la mayoría del software ejecutará el script de configuración en este etapa para la verificación de compilación); además de ejecutar los comandos macro definidos por RPM (comenzando con %), también puede ejecutar el comando SHELL. El comando puede tener muchas líneas, como el comando de desempaquetado tar que escribimos a menudo.

2.2 、%build

En la etapa de compilación, el comando a ejecutar es generar servicios de paquetes de software, la mayoría del software realizará la operación de creación en esta etapa.

2.3 、%install

Durante la fase de instalación, la mayoría del software realizará la operación de instalación en esta etapa.

2.4 、%clean

En la fase de limpieza, una vez completada la instalación, se limpiarán los archivos temporales generados en las etapas anteriores.

2.5 、%check

Pruebas de paquetes rpm.

3. Script de aplicación del paquete.

3.1 、%pre

Script previo a la instalación, es decir, antes de instalar el paquete RPM, ejecute esta parte del script primero, como crear una cuenta designada, etc.

3.2 、%post

Script posterior a la instalación, es decir, después de que el paquete RPM se haya instalado correctamente, esta parte del script continuará ejecutándose, como configurar el inicio, iniciar servicios, etc.

3.3 、%preun

Desinstale el script de ejecución previa, es decir, antes de desinstalar el paquete RPM, ejecute primero esta parte del script, como detener servicios, cancelar el inicio, etc.

3.4 、%postun

Script posterior a la desinstalación, es decir, después de que el paquete RPM se desinstale exitosamente, esta parte del script continuará ejecutándose, como eliminar la cuenta especificada, etc.

4. Información de configuración del paquete

4.1 、%files

Lista de archivos del paquete, aquí se enumeran los archivos que deben colocarse en el paquete RPM, que puede ser un directorio

4.2 、%changelog

Diario de cambios, que puede indicar la información que debe solicitarse para este embalaje.

4.3 、%doc

Indica que se trata de un archivo de documentación, por lo que si se instala con --excludedocs este tipo de archivo no se instalará.

4.4 、%dir

Indica que el contenido de la ruta del directorio dir se ingresa en el paquete de software rpm.

4.5 、%config(noreplace)

Este archivo de configuración no sobrescribirá los archivos existentes (los archivos del paquete RPM existirán en el sistema como .rpmnew. Al desinstalar, el archivo de configuración en el sistema se guardará como .rpmsave. Sin esta opción, los archivos del paquete RPM se guardará como .rpmsave durante la instalación. .rpmorig existe en el sistema) sobrescribe el archivo existente (no modificado) y crea un nuevo archivo con el sufijo de extensión .rpmnew (modificado).

4.6 、%attr

Controlar permisos de archivos

Documentación de referencia

1. https://betheme.net/a/12582767.html?action=onClick

2、http://www.someapp.cn/article/14.html

3、http://blog.chinaunix.net/uid-30242191-id-5777389.html

Supongo que te gusta

Origin blog.csdn.net/yuelai_217/article/details/130722081
Recomendado
Clasificación