Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Dernière révision Les deux révisions suivantes
documentation:compiler_0linux [25-08-2014 13:16]
appzer0
documentation:compiler_0linux [25-08-2014 13:59]
appzer0 [Utilisation de construction.sh]
Ligne 15: Ligne 15:
     * un frontal web, non utilisé pour le moment, bogué et qu'on n'a pas vraiment trouvé utile finalement     * un frontal web, non utilisé pour le moment, bogué et qu'on n'a pas vraiment trouvé utile finalement
  
-Plutôt que d'​écrire une longue page de documentation,​ nous vous conseillons de lire ces scripts, ils sont abondamment commentés. Le plus important à retenir : les variables d'​environnement et l'​utilisation de ''​construction.sh''​.+Plutôt que d'​écrire une longue page de documentation,​ nous vous conseillons de lire ces scripts, ils sont abondamment commentés. Le plus important à retenir ​reste : les variables d'​environnement ​comme ''​PKGREPO'',​ ''​PKGSOURCES''​ ou ''​MARMITE'' ​et l'​utilisation de ''​construction.sh''​.
  
 ====Utilisation de construction.sh==== ====Utilisation de construction.sh====
  
-Clonez le dépôt git des sources ​de 0Linux ​(cf[[Téléchargements]] et déplacez-vous avant tout dans le répertoire ​''​scripts'' ​(obligatoireles scripts ne peuvent pas être appelés d'ailleurs).+:!: Note : il est préférable que vous ayez configuré votre utilisateur pour accéder à ''​sudo'',​ idéalement sans mot de passe afin d'​automatiser les installations de chaque paquet ​(l'​appel automatique à ''​spackadd''​ a bien évidemment besoin des privilèges de ''​root''​)Vous pouvez utiliser ​le groupe ​''​sudo''​ dans ''/​etc/​sudoers'', ​la ligne est déjà présente, il suffit de la décommenter et de vous assurer que votre utilisateur fait partie du groupe ​''​sudo''​. Consultez ''​man sudo''​ ainsi que le fichier ''/​etc/​sudoers''​ pour en savoir plus.
  
-**EN COURS DE RÉDACTION**+Clonez le dépôt git des sources de 0Linux (cf. la page des [[Téléchargements]]) et déplacez-vous avant tout dans le répertoire ''​scripts''​ (obligatoire,​ les scripts ne peuvent pas être appelés d'​ailleurs). 
 + 
 +Définissez les variables ''​PKGSOURCES''​ et ''​PKGREPO''​ d'​emblée pour avoir un dépôt propre avec d'un part vos archives sources bien isolées du reste (''​PKGSOURCES''​) et des paquets compilés bien rangés à part (''​PKGREPO''​). Plus d'​infos sur les variables d'​environnement ici : [[http://​0.tuxfamily.org/​doku.php/​documentation/​methode_de_creation_des_paquets_pour_0linux_native#​executer_une_recette|Exécuter une recette]]. 
 + 
 +Pour compiler et installer automatiquement des paquets ou une liste de paquets et pour reprendre l'​exemple cité au début du script : 
 + 
 +<code bash> 
 +# Exemple : construire et installer les listes '​construction-kde'​ et  
 +# '​construction-gimp',​ le paquet '​libpng'​ ainsi que tous les paquets commençant  
 +# par « alsa » : 
 +
 +# ./​construction.sh @kde @gimp libpng alsa*
 +</​code>​ 
 + 
 +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>​
 +----