Microsoft mete la pata con el instalador y el desinstalador de R Open para Debian
Microsoft amará Linux, pero parece que todavía tiene cosas que aprender para lidiar de forma correcta con el sistema Open Source, ya que el paquete para Debian y Ubuntu de Microsoft R Open 3.5, la última versión del entorno y lenguaje centrado en el análisis estadístico, tenía unos fallos que se pueden considerar de novatos para aquellos dedicados a empaquetar programas y aplicaciones.
Básicamente, el script de posinstalación “microsoft-r-open-mro-3.5.0” contenía el siguiente código:
#!/bin/bash #TODO: Avoid hard code VERSION number in all scripts VERSION=`echo $DPKG_MAINTSCRIPT_PACKAGE | sed 's/[[:alpha:]|(|[:space:]]//g' | sed 's/\-*//' | awk -F. '{print $1 "." $2 "." $3}'` INSTALL_PREFIX="/opt/microsoft/ropen/${VERSION}" echo $VERSION ln -s "${INSTALL_PREFIX}/lib64/R/bin/R" /usr/bin/R ln -s "${INSTALL_PREFIX}/lib64/R/bin/Rscript" /usr/bin/Rscript rm /bin/sh ln -s /bin/bash /bin/sh
“ln -s”, que permite hacer enlaces simbólicos en GNU/Linux (siendo algo parecido a los accesos directos de Windows), no funcionará en caso de que el paquete regular de R esté instalado. Pero lo peor es que intenta es hacer un enlace de “/bin/sh” a “/bin/bash”, borrando previamente “/bin/sh”. Básicamente, lo que hace esto es anular “/bin/sh” con “/bin/bash”, modificando así el intérprete de comandos el sistema.
Los despropósitos de Microsoft no terminan aquí, ya que se puede ver cómo el script de desinstalación intenta eliminar ficheros sin antes comprobar su presencia, lo que puede terminar dando un error. Aunque esto en sí no es grave, se trata de una forma chapucera y poco profesional de tratar con los ficheros en GNU/Linux y en cualquier sistema operativo Unix o Unix-like.
#!/bin/bash VERSION=`echo $DPKG_MAINTSCRIPT_PACKAGE | sed 's/[[:alpha:]|(|[:space:]]//g' | sed 's/\-*//' | awk -F. '{print $1 "." $2 "." $3}'` INSTALL_PREFIX="/opt/microsoft/ropen/${VERSION}/" rm /usr/bin/R rm /usr/bin/Rscript rm -rf "${INSTALL_PREFIX}/lib64/R/backup"
Norbert Preining, que es el matemático que ha reportado a Microsoft los fallos hallados en los mecanismos de instalación y desinstalación de R Open 3.5, ha comentado lo siguiente: “Supongo que Microsoft tendría que leer un poco, en particular sobre dpkg-divert y procedimientos de empaquetado adecuados. Lo que vino aquí fue una exhibición de incompetencia que solo puedo suponer que lo están haciendo a propósito.”
Afortunadamente, el gigante de Redmond ha respondido positivamente al reporte de Preining y ya ha corregido lo que estaba mal hecho en los correspondientes scripts. Solo nos queda esperar que la compañía haya aprendido la lección y no vuelva a hacer lo mismo en otros productos, porque este tipo de chapuzas pueden terminar costando un gran disgusto al usuario.
R Open, además de estar disponible para GNU/Linux, Windows y Mac, es software libre al estar publicado bajo licencia GPLv2, algo aparentemente extraño por parte de Microsoft.