Miniguía de introducción a DarwinPorts, por Zifra

hexley.png

Si quieres investigar más las posibilidades que nos aporta la cara UNIX del Mac OS, pasa y lee.

Es conocido cómo obtener e instalar software libre para OS X y X11 desde uno de los mayores depósitos de este tipo de aplicaciones: fink. Ésta no es la única fuente de software de código abierto para mac y hoy intentaremos mostrar otra: DarwinPorts. Seguimos esperando que el tercer gran proyecto Portage de Gentoo sea accesible al público en general, pues actualmente se halla en fase de desarrollo.

DarwinPorts es un proyecto que tiene como objetivo proporcionar una vía sencilla para instalar productos software de código abierto en Darwin, Mac OS X, FreeBSD o Linux.

Traduciendo libremente de la página principal de su web, encontramos que los promotores de este proyecto afirman que hay algunos cientos de ports completos y utilizables y que se siguen añadiendo nuevos.

Una lista completa de estos puede consultarse en la página titulada Available ports, o sea «Puertos» disponibles». En esta página se pueden consultar los puertos por categorías o acceder a una lista completa por orden alfabético. El día 7 de diciembre se disponía de 664 paquetes en 34 categorías (v. cuadro 1).

Lo primero a tener en cuenta es que aunque fink y DarwinPorts] son proyectos concurrentes y poseen un mecanismo para trabajar en común llamado Metapkg (los desarrolladores, no los sistemas) intentando evitar incompatibilidades, éstas existen y pueden llegar a ser bastante poderosas. Es conveniente entonces escoger únicamente uno de los sistemas, a no ser que uno sea un usuario muy avezado en este tipo de herramientas.

dp.jpg

hexley_pkg_450.png

INSTALACIÓN DE DARWINPORTS

Una vez hechas estas consideraciones, empezamos el proceso de instalación. Repasamos los requerimientos: Mac OS X (Jaguar o Panther) con las herramientas de desarrollo (Developer Tools o Xcode, respectivamente) instaladas.

DarwinPorts se basa en CVS o sea, Concurrent Versions System, la herramienta predominante en el mundo del software de código abierto para el desarrollo y distribución de software. Fink también la usa, aunque de un modo bastante más transparente para el usuario.

La primera acción es comprobar si el repositorio CVS de DarwinPorts funciona. Para ello, tecleamos los siguientes comando en una ventana del terminal:

cvs -d :pserver:anonymous@anoncvs.opendarwin.org:/Volumes/src/cvs/od login

cvs -d :pserver:anonymous@anoncvs.opendarwin.org:/Volumes/src/cvs/od co -P darwinports

Respondiendo con la tecla <<ENTER>> cuando el servidor nos pida contraseña.

Estos comandos instalan una carpeta llamada darwinports en la carpeta de inicio de nuestro usuario.

En el caso de que estos comandos no funcionaran, se dispone de un paquete comprimido descargable en la siguiente dirección: http://darwinports.opendarwin.org/darwinports-nightly-cvs-snapshot.tar.gz, el cual, una vez descomprimido nos proporciona la susodicha carpeta. Este paquete se actualiza cada seis horas, así que proporciona prácticamente la misma carpeta que el método CVS.

A continuación, nos situamos en el directorio ~/darwinports/base y ejecutamos los siguientes comandos, siempre desde el terminal:

./configure

make

sudo make install

Estos comandos compilan e instalan el software necesario para que nuestro sistema DarwinPorts funcione. Ahora es necesario configurarlo

CONFIGURACIÓN DE DARWINPORTS

Para que DarwinPorts pueda encontrar los paquetes, es necesario editar el fichero /etc/ports/sources.conf, por ejemplo invocando el fichero pico con el siguiente comando

sudo pico /etc/ports/sources.conf

