J.3. Compilación de la documentación con Make #

J.3.1. HTML
J.3.2. Páginas de manual (Manpages)
J.3.3. PDF
J.3.4. Verificación de sintaxis

Una vez que tengas todo configurado, cámbiate al directorio doc/src/sgml y ejecuta uno de los comandos descritos en las siguientes subsecciones para compilar la documentación. (Recuerda usar GNU make).

J.3.1. HTML #

Para compilar la versión HTML de la documentación:

doc/src/sgml$ make html

Este es también el objetivo por defecto. La salida aparece en el subdirectorio html.

Para producir documentación en HTML con la hoja de estilo utilizada en postgresql.org en lugar del estilo simple por defecto, usa:

doc/src/sgml$ make STYLE=website html

Si se utiliza la opción STYLE=website, los archivos HTML generados incluirán referencias a hojas de estilo alojadas en postgresql.org y requerirán acceso a la red para poder visualizarse.

J.3.2. Páginas de manual (Manpages) #

Utilizamos las hojas de estilo DocBook XSL para convertir las páginas refentry de DocBook en una salida de formato *roff adecuada para las páginas de manual. Para crear las páginas de manual, usa el comando:

doc/src/sgml$ make man

J.3.3. PDF #

Para producir una versión en PDF de la documentación utilizando FOP, puedes usar uno de los siguientes comandos, según el formato de papel de tu preferencia:

  • Para formato A4:

    doc/src/sgml$ make postgres-A4.pdf
    

  • Para formato U.S. letter:

    doc/src/sgml$ make postgres-US.pdf
    

Debido a que la documentación de PostgreSQL es bastante grande, FOP requerirá una cantidad significativa de memoria. Por ello, en algunos sistemas, la compilación fallará con un mensaje de error relacionado con la memoria. Esto generalmente se puede solucionar configurando los ajustes de la pila (heap) de Java en el archivo de configuración ~/.foprc, por ejemplo:

# FOP binary distribution
FOP_OPTS='-Xmx1500m'
# Debian
JAVA_ARGS='-Xmx1500m'
# Red Hat
ADDITIONAL_FLAGS='-Xmx1500m'

Existe una cantidad mínima de memoria que es requerida, y hasta cierto punto, una mayor cantidad de memoria parece acelerar un poco las cosas. En sistemas con muy poca memoria (menos de 1 GB), la compilación será muy lenta debido al uso de memoria de intercambio (swap) o directamente no funcionará.

En su configuración por defecto, FOP emitirá un mensaje INFO para cada página. El nivel de registro (log) se puede cambiar mediante ~/.foprc:

LOGCHOICE=-Dorg.apache.commons.logging.Log=​org.apache.commons.logging.impl.SimpleLog
LOGLEVEL=-Dorg.apache.commons.logging.simplelog.defaultlog=WARN

También se pueden utilizar otros procesadores XSL-FO manualmente, pero el proceso de compilación automatizado solo admite FOP.

J.3.4. Verificación de sintaxis #

Compilar la documentación puede llevar mucho tiempo. Pero existe un método para simplemente verificar la sintaxis correcta de los archivos de documentación, el cual solo toma unos segundos:

doc/src/sgml$ make check