Comment écrire Gentoo Ebuilds

Comment écrire Gentoo Ebuilds
Si vous n'avez pas le paquet Gentoo que vous désirez, n'ayez crainte! Vous pouvez construire le vôtre! Pour ce faire, vous aurez besoin d'une certaine expérience de la compilation de logiciels en utilisant les kits de Tools Linux connus, GCC et autres. Pour créer un package Gentoo, «Emake» est utilisé pour contrôler et régler le processus. En utilisant ces outils, vous pouvez créer des packages très minces qui s'exécutent rapidement et de manière fiable.

Structure Ebuild

Pour créer votre propre Ebuild, vous devez commencer par le bon *.fichier ebuild. Votre fichier Ebuild est le cœur de toute votre Ebuild. Le fichier Ebuild dépend de nombreux autres fichiers, un peu comme faire le fait. En fait, dans la plupart des cas, votre Ebuild dépendra de la marque, bien que ce soit votre choix. Ce qui suit est l'arbre de Neovim:
/ mnt / sw / projets / système / gentoo / gentoo / app-editors / neovim
Fichiers ├fiques
│ ├fique.4.3-GCC-10-FIX.correctif
│ ├fique.4.4-cmake_luavversion_patch
│ ├fique.4.Type à libération de 4 cré.correctif
│ └fique.vigueur
├fiques
├tilata.xml
├tilvim-0.4.4-R100.ébourignage
└fiques-neovim-9999.ébourignage

Alors, pourquoi utilisez-vous ces fichiers dans votre application? Le *.Le fichier Ebuild est le fichier évident. Ce fichier contient le src_uri, qui pointe directement vers le code. D'autres informations dans le fichier comprennent la description, le site Web et les informations supplémentaires nécessaires pour compiler le package.

Le fichier manifeste contient le hachage qui identifie uniquement le code.

Les métadonnées.Le fichier XML contient le nom et l'adresse e-mail du mainteneur, le nom du projet et quelques indicateurs de compilation. L'identité distante est également située dans ce fichier, comme le référentiel GitHub pour le amont. Le répertoire des fichiers contient tous les correctifs dont vous pourriez avoir besoin et les paramètres spéciaux dont vous avez besoin. L'exemple ci-dessus affiche un fichier avec des paramètres appropriés en fonction des Gentoo Rentellers.

À l'intérieur du fichier ebuild

Les valeurs à l'intérieur du fichier sont faciles à comprendre, pour la plupart. La description et la page d'accueil sont pour l'aide du développeur. Le numéro EAPI indique quelle version de Gentoo sera exécutée. Vous avez également la licence, ce qui est assez clair; Faites correspondre la licence au code pour lequel vous construisez un fichier Ebuild.

Encore plus délicat est la machine à sous, qui est utilisée si vous avez besoin d'avoir plusieurs versions. Slot indiquera alors cette version vers la version que vous soutenez. La plupart des logiciels auront la valeur 0, ne permettant qu'une seule version à la fois.

Les mots clés sont la valeur qui indique les plates-formes auxquelles votre code source peut compiler. Les donnés sont AMD65, X86 et peut-être ARM64. Une liste complète est disponible sur votre système Gentoo. Notez que si vous souhaitez contribuer, vous devoir Réglez un tilde (~) devant l'architecture. Cela signifie que le code n'est pas testé, alors assurez-vous que le code est bien testé avant de supprimer ce symbole. De préférence, demandez à de nombreux utilisateurs de visualiser le code avant de supprimer le Tilde.

La variable IUSE revient aux paramètres que vous souhaitez définir pour votre compilateur.

Vous avez également dépendance, qui est disponible en trois types différents. Les valeurs RDEPEND sont les valeurs que vous utilisez lors de l'exécution du code. Les valeurs BDEPEND sont les valeurs dépendantes de la construction. Le package que vous essayez d'ajouter à Gentoo contiendra un fichier décrivant les dépendances nécessaires.

Pour des packages simples, vous n'avez besoin de rien d'autre. Cependant, le package spécifique sur lequel vous travaillez aura probablement certaines choses qui doivent être faites avant de compiler le code. Si cela ne correspond pas à ce que les développeurs Gentoo s'attendaient, vous pouvez configurer le vôtre.

Les fonctions

Dans le fichier, l'installateur utilisera certaines fonctions pour l'ensemble du processus. Par exemple, pour appliquer des correctifs avant d'exécuter la commande, la commande src_prepare () La fonction gérera cette situation.

Le src_configure () La fonction utilise econf pour définir, je.e., 'use_enable.'Dans cette fonction, vous pouvez déballer vos fichiers à l'aide de la commande de déballage. Vous pouvez également passer des args à ./ Configurer pour votre projet en utilisant econf. Comme vous pouvez le voir, ces fonctions sont nommées selon leurs équivalents de marque, et plusieurs fois, ils transmettent des arguments à travers.

Le src_install () La fonction remplit la même fonction que faire installer ferait dans une construction C / C ++. Cependant, il contient de nombreuses options que vous pouvez rechercher dans le document de référence.

La plupart des fonctions sont là lorsque vous avez un logiciel de cas spécial. Vous commencerez probablement à creuser ces fonctions lorsque vous essayez d'implémenter votre premier package.

Exemple: fichier de package simulide

Ici, nous présentons un fichier créé pour le package simulide. Le package nécessite un environnement de développement QT5, vous devrez donc l'ajouter dans votre fichier Ebuild. Dans l'image suivante, vous pouvez voir les valeurs RDEPEND refléter cette idée. Les bibliothèques sont déjà contenues dans les référentiels Gentoo, ce qui facilite la pointe de pointe vers.

# Copyright 2021 Mats Tage Axelsson
# Distribué selon les termes de la licence publique générale GNU v3
Eapi = 7
Description = "Simulide simule vos conceptions de circuits, il comprend une émulation Arduino."
Homepage = "https: // www.simulé.com / p / home.html "
Src_uri = "https: // MailFence.com / pub / docs / santigoro / web / simulide_0.4.14 / simulide_0.4.14-SR4_SOURCES.le goudron.gz "
Licence = "GPL-3"
Slot = "0"
Keywords = "~ x86 ~ AMD64"
RdePend = "Dev-QT / QTSVG
Dev-QT / QTXML
Dev-QT / QTScript
Dev-QT / QtWidgets
Dev-QT / QTConcurrent
Dev-QT / QTerialport
Dev-QT / QtMultimedia "
Dépend = "$ rDePend
Dev-libs / libelf
Dev-Embedded / AVR-LIBC "
src_prepare ()
déballer simulide_0.4.14-SR4_SOURCES.le goudron.gz

src_configure ()
econf --with-popt

Dans le src_prepare () fonction, vous pouvez voir que le package est déballé avant utilisation.

Recouvrir

Lorsque vous avez taillé et nettoyé toutes vos erreurs, vous voudrez peut-être ajouter votre colis au projet Gentoo. Layman a été créé afin que vous puissiez utiliser un logiciel expérimental pour votre installation de distribution principale. Le projet s'appelle les superpositions, mais la commande pour l'installer s'appelle Layman.

Conclusion

Créer de nouveaux forfaits pour Gentoo est une entreprise qui peut étirer vos capacités. Même ainsi, si vous avez construit de nombreux packages avant d'utiliser Make et la suite d'outils GCC, vous devriez pouvoir reprendre ce processus assez rapidement. Assurez-vous également de contribuer à la communauté autant que vous pouvez.