El resultado debe ser similar al de la Figura 1. Es decir, hay que añadir una línea que contenga lo siguiente: file:///Users/minombredeusuario/darwinports/dports obviamente sustituyendo minombredeusuario por el nombre corto de usuario en Mac OS X.

sources.png

Clic para ampliar

Figura 1: Configurando /etc/ports/source.conf usando pico

Los ficheros ejecutables de DarwinPorts se situan en el directorio /opt/local/bin y para poder invocarlos necesitamos que esa información se encuentre en la variable de entorno PATH. La forma de hacer esto dependerá de la shell que estemos usando. En la que viene por defecto en Jaguar se puede usar el fichero .cshrc añadiéndole la línea

set path=($path /opt/local/bin)

En Panther, el fichero a modificar será .profile, el cual deberá contener una línea:

export PATH=$PATH:/opt/local/bin

Ahora tenemos una distribución de DarwinPorts en funcionamiento. El comando más importante es el comando port, que es el que se usa para instalar, actualizar y desinstalar paquetes.

USO DE DARWINPORTS

El uso del comando port es muy simple. Por ejemplo, para instalar XChat, el conocido cliente de IRC, simplemente tecleamos

port install xchat

y DarwinPorts descarga, compila e instala XChat, sin necesidad de ninguna acción más por nuestra parte. Es posible que en algunas ocasiones debamos ejecutar el comando como administrador, es decir:

sudo port install xchat

Otras opciones del comando port son search, fetch, configure, build, destroot, clean, variant, deps y contents:

port search xchat

busca los paquetes que contienen xchat. search usa expresiones regulares, así que es un potente motor de búsqueda.

port fetch xchat

descarga del repositorio el paquete xchat y no hace nada más. Este subcomando y los siguientes se usan cuando estamos probando un paquete. Del mismo modo, los comandos.

port configure xchat

port build xchat

port destroot xchat

respectivamente, configura un paquete (en nuestro ejemplo, siempre xchat) para su compilación, lo compilan o finaliza su instalación.

Para desinstalar un paquete se usa

port uninstall xchat

mientras que

port clean xchat

elimina los ficheros intermedios creados durante la instalación. El contenido de un paquete, las posibles variantes del mismo y las dependencias se pueden obtener también mediante distintos comandos port:

port contents xchat

port variants xchat

port deps xchat

Una vez instalada una aplicación, esta se arrancará desde un terminal de X11. Por supuesto, será necesario arrancar antes un servidor XWindow, por ejemplo el X11 de Apple o XDarwin. En un terminal del servidor de ventanas, escribiremos <>, por ejemplo:

[usuario:~] usuario% xchat

Este mecanismo es incómodo, pero podemos configurar el servidor X11 de Apple para arrancar las aplicaciones desde los menús desplegables. Para ello, escogemos en el menu Applications la opción Customize. Obtenemos una ventana donde podemos configurar este menú, añadiendo, modificando o eliminando items. En la columna de la izquierda se colocan los nombres que queremos que aparezcan en el menú desplegable y en la columna de la derecha el comando que se ejecutará, el cual puede o no corresponder a un paquete de DarwinPorts.

ACTUALIZACION DE DARWINPORTS

DarwinPorts guarda en nuestro directorio ~/darwinports una guía del árbol de paquetes. De vez en cuando es necesario actualizar esta guía mediante los comandos

cd ~/darwinports/dports

portindex

cvs -z3 -d :pserver:anonymous@anoncvs.opendarwin.org:/Volumes/src/cvs/od update -dP

con el objetivo de poder descargar e instalar los paquetes nuevos y las actualizaciones de los antiguos.

Para actualizar un paquete no existe una orden directa, así que debemos hacer

sudo port uninstall xchat

sudo port install xchat

También podemos actualizar la base de DarwinPorts mediante las órdenes:

cd ~/

cvs -d :pserver:anonymous@anoncvs.opendarwin.org:/Volumes/src/cvs/od -z3 update -dP

cd ~/darwinports/base

./configure

make clean && make

