Salut à tous, Voici le fichier internals.sgml relu et mis à jour par Philippe Batailler. Merci Philippe.
A+, Christian.Title: Le manuel de l'intérieur de dpkg ]>
Ce manuel est du logiciel libre; vous pouvez le redistribuer gratuitement et/ou le modifier sous les conditions de la « GNU General Public License » telle que publiée par la Free Software Foundation ; soit version 2, soit (à votre convenance) n'importe quelle version suivante.
Il est distribué dans l'espoir qu'il sera utile, mais sans aucune garantie; sans même la garantie implicite d'une possible commercialisation ou d'une adéquation avec la satisfaction d'un but précis. Consultez la « ;GNU General Public License » pour plus de détails.
Vous devriez avoir reçu une copie de la GNU General Public License avec
votre système Debian, dans
Ce chapitre a été écrit par Tom Lees
Ce chapitre contient quelques généralités à propos de la conversion à
L'utilitaire
Ceci n'affecte rien d'autre que la recompilation des fichiers
La principale différence notable est probablement le fait qu'au lieu d'utiliser des noms de fichiers propriétaires, il accepte maintenant configure --sharedstatedir et configure --localstatedir. Pour faire de ces options des options par défaut pour Debian, vous devriez utiliser ./configure --localstatedir=/etc --sharedstatedir=/var/lib.
J'ai aussi accommodé les macros canonisatrices que l'on trouve dans
autoconf pour inclure l'ancienne façon de trouver
l'« architecture » pour
Il utilise gcc --print-libgcc-file-name pour trouver si
possible l'architecture de compilation (c'est utilisé ensuite pour
déterminer le format ELF ou a.out) ; il utilise si possible
aussi dpkg --print-architecture pour modifier le champ
cpu avant de passer l'alias de la cible à config.sub. Si vous
voulez spécifier l'architecture, vous devriez maintenant utiliser
--target=, plutôt que --with-arch,
qui n'était de toute façon qu'un « hack ». Le vieux
J'ai aussi tout converti à libtool (qu'on peut maintenant trouver dans
la distribution Debian). Cela signifie essentiellement que tous les
outils dpkg peuvent être compilés avec une librairie partagée
libdpkg sans trop de difficultés (en fait, c'est l'option par
défaut). Vous n'avez pas besoin d'installer libtool pour utiliser cette
fonctionnalité (cela fonctionne comme autoconf), et d'une manière générale,
cela ne devrait pas être souvent nécessaire.
Les nouvelles cibles dist construisent une distribution incluant
tous les fichiers construits avec
Une cible
J'ai enlevé la cible
J'ai ajouté les cibles
Si vous voulez modifier quelque chose dans les sources, je vous recommande
de faire d'abord ce qui suit (après avoir installé les
utilitaires appropriés, bien sûr) :
J'ai aussi incorporé les patches créés par Galen
Hazelwood qui internationalisent dpkg en utilisant GNU gettext - voyez
le fichier « NOTES.intl » pour plus d'information.
Les autres modifications mineures sont :
Questions:
Cette section a été écrite par Galen Hazelwood.
Dpkg est, pour le moins, généreux dans ses rapports d'erreur. La grande majorité des chaînes de caractères produites sont d'une manière ou d'une autre des messages d'erreur. Et si vous pensez que vous vous êtes égarés dans le Ministère des Ministères Redondants, vous auriez absolument raison. Beaucoup des messages d'erreurs dans dpkg.pot sont dupliqués et utilisés à différents endroits dans le programme.
Pour éviter de submerger complètement les traducteurs, j'ai pris des décisions arbitraires sur les sortes de chaînes de caractères à traduire. Toutes les chaînes envoyées à debug() sont laissées telles quelles, sur la base du fait qu'elles sont destinées aux développeurs de dpkg, et non à l'ensemble du public. La plupart des messages d'erreur internes sont très cryptiques, et confondraient certainement les traducteurs qui les verraient simplement posés là dans le fichier dpkg.pot, et ils sont laissés tels quels. (J'en ai quand même marqués quelques uns parmi les plus verbeux pour traduction.)
Si d'autres ne sont pas d'accord avec moi sur la nécessité de traduire ces chaînes, c'est suffisamment facile de simplement poursuivre et de les marquer plus tard.
J'ai ajouté le code de démarrage de gettext à la routine principale de dselect, ce qui était nécessaire car beaucoup des chaînes de lib sont traduites. Dselect est à part cela inchangé.
Modifications :
La structure
Chacune de ces tables est utilisée pour associer un ensemble de chaînes de caractères avec un ensemble correspondant d'entiers. Les tables actuelles sont :
Associe des chaînes booléennes (
Associe les chaînes de priorité à des valeurs de type
const char *illegal_packagename
(const char *p, const char **ep)
Vérifie le nom de paquet dans *ep
int informativeversion(const struct versionrevision *version)
Renvoie « true » si et seulement si
Renvoie une version lisible par un humain de version comme un
pointeur vers un buffer statique. Si la structure de version est vide,
renvoie
Fait l'analyse syntaxique du contenu de