Gentoo

Cómo escribir ebuilds de Gentoo

Cómo escribir ebuilds de Gentoo
Si no tiene el paquete Gentoo que desea, no tema! Puedes construir el tuyo propio! Para hacer esto, necesitará algo de experiencia con la compilación de software utilizando los conocidos kits de herramientas de Linux make, gcc y otros. Para crear un paquete Gentoo, 'emake' se usa para controlar y ajustar el proceso. Con estas herramientas, puede crear paquetes muy delgados que se ejecutan de manera rápida y confiable.

Estructura de ebuild

Para crear su propio ebuild, debe comenzar con el *.archivo ebuild. Su archivo ebuild es el corazón de todo su ebuild. El archivo ebuild depende de muchos otros archivos, al igual que make. De hecho, en la mayoría de los casos, su ebuild dependerá de la marca, aunque es su elección. El siguiente es el árbol de neovim:
/ mnt / SW / proyectos / Sistema / Gentoo / gentoo / editores de aplicaciones / neovim
├── archivos
│ ├── neovim-0.4.3-gcc-10-fix.parche
│ ├── neovim-0.4.4-cmake_luaversion_patch
│ ├── neovim-0.4.4-cmake-release-type.parche
│ └── sysinit.empuje
├── Manifiesto
├── metadatos.xml
├── neovim-0.4.4-r100.ebuild
└── neovim-9999.ebuild

Entonces, ¿para qué usas estos archivos en tu aplicación?? La *.El archivo ebuild es el archivo obvio. Este archivo contiene SRC_URI, que apunta directamente al código. Otra información en el archivo incluye la descripción, el sitio web y más información necesaria para compilar el paquete.

El archivo de manifiesto contiene el hash que identifica de forma única el código.

Los metadatos.El archivo xml contiene el nombre y la dirección de correo electrónico del mantenedor, el nombre del proyecto y algunas marcas para compilar. La identidad remota también se encuentra en este archivo, como el repositorio de GitHub para el upstream. El directorio de archivos contiene los parches que pueda necesitar y las configuraciones especiales que necesite. El ejemplo anterior muestra un archivo con la configuración adecuada de acuerdo con los mantenedores de Gentoo.

Dentro del archivo Ebuild

Los valores dentro del archivo son fáciles de entender, en su mayor parte. La descripción y la página de inicio son para la ayuda del desarrollador. El número EAPI indica qué versión de Gentoo se ejecutará. También tienes la Licencia, que es bastante clara; Haga coincidir la licencia con el código para el que está creando un archivo ebuild.

Aún más complicado es SLOT, que se usa si necesita tener varias versiones. A continuación, SLOT apuntará esta compilación a la versión que está admitiendo. La mayoría del software tendrá el valor 0, permitiendo solo una versión a la vez.

KEYWORDS es el valor que indica en qué plataformas se puede compilar su código fuente. Los dados son amd65, x86 y posiblemente arm64. Una lista completa está disponible en su sistema Gentoo. Tenga en cuenta que si desea contribuir, deber poner una tilde (~) delante de la arquitectura. Esto significa que el código no está probado, así que asegúrese de que el código esté bien probado antes de eliminar este símbolo. Preferiblemente, haga que muchos usuarios vean el código antes de eliminar la tilde.

La variable IUSE vuelve a los parámetros que desea establecer para su compilador.

También tienes DEPEND, que viene en tres tipos diferentes. Los valores RDEPEND son los valores que usa mientras ejecuta el código. Los valores BDEPEND son los valores dependientes de la construcción. El paquete que está intentando agregar a Gentoo contendrá un archivo que describe las dependencias necesarias.

Para paquetes simples, no necesita nada más. Sin embargo, el paquete específico en el que está trabajando probablemente tendrá algunas cosas que se deben hacer antes de compilar el código. Si esto no coincide con lo que esperaban los desarrolladores de Gentoo, puede configurar su propio.

Funciones

En el archivo, el instalador utilizará ciertas funciones para todo el proceso. Por ejemplo, para aplicar parches antes de ejecutar el comando, el src_prepare () la función manejará esta situación.

La src_configure () la función usa econf para establecer, i.mi., 'use_enable.'En esta función, puede descomprimir sus archivos usando el comando unpack. También puede pasar argumentos a ./ configure para su proyecto usando econf. Como puede ver, estas funciones se nombran de acuerdo con sus equivalentes de make y, muchas veces, pasan argumentos a través de.

La src_install () La función realiza la misma función que fabricar Instalar en pc haría en una compilación de C / C ++. Sin embargo, contiene muchas opciones que puede buscar en el documento de referencia.

La mayoría de las funciones están disponibles para cuando tiene un software de caso especial. Probablemente comenzará a investigar estas funciones cuando intente implementar su primer paquete.

Ejemplo: archivo de paquete SimulIDE

A continuación, presentamos un archivo que fue creado para el paquete SimulIDE. El paquete requiere un entorno de desarrollo Qt5, por lo que deberá agregarlo en su archivo ebuild. En la siguiente imagen, puede ver los valores de RDEPEND que reflejan esta idea. Las bibliotecas ya están contenidas en los repositorios de Gentoo, lo que facilita señalar.

# Copyright 2021 Mats Tage Axelsson
# Distribuido bajo los términos de la Licencia Pública General GNU v3
EAPI = 7
DESCRIPTION = "SimulIDE simula los diseños de sus circuitos, incluye emulación Arduino."
PÁGINA DE INICIO = "https: // www.simulide.com / p / home.html "
SRC_URI = "https: // mailfence.com / pub / docs / santigoro / web / SimulIDE_0.4.14 / simulide_0.4.14-SR4_Fuentes.alquitrán.gz "
LICENCIA = "GPL-3"
SLOT = "0"
PALABRAS CLAVE = "~ x86 ~ amd64"
RDEPEND = "dev-qt / qtsvg
dev-qt / qtxml
dev-qt / qtscript
dev-qt / qtwidgets
dev-qt / qtconcurrent
dev-qt / qtserialport
dev-qt / qtmultimedia "
DEPEND = "$ RDEPEND
dev-libs / libelf
dev-embedded / avr-libc "
src_prepare ()
desempaquetar simulide_0.4.14-SR4_Fuentes.alquitrán.gz

src_configure ()
econf --con-popt

En el src_prepare () función, puede ver que el paquete se desempaqueta antes de su uso.

Cubrir

Cuando haya recortado y limpiado todos sus errores, es posible que desee agregar su paquete al proyecto de Gentoo. Layman fue creado para que pueda utilizar software experimental para la instalación de su distribución principal. El proyecto se llama Overlays, pero el comando para instalarlo se llama Layman.

Conclusión

Crear nuevos paquetes para Gentoo es una empresa que puede ampliar sus habilidades. Aun así, si ha creado muchos paquetes antes de usar make y el conjunto de herramientas gcc, debería poder retomar este proceso con bastante rapidez. Además, asegúrese de contribuir a la comunidad tanto como pueda.

Los mejores emuladores de consola de juegos para Linux
Este artículo enumerará el software de emulación de consola de juegos más popular disponible para Linux. La emulación es una capa de compatibilidad de...
Las mejores distribuciones de Linux para juegos en 2021
El sistema operativo Linux ha recorrido un largo camino desde su apariencia original, simple y basada en servidor. Este sistema operativo ha mejorado ...
Cómo capturar y transmitir su sesión de juego en Linux
En el pasado, los juegos solo se consideraban un pasatiempo, pero con el tiempo la industria del juego experimentó un gran crecimiento en términos de ...