[eside-ghost] Paquetes en modo debug

Alfredo Beaumont alfredo.beaumont en gmail.com
Vie Mar 28 09:19:04 CET 2008


Or, 2008eko Marren 28a(e)an, STenyaK (Bruno Gonzalez)(e)k idatzi zuen:
> Iepa
>
> Ando un poco perdido con el tema de los paquetes de debug (los que tienen
> los simbolos y todo eso). Cuál es la nomenclatura estandar? Cómo debería
> distribuir un programa en cuánto a este tema?

Pues depende mucho de cómo distribuyas tu código. Si distribuyes únicamente 
las fuentes, bastaría con que en las autotools o el sistema de construcción 
que hayas elegido tengas una opción para activar el debugging. A partir de 
aquí, todo depende de la distribución, y creo que ese trabajo se lo deberías 
dejar a la distribución, si lo quiere hacer. Es decir, si quieres publicar 
binarios, lo más razonable (EMHO) es ofrecer un binario normal stripeado, y 
si alguien quiere opciones de debug, que se descargue las fuentes (si las 
quiere probablemente sabrá compilar tu paquete).

> De momento, a los binarios/librerias en modo debug les sufijo una letra D (
> libfoo.so -> libfooD.so, bar->barD). Claro que luego tengo q andar
> cambiando los scripts de compilación si decido usar la versión pasada por
> strip.

Diferenciar las librerías sólo se hace en algunos casos y normalmente por una 
buena razón, ya que es una liada que normalmente no compensa. Es decir, si 
vas a desarrollar, compilas e instalas la librería en modo debug, el resto la 
instalan stripeada, pero con el mismo nombre, y así no hay liadas.

> En linux, parece que cada uno va a su bola (las ubuntus tienen paquetes foo
> y foo-debug, en gentoo eliges si compilas con el USE flag "debug"...), el
> resto no se.
> En macos no tengo ni idea, ni tp bsd y demás.

Tanto como que cada 1 va a su bola no diría yo. Hay dos opciones, o diferencio 
los paquetes en 'normal' y 'debug' o no. Las distribuciones basadas en apt (y 
creo que las basadas en rpm) suelen ofrecer las dos versiones, pero al final 
el binario y la librería tiene el mismo nombre. El resto normalmente no 
diferencia paquetes y los basados en fuentes (al igual que BSD) suele dar la 
opción de debug si el programa lo ofrece.

> Hay alguna forma un poco más elegante o aconsejable de manejar todo el
> tema? Algo así como tener varios LDPATHs (o lo que sea), por ej /usr/lib y
> /usr/lib-dbg? Claro que no voy a [poder] cambiar las distribuciones a mi
> gusto...

Que yo sepa no hay ninguna opción de este tipo, pero creo que tampoco es muy 
necesario, porque el perfil suele estar claro: o quiero con símbolos de 
depuración o no. Una de las pocas excepciones puedes ser tú por tu perfil de 
desarrollador y distribuidor.

Saludos
-- 
Alfredo Beaumont Sainz
http://www.alfredobeaumont.org/blog.cgi


Más información sobre la lista de distribución eside-ghost