next up previous contents
Siguiente: Recursos Superior: El proyecto FreeBSD Anterior: Modelo de desarrollo

Subsecciones

Sistemas de creaci�n

Sinopsis

FreeBSD usa una serie de sistemas de creaci�n eficientes e inteligentes para facilitar el desarrollo. Estos sistemas compilan el kernel, compilan la totalidad de ejecutables del sistema, la documentaci�n, los contenidos del web y la generaci�n de las releases o publicaciones que luego se distribuyen en CD-ROM o en el servidor ftp.

Estos sistemas utilizan el Make de Berkeley con algunas macros y variables propias. Esto significa que todas las operaciones mencionadas anteriormente pueden realizarse con una sola �rden, siendo la mayor�a extremadamente sencillas de usar y personalizar.

Compilaci�n world

``make world'' es una de las herramientas m�s potentes que tiene FreeBSD. De hecho, es una de las caracter�sticas m�s apreciadas los usuarios. Con una s�la orden, se compilan e instalan la totalidad de binarios, librer�as y utilidades del sistema.

Actualmente, mucha gente usa dos mandatos, "make buildworld" y "make installworld". Estos mandatos aceptan variables como NO_SENDMAIL permitiendo especificar y personalizar las utilidades y/o programas a compilar y/o instalar.

Se puede encontrar una descripci�n completa del uso de "make world" en el manual de FreeBSD.

Sistema de ports

El sistema de ports es otra de las caracter�sticas principales de FreeBSD (y OpenBSD y NetBSD en menor grado). Con mas de 3000 ports en la colecci�n, �stos consisten en una serie de objetos, macros y variables que se combinan con los port skeletons para compilar e instalar programas en un sistema FreeBSD. Un port skeleton es, b�sicamente, una serie m�nima de archivos necesarios para poder compilar e instalar un programa en FreeBSD.

Los ports, en primer lugar, obtienen de Internet todo el c�digo fuente original del programa, aplican los parches necesarios incluidos en el port skeleton, configuran la compilaci�n, compilan el programa y lo instalan. Despu�s de la instalaci�n, el port es registrado en la base de datos local de packages. Los packages pueden compilarse con el objeto packages. Estos packages pueden instalarse directamente en un sistema FreeBSD usando pkg_add.

Compilaci�n Ports

La potencia del sistema de ports es dif�cil de entender sin un ejemplo:

DISTNAME=      screen-3.9.5

CATEGORIES=    misc

MASTER_SITES= ftp://ftp.uni-erlangen.de/pub/utilities/screen/ \\

              ${MASTER_SITE_GNU}

MASTER_SITE_SUBDIR=   screen

 

MAINTAINER=    [email protected]

 

GNU_CONFIGURE= yes

MAN1=          screen.1

 

post-install:

   @install-info ${PREFIX}/info/screen.info ${PREFIX}/info/dir

 

.include <bsd.port.mk>

�ste Makefile indica que se debe obtener el programa screen-3.9.5.tar.gz de uno de los MASTER_SITES (lo que incluye, en este caso, un n�mero importante de mirrors gnu), y lo configura usando el configure de GNU.

La variable MAINTAINER indica que [email protected] es la persona responsable de este port, siendo la direcci�n de contacto en caso de que sea necesario actualizar o fijar el port.

Hay mucho mas y este es un ejemplo muy simple. El manual de FreeBSD tiene una secci�n sobre los ports que los trata en profundidad e incluso, explica como hacer tu mismo un port.

Packages

Un package es un programa ya compilado y listo para ser instalado con las herramientas de gesti�n de packages (pkg_add(1), pkg_delete(1), etc). Su equivalente m�s conocido ser�an los .rpm de Linux. Los packages son compilados a partir de los ports, por lo que existen tantos packages como ports.

Creando www y doc

La documentaci�n de FreeBSD y el contenido del servidor web, usan el mismo tipo de sistemas para crearse, convirtiendo documentos SGML/DocBook y otros formatos en HTML (para el web), postcript, , rtf y otros formatos.

Los HTML se mantienen en el servidor web del proyecto FreeBSD mientras que los otros formatos est�n disponibles en el servidor ftp de FreeBSD.

http://www.freebsd.org

ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/

Creando una Release

Una release en FreeBSD es crear la distribuci�n que luego aparece en los servidores FTP y en los CD-ROM para la instalaci�n del sistema. El objeto release (make release) permite generar una release completa, incluyendo toda la documentaci�n, disquetes (boot, root y fixit), kernels, CD-ROM y distribuciones para FTP.


next up previous contents
Siguiente: Recursos Superior: El proyecto FreeBSD Anterior: Modelo de desarrollo

Download this document: [src.tar.gz][ps.gz][html.tar.gz][dvi.gz]

Congreso HispaLinux 2000