Tutoriel d'empaquetage - 1. Préliminaires
1.1 Apprentissage des bases
Note : dans ce document, nous supposons que fink
est installé dans /opt/sw
- son emplacement par défaut. Quand vous verrez un bloc de code semblable à celui-ci :
finkdev% unecommandequelconque
vous devrez alors saisir unecommandequelconque
dans Terminal.app ou dans tout autre terminal sur votre Mac.
Vous devez d'abord assimiler quelques concepts de base sur la création de paquets pour Fink. Nous vous suggérons :
- de lire Utilisation de Fink : un guide pour le développeur (fichier pdf 2MB) - diapositives d'une présentation lors de la Conférence O'Reilly Mac OS X.
- de lire et de tenter de comprendre l'exemple donné ici.
- d'étudier d'autres paquets situés dans le répertoire
/opt/sw/fink/dists/unstable/main/finkinfo/
ou dans le répertoire central CVS en ligne et de prendre un (ou plusieurs) fichier(s) info comme point de départ. - de rechercher dans le Traqueur de soumissions de paquets si quelqu'un a déjà essayé de construire le même paquet ou dans le Traqueur de demandes de paquets s'il existe déjà une requête pour ce paquet. Vous y trouverez une mine de renseignements.
- de feuilleter le Guide de création de paquets si vous souhaitez de plus amples informations sur un sujet particulier.
1.2 Création d'un paquet
Sauvegardez le nouveau fichier info (et le fichier rustine si nécessaire) dans le répertoire /opt/sw/fink/dists/local/main/finkinfo/
. Le fichier doit avoir pour nom nomdupaquet.info
(et la rustine doit s'appeler nomdupaquet.patch
), où nomdupaquet
est le nom de votre paquet. Si ce répertoire n'existe pas, vous devez le créer.
Note importante : vérifiez que fink
est à jour en exécutant la commande :
finkdev% fink selfupdate
Exécutez ensuite :
finkdev% fink configure
pour passer le niveau de verbosité à sa plus grande valeur et activer l'arborescence instable.
Vérifiez alors que fink
trouve votre paquet en exécutant :
finkdev% fink list nomdupaquet
S'il n'apparaît pas, vous devez modifier le fichier de configuration de fink, de sorte que l'arborescence locale soit prise en compte.
Vous devrez peut-être réindexer les paquets en exécutant :
finkdev% fink index
Si vous souhaitez de plus amples informations, lisez le Guide de création de paquets ou utilisez l'une ou l'autre des différentes sources d'aide. Vous devez aussi vous abonner à la liste de diffusion fink-devel.
1.3 Validation d'un paquet
Pendant le processus de validation de votre paquet, vous devez régler le niveau de verbosité de fink
à la plus haute valeur possible. Voir la section fichier de configuration de fink pour savoir comment le changer.
Vérifiez que votre paquet est valide en exécutant :
finkdev% fink validate /opt/sw/fink/dists/local/main/finkinfo/nomdupaquet.info
Si c'est le cas, essayez de construire le paquet en exécutant :
finkdev% fink -m --build-as-nobody rebuild nomdupaquet
Observez attentivement les messages d'erreur or d'attention du processus de construction. Assurez-vous, en particulier, que tout s'installe dans le répertoire de destination (qui est /opt/sw/src/root-nomdupaquet-%v-%r/opt/sw
) à partir duquel fink
construit le paquet binaire. Rien ne doit être installé directement dans /opt/sw
.
Si vous utilisez l'option --keep-build-dir
ou -k
de fink
, le répertoire de construction sera conservé. C'est là que fink
décompresse le fichier source téléchargé et que le paquet est construit. Cela vous aidera à déboguer le processus de construction. Voir man fink
pour de plus amples informations.
Vous pouvez aussi utiliser l'option --keep-root-dir
ou -K
, elle permet de conserver le répertoire de destination. C'est là que fink
construit l'arborescence d'installation du paquet. La comparaison entre les répertoires de construction et d'installation peut aider à déboguer la phase d'installation.
Si la construction du paquet se passe bien, vérifiez le contenu du paquet binaire en exécutant :
finkdev% dpkg -c /opt/sw/fink/dists/local/main/binary-darwin-powerpc/nomdupaquet.deb
Vérifiez que tous les fichiers qui sont censés être dans le paquet se trouvent bien dans le fichier .deb. Rappel : assurez-vous que rien n'est installé directement dans /opt/sw
.
Vous pouvez maintenant valider le paquet binaire en exécutant :
finkdev% fink validate /opt/sw/fink/dists/local/main/binary-darwin-powerpc/nomdupaquet.deb
Si tout est correct, installez le paquet avec :
finkdev% fink install nomdupaquet
et testez les fonctionnalités de votre paquet.
Si le processus échoue lors d'une des étapes ci-dessus, essayez de corriger les erreurs et recommencez le processus à partir de l'étape fink validate
.
1.4 Soumission de votre paquet
Si toutes les étapes de vérification de votre paquet énoncées ci-dessus ont été franchies avec succès, vous pouvez soumettre le fichier info (et le fichier patch s'il existe) au Traqueur de soumissions de paquets.
Une personne se chargera d'examiner votre soumission et d'ajouter le paquet à la branche instable de Fink, si le paquet semble correct. Sinon, on vous demandera de mettre le paquet en accord avec les règles de Fink.
Note très importante :
- Si possible, ajoutez plusieurs éléments à la fois à la même soumission (c'est-à-dire les fichiers info et patch).
- Ajoutez un commentaire mentionnant que votre paquet est prévu soit pour l'arborescence
10.3
, soit pour l'arborescence10.4
, ou bien encore pour les deux. - Indiquez dans quelle
section
(graphics, sci, etc...) vous pensez qu'il doit être mis. - Notez que vous avez exécuté
fink validate
sur les fichiers info et .deb. - Lors de la création de l'élément dans le traqueur, positionnez le menu déroulant
Group
surUndergoing Validation
. Repositionnez-le surUndergoing Validation
quand vous modifiez les fichiers après qu'un examinateur de soumissions de paquets vous ait demandé de corriger des problèmes dans votre paquet. - Indiquez également à quelle catégorie appartient l'élément en choisissant une valeur dans le menu déroulant
Category
.