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
documentation:methode_de_creation_des_paquets_pour_0linux_native [23-03-2015 13:07]
appzer0 [telecharger_sources]
documentation:methode_de_creation_des_paquets_pour_0linux_native [23-03-2015 13:09]
appzer0 [creer_post_installation]
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 339: Ligne 339:
 Il détecte automatiquement si des fichiers ''​*.0nouveau''​ sont présents et crée le script permettant de comparer avec des fichiers déjà installés sur le système et le cas échéant d'​éviter l'​écrasement de fichiers de configuration. Ainsi, pour créer un fichier qui ne doit pas écraser un fichier portant le même nom  (par exemple, ''​httpd.conf''​) lors d'une mise à niveau, il suffit de lui ajouter l'​extension ''​.0nouveau''​ (par exemple ''​httpd.conf.0nouveau''​). Ce sera à l'​utilisateur de vérifier s'il veut migrer vers le fichier en ''​.0nouveau''​ ou pas. Si oui, il supprimera l'​extension ''​.0nouveau''​ et écrasera son ancien fichier, sinon, soit il ne fera rien, soit il supprimera le fichier ''​.0nouveau''​ (idéalement). Il détecte automatiquement si des fichiers ''​*.0nouveau''​ sont présents et crée le script permettant de comparer avec des fichiers déjà installés sur le système et le cas échéant d'​éviter l'​écrasement de fichiers de configuration. Ainsi, pour créer un fichier qui ne doit pas écraser un fichier portant le même nom  (par exemple, ''​httpd.conf''​) lors d'une mise à niveau, il suffit de lui ajouter l'​extension ''​.0nouveau''​ (par exemple ''​httpd.conf.0nouveau''​). Ce sera à l'​utilisateur de vérifier s'il veut migrer vers le fichier en ''​.0nouveau''​ ou pas. Si oui, il supprimera l'​extension ''​.0nouveau''​ et écrasera son ancien fichier, sinon, soit il ne fera rien, soit il supprimera le fichier ''​.0nouveau''​ (idéalement).
  
-Cette fonction s'​occupe également d'​ajouter toutes les fonctions de réindexation,​ mise à jour etc. dans ce même script (icônes à réindexer, polices à réindexer, raccourcis bureau à mettre à jour, types MIME à mettre à jour, bibliothèques à ajouter à l'​éditeur de liens via ''​ldconfig'',​ mise à jour des dépendances entre modules noyau, etc.). Voyez les sources du fichier de fonctions dans ''​[[http://​git.tuxfamily.org/​0linux/​0linux.git?p=0linux/0linux.git;​a=blob;​f=0Linux/​a/​0outils/​fonctions_paquets.sh|0Linux/​a/​0outils/​fonctions_paquets.sh]]''​ pour plus de détails).+Cette fonction s'​occupe également d'​ajouter toutes les fonctions de réindexation,​ mise à jour etc. dans ce même script (icônes à réindexer, polices à réindexer, raccourcis bureau à mettre à jour, types MIME à mettre à jour, bibliothèques à ajouter à l'​éditeur de liens via ''​ldconfig'',​ mise à jour des dépendances entre modules noyau, etc.). Voyez les sources du fichier de fonctions dans ''​[[http://​git.tuxfamily.org/​0linux/​0linux.git/​tree/0Linux/​a/​0outils/​fonctions_paquets.sh|0Linux/​a/​0outils/​fonctions_paquets.sh]]''​ pour plus de détails).
  
 On ajoutera donc à loisir manuellement d'​autres fonctions au script ''​${PKG}/​post-install.sh'',​ notamment des permissions spéciales ou des commandes particulières via de simples ''​echo''​ ou ''​cat''​ (via la syntaxe « heredoc », voyez en fin de page). On ajoutera donc à loisir manuellement d'​autres fonctions au script ''​${PKG}/​post-install.sh'',​ notamment des permissions spéciales ou des commandes particulières via de simples ''​echo''​ ou ''​cat''​ (via la syntaxe « heredoc », voyez en fin de page).