sudo make install

Espero que os sirva esta pequeña guía de introducción a Darwinports.

hexley_key_450.png

ANEXO: PAQUETES DISPONIBLES EN DARWINPORTS POR CATEGORÍAS:

amusements : (Diversiones) 4 paquetes.
aqua : 8 paquetes, entre ellos una paquete gráfico de gestión de DarwinPorts sobre cocoa (para Mac OS X) en fase beta: PortsManager. Este paquete iba incluido en las betas de Panther, pero al final se desechó.
archivers : 14 paquetes de gestión de ficheros.
audio : 30 paquetes, desde librerías a sintetizadores en tiempo real.
comms : (comunicaciones) 7 paquetes: ssh, modem, sincronización de Palm, kermit…
databases : (bases de datos) 15 paquetes, principalmente relacionados con SQL, pero también con DB (Berkeley), OBDC o LDAP.
devel : 113 paquetes para desarrolladores de software: analizadores, compiladores, librerías…
editors : 16 editores de texto de uso general (abiword) o específicos (TeXShop para TeX o bluefish para html). También variantes de vi y de emacs, las potentes herramientas Unix.
emulators : 4 paquetes, incluyendo Bochs, que simula un procesador Intel.
games : 19 juegos.
genealogy : 1 aplicación para manejar genealogías.
gnome : 47 paquetes relacionados con el popular entorno de escritorio de Unix gnome.
graphics : 39 paquetes para gráficos, desde gimp (el «Photoshop» del software libre) hasta ImageMagick, una aplicación para convertir formatos gráficos y efectuar manipulaciones, tipo «Graphic Converter».
irc : 13 servidores, clientes y herramientas para IRC.
java : 1 analizador de Java.
lang : 37 herramientas y lenguajes de programación: lisp, prolog, C++, scheme, erlang, modula…
mail : 24 aplicaciones, principalmente clientes y servidores de correo, pero también filtros de spam y otros.
math : 8 paquetes, incluyendo octave, paquete manipulación simbólica similar a MatLab o a Mathematica.
misc : Darwinports, el paquete que mantiene la infraestructura de este sistema.
multimedia : 2 paquetes.
net : (redes) 108 paquetes: airport, modem, cvs, curl, prxys, sniffers, ethernet…
news : 4 paquetes para gestionar el protocolo NNTP.
parallel : 2 paquetes de computación paralela.
print : 9 paquetes de gestión de impresores, postscript, PDF…
python : 45 paquetes relacionados con este lenguaje.
science : (Ciencia) 12 aplicaciones y librerías para uso científico.
security : (Seguridad) 32 herramientas.
shells : 6 entornos de terminal.
spelling : 2 correctores ortográficos.
sysutils : 47 utilidades del sistema, incluyendo por ejemplo un grabador de CDs.
textproc : Proceso de textos. Esta categoría incluye 62 paquetes, entre sistemas completos (TeX, docbook), procesadores propiamente dichos (abiword), lectores de documentos .doc (antiword) y herramientas complementarias.
www : 32 aplicaciones. servidores, clientes, editores, analizadores, pasarelas…
x11 : 54 paquetes, desde el popular entorno de Unix KDE hasta librerías, temas de escritorio, etc.
x11-wm : 7 paquetes, principalmente gestores de ventanas sobre X11: fluxbox, blackbox, metacity, fvwm…
zope : 8 paquetes para zope… y no me pregunten qué es zope, porque me veré obligado a responder que zope es una aplicación de código libre construida en python que se usa para contruir gestores de contenido, portales, intranets y similares.

Un artículo de Zifra.

3 Comments

  1. Anónimo

    Zifra muy bueno tu artículo, me ha ayudado mucho, sin embargo, cómo puedo desinstalar completamente todos los archivos (inclusive ports) de darwinport. Basta con borrar la carpeta darwinport y /opt ?

    Gracias por tu ayuda,

Deja una respuesta