Page suivante Page précédente Table des matières

6. Règles d'usage pour la mise au point de la distribution

Les indications qui suivent montrent à quoi votre distribution devrait ressembler lorsqu'on la récupère et qu'on la décompacte.

6.1 Assurez-vous que vos archives se décompactent toujours dans un répertoire nouveau et unique.

L'erreur la plus agaçante que font les développeurs novices est de fabriquer des archives qui décompactent les fichiers et répertoires de la distribution dans le répertoire courant, avec le risque d'écraser des fichiers déjà présents. Ne faites jamais cela !

A la place, faites en sorte que les fichiers de vos archives partagent le même répertoire, avec un nom dérivant de celui du projet. Ainsi, ils se placeront dans un seul répertoire, juste en-dessous du répertoire courant.

Voici un moyen de réaliser cela dans un makefile, en supposant que le répertoire de votre distribution est `toto' et que SRC est une variable contenant la liste des fichiers de votre distribution. Vous devez avoir GNU tar 1.13.

VERS=1.0
toto-$(VERS).tar.gz:
        tar --name-prefix='toto-$(VERS)/' -czf toto-$(VERS).tar.gz $(SRC)

Si votre version de tar est plus ancienne, faites quelque chose dans ce genre :

toto-$(VERS).tar.gz:
        @ls $(SRC) | sed s:^:toto-$(VERS)/: >MANIFEST
        @(cd ..; ln -s toto toto-$(VERS))
        (cd ..; tar -czvf toto/toto-$(VERS).tar.gz `cat toto/MANIFEST`)
        @(cd ..; rm toto-$(VERS))

6.2 Ecrivez un README

Fournissez un fichier nommé README ou READ.ME, qui donne une vision d'ensemble de votre distribution. C'est une vieille convention, et c'est le premier fichier que l'intrépide explorateur lira après avoir extrait les sources (Note du traducteur : le fichier README, comme son nom l'indique, est écrit en anglais afin d'être lisible par le plus grand nombre de personnes possible. Vous pouvez aussi, si vous le jugez utile, fournir une traduction française dans un fichier nommé LISEZMOI, pour les utilisateurs francophones).

Voici quelques éléments qu'il est bon d'avoir dans un README :

6.3 Adoptez les conventions courantes de nommage des fichiers

Avant même d'avoir regardé le README, votre intrépide explorateur aura parcouru la liste des fichiers dans répertoire principal de votre distribution. Ces noms, par eux-mêmes, contiennent de l'information. En suivant certaines règles de nommage, vous donnerez à l'explorateur de bons indices pour orienter son parcours.

Voici quelques noms recommandés pour les fichiers du répertoire principal, avec leur signification. Tous ne sont pas indispensables dans chaque projet.

README ou READ.ME

le plan d'ensemble, à lire en premier

INSTALL

instructions de configuration, de compilation et d'installation

CREDITS

liste des contributeurs du projet

NEWS

dernières nouvelles

HISTORY

histoire du projet

COPYING

termes de la licence (convention GNU)

LICENSE

termes de la licence

MANIFEST

liste des fichiers

FAQ

Foire Aux Questions pour le projet, au format texte.

TAGS

Fichier de tags généré automatiquement, pour être utilisé par Emacs ou vi

Remarquez que la convention générale est que les fichiers dont le nom ne comporte que des majuscules sont des fichiers d'information sur le projet lui-même, et ne sont pas des éléments du système à compiler.

6.4 Fournissez des RPM

Le format standard de facto pour les distributions de binaires à installer est celui qu'utilise le Red Hat Package Manager, RPM. Il est présent dans les distributions Linux les plus populaires, et il est supporté en pratique par toutes les autres (sauf Debian et Slackware ; et Debian peut faire des installations à partir de RPM).

Par conséquent, c'est une bonne idée de fournir sur le site de votre projet des RPM installables en même temps qu'une archive des sources.

C'est aussi une bonne idée d'inclure dans votre archive de sources le fichier de spécification du RPM, avec dans le Makefile une entrée qui fabrique les RPM à partir de lui. Le fichier de spécification devrait avoir l'extension `.spec' ; c'est comme cela que l'option -t de rpm le trouve à l'intérieur de l'archive.

Encore un point de style : générez votre fichier de spécification avec un script shell qui insère automatiquement le numéro de version en analysant le Makefile ou un fichier version.h.


Page suivante Page précédente Table des matières