Rodrigo Fuentealba escribió: > El día 11 de noviembre de 2008 0:12, Horst H. von Brand > <[EMAIL PROTECTED]> escribió:
> > La solucion al problema de manejar dependencias, saber que tienes > > instalado, que hay que borrar al desinstalar, ... definitivamente no es > > decretar que el problema no existe... > > Saber de qué depende algo: ld /bin/whatever > Saber qué hay instalado: ls /var/log/packages | grep whatever > Qué borrar a desinstalar: cat /var/log/packages/whatever* Obviamente es ldd en vez de ld. Eso no es completo. Eso no responde todas las dependencias, sino solamente qué bibliotecas compartidas son necesarias. Esa parte es la más trivial, y los empaquetadores RPM y DEB no se preocupan por ella; los sistemas de empaquetamiento las incluyen automáticamente invocando ldd. Pero hay dependencias mucho más "interesantes"; un punto de partida simple son los módulos Perl (el modulo Foo::Bar depende de Foo::Baz versión 1.42, porque la 1.41 tiene un bug que hace que los Foo::Bazos estallen en contacto con el oxígeno). O bien programas que requieren otros programas. Gran parte de la complejidad de un paquete es determinar cuáles son las dependencias que se deben declarar explícitamente, y al mismo tiempo no forzar a que se tenga que instalar medio CD solo para tener Foo::Baz. Si el paquete no tiene una declaración explícita de dependencias, lo único que puede hacer es poner un README.install o algo así que diga "para que esto funcione tiene que instalar también este otro paquete". La verdad es que no veo en qué sentido esto es diferente que "RPM hell". A mí me parece lo mismo, solo que un poco peor porque en vez de que el paquete no se deje instalar hasta que no hayas instalado los paquetes de los cuales depende, lo que sucede es que el paquete se instala pero el programa no funciona hasta que no hayas instalado los paquetes de los cuales depende. -- Alvaro Herrera Valdivia, Chile ICBM: S 39º 48' 55.3", W 73º 15' 24.7" www.google.com: interfaz de línea de órdenes para la web.

