El principal objetivo de este concurso es estimular a los estudiantes universitarios para que se involucren en la participación y creación de proyectos SL. De esta forma se crearán las condiciones idóneas para generar un tejido tecnológico de futuros profesionales que serán capaces de dar soporte de soluciones basadas en SL a empresas y a la administración.
Esta receta cuenta mis experimentos con el Active Directory de la universidad. Está en construcción porque todavía estoy experimentando, así que paciencia. Aprovecho para decir que me parece una kk el drupal éste, que no permite tener documentos en modo Draft, sin que sea visible.
Según parece, el próximo curso se entregará una copia de GNESIS 2.0, en su versión DVD Live, a todos los alumnos en el momento de formalizar su matrícula. El DVD incluye el software necesario para las prácticas de muchas de las asignaturas, además de la Guía Docente del centro. Hablamos de qué es GNESIS no hace tanto.
GNU Emacs puede ser un excelente editor (como no?) también para SGML, XML, o derivados tan populares com XHTML o DocBook. Esta receta concretamente introduce el uso del paquete psgml, aunque hay otros.
En los meses veraniegos los equipos con refrigeracines poco eficientes (como muchos portátiles) sufren unos calentones bastante importates. Puede resultar muy recomendable contar con los sensores de temperatura para, en caso de calentamiento excesivo, dejar el ordenador un rato y ponernos a hacer cosas menos interesantes, como leer un libro o algo... :D
Estamos realizando un estudio formal sobre cuánto tiempo emplean los usuarios de Yafray en conseguir un buen Setup de iluminación. Para hacer más sencilla la recolección de datos, hemos realizado una página web con un poco de información del proyecto y cómo colaborar con vuestras escenas.
Hay que facilitar la vida al usuario; y nada mejor que hacer un instalador sencillito donde todo está empaquetado en un .sh... pero ¿cómo se hace?
No he encontrado mucha información al respecto y, aunque no es complicado, puede que no se te ocurra directamente cómo hacerlo.
Bien, pues simplemente hay que utilizar la estupenda herramienta cat y añadir el binario a descomprimir al final del fichero de shell... Como muestra un botón. ;)
Bien, con la orden anterior concatenamos el fichero que tendrá las órdenes a realizar del shell (cabeceraInstalador.sh), con el binario comprimido (todocomprimido.tgz), y lo juntamos en el fichero final llamado instalador.sh. ¿Cómo decirle al script dónde empieza la parte binaria del archivo? Utilizando la bonita utilidad tail.
#!/bin/sh
echo ""
echo "AutoInstalador del programa XX.XX v.1.0"
echo ""
# Cogemos la parte de este archivo a partir de la línea 11 y
# se la mandamos al tar para que la descomprima.
tail -n +11 $0 | tar xvz
exit 0
En el caso anterior, le pasamos a tail el parámetro +11, porque el fichero del script tiene 10 líneas. Podemos automatizar la tarea de contar el número de líneas haciendo un script un poco más complejo que, además utiliza un directorio temporal y ejecuta un script de instalación (que estará dentro del .tgz). Veamos el script en versión "pro":
#!/bin/sh
echo ""
echo "AutoInstalador del programa XX.XX v.1.0"
echo ""
# Creamos un directorio temporal donde lo extraeremos
export WRKDIR=`mktemp -d /tmp/selfextract.XXXXXX`
# Contamos las lineas de este fichero con awk. La cadena
# "__AQUI_SIGUE_EL_BINARIO__" debe ser la ultima linea del
# script. Le sumamos una a la ultima linea y la guardamos
# en SKIP.
SKIP=`awk '/^__AQUI_SIGUE_EL_BINARIO__/ { print NR + 1; exit 0; }' $0`
# Cogemos la parte de este archivo a partir de la línea 11 y
# se la mandamos al tar para que la descomprima en el temporal.
tail -n +$SKIP $0 | tar xvz -C $WRKDIR
# Nos vamos al temporal y ejecutamos el script de instalacion
PREV=`pwd`
cd $WRKDIR
./install.sh
# Borramos los ficheros temporales
cd $PREV
rm -rf $WRKDIR
exit 0
__AQUI_SIGUE_EL_BINARIO__
Pues nada más. Seguiré mirando la forma de crear buenos instaladores. Desde luego, el script anterior es muy pobre. Se puede mejorar añadiendo un bonito interfaz en modo texto con dialog o sus equivalentes en modo gráfico gdialog y kdialog aunque no se... me sigue gustando más la de modo texto; además es más estándar y como diría Neal Stephenson, "En el principio fue la línea de comandos".