Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
documentation:compiler_0linux [25-08-2014 13:44] appzer0 [Utilisation de construction.sh] |
documentation:compiler_0linux [23-03-2015 13:05] (Version actuelle) appzer0 [Compiler 0Linux] |
||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
0Linux propose un système de construction assistée pour faciliter la compilation et la création de recettes. | 0Linux propose un système de construction assistée pour faciliter la compilation et la création de recettes. | ||
- | Tout se trouve dans les sources de 0Linux, dans le répertoire [[http://git.tuxfamily.org/0linux/0linux.git?p=0linux/0linux.git;a=tree;f=scripts|scripts]]. Il contient : | + | Tout se trouve dans les sources de 0Linux, dans le répertoire [[http://git.tuxfamily.org/0linux/0linux.git/tree/scripts|scripts]]. Il contient : |
* Un système de construction local comprenant : | * Un système de construction local comprenant : | ||
- | * un script ''[[http://git.tuxfamily.org/0linux/0linux.git?p=0linux/0linux.git;a=blob;f=scripts/construction.sh|construction.sh]]'' qui permet de compiler et d'installer un paquet ou un ensemble de paquets. Lisez-le ! son entête contient un mode d'emploi à jour. | + | * un script ''[[http://git.tuxfamily.org/0linux/0linux.git/tree/scripts/construction.sh|construction.sh]]'' qui permet de compiler et d'installer un paquet ou un ensemble de paquets. Lisez-le ! son entête contient un mode d'emploi à jour. |
* un ensemble de listes nommées ''construction-NOM'' contenant des ensembles logiciels à compiler/installer. Lisez-les et créez les vôtres ! | * un ensemble de listes nommées ''construction-NOM'' contenant des ensembles logiciels à compiler/installer. Lisez-les et créez les vôtres ! | ||
* un service de construction pour faire tourner un serveur de construction automatisé, comprenant : | * un service de construction pour faire tourner un serveur de construction automatisé, comprenant : | ||
- | * ''[[http://git.tuxfamily.org/0linux/0linux.git?p=0linux/0linux.git;a=blob;f=scripts/service_construction.sh|service_construction.sh]]'' qui traite une file d'attente de logiciels à empaqueter. La file d'attente contient tout simplement les paramètres à passer à ''construction.sh''. Lisez-le ! | + | * ''[[http://git.tuxfamily.org/0linux/0linux.git/tree/scripts/service_construction.sh|service_construction.sh]]'' qui traite une file d'attente de logiciels à empaqueter. La file d'attente contient tout simplement les paramètres à passer à ''construction.sh''. Lisez-le ! |
* un script de vérification des dépendances des binaires générés ''trouver_binaires_casses.sh'', appelé par ''service_construction.sh'' | * un script de vérification des dépendances des binaires générés ''trouver_binaires_casses.sh'', appelé par ''service_construction.sh'' | ||
* un script de génération de la base de données des paquets et d'envoi des paquets sur le dépôt de paquets, ''0mir'', appelé par ''service_construction.sh'' | * un script de génération de la base de données des paquets et d'envoi des paquets sur le dépôt de paquets, ''0mir'', appelé par ''service_construction.sh'' | ||
Ligne 36: | Ligne 36: | ||
Lisez les scripts ! La documentation qu'ils contiennent est à jour et les essayer directement est bien plus parlant. | Lisez les scripts ! La documentation qu'ils contiennent est à jour et les essayer directement est bien plus parlant. | ||
- | |||
---- | ---- | ||
+ | ====Ajouter ses propres recettes==== | ||
+ | |||
+ | Considérons que vous voulez ajouter à 0Linux votre bibliothèque préférée, disons ''libproot'', laquelle n'existe pas dans les dépôts officiels. Vous allez écrire votre recette et l'enregistrer dans le bon répertoire, sous ''0Linux/b/libproot/libproot.recette'' (''b/'' représentant les paquets contenant des bibliothèques). Vous vous placerez ensuite dans le répertoire ''scripts'', contenant ''construction.sh'', puis vous rendrez votre recette exécutable de préférence (''chmod +x ../0Linux/b/libproot/libproot.recette''). Vous n'aurez plus qu'à compiler/installer votre bibliothèque favorite ainsi : | ||
+ | |||
+ | <code bash> | ||
+ | ./construction.sh libproot | ||
+ | </code> | ||
+ | |||
+ | ''libproot'' va télécharger et compiler le code source puis générer un paquet (que vous retrouverez sous ''$PKGREPO/ARCHITECTURE/b/libproot/libproot-xxx.spack'') et enfin l'installer sur votre système. | ||
+ | |||
+ | Vous procéderez de même si vous avez un ensemble de logiciels à compiler dans un ordre précis, à ceci près que vous créerez également une liste dans ''scripts/construction-*''contenant un ordre de compilation/installation à respecter. | ||
+ | |||
+ | Ainsi, si vous avez besoin de compiler et installer des paquets formant un ensemble appelé 'proot' et contenant 4 paquets nommés ''libproot'', ''proot-tools'', ''python-proot'' et ''proot-extra'' à installer dans cet ordre, vous créerez la liste ''scripts/construction-proot'', contenant un paquet par ligne dans l'ordre voulu : | ||
+ | |||
+ | <file construction-proot> | ||
+ | libproot | ||
+ | proot-tools | ||
+ | python-proot | ||
+ | proot-extra | ||
+ | </file> | ||
+ | |||
+ | Vous n'aurez plus qu'à appeler la commande suivante pour tout compiler/installer dans le bon ordre : | ||
+ | |||
+ | <code bash> | ||
+ | ./construction.sh @proot | ||
+ | </code> | ||
+ | ---- |