QU'EST-CE QUE DARWINPORTS DarwinPorts est une infrastructure permettant de compiler, d'installer et d'empacter un logiciel, similaire en termes de fonctionnalités à l'architecture des ports FreeBSD afin de maintenir une extensibilité future. DarwinPorts fonctionne et permet d'être compilé sur MacOS X 10.2 (Darwin 6.0). Le système est portable, est écrit en TCL avec un set limité d'extensions TCL en C. Le "DarwinPorts User Guide" est disponible à : http://www.opendarwin.org/projects/darwinports/guide/ Pour une documentation plus appronfondie sur l'architecture interne de ce système de ports, reportez-vous au fichier base/docs/ INTERNALS. Notez svp que l'architecture de DarwinPorts est composé de deux parties. "L'infrastructure de DarwinPorts", qui réside dans le sous-répertoire base/ est le seul composant obligatoire du système, et le répertoire "dports" qui contient la description des logiciels portés. Le dernier composant peut être optionnel et peut être récupéré sur le net ou une copie locale peut également être utilisée. Reportez-vous à la documentation sur /etc/ports/sources.conf ci-dessous. INSTALLATION Étapes de l'installation : 1. make Lancez 'make' pour compiler tout ce qui est nécessaire. 2. sudo make install Lancez 'sudo make install' pour installer DarwinPorts sur votre système. 3. [optionnel] éditez /etc/ports/ports.conf le fichier de configuration "/etc/ports/ports.conf" définit la majeure partie des options de configuration de l'infrastructure de DarwinPorts si vous desirez changer les chemins et emplacements ou sonts stockés les données, changez les options suivantes : portdbpath - Spécifie la base où stocker les données spécifiques au système de ports. prefix - Indique la base dans laquelle installer les ports 4. éditez /etc/ports/sources.conf Le fichier /etc/ports/sources.conf liste l'emplacement des hiérarchies des ports locales et distantes. Assurez-vous bien d'ajouter une entrée pour votre hiérarchie locale des ports (normalement le répertoire darwinports/dports). Tout le code TCL nécessaire sera compilé et installé comme indiqué ci- dessous: [Mac OS X] /System/Library/Tcl/darwinports1.0 [FreeBSD] /usr/local/lib/tcl8.3/darwinports1.0 - Librairie TCL permettant d'interagir avec le système DarwinPorts PREFIX est situé par défaut à /opt/local mais ce choix peut être modifié en changeant le répertoire base/répertoire et en lançeant manuellement ./configure avec l'argument --prefix $PREFIX/bin/port - Utilitaire en mode texte pour la compilation de port $PREFIX/share/darwinports/ - Librairies TCL internes du système de ports Les fichiers suivants sont fournis en vue de la personnalisation du système : /etc/defaults/ports.conf - Réglages par défaut des ports pour tout le système /etc/ports/ports.conf - Réglages personnels des ports pour l'utilisateur /etc/ports/sources.conf - Liste des sources pour les ports (endroit où récupérer les données des ports) UTILISATION DE LA COMMANDE 'PORT' Si vous ne l'avez déjà fait, ajoutez /opt/local/bin à votre variable path (ou $PREFIX/bin si vous avez choisi d'installer DarwinPorts dans un autre emplacement). Si vous ne savez pas comment faire, ajoutez la ligne suivante dans votre fichier ~/.cshrc. set path=($path /opt/local/bin) Vos changements dans ~/.cshrc ne seront pris en compte que lorsque vous ouvrirez un nouveau shell. La commande suivante compilera et installera le port : port install Pour rechercher un port spécifique, essayez d'utiliser "port search" : port search vi Référez-vous à la page man de "port" pour une documentation plus complète sur cette commande. Il est également possible d'effectuer des opérations, comme compiler ou récupérer tous les ports du système en utilisant la commande "portall". Elle prend les mêmes arguments essentiels que la commande "port" mais opère de façon interactive sur chaque port dans dports/. Lorsque vous effectuez un "make clean" depuis ce répertoire, par exemple, un "portall clean" est également invoqué pour nettoyer complètement. CRÉER DE NOUVEAUX PORTS Un port consiste en un répertoire contenant un fichier Portfile et ses fichiers associés. Actuellement les seuls fichiers livrés avec un port sont les patchs, et sont au minimum censés être gardés. Un fichier Portfile consiste en un code TCL valide, évalué par un interpréteur de DarwinPorts. Les fichiers Portfiles utilisent une syntaxe très stricte composée de paires de type clé/valeur, permettant d'autoriser à l'auteur l'utilisation complète des fonctionnalités offertes par TCL lorsque cela lui est nécessaire. Pour commencer reportez-vous au fichier doc/exampleport et la page man de portfile(7).