#!/bin/sh
# /bin/instalar
# (C) 2005-2007 by Marcos Guglielmetti
# under GNU GPL v3 or later

# Este script funciona como un selector de instalador para musix
# entre el instalador de knoppix y kanotix
# y a la vez repara bugs que están originados en el siguiente hecho:
# el instalador de knoppix fue pensado para un debian unstable de hace
# unos años, mientras que estamos manejando un debian stable del 2007

# Por otro lado, el script crea archivos de debug en: /var/log/instalar-debug/
# dentro de la partición de destino.

	# ANSI COLORS
	CRE="
[K"
	NORMAL="[0;39m"
	# RED: Failure or error message
	RED="[1;31m"
	# GREEN: Success message
	GREEN="[1;32m"
	# BLUE: System messages
	BLUE="[1;34m"
	# MAGENTA: Found devices or drivers
	MAGENTA="[1;35m"
	# CYAN: Questions
	CYAN="[1;36m"
	# BOLD WHITE: Hint
	WHITE="[1;37m"

SATAHD="no"
lspci | grep SATA || lspci | grep "Serial ATA" && SATAHD="yes"

L=`echo $LANG | cut -b1-2`

#if grep "lang=es" /proc/cmdline  > /dev/null
if [ "$L" = "es" ]
then
ESPANOL="SI"
else
ESPANOL="NO"
fi

# Si tenemos discos SATA, recomendamos el de knoppix
recomendar=""
recomendaren=""
if [ "$SATAHD" = "yes" ]
then
recomendar="(recomendado)"
recomendaren="(recommended)"
fi


if [ "$ESPANOL" = "SI" ]
then

TXT="Elige entre:
1) Instalador de Knoppix $recomendar
2) Instalador de Kanotix (nuevo método)
-------------------------------------------

1) El instalador de Knoppix 
A favor: 
 * Está en castellano 
 
 * Posee además un actualizador de paquetes de software, es decir que
 te permite actualizar una vieja instalación de Musix. 

 * Brinda 3 tipos de instalación: knoppix, begginer y Debian. La
 primera instala el sistema y corre tal como desde el Live-CD, la
 segunda está más orientada al uso multiusuario y es bastante
 recomendable dado que el comportamiento es muy similar al del
 Live-CD, la tercera, Debian, suele lograr un reinicio más rápido del
 sistema, pero a veces se torna un poco complicada la detección de
 hardware, aunque ha mejorado mucho el proceso. En fin,
 cualquier método debería funcionar bien, y se recomienda
 experimentar con los 2 últimos. 

 

En contra: 
 * La tipografíaa, es decir la letra (font, fuente) con que muestra los
 textos, es confusa debido a un problema en el sistema de fuentes de
 Debian. Solamente se ve bien desde el escritorio KDE. Puedes
 iniciarlo desde KDE si inicias Musix con el argumento de booteo
 \"musix dma kdm\" o \"xorgmusix dma kdm\". 

 * No posee una forma sencilla de forzar la instalación ante la falla
 en la detección de las particiones cuando estas realmente existen. 

 
2) El instalador de Kanotix 
A favor: 

 * Todo se ve perfectamente bien 
 
 * Posee un modo que sirve para  restaurar una instalación mediante la
 reparación de GRUB 

 * Puedes forzar la instalación si crees que está todo bien y el
 instalador no detecta bien las particiones. Esto es muy útil cuando
 por ejemplo trabajando con discos SATA el sistema se niega a
 instalarse porque no detecta la partición SWAP o lo que fuere. Si se
 fuerza la instalación y todo el terreno estaba bien preparado, no
 tendrías problemas. 

En contra: 
 * Instala el sistema sólo al estilo Debian (algo que no está para nada
 mal, pero no posee otro estilo como el begginer o knoppix) 

 * Varias opciones no funcionan en Musix: por ejemplo, el actualizador
 de instalacón (Update...), la opción de puntos de montaje de otras
 particiones (solo funciona esta característica si se forza la
 instalación) 

 * No está en castellano, se encuentra en aleman e ingles."

else
# Texto en English
TXT="Choose:
  
1)  Knoppix's installer $recomendaren
2)  Kanotix's installer
-------------------------------------------

1) Knoppix installer

* It has a package-updater 
* Brings you 3 installation styles: knoppix, begginer and Debian
* Multiple language support

* The font is not pretty if you dont use the KDE desktop
* You can not force the installation in an easy way

 
2) Kanotix installer

* It looks fine, the text fonts are ok
* It can restore a damaged installation
* You can force the installation

* It has only a Debian style (not so bad!)
* The updater does not work on Musix
* The Partitioning options (Mountpoints of other partitions) only work if you Force the installation.
"


fi


export USAR_NLS=si
export TEXTDOMAIN=instalar
export TEXTDOMAINDIR="/etc/musix/locales"


#Contenido de config/encabezado :

. /etc/musix/funciones-i18n
[ -e /etc/musix/funciones ] && . /etc/musix/funciones

