Mucha gente cree incorrecto el uso de Portupgrade como herramienta gestora de ports en FreeBSD. Se compone de varios comandos que facilitan la tarea al administrador del sistema:
portinstall: Para la instalación de ports
portcvsweb: Navegador por el histórico de cambios CVS
portversion: Reemplazo de pkg_version con mejoras
portsclean: Borra el directorio de trabajo (workdir) y viejas librerías huérfanas...
portsdb: Crea una base de datos indexada del árbol de ports
pkg_deinstall: Análogo a pkg_delete
pkg_fetch: Descarga el código fuente de un port.
Es sencillo mantener el software de tu servidor actualizado permanentemente con estas herramientas, sin embargo el caso que se me presentó hoy era distinto: Necesitaba instalar un port con opciones de compilación (webalizer con soporte para castellano) así que consultando directamente el manual (man portinstall) deduzco que es sencillo:
-m
--make-args Specify arguments to append to each make(1) com-
mand line.
Para saber la variable de entorno que tenemos que configurar para que el idioma cambie a castellano miramos en el Makefile:
.if defined(BATCH)
# no cosmetique spaces allowed
WEBALIZER_LANG?=english
.endif
...
SUPP_LANG= catalan chinese croatian czech danish dutch english \
estonian finnish french galician german greek hungarian \
icelandic indonesian italian japanese korean latvian \
malay norwegian polish portuguese portuguese_brazil \
romanian romanian-iso-8859-2 russian serbian \
simplified_chinese slovak slovene spanish swedish \
turkish ukrainian
Ahora solo queda instalarlo con el correspondiente argumento, con portinstall o a la antigua usanza:
# portinstall -m WEBALIZER_LANG=spanish /usr/ports/www/webalizer
# cd /usr/ports/www/webalizer/ ; make WEBALIZER_LANG=spanish ; make install
Nota mental, con varios argumentos sería muy parecido:
# portinstall -m "WITH_ESTO=yes WITH_LOOTRO=yes" /usr/ports/loque/sea
# cd /usr/ports/loque/sea/ ; make "WITH_ESTO=yes WITH_LOOTRO=yes" ; make install
Gracias Victor por el recordatorio, a ver si con este tipo de anotaciones refresco la memoria, parece que se haya quedado en el levante :/.
sysadminfreebsd