Seguir la pista a un "make install", con herramientas de Slackware y checkinstall

TÍTULO:		Seguir la pista a un "make install", con herramientas de Slackware
			y checkinstall
VERSIÓN LFS:	2.4.4
AUTOR:		Michenaud Laurent <lmichenaud@free.fr>
TRADUCTOR:	Proyecto LFS-ES

SINOPSIS:	Guía breve sobre cómo crear paquetes .tgz a partir de su
		imagen tar original (tarball).

RECETA:
VERSION: 1.0	18-04-2001

	Uno de los mayores problemas del LFS consiste en cómo actualizarlo
	decentemente. Cuando se hace un "make install", no sabes realmente 
	qué ficheros se instalan. Si quieres llevar a cabo una actualización 
	auténtica, habría que borrar los ficheros viejos. Sin un "make 
	uninstall", tienes un problema de los de verdad. Ésta receta
	explica cómo crear paquetes .tgz a partir de la imagen tar original
	(tarball) de la instalación mediante el sistema de paquetes de
	Slackware y el programa checkinstall. 

Lo que necesitas:

- Las herramientas de gestión de paquetes de Slackware, disponibles en
  www.slackware.com. El nombre del paquete es hdsetup.tgz
	
- El programa Checkinstall, que puedes encontrar en
  http://mayams.net/~izto/checkinstall-en.html


1 -  Instalación de las herramientas de paquetes de Slackware
-------------------------------------------------------------

tar zxvf hdsetup.tar.gz
cd hdsetup/sbin

# Sólo estos programas nos serán útiles:
cp explodepkg installpkg makepkg removepkg upgradepkg pkgtool.tty /usr/sbin/

# Hacerlos ejecutables si aún no lo hemos hecho
cd /usr/sbin
chmod u+x explorepkg installpkg makepkg removepkg upgradepkg pkgtool.tty

# Cambiar el nombre de pkgtool
mv pkgtool.tty pkgtool

# Hace falta algún directorio para guardar los registros de los paquetes que
# se instalen
cd /var/log
mkdir packages scripts setup setup/tmp


2 - Instalación de checkinstall
--------------------------------

tar zxvf checkinstall-1.3.2.tgz
cd checkinstall-1.3.2

# Si quieres instalar checkinstall en un directorio distinto a /usr/local/bin 
# (por defecto ), tienes que editar los ficheros siguientes y cambiar PREFIX :
	Makefile
	InstallWatch/Makefile

# Compilarlo
	make
	make install

# Si antes cambiaste el valor de PREFIX, ahora tienes que modificar el guión
# (script) de checkinstall que se encuentra en el directorio en que lo hayas
# instalado.
# Tienes que cambiar en el guión las ubicaciones (prefix) de los tres 
# programas: checkinstall, installwatch, makepkg  

# Ejecuta checkinstall
checkinstall


3 - ¿Algún ejemplo sobre cómo usarlo?
-------------------------------------

# No hay cambios al principio de la instalación de un nuevo paquete
	tar zxvf xmms-1.2.2.tar.gz
	cd xmms-1.2.2
	./configure
	make

# Si hace falta incorporar algunos ficheros adicionales al paquete .tgz
# Esto no es obligatorio, pero suele ocurrir
	mkdir doc-pak
	cp README INSTALL COPYING Changelog TODO CREDITS doc-pak/

# Ahora, vamos a crear el paquete en formato .tgz y a instalarlo en el
# sistema.
# Si se hacía con "make install", haz simplemente
	checkinstall
# si no, ( por ejemplo, era "make install-strip" ), haz
	checkinstall make install

# En este momento, xmms está instalado en tu sistema y tienes un 
# xmms-1.2.2.tgz en el árbol de directorios del código fuente.
# Para desinstalarlo, ejecuta:
	removepkg xmms-1.2.2.tgz
# Para instalarlo de nuevo, haz: 
	installpkg xmms-1.2.2.tgz
	
	
4 - Más cosas
-------------

Existen programas gráficos para las X11 que permiten gestionar los paquetes
tgz. Pero no han funcionado bien en mi caso, por lo que sólo empleo 
herramientas en modo texto desde consola.

Checkinstall también puede crear ficheros rpm. No elegí el formato rpm 
porque las herramientas tgz necesitan tan sólo una consola con bash (por
decir algo) para funcionar. Rpm necesita algunas librerías adicionales y es 
más complicado. Cuando tengas que recuperar un sistema dañado, por ejemplo, 
es más fácil que te funcionen las herramientas tgz que un sistema de paquetes 
basado en rpm.