# Vemos si estamos en X o en consola
x=0
probar_X && x=1
if [ "$x" = "0" ]; then
echo "Estamos en entorno de consola de texto"
sleep 2s
knoppix-installer
exit
fi

# Si ya estï¿½ instalado, avisa y pregunta si quiere instalar nuevos programas con synaptic

	INSTALLED="no"
	[ -e /KNOPPIX/bin/ash ] || INSTALLED="yes"
	if [ "$INSTALLED" = "yes" ]
	then
	
	if [ "$ESPANOL" = "SI" ]
	then
	#puede ser -nearmouse o -center (o nada)
	pos="-nearmouse"
	_n "Musix ya esta instalado en el disco duro.
Quieres instalar nuevos programas?
	" | gmessage -title 'Musix GNU+Linux' -file - $pos -buttons $(_n "Si:0,No:2" ) -default $(_n "Si")
	if [ $? -eq 2 ]; then exit 2; fi
	
	else
	
	pos="-nearmouse"
	_n "Musix is already installed!
Do you want to install new applications?
	" | gmessage -title 'Musix GNU+Linux' -file - $pos -buttons $(_n "Yes:0,No:2" ) -default $(_n "Yes")
	if [ $? -eq 2 ]; then exit 2; fi
	
	fi


# inicia synaptic como root y sale
kdesu synaptic
exit

fi


# Nuevo en Musix 1.0/Stable r0
# Aquï¿½ vemos si estamos en inglï¿½s, el texto explicativo irï¿½ en inglï¿½s, caso contrario, espaï¿½ol




# Si elige el instalador de Knoppix, continua, sino carga knxinstaller
pos="-nearmouse"
_n "
$TXT

" | gmessage -title 'Installers' -file - $pos -buttons $( _n "Knoppix:1,Kanotix:2,Abortar:3,Ayuda:4" )

A="$?"

if [ "$A" = "3" ]; then exit 2; fi

if [ "$A" = "1" ] 
then 

if [ "$ESPANOL" = "SI" ]
then
echo $"${NORMAL}Este es el programa de instalacion de ${RED}Musix GNU+Linux${NORMAL}
Por favor, aguarde unos instantes... ${NORMAL} 
(no cierre esta ventana)"
else
echo $"${NORMAL} Please wait... dont close this window."
fi


knoppix-installer
	if [ "$?" = "1" ]
	then
	gmessage "Error... You can try with IGNORE_CHECK=1 knoppix-installer"
	konqueror /usr/local/lib/Ayuda/Ayuda026.html/www.musix.org.ar/wiki/index.php/Instalacion.html	
	exit
	fi

fi


if [ "$A" = "2" ] 
then 
knxinstaller
# Salimos... porque knxinstaller sale luego de que configura
# la instalaciï¿½n, y llama a xdialog, por lo cual 
# este script instalar comienza a hacer cambios
# TODO: sería bueno saber cómo resolver esto!!
# Porque hay que hacer cambios posteriores... quizá
# insertando esos parches en otros módulos del instalador...
# dado que knxinstaler usa en definitiva los módulos de knoppix-installer

exit
fi


if [ "$A" = "4" ] 
then 

if [ "$ESPANOL" = "SI" ]
then

konqueror /usr/local/lib/Ayuda/Ayuda026.html/www.musix.org.ar/wiki/index.php/Instalacion.html	
else

konqueror /usr/local/lib/Ayuda/Ayuda026.html/www.musix.org.ar/wiki/index.php/Hardware_Installation.html	

fi


exit
fi


# En caso de que knoppix-installer sea abortado antes de configurar...
# Si no existe este archivo de configuraciï¿½n, es porque no hemos ni siquiera
# configurado la instalaciï¿½n, por lo cual es mejor salir!
ls ~/.knofig || exit




# cambios posteriores
DESTINO=`cat ~/.knofig | grep HD_CHOICE= | cut -f2 -d"'" | cut -f3 -d"/"`

# NOTE: nuevo en Musix 1.0 R3
# si no existe /etc/musix-version en el destino, no 
# fue instalado, por lo cual salimos.
echo "montando /mnt/$DESTINO"
sleep 3s
mount /mnt/$DESTINO

ls /mnt/$DESTINO/etc/musix-version
if [ "$?" = "2" ]
then

if [ "$ESPANOL" = "SI" ]
then
echo "Musix no parece haber sido instalado en /mnt/$DESTINO
Saliendo...
"
else
echo "Musix does not seems to be installed on /mnt/$DESTINO
Quitting!
"
fi
read
exit

else
if [ "$ESPANOL" = "SI" ]
then
echo "Musix ha sido instalado en /dev/$DESTINO"
sleep 2s
else
echo "Musix installed on /dev/$DESTINO"
sleep 2s
fi
fi


