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:methode_de_creation_des_paquets_pour_0linux_native [03-09-2014 10:07]
appzer0 [Créer un paquet-abonnement]
documentation:methode_de_creation_des_paquets_pour_0linux_native [23-03-2015 13:09]
appzer0 [cflags]
Ligne 1: Ligne 1:
 ====Créer et exécuter des recettes==== ====Créer et exécuter des recettes====
  
-On se base sur la [[http://​git.tuxfamily.org/​0linux/​0linux.git?p=0linux/0linux.git;​a=blob;​f=generique.recette|recette générique]] de 0Linux pour créer rapidement des paquets. La recette a été simplifiée et comprend des fonctions pour automatiser les tâches rébarbatives. Elle inclut toutes les commandes que l'on appellerait habituellement sur la ligne de commande, en s'​aidant des fonctions pré-enregistrées dans ''/​usr/​share/​0outils/​fonctions_paquets.sh''​ .+On se base sur la [[http://​git.tuxfamily.org/​0linux/​0linux.git/​tree/generique.recette|recette générique]] de 0Linux pour créer rapidement des paquets. La recette a été simplifiée et comprend des fonctions pour automatiser les tâches rébarbatives. Elle inclut toutes les commandes que l'on appellerait habituellement sur la ligne de commande, en s'​aidant des fonctions pré-enregistrées dans ''/​usr/​share/​0outils/​fonctions_paquets.sh''​ .
  
 La recette équivaut en fait à empaqueter un logiciel manuellement sur le terminal, ou via un petit script, en le compilant et en l'​installant à un emplacement spécifique puis à le passer à ''​spackpkg''​ pour en faire un paquet pour 0Linux, installable avec ''​spackadd''​. ​ La recette équivaut en fait à empaqueter un logiciel manuellement sur le terminal, ou via un petit script, en le compilant et en l'​installant à un emplacement spécifique puis à le passer à ''​spackpkg''​ pour en faire un paquet pour 0Linux, installable avec ''​spackadd''​. ​
Ligne 34: Ligne 34:
  --infodir=/​usr/​info \  --infodir=/​usr/​info \
  --docdir=/​usr/​doc/​${NAMETGZ}-${VERSION} \  --docdir=/​usr/​doc/​${NAMETGZ}-${VERSION} \
- --build=${PKGARCH}-0-linux-gnu+ --build=${PKGARCH}-0linux-linux-gnu
  
 make -j${JOBS} || make make -j${JOBS} || make
Ligne 217: Ligne 217:
 ''​telecharger_sources''​ télécharge la ou les archives des sources à(aux) (l'​)adresse(s) définie(s) dans ''​$WGET'',​ si la ou les archives sont absentes, que celle-ci soit une simple URL ou bien un tableau de plusieurs URL (voir plus haut dans cette page) puis s'​occupe de vérifier l'​intégrité des archives téléchargées. ''​telecharger_sources''​ télécharge la ou les archives des sources à(aux) (l'​)adresse(s) définie(s) dans ''​$WGET'',​ si la ou les archives sont absentes, que celle-ci soit une simple URL ou bien un tableau de plusieurs URL (voir plus haut dans cette page) puis s'​occupe de vérifier l'​intégrité des archives téléchargées.
  
-Depuis ''​0outils 12.9'',​ ''​telecharger_sources''​ gère également les dépôts git. Il suffit de renseigner l'​adresse du dépôt commençant par « git:// ». Le commit concerné doit se retrouver dans la variable ''​VERSION''​. On spécifie les 10 premiers caractères du « hash » du commit voulu. ​Example ​:+Depuis ''​0outils 12.9'',​ ''​telecharger_sources''​ gère également les dépôts git. Il suffit de renseigner l'​adresse du dépôt commençant par « git: ». Le commit concerné doit se retrouver dans la variable ''​VERSION''​. On spécifie les 10 premiers caractères du « hash » du commit voulu. ​Exemple ​:
  
 <code bash> <code bash>
Ligne 294: Ligne 294:
 On peut forcer une autre architecture que celle de l'​hôte pour certains cas spéciaux (compilation croisée pour la prise en charge du multilib notamment, etc.) en appelant la fonction avec un paramètre. Par exemple : On peut forcer une autre architecture que celle de l'​hôte pour certains cas spéciaux (compilation croisée pour la prise en charge du multilib notamment, etc.) en appelant la fonction avec un paramètre. Par exemple :
   cflags i686   cflags i686
-... forcera la compilation en i686 même si l'​hôte est un x86_64. Cette fonction est souvent utilisée dans les recettes nécessitant de gérer le mécanisme « multilib », comme c'est le cas pour les recettes x86_64 nécessitant des bibliothèques 32 bits i686 au sein du même paquet. Voyez la recette ''​[[http://​git.tuxfamily.org/​0linux/​0linux.git?p=0linux/0linux.git;​a=blob;​f=0Linux/​b/​zlib/​zlib.recette|zlib.recette]]''​ pour un exemple concret de recette multilib.+... forcera la compilation en i686 même si l'​hôte est un x86_64. Cette fonction est souvent utilisée dans les recettes nécessitant de gérer le mécanisme « multilib », comme c'est le cas pour les recettes x86_64 nécessitant des bibliothèques 32 bits i686 au sein du même paquet. Voyez la recette ''​[[http://​git.tuxfamily.org/​0linux/​0linux.git/​tree/0Linux/​b/​zlib/​zlib.recette|zlib.recette]]''​ pour un exemple concret de recette multilib.
  
 On peut également forcer une architecture non native (si on veut compiler uniquement du 32 bits i686 sur une 0Linux 64 bits) en spécifiant sur la ligne de commande la variable ''​$FORCE_PKGARCH''​. Cette variable ne sert que dans de rares cas, par exemple générer des paquets purs i686 sur un hôte 64 bits prenant en charge le multilib i686. On peut également forcer une architecture non native (si on veut compiler uniquement du 32 bits i686 sur une 0Linux 64 bits) en spécifiant sur la ligne de commande la variable ''​$FORCE_PKGARCH''​. Cette variable ne sert que dans de rares cas, par exemple générer des paquets purs i686 sur un hôte 64 bits prenant en charge le multilib i686.
Ligne 384: Ligne 384:
  --infodir=/​usr/​info \  --infodir=/​usr/​info \
  --docdir=/​usr/​doc/​${NAMETGZ}-${VERSION} \  --docdir=/​usr/​doc/​${NAMETGZ}-${VERSION} \
- --build=${PKGARCH}-0-linux-gnu+ --build=${PKGARCH}-0linux-linux-gnu
  
 make -j${JOBS} || make make -j${JOBS} || make
Ligne 430: Ligne 430:
  --infodir=/​usr/​info \  --infodir=/​usr/​info \
  --docdir=/​usr/​doc/​${NAMETGZ}-${VERSION} \  --docdir=/​usr/​doc/​${NAMETGZ}-${VERSION} \
- --build=${PKGARCH}-0-linux-gnu+ --build=${PKGARCH}-0linux-linux-gnu
  
 make -j${JOBS} || make make -j${JOBS} || make
Ligne 573: Ligne 573:
  --docdir=/​usr/​doc/​${NAMETGZ}-${VERSION} \  --docdir=/​usr/​doc/​${NAMETGZ}-${VERSION} \
  --enable-bidule \  --enable-bidule \
- --build=${PKGARCH}-0-linux-gnu+ --build=${PKGARCH}-0linux-linux-gnu
  
 make -j${JOBS} || make make -j${JOBS} || make
Ligne 598: Ligne 598:
  --docdir=/​usr/​doc/​${NAMETGZ}-${VERSION} \  --docdir=/​usr/​doc/​${NAMETGZ}-${VERSION} \
  --enable-bidule \  --enable-bidule \
- --build=${PKGARCH}-0-linux-gnu+ --build=${PKGARCH}-0linux-linux-gnu
  
 cd - cd -