# NOTE: Musix 1.0 R3, solucionando problemas con discos SATA
# con lspci | grep SATA || lspci | grep "Serial ATA" sabemos si existe una controladora SATA
# Notar que por suerte el menu.lst instalado sólo contiene
# información sobre Musix y en todo caso sobre Windows
# pero no sobre otro sistema operativo libre.
# NOTE: nuevo: he reformado /usr/sbin/update-grub para que
# cree bien el menu.lst (en caso de que no encuentre el dispositivo root),
# así que trabajaremos sólo
# con los fstab, pero dejaremos crear información de debug para todos
# incluso menu.lst, por las dudas

# NOTE: activando nuevamente para que funcione solamente con SATA



if [ "$ESPANOL" = "SI" ]
then
# modificando el motd (mensaje de consola, diario)
echo "Bienvenid@ a Musix GNU+Linux, si necesitas ayuda con un comando puedes escribir man nombre_del_comando" > /mnt/$DESTINO/etc/motd
else
echo "Welcome to Musix GNU+Linux. If you need help, type man" > /mnt/$DESTINO/etc/motd
fi

# Esto debe ocurrir ANTES de update-grub-total , porque tal script desmonta todo
# En teoría ya está hecho esto en el reformado /usr/sbin/update-grub
# NOTE: nuevo en Musix 1.0 R3: quitando todos los savedefault, dado que producen problemas al reiniciar luego de un corte de electricidad
cp /mnt/$DESTINO/boot/grub/menu.lst /mnt/$DESTINO/boot/grub/menu.lst-temp
cat /mnt/$DESTINO/boot/grub/menu.lst-temp | sed s/savedefault//g > /mnt/$DESTINO/boot/grub/menu.lst



# Este script sólo puede correr luego de que instalar solucionó
# el posible problema de instalación en discos sata.
# Nuevo en Musix 1.0: detecta otros sistemas instalados y los incorpora al menu.lst de la particiï¿½n destino:
update-grub-total 




# DESABILITANDO LA REPARACION INITRD porque pruebo Yaird!#

# borro los initrd para los kernels de Tapsa que quedaron mï¿½s hechos
# ACTUALIZADO para musix 0.40 con kernel 2.6.11
# corregido musix 049
#chroot /mnt/$DESTINO rm /boot/initrd.img-2.6.11
#chroot /mnt/$DESTINO rm /boot/initrd.img-2.6.15.2
#chroot /mnt/$DESTINO rm /boot/initrd.img-2.6.15.4

# ¿Para qué hacíamos esto? Quitarlo:
# Pruebo otro mï¿½todo por las dudas.
#echo "montando con mount /mnt/$DESTINO "
#mount /mnt/$DESTINO 


# Esto ya estaba deshabilitado en Musix 1.0
# corregido musix 049
#[ -f /mnt/$DESTINO/boot/initrd.img-2.6.11 ] && rm /mnt/$DESTINO/boot/initrd.img-2.6.11

#[ -f /mnt/$DESTINO/boot/initrd.img-2.6.15.2 ] && rm /mnt/$DESTINO/boot/initrd.img-2.6.15.2

#[ -f /mnt/$DESTINO/boot/initrd.img-2.6.15.4 ] && rm /mnt/$DESTINO/boot/initrd.img-2.6.15.4




if [ "$ESPANOL" = "SI" ]
then
echo $"${RED}Listo! Gracias por usar Musix GNU+Linux! ${NORMAL}"
echo $"${GREEN} 
Te recomendamos unirte a una lista de mail de usuarios
 GNU+Linux. Los usuarios formamos una 
comunidad alrededor del Software Libre, 
y lo usual es ayudarnos entre todos. 

Puedes visitar ${WHITE} www.musix.org.ar ${NORMAL}"
sleep 1s
echo $"${GREEN} 
Es probable que en tu ciudad exista un Grupo 
de Usuarios GNU+Linux, intenta buscando en Internet, 
por ejemplo, ${RED} LUG o GLUG nombre_de_tu_ciudad. ${BLUE}"
sleep 1s
echo $"${GREEN} 
En las listas de e-mail de Usuarios GNU+Linux 
se suelen resolver todos los problemas que presente
el manejo del sistema, se comienzan proyectos de 
software, se comparten experiencias, se aprende, etc. 

Puedes subscribirte a nuestra lista de mail en:
https://lists.ourproject.org/cgi-bin/mailman/listinfo/musix-usuarios

y/o chatear con nostros en el canal #musix en el IRC de freenode.

Esperamos que disfrutes el uso de Musix GNU+Linux!

${BLUE}"
sleep 1s
echo $"${WHITE} Que te diviertas, suerte! ${NORMAL}"
read

else # english

echo "$BLUE Ready! $NORMAL 
Once you reboot the machine, you will see
many options from the GRUB boot menu.

Join to the musix-users mailing list at:
https://lists.ourproject.org/cgi-bin/mailman/listinfo/musix-users

... and/or chat with us on the #musix channel at the freenode IRC.

Regards
"
fi
