Re: Mandatory -dbg packages for libraries?

2007-05-23 Thread paddy
On Tue, May 22, 2007 at 11:26:38PM +0200, Wouter Verhelst wrote:
 On Tue, May 22, 2007 at 04:10:06PM -0500, Steve Greenland wrote:
 [...]
  Those are good reasons. Those are different reasons than static
  libraries are faster, which was the previous argument for keeping them. 
 
 No, that was one argument for keeping them, and the only one that I
 could come up with in a short time frame about a subject that I don't
 care much about.
 
 Since you forced me to think more about it, I came up with two more
 reasons in an equally short timeframe.
 
 Of course, that begs the question why I seem to be the only one giving
 reasons that seem quite obvious to me, but then again...

It only needs one person to voice them, but thank you for doing so.

Regards,
Paddy


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Mandatory -dbg packages for libraries?

2007-05-22 Thread Steve Greenland
On 22-May-07, 13:40 (CDT), Wouter Verhelst [EMAIL PROTECTED] wrote: 
 On Sun, May 20, 2007 at 09:19:52PM -0500, Steve Greenland wrote:
  Why should we spend time and space to provide something that doesn't
  do anything useful?[1]
 
 I also once heard an argument that static libraries are easier to
 maintain. While I disagreed at first, it started to make sense when it
 was explained that in-house software in /usr/local which does not add
 dependencies to the package management system easily breaks on upgrades.
 
 If you really think dropping static libraries is the best way forward,
 then I think you should make a case for it that also explains why we do
 give our users all possible and impossible options by linking our
 software against every library in sight, while at the same time not
 providing them with the basic option of compiling their software
 statically. Moreover, remember that most, if not all, other
 distributions have it, meaning that newbie-oriented documentation
 assumes it'll work, and that not providing it for no good reason will
 probably only serve to annoy and confuse the user.

Those are good reasons. Those are different reasons than static
libraries are faster, which was the previous argument for keeping them. 

Steve

-- 
Steve Greenland
The irony is that Bill Gates claims to be making a stable operating
system and Linus Torvalds claims to be trying to take over the
world.   -- seen on the net


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Mandatory -dbg packages for libraries?

2007-05-22 Thread Wouter Verhelst
On Tue, May 22, 2007 at 04:10:06PM -0500, Steve Greenland wrote:
[...]
 Those are good reasons. Those are different reasons than static
 libraries are faster, which was the previous argument for keeping them. 

No, that was one argument for keeping them, and the only one that I
could come up with in a short time frame about a subject that I don't
care much about.

Since you forced me to think more about it, I came up with two more
reasons in an equally short timeframe.

Of course, that begs the question why I seem to be the only one giving
reasons that seem quite obvious to me, but then again...

-- 
Shaw's Principle:
Build a system that even a fool can use, and only a fool will
want to use it.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Mandatory -dbg packages for libraries?

2007-05-20 Thread Wouter Verhelst
On Wed, May 09, 2007 at 11:28:49AM -0500, Steve Greenland wrote:
 On 09-May-07, 04:02 (CDT), Wouter Verhelst [EMAIL PROTECTED] wrote: 
  I'm not entirely sure about the specifics, and especially not across
  architectures; but regardless, doing a PLT lookup is more expensive than
  doing a function call to something that was statically linked in.
 
 True. Now, does anyone have measurements to show that this has
 any actual significance in real world code on modern hardware?

I don't see why that would be relevant. We're not providing statically
linked binaries; we are providing static libraries so that people who
want them can perform static linking for their own in-house software.
Anything more than that (including the decision on whether or not it's a
good idea to do static linking, considering the fact that the
maintenance overhead for statically linked binaries is significantly
higher) is up to the user, anyway.

-- 
Shaw's Principle:
Build a system that even a fool can use, and only a fool will
want to use it.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Mandatory -dbg packages for libraries?

2007-05-20 Thread Steve Greenland
On 20-May-07, 13:41 (CDT), Wouter Verhelst [EMAIL PROTECTED] wrote: 
 On Wed, May 09, 2007 at 11:28:49AM -0500, Steve Greenland wrote:
  On 09-May-07, 04:02 (CDT), Wouter Verhelst [EMAIL PROTECTED] wrote: 
   I'm not entirely sure about the specifics, and especially not across
   architectures; but regardless, doing a PLT lookup is more expensive than
   doing a function call to something that was statically linked in.
  
  True. Now, does anyone have measurements to show that this has
  any actual significance in real world code on modern hardware?
 
 I don't see why that would be relevant. We're not providing statically
 linked binaries; we are providing static libraries so that people who
 want them can perform static linking for their own in-house software.

Why should we spend time and space to provide something that doesn't
do anything useful?[1] Nothing prevents the users who want static
linking from building their own libraries. My guess is that those who
do need these kinds of small gains are compiling the relevant libraries
and programs from scratch anyway, using the carefully tuned compiler
options that they've measured as performing the best on their particular
hardware.

Steve

[1] Or maybe it does...no one has provided measurements, yet.

-- 
Steve Greenland
The irony is that Bill Gates claims to be making a stable operating
system and Linus Torvalds claims to be trying to take over the
world.   -- seen on the net


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Mandatory -dbg packages for libraries?

2007-05-09 Thread Steve Greenland
On 09-May-07, 04:02 (CDT), Wouter Verhelst [EMAIL PROTECTED] wrote: 
 On Tue, May 08, 2007 at 02:23:37PM +0200, Josselin Mouette wrote:
  Le lundi 07 mai 2007 ? 13:02 +0200, Wouter Verhelst a ?crit :
Dropping most .a libraries is something I agree with.  I see no reason
why we should have them for most of the libraries.
   
   As a courtesy to our users. Statically linked programs are slightly
   faster (since they don't need to do PLT lookups, so they spare a jump on
   every function call to a shared object). For people for whom performance
   is critical, providing .a libraries is a good idea.
  
  Hm, I thought the double-jump issue was specific to i386. On other
  architectures, there is still the need for an extra register, but AIUI
  the performance impact should be much smaller.
 
 I'm not entirely sure about the specifics, and especially not across
 architectures; but regardless, doing a PLT lookup is more expensive than
 doing a function call to something that was statically linked in.

True. Now, does anyone have measurements to show that this has
any actual significance in real world code on modern hardware? In
particular, anything *besides* the BLAS routines, which is about the
only thing I'd expect to be measurable.

Steve

-- 
Steve Greenland
The irony is that Bill Gates claims to be making a stable operating
system and Linus Torvalds claims to be trying to take over the
world.   -- seen on the net


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Mandatory -dbg packages for libraries?

2007-05-08 Thread Michael Banck
On Mon, May 07, 2007 at 08:25:53PM +0200, Kurt Roeckx wrote:
 On Mon, May 07, 2007 at 01:02:17PM +0200, Wouter Verhelst wrote:
  On Mon, Apr 23, 2007 at 12:32:37AM +0200, Kurt Roeckx wrote:
   On Sun, Apr 22, 2007 at 11:15:36PM +0100, Roger Leigh wrote:

If there are concerns over archive size, why don't we drop all static
.a libraries at the same time.  Given that in Debian we typically
always link dynamically, is there a need for .a libraries in all but a
handful of cases?
   
   Dropping most .a libraries is something I agree with.  I see no reason
   why we should have them for most of the libraries.
  
  As a courtesy to our users. Statically linked programs are slightly
  faster (since they don't need to do PLT lookups, so they spare a jump on
  every function call to a shared object). For people for whom performance
  is critical, providing .a libraries is a good idea.
 
 I agree that for some things it might be useful for have static
 libraries, but in most cases they're not.

It would be reasonable to provide static libraries maybe for some core
libs, where justified interest is there and for libraries user request
them via wishlist bugs, I guess.


Michael


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Mandatory -dbg packages for libraries?

2007-05-07 Thread Wouter Verhelst
On Mon, Apr 23, 2007 at 12:32:37AM +0200, Kurt Roeckx wrote:
 On Sun, Apr 22, 2007 at 11:15:36PM +0100, Roger Leigh wrote:
  
  If there are concerns over archive size, why don't we drop all static
  .a libraries at the same time.  Given that in Debian we typically
  always link dynamically, is there a need for .a libraries in all but a
  handful of cases?
 
 Dropping most .a libraries is something I agree with.  I see no reason
 why we should have them for most of the libraries.

As a courtesy to our users. Statically linked programs are slightly
faster (since they don't need to do PLT lookups, so they spare a jump on
every function call to a shared object). For people for whom performance
is critical, providing .a libraries is a good idea.

-- 
Shaw's Principle:
Build a system that even a fool can use, and only a fool will
want to use it.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Mandatory -dbg packages for libraries?

2007-05-07 Thread Kurt Roeckx
On Mon, May 07, 2007 at 01:02:17PM +0200, Wouter Verhelst wrote:
 On Mon, Apr 23, 2007 at 12:32:37AM +0200, Kurt Roeckx wrote:
  On Sun, Apr 22, 2007 at 11:15:36PM +0100, Roger Leigh wrote:
   
   If there are concerns over archive size, why don't we drop all static
   .a libraries at the same time.  Given that in Debian we typically
   always link dynamically, is there a need for .a libraries in all but a
   handful of cases?
  
  Dropping most .a libraries is something I agree with.  I see no reason
  why we should have them for most of the libraries.
 
 As a courtesy to our users. Statically linked programs are slightly
 faster (since they don't need to do PLT lookups, so they spare a jump on
 every function call to a shared object). For people for whom performance
 is critical, providing .a libraries is a good idea.

I agree that for some things it might be useful for have static
libraries, but in most cases they're not.


Kurt


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Mandatory -dbg packages for libraries? (and API docs too)

2007-04-29 Thread Stefano Zacchiroli
On Sat, Apr 28, 2007 at 02:37:46PM -0700, Steve Langasek wrote:
 write documentation or don't understand the API.  Wrong API docs are surely
 worse than not having no docs, aren't they?
snip
 If I thought putting it in policy would significantly improve the
 availability of API docs in Debian, I would support doing so.  But I don't
 think this will happen, and anyway if people want to campaign for improving
 our API documentation they can do that in any number of ways without asking
 for it to be put in policy first.

On Sat, Apr 28, 2007 at 02:48:23PM -0700, Russ Allbery wrote:
 In my case, because of:
 binary-without-manpage (1283 packages, 3616 tags)
 I think we should demonstrate our ability to deliver on tasks we've
 already promised to do before promising to do even more in the same vein.

That's all true, but it fails to convince me that is better not to state
this in the policy than to state it (only Steve's point about wrong API
docs, but I'm convinced it will be quantitatively small). My approach
to this is first to decide whether API docs in the policy is something
we want in debian or not. Then, if it is the case, to state it in the
policy. Then see how this will be received by DDs and maybe start filing
bug with patches for fixing the issues.  I don't like thinking nh,
it won't work, so please don't try to enforce it.

Cheers.

-- 
Stefano Zacchiroli -*- PhD in Computer Science ... now what?
[EMAIL PROTECTED],debian.org,bononia.it} -%- http://www.bononia.it/zack/
(15:56:48)  Zack: e la demo dema ?/\All one has to do is hit the
(15:57:15)  Bac: no, la demo scema\/right keys at the right time


signature.asc
Description: Digital signature


Re: Mandatory -dbg packages for libraries? (and API docs too)

2007-04-29 Thread Peter Samuelson

[Neil Williams]
 I chose Debian as a development platform for my own reasons and my
 decision was not deemed to be wise in the eyes of some of my
 upstream colleagues. As the newbie to that particular team, I was
 under significant pressure to upgrade to Fedora or SuSE.

Are you saying Fedora and SuSE have API documentation for all the
libraries they ship?  I must say, that surprises me.

My own experience with upstream's opinion of Debian is that they think
we should have fixed #291641 a long, long time ago.  And I can't
disagree.  (The problem is that since libtool apparently exposes a
shortcoming in binutils, nobody seems willing to add a workaround to
libtool, waiting instead for a fix from binutils.)


signature.asc
Description: Digital signature


Re: Mandatory -dbg packages for libraries? (and API docs too)

2007-04-29 Thread Mark Brown
On Sun, Apr 29, 2007 at 09:23:03AM +0200, Stefano Zacchiroli wrote:

 docs, but I'm convinced it will be quantitatively small). My approach
 to this is first to decide whether API docs in the policy is something
 we want in debian or not. Then, if it is the case, to state it in the
 policy. Then see how this will be received by DDs and maybe start filing
 bug with patches for fixing the issues.  I don't like thinking nh,
 it won't work, so please don't try to enforce it.

Why do you feel that putting this into policy is a useful first step?
To me the approach that you're suggesting seems to be the wrong way
round - it really shouldn't require a policy amendment to ask for the
inclusion of documentation.  It's not something that requires a great
deal of coordination between packages.

-- 
You grabbed my hand and we fell into it, like a daydream - or a fever.


signature.asc
Description: Digital signature


Re: Mandatory -dbg packages for libraries? (and API docs too)

2007-04-29 Thread Steve Greenland
On 29-Apr-07, 03:10 (CDT), Peter Samuelson [EMAIL PROTECTED] wrote: 
 
 [Neil Williams]
  I chose Debian as a development platform for my own reasons and my
  decision was not deemed to be wise in the eyes of some of my
  upstream colleagues. As the newbie to that particular team, I was
  under significant pressure to upgrade to Fedora or SuSE.
 
 Are you saying Fedora and SuSE have API documentation for all the
 libraries they ship?  I must say, that surprises me.

And if so, why haven't they submitted them upstream? :-)

Steve

-- 
Steve Greenland
The irony is that Bill Gates claims to be making a stable operating
system and Linus Torvalds claims to be trying to take over the
world.   -- seen on the net


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Mandatory -dbg packages for libraries? (and API docs too)

2007-04-29 Thread Russ Allbery
Stefano Zacchiroli [EMAIL PROTECTED] writes:

 That's all true, but it fails to convince me that is better not to state
 this in the policy than to state it (only Steve's point about wrong API
 docs, but I'm convinced it will be quantitatively small). My approach
 to this is first to decide whether API docs in the policy is something
 we want in debian or not. Then, if it is the case, to state it in the
 policy. Then see how this will be received by DDs and maybe start filing
 bug with patches for fixing the issues.  I don't like thinking nh,
 it won't work, so please don't try to enforce it.

This is generally not how Policy works.  Policy modifications that render
large numbers of packages buggy are only accepted in very unusual
circumstances.  Normally, the onus is on the folks wanting to make the
change to get widespread adoption first, and then the Policy modification
happens afterwards.

-- 
Russ Allbery ([EMAIL PROTECTED])   http://www.eyrie.org/~eagle/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Mandatory -dbg packages for libraries? (and API docs too)

2007-04-28 Thread Steve Langasek
On Wed, Apr 25, 2007 at 04:23:38PM +0200, Stefano Zacchiroli wrote:
 On Tue, Apr 24, 2007 at 08:12:46AM -0700, Steve Langasek wrote:
   If we are talking about hand-written documentation you're of course
   right. However if you're talking about documentation which can be
   generated automatically from sources (and not that it was the ideal
   point of Neil) than you're not.
  There are ways to generate manpages from --help output of programs.  We
  still have a lot of programs in Debian with no manpages.

 According to my experience with html2man doesn't work that properly
 every time, but I see your point. But still I don't get the objection:
 is the laziness of people a good reason not to state the right path?

Is this right path going to describe best practices for providing *good*
API documentation?  Some maintainers will do anything policy (or lintian)
tells them to.  If you say libraries must include API documentation in
policy, they'll write API documentation -- even if they don't know how to
write documentation or don't understand the API.  Wrong API docs are surely
worse than not having no docs, aren't they?

   It happened to me many times to find library -dev packages with upstream
   sources commented with some literate programming stuff but nevertheless
   missing the corresponding automatically generated API docs in the
   package. That's a pity. And that's something the policy should address.

  Hmm, I don't agree that it needs to be addressed in policy, FWIW.

 Fair enough, but note that having man pages is actually addressed by the
 policy. Why do you think API doc shouldn't? After all man pages are docs
 for users and API doc are too, with the only difference that in the
 latter case the users are programmers.

If I thought putting it in policy would significantly improve the
availability of API docs in Debian, I would support doing so.  But I don't
think this will happen, and anyway if people want to campaign for improving
our API documentation they can do that in any number of ways without asking
for it to be put in policy first.

Cheers,
-- 
Steve Langasek   Give me a lever long enough and a Free OS
Debian Developer   to set it on, and I can move the world.
[EMAIL PROTECTED]   http://www.debian.org/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Mandatory -dbg packages for libraries? (and API docs too)

2007-04-28 Thread Russ Allbery
Stefano Zacchiroli [EMAIL PROTECTED] writes:

 Fair enough, but note that having man pages is actually addressed by the
 policy. Why do you think API doc shouldn't? After all man pages are docs
 for users and API doc are too, with the only difference that in the
 latter case the users are programmers.

In my case, because of:

binary-without-manpage (1283 packages, 3616 tags)

I think we should demonstrate our ability to deliver on tasks we've
already promised to do before promising to do even more in the same vein.
Good library API documentation is in many cases much harder to write than
a man page for a binary.  Many of those already diagnosed missing man
pages are a matter of a few minutes to write a brief man page for a
wrapper script or simple utility.

-- 
Russ Allbery ([EMAIL PROTECTED])   http://www.eyrie.org/~eagle/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Mandatory -dbg packages for libraries?

2007-04-26 Thread Reinhard Tartler
Josselin Mouette [EMAIL PROTECTED] writes:

 Le mardi 24 avril 2007 à 18:09 +0200, Reinhard Tartler a écrit :
 Sending core dumps is of course debatable, espec. if you cannot assert
 that no sensitive information is transmitted. Still, Apport is more than
 that. It also describes the mechanism of debug packages (*.ddeb), which
 are generated automatically at build time.

 This part is definitely something we should grab from Ubuntu, and
 integrate in our tools.

In ubuntu this is done witht he package pkg-create-dbgsym:
https://code.beta.launchpad.net/~ubuntu-core-dev/pkg-create-dbgsym/ubuntu

You can browse the source here:
http://codebrowse.launchpad.net/~ubuntu-core-dev/pkg-create-dbgsym/ubuntu/files
(or grab the source package from some ubuntu mirror)

The idea is to divert dh_strip and automatically create these *.ddebs at
build time. Ubuntu profits here that binaryless uploads are being
done. This means it is pretty easy to change the build environment.

As in debian source-only uploads are highly disputed, espc. among the
ftp-masters, we probably cannot go this way. Therefore we would need to
delegate this task to the developers and buildd admins.

We need some way to manage these .ddebs. In ubuntu, they aren't
integrated into the archive system soyuz, but available on
http://people.ubuntu.com/~pitti/ddebs/

We could perhaps do the same: host these ddebs on some people.debian.org
space for a start. However, we would need to ask developers and buildd
adminst to additionally upload their ddebs to this location (hint: this
needs some upload infrastructure). This approach would have the
advantage that we don't need to touch dak (yet).

As an extension if .ddebs prove to be useful in debian, we can think
about having dak enforce the submission of ddebs. But that's future
work. Currently we would need some facilities to upload and manage
ddebs.

 Instead of sending core dumps, I'd really like to make gdb able to grab
 the appropriate data. I'll check whether it is possible to wrap it in
 some environment that would gather only appropriate parts of the
 debugging files.

Honstly, this sounds exactly to what the command 'apport-retrace'
already does.

 Otherwise, the idea of letting the user choose between centralized
 operation, downloading debugging symbols or saving the core for future
 analysis is definitely appropriate.

I (obviously) agree.

-- 
Gruesse/greetings,
Reinhard Tartler, KeyID 945348A4


pgpF6rncw8YON.pgp
Description: PGP signature


Re: Mandatory -dbg packages for libraries? (and API docs too)

2007-04-25 Thread Stefano Zacchiroli
On Tue, Apr 24, 2007 at 08:12:46AM -0700, Steve Langasek wrote:
  If we are talking about hand-written documentation you're of course
  right. However if you're talking about documentation which can be
  generated automatically from sources (and not that it was the ideal
  point of Neil) than you're not.
 There are ways to generate manpages from --help output of programs.  We
 still have a lot of programs in Debian with no manpages.

According to my experience with html2man doesn't work that properly
every time, but I see your point. But still I don't get the objection:
is the laziness of people a good reason not to state the right path?

  It happened to me many times to find library -dev packages with upstream
  sources commented with some literate programming stuff but nevertheless
  missing the corresponding automatically generated API docs in the
  package. That's a pity. And that's something the policy should address.
 
 Hmm, I don't agree that it needs to be addressed in policy, FWIW.

Fair enough, but note that having man pages is actually addressed by the
policy. Why do you think API doc shouldn't? After all man pages are docs
for users and API doc are too, with the only difference that in the
latter case the users are programmers.

Cheers.

-- 
Stefano Zacchiroli -*- PhD in Computer Science ... now what?
[EMAIL PROTECTED],debian.org,bononia.it} -%- http://www.bononia.it/zack/
(15:56:48)  Zack: e la demo dema ?/\All one has to do is hit the
(15:57:15)  Bac: no, la demo scema\/right keys at the right time


signature.asc
Description: Digital signature


Re: Mandatory -dbg packages for libraries?

2007-04-25 Thread Daniel Jacobowitz
On Tue, Apr 24, 2007 at 11:43:02PM +0200, Pierre THIERRY wrote:
 Scribit Daniel Jacobowitz dies 23/04/2007 hora 16:19:
  Another possible way to change glibc would be to have libc6-dbg
  contain full debug symbols, libc6-dev contain -g1 symbols only, and
  have the -dbg divert the -dev.
 
 Why not do that for every library?

Just doesn't seem useful enough to go through the hassle.

-- 
Daniel Jacobowitz
CodeSourcery


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Mandatory -dbg packages for libraries?

2007-04-25 Thread Josselin Mouette
Le mardi 24 avril 2007 à 23:43 +0200, Pierre THIERRY a écrit :
 Scribit Daniel Jacobowitz dies 23/04/2007 hora 16:19:
  Another possible way to change glibc would be to have libc6-dbg
  contain full debug symbols, libc6-dev contain -g1 symbols only, and
  have the -dbg divert the -dev.
 
 Why not do that for every library?

Because diversions are a hack and should not be the rule.

-- 
 .''`.
: :' :  We are debian.org. Lower your prices, surrender your code.
`. `'   We will add your hardware and software distinctiveness to
  `-our own. Resistance is futile.


signature.asc
Description: Ceci est une partie de message	numériquement signée


Re: Mandatory -dbg packages for libraries?

2007-04-25 Thread Josselin Mouette
Le mardi 24 avril 2007 à 18:09 +0200, Reinhard Tartler a écrit :
 Sending core dumps is of course debatable, espec. if you cannot assert
 that no sensitive information is transmitted. Still, Apport is more than
 that. It also describes the mechanism of debug packages (*.ddeb), which
 are generated automatically at build time.

This part is definitely something we should grab from Ubuntu, and
integrate in our tools.

  Using a central server for symbol lookup like Ben proposed looks like a
  better idea. It needs gdb to be adapted or wrapped to access them
  correctly, though.
 
 Sure. How about generating ddebs like ubuntu at build time, upload them
 to ftp-master along the regular binary packages, and install them in a
 special section on the ftp servers. This way not all mirrors need to
 serve the ddebs.
 
 We can still leave the choice: sending in core dumps to some centralised
 service which retraces them, or use provided tools so users can download
 the debug data and retrace their crashed on their own.

Instead of sending core dumps, I'd really like to make gdb able to grab
the appropriate data. I'll check whether it is possible to wrap it in
some environment that would gather only appropriate parts of the
debugging files.

Otherwise, the idea of letting the user choose between centralized
operation, downloading debugging symbols or saving the core for future
analysis is definitely appropriate.

-- 
 .''`.
: :' :  We are debian.org. Lower your prices, surrender your code.
`. `'   We will add your hardware and software distinctiveness to
  `-our own. Resistance is futile.


signature.asc
Description: Ceci est une partie de message	numériquement signée


Re: Mandatory -dbg packages for libraries?

2007-04-25 Thread Robert Collins
On Tue, 2007-04-24 at 14:40 +0200, Loïc Minier wrote:
 On Tue, Apr 24, 2007, Josselin Mouette wrote:
  Apport sends complete core dumps, which is a very bad idea. The dumps
  can be huge (for desktop applications they often grow beyond 200MB) and
  they can contain gazillions of sensitive information.
 
  But Apport is written already, and it's also the path that Windows
  crash report and Mozilla's talkback tools have taken; these
  corporations might not represent our ideals, but they present examples
  of deployed and working solutions.
 
  I don't think it's still 200 MB compressed, but some input from Ubuntu
  folks could help.

apport can send mini core dumps, and will offer to do so if the coredump
is very large. 

  Using a central server for symbol lookup like Ben proposed looks like a
  better idea. It needs gdb to be adapted or wrapped to access them
  correctly, though.
 
  Yes, it sounds like a good idea; I suppose it might offer less
  possibilities, but a good stack trace is often good enough.  However
  modifying gdb sounds like a lot of hard work.  I don't know how Apport
  works on the server side, but if this part of Apport could be made to
  run on the client and to fetch the relevant files, this might have all
  advantages of not sending the sensitive core dumps, not uploading too
  much data, and being available without too much development.

This would be nice too - I would certainly like to be able to say to
apport 'please retrace on my machine now without uploading' for
applications that have been exposed to my password.

Rob
-- 
GPG key available at: http://www.robertcollins.net/keys.txt.


signature.asc
Description: This is a digitally signed message part


Re: Mandatory -dbg packages for libraries? (and API docs too)

2007-04-24 Thread Stefano Zacchiroli
On Mon, Apr 23, 2007 at 04:27:34PM -0700, Steve Langasek wrote:
   On 23-Apr-07, 15:51 (CDT), Neil Williams [EMAIL PROTECTED] wrote:
I think that all libraries - without exception - must come with some
API documentation and the docs should be as complete and as accurate
as possible - ideally generated from the source itself.
 That the existing requirement is already too much for us to keep up with, so
 adding new requirements, especially ones that require significant attention
 to detail to get right, dilutes our attention for little benefit?

If we are talking about hand-written documentation you're of course
right. However if you're talking about documentation which can be
generated automatically from sources (and not that it was the ideal
point of Neil) than you're not.

It happened to me many times to find library -dev packages with upstream
sources commented with some literate programming stuff but nevertheless
missing the corresponding automatically generated API docs in the
package. That's a pity. And that's something the policy should address.

Often, even when comments are not properly formatted, doc generation
tools can generate useful documents which complements .h files or
similar stuff in other languages.

Cheers.

-- 
Stefano Zacchiroli -*- PhD in Computer Science ... now what?
[EMAIL PROTECTED],debian.org,bononia.it} -%- http://www.bononia.it/zack/
(15:56:48)  Zack: e la demo dema ?/\All one has to do is hit the
(15:57:15)  Bac: no, la demo scema\/right keys at the right time


signature.asc
Description: Digital signature


Re: Mandatory -dbg packages for libraries? (and API docs too)

2007-04-24 Thread Neil Williams
On Mon, 23 Apr 2007 19:32:46 -0400
Joey Hess [EMAIL PROTECTED] wrote:

 Neil Williams wrote:
  I chose Debian as a development platform for my own reasons and my
  decision was not deemed to be wise in the eyes of some of my
  upstream colleagues. As the newbie to that particular team, I was
  under significant pressure to upgrade to Fedora or SuSE. Debian
  needs to reclaim the respect of upstream development teams and part
  of that is making it *a lot* easier to do upstream development on
  Debian without needing to become a DD as well. Debian is respected
  as a distribution for users because of the multiple architecture
  support and the patches and bug reports that are forwarded upstream
  - what is missing (IMHO) is respect for Debian as the distribution
  of choice for upstream development itself.

 Are you generalising from your one poor personal experience with a
 non-Debian-friendly upstream, or do you have a significant body of
 data that I don't about masses of upsteams who are not Debian
 friendly?

Generalising - which probably isn't giving me the best overview, you're
right.

 My impression has always been that a significant proportion of
 upstreams use Debian, or are at least familiar with it. I base this
 on, amoung other things, interacting with hundreds of different
 upstreams whose packages I have maintained in Debian, as well as
 working in linux companies and personally knowing a lot of upstream
 developers.

Do you then think that Debian should not require basic API docs if
upstream don't provide them - even if the information is available
(and properly distributable) from outside the .orig ?

 The only significant documentation that is missing in Debian that I
 know of is GFDL licensed docs which have been removed from main.
 Aside from that, if a library is missing documentation, it's missing
 it because it's not available upsteam either.

The 'big' libraries are very well documented, it's the smaller ones.
Individually these may not be significant but collectively, I think
there is an appreciable gap in the API docs. Recently, I've been working
with libarchive (deb-gview) and libgtkhtml (gtk2 port of quicklist).
libarchive has nicely commented headers which could be turned into HTML
but aren't, libgtkhtml has only a test program. (I've missed one -doc
package myself - just noticed that libgpewidget can build a -doc
package so that's just gone on the ToDO list along with a few wishlist
bugs for the above packages.)

Maybe instead of seeking API docs as a requirement it would be better
to seek a section under Best Practise that outlines how man (3) can
be used to provide at least an introduction to the API when the .orig
does not contain docs itself?

--


Neil Williams
=
http://www.data-freedom.org/
http://www.nosoftwarepatents.com/
http://www.linux.codehelp.co.uk/



pgpNFcyopAoRV.pgp
Description: PGP signature


Re: Mandatory -dbg packages for libraries?

2007-04-24 Thread Ben Hutchings
On Mon, 2007-04-23 at 10:37 +0200, Josselin Mouette wrote:
 Le dimanche 22 avril 2007 à 20:39 +0100, Neil Williams a écrit :
  I'd like to see all library source packages having a minimum of 4
  binary packages required by Policy: the SONAME, the -dev,  the -dbg and
  a -doc package. (Libraries for perl or other non-compiled languages
  would be exempt from -dbg packages but not -doc.)
 
 I fully concur, and I think we need to go farther, by adding a debugging
 package to *all* architecture-dependent packages. Of course, this
 requires changes at the dak level, in the mirror scripts (not all
 mirrors will want their size to double) and in APT. This was in Sam's
 platform and I hope to see some efforts happen in this direction.
 
 With the introduction of debreaper, I'd like to make automated bug
 reporting a reality for the majority of unstable users, but it will be
 useless if there is no solution to install the debugging symbols
 automatically.
snip

Installing debugging symbols for all binaries involved in a crash
seems... heavyweight.  I would expect the user to want to get on with
his or her work at this point.

Wouldn't it be better - in terms of response rate - to take a
minidump (along the lines of Windows error reporting or Mozilla's
Quality Feedback Agent) and do symbol lookup on some central server?

It might also be worth looking at MS's symbol server.  I don't know
whether that supports queries by address or whether it just serves up
whole debug databases, but it seems to work reasonably quickly.  (But
unsurprisingly it's providing quite sparse information about Windows
binaries.)

Ben.

-- 
Ben Hutchings
When you say `I wrote a program that crashed Windows', people just stare ...
and say `Hey, I got those with the system, *for free*'. - Linus Torvalds


signature.asc
Description: This is a digitally signed message part


Re: Mandatory -dbg packages for libraries?

2007-04-24 Thread Reinhard Tartler

Ben Hutchings [EMAIL PROTECTED] writes:

 Installing debugging symbols for all binaries involved in a crash
 seems... heavyweight.  I would expect the user to want to get on with
 his or her work at this point.

 Wouldn't it be better - in terms of response rate - to take a
 minidump (along the lines of Windows error reporting or Mozilla's
 Quality Feedback Agent) and do symbol lookup on some central server?

isn't this quite similar to what ubuntu is doing with Apport?

https://wiki.ubuntu.com/Apport

-- 
Gruesse/greetings,
Reinhard Tartler, KeyID 945348A4


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Mandatory -dbg packages for libraries?

2007-04-24 Thread Josselin Mouette
Le mardi 24 avril 2007 à 12:58 +0200, Reinhard Tartler a écrit :
 Ben Hutchings [EMAIL PROTECTED] writes:
 
  Installing debugging symbols for all binaries involved in a crash
  seems... heavyweight.  I would expect the user to want to get on with
  his or her work at this point.
 
  Wouldn't it be better - in terms of response rate - to take a
  minidump (along the lines of Windows error reporting or Mozilla's
  Quality Feedback Agent) and do symbol lookup on some central server?
 
 isn't this quite similar to what ubuntu is doing with Apport?
 
 https://wiki.ubuntu.com/Apport

Apport sends complete core dumps, which is a very bad idea. The dumps
can be huge (for desktop applications they often grow beyond 200MB) and
they can contain gazillions of sensitive information.

Using a central server for symbol lookup like Ben proposed looks like a
better idea. It needs gdb to be adapted or wrapped to access them
correctly, though.

-- 
 .''`.
: :' :  We are debian.org. Lower your prices, surrender your code.
`. `'   We will add your hardware and software distinctiveness to
  `-our own. Resistance is futile.



Re: Mandatory -dbg packages for libraries?

2007-04-24 Thread Loïc Minier
On Tue, Apr 24, 2007, Josselin Mouette wrote:
 Apport sends complete core dumps, which is a very bad idea. The dumps
 can be huge (for desktop applications they often grow beyond 200MB) and
 they can contain gazillions of sensitive information.

 But Apport is written already, and it's also the path that Windows
 crash report and Mozilla's talkback tools have taken; these
 corporations might not represent our ideals, but they present examples
 of deployed and working solutions.

 I don't think it's still 200 MB compressed, but some input from Ubuntu
 folks could help.

 Using a central server for symbol lookup like Ben proposed looks like a
 better idea. It needs gdb to be adapted or wrapped to access them
 correctly, though.

 Yes, it sounds like a good idea; I suppose it might offer less
 possibilities, but a good stack trace is often good enough.  However
 modifying gdb sounds like a lot of hard work.  I don't know how Apport
 works on the server side, but if this part of Apport could be made to
 run on the client and to fetch the relevant files, this might have all
 advantages of not sending the sensitive core dumps, not uploading too
 much data, and being available without too much development.

-- 
Loïc Minier


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Mandatory -dbg packages for libraries?

2007-04-24 Thread Mike Hommey
On Tue, Apr 24, 2007 at 02:12:39PM +0200, Josselin Mouette wrote:
 Le mardi 24 avril 2007 à 12:58 +0200, Reinhard Tartler a écrit :
  Ben Hutchings [EMAIL PROTECTED] writes:
  
   Installing debugging symbols for all binaries involved in a crash
   seems... heavyweight.  I would expect the user to want to get on with
   his or her work at this point.
  
   Wouldn't it be better - in terms of response rate - to take a
   minidump (along the lines of Windows error reporting or Mozilla's
   Quality Feedback Agent) and do symbol lookup on some central server?
  
  isn't this quite similar to what ubuntu is doing with Apport?
  
  https://wiki.ubuntu.com/Apport
 
 Apport sends complete core dumps, which is a very bad idea. The dumps
 can be huge (for desktop applications they often grow beyond 200MB) and
 they can contain gazillions of sensitive information.
 
 Using a central server for symbol lookup like Ben proposed looks like a
 better idea. It needs gdb to be adapted or wrapped to access them
 correctly, though.

FWIW, Mozilla is going to replace Talkback with Breakpad, which is under
development. It would be worth getting involved in that.
http://code.google.com/p/google-breakpad/

Mike


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Mandatory -dbg packages for libraries? (and API docs too)

2007-04-24 Thread Steve Langasek
On Tue, Apr 24, 2007 at 09:13:18AM +0200, Stefano Zacchiroli wrote:
 On Mon, Apr 23, 2007 at 04:27:34PM -0700, Steve Langasek wrote:
On 23-Apr-07, 15:51 (CDT), Neil Williams [EMAIL PROTECTED] wrote:
 I think that all libraries - without exception - must come with some
 API documentation and the docs should be as complete and as accurate
 as possible - ideally generated from the source itself.
  That the existing requirement is already too much for us to keep up with, so
  adding new requirements, especially ones that require significant attention
  to detail to get right, dilutes our attention for little benefit?

 If we are talking about hand-written documentation you're of course
 right. However if you're talking about documentation which can be
 generated automatically from sources (and not that it was the ideal
 point of Neil) than you're not.

There are ways to generate manpages from --help output of programs.  We
still have a lot of programs in Debian with no manpages.

 It happened to me many times to find library -dev packages with upstream
 sources commented with some literate programming stuff but nevertheless
 missing the corresponding automatically generated API docs in the
 package. That's a pity. And that's something the policy should address.

Hmm, I don't agree that it needs to be addressed in policy, FWIW.

-- 
Steve Langasek   Give me a lever long enough and a Free OS
Debian Developer   to set it on, and I can move the world.
[EMAIL PROTECTED]   http://www.debian.org/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Mandatory -dbg packages for libraries?

2007-04-24 Thread Pierre Habouzit
On Tue, Apr 24, 2007 at 02:40:22PM +0200, Loïc Minier wrote:
 On Tue, Apr 24, 2007, Josselin Mouette wrote:
  Apport sends complete core dumps, which is a very bad idea. The dumps
  can be huge (for desktop applications they often grow beyond 200MB) and
  they can contain gazillions of sensitive information.
 
  But Apport is written already, and it's also the path that Windows
  crash report and Mozilla's talkback tools have taken; these
  corporations might not represent our ideals, but they present examples
  of deployed and working solutions.
 
  I don't think it's still 200 MB compressed, but some input from Ubuntu
  folks could help.

  I for one, won't use a solution that sends full core dumps. KDE
applications e.g. use many shared memory among the different processes
and I will never know if the crash of konqueror I want to report
wouldn't include all my accounts passwords from kwallet it just used.
Sorry but, well, that's an option I'm not willing to take, and I'm sure
others feel the same.

  There is a major privacy issue here, and well, sorry, but taking
Microsoft as an example here is quite err disturbing :)

  A clean and good backtrace is very often useful enough, and would IMHO
be a significant improvement already. One could also imagine a setup
where cores remains archived on the user side, so that they can
provide more extensive backtraces (values of some variables or so) and
see textually if sensitive informations are in there or not.

-- 
·O·  Pierre Habouzit
··O[EMAIL PROTECTED]
OOOhttp://www.madism.org


pgpNBHNkLffwg.pgp
Description: PGP signature


Re: Mandatory -dbg packages for libraries?

2007-04-24 Thread Reinhard Tartler
Josselin Mouette [EMAIL PROTECTED] writes:

 Le mardi 24 avril 2007 à 12:58 +0200, Reinhard Tartler a écrit :
 Ben Hutchings [EMAIL PROTECTED] writes:
 
  Installing debugging symbols for all binaries involved in a crash
  seems... heavyweight.  I would expect the user to want to get on with
  his or her work at this point.
 
  Wouldn't it be better - in terms of response rate - to take a
  minidump (along the lines of Windows error reporting or Mozilla's
  Quality Feedback Agent) and do symbol lookup on some central server?
 
 isn't this quite similar to what ubuntu is doing with Apport?
 
 https://wiki.ubuntu.com/Apport

 Apport sends complete core dumps, which is a very bad idea. The dumps
 can be huge (for desktop applications they often grow beyond 200MB) and
 they can contain gazillions of sensitive information.

Sending core dumps is of course debatable, espec. if you cannot assert
that no sensitive information is transmitted. Still, Apport is more than
that. It also describes the mechanism of debug packages (*.ddeb), which
are generated automatically at build time.

 Using a central server for symbol lookup like Ben proposed looks like a
 better idea. It needs gdb to be adapted or wrapped to access them
 correctly, though.

Sure. How about generating ddebs like ubuntu at build time, upload them
to ftp-master along the regular binary packages, and install them in a
special section on the ftp servers. This way not all mirrors need to
serve the ddebs.

We can still leave the choice: sending in core dumps to some centralised
service which retraces them, or use provided tools so users can download
the debug data and retrace their crashed on their own.



-- 
Gruesse/greetings,
Reinhard Tartler, KeyID 945348A4


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Mandatory -dbg packages for libraries?

2007-04-24 Thread Hendrik Sattler
Am Dienstag 24 April 2007 14:12 schrieb Josselin Mouette:
 Using a central server for symbol lookup like Ben proposed looks like a
 better idea. It needs gdb to be adapted or wrapped to access them
 correctly, though.

You can't do offline debugging with a central server. Unless you are always-on 
whereever you are...

Additionally, sending in stuff is a non-developer approach. A definition of 
the Debian user base should be taken into account for the solution (Ubuntu 
might have another target group).

HS


pgpXBdtogC6ab.pgp
Description: PGP signature


Re: Mandatory -dbg packages for libraries?

2007-04-24 Thread Ben Hutchings
On Tue, 2007-04-24 at 14:40 +0200, Loïc Minier wrote:
 On Tue, Apr 24, 2007, Josselin Mouette wrote:
  Apport sends complete core dumps, which is a very bad idea. The dumps
  can be huge (for desktop applications they often grow beyond 200MB) and
  they can contain gazillions of sensitive information.
 
  But Apport is written already, and it's also the path that Windows
  crash report and Mozilla's talkback tools have taken; these
  corporations might not represent our ideals, but they present examples
  of deployed and working solutions.

Windows minidumps are typically 100 KB.  My understand is that Mozilla
is using basically the same format with extensions to cover other
platforms and architectures.

  I don't think it's still 200 MB compressed, but some input from Ubuntu
  folks could help.

Yes, the example shown in the screenshot is much smaller than that.
There must be some trimming.

  Using a central server for symbol lookup like Ben proposed looks like a
  better idea. It needs gdb to be adapted or wrapped to access them
  correctly, though.
snip

In fact, reading through that Wiki page suggests that the various
retrace tools do that.  So perhaps Apport would be suitable for
Debian, though we would need to expand architecture support.

Ben.

-- 
Ben Hutchings
When you say `I wrote a program that crashed Windows', people just stare ...
and say `Hey, I got those with the system, *for free*'. - Linus Torvalds


signature.asc
Description: This is a digitally signed message part


Re: Mandatory -dbg packages for libraries?

2007-04-24 Thread Russ Allbery
Loïc Minier [EMAIL PROTECTED] writes:
 On Tue, Apr 24, 2007, Josselin Mouette wrote:

 Apport sends complete core dumps, which is a very bad idea. The dumps
 can be huge (for desktop applications they often grow beyond 200MB) and
 they can contain gazillions of sensitive information.

  But Apport is written already, and it's also the path that Windows
  crash report and Mozilla's talkback tools have taken; these
  corporations might not represent our ideals, but they present examples
  of deployed and working solutions.

  I don't think it's still 200 MB compressed, but some input from Ubuntu
  folks could help.

I believe sending full core dumps is an acceptable solution if and only
if:

 * The user is notified and voluntarily opts in to sending dumps.
 * The core dumps are sent encrypted over the network.
 * The core dumps are stored securely wherever they're sent and only
   authorized people have access to them.
 * Every organization that has access to the core dumps is legally bound
   to not disclose any personal or confidential information in them to
   anyone.

I think the last two are pretty hard for Debian to do.

-- 
Russ Allbery ([EMAIL PROTECTED])   http://www.eyrie.org/~eagle/



Re: Mandatory -dbg packages for libraries?

2007-04-24 Thread Pierre THIERRY
Scribit Daniel Jacobowitz dies 23/04/2007 hora 16:19:
 Another possible way to change glibc would be to have libc6-dbg
 contain full debug symbols, libc6-dev contain -g1 symbols only, and
 have the -dbg divert the -dev.

Why not do that for every library?

Curiously,
Pierre
-- 
[EMAIL PROTECTED]
OpenPGP 0xD9D50D8A


signature.asc
Description: Digital signature


Re: Mandatory -dbg packages for libraries?

2007-04-23 Thread Manoj Srivastava
On Sun, 22 Apr 2007 19:29:55 -0400, Joey Hess [EMAIL PROTECTED] said: 

 So while I'd love to have a way to have -dbg packages available for
 every binary, I actually am happy with this proposal to do it for only
 every library (plus whatever other binaries really need it). And it's
 a direction we're already moving in, with, as I mentioned, 227
 lib*-dbg packages already in the archive. That's more than 10% of all
 our libraries already done[3].

So, making it a should would make 90% of our library packages
 insta-buggy.

 So I suggest that we take this as an existing practice, document it as
 a should in policy for now, document *how* to do separated debugging
 symbols in the developers reference (which does not currently seem to
 mention it at all), and go add -dbg versions of our library packages.

I would rather add it as a recommended practice in policy, with a
 note that it will become a should/must as we get better coverage, and
 _also_ provide examples of what maintainers need to do to create
 separate debugging symbol packages in an informative footnote.

manoj
-- 
Where do forest rangers go to get away from it all? George Carlin
Manoj Srivastava [EMAIL PROTECTED] http://www.debian.org/~srivasta/
1024D/BF24424C print 4966 F272 D093 B493 410B  924B 21BA DABB BF24 424C


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Mandatory -dbg packages for libraries?

2007-04-23 Thread Sune Vuorela
On 2007-04-22, Mark Brown [EMAIL PROTECTED] wrote:
 I'd be interested to see some numbers on the archive size impact - my
 experience with C++ suggests that the size inflation caused by debug
 symbols can be enormous.

Openoffice currently ships a -g1 -dbg package. If it wasn't -g1, the deb
would be around 400mb.

Kdebase:
33mb -dbg package
28mb source
11-12 mb arch all debs.
20 mb arch debs.

kdelibs
26 mb -dbg package
18 mb source package
39 (!) mb -doc package
10 mb other arch all debs
10 mb arch debs.

For these two deb packages - the debug packages is around 1.5 the size
of the arch package. A couple of other kde packages seems to show the
same behaviour.

/Sune


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Mandatory -dbg packages for libraries?

2007-04-23 Thread Josselin Mouette
Le dimanche 22 avril 2007 à 20:39 +0100, Neil Williams a écrit :
 I'd like to see all library source packages having a minimum of 4
 binary packages required by Policy: the SONAME, the -dev,  the -dbg and
 a -doc package. (Libraries for perl or other non-compiled languages
 would be exempt from -dbg packages but not -doc.)

I fully concur, and I think we need to go farther, by adding a debugging
package to *all* architecture-dependent packages. Of course, this
requires changes at the dak level, in the mirror scripts (not all
mirrors will want their size to double) and in APT. This was in Sam's
platform and I hope to see some efforts happen in this direction.

With the introduction of debreaper, I'd like to make automated bug
reporting a reality for the majority of unstable users, but it will be
useless if there is no solution to install the debugging symbols
automatically. Currently I plan to automate installation of the -dbg
packages when they are available, but this is grossly suboptimal and
there is no real reason to not generate them for more packages.

-- 
 .''`.
: :' :  We are debian.org. Lower your prices, surrender your code.
`. `'   We will add your hardware and software distinctiveness to
  `-our own. Resistance is futile.



Re: Mandatory -dbg packages for libraries?

2007-04-23 Thread Hamish Moffatt
On Mon, Apr 23, 2007 at 07:38:15AM +0200, Mike Hommey wrote:
 On Sun, Apr 22, 2007 at 08:26:38PM -0400, Joey Hess [EMAIL PROTECTED] wrote:
  Mark Brown wrote:
   I'd be interested to see some numbers on the archive size impact - my
   experience with C++ suggests that the size inflation caused by debug
   symbols can be enormous.
  
  I don't know about C++, but for C it depends. For example, aalib is a
  102 kb library that compresses to 44kb. Its debug symbols are 234 kb and
  compress to 65 kb. 
  
  OTOH, people rarely need full debugging information for aalib, it's
  probably plenty to see its functions in the backtrace, and not have line
  number info (bear in mind that line number info includes effectively the
  entire source code of the program). So it I build it with -g1, the
  debug symbols size drops to 48 kb and compresses to 14 kb.
 
 Except that -g1 drops line numbers...

Wasn't that Joey's point?

cheers,
Hamish
-- 
Hamish Moffatt VK3SB [EMAIL PROTECTED] [EMAIL PROTECTED]


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Mandatory -dbg packages for libraries?

2007-04-23 Thread Daniel Jacobowitz
On Sun, Apr 22, 2007 at 07:29:55PM -0400, Joey Hess wrote:
 Even with separated debugging symbols, -dbg packages are frequently
 larger than the package they provide debugging symbols for. See for
 example xserver-xorg-core-dbg. Looking through the 227 lib*-dbg
 packages, I found few contain separated debugging symbols, except for
 packages maintained by the xorg team[1]. I'm not sure if this is due
 many people still not knowing about separated debugging symbols, or due
 to technical reasons. For example, is there a tecnical reason why
 libc6-dbg does not contain separated debugging symbols?

Yes, it's deliberate.  People rarely need them just because they're
debugging something linked to libc.so.6.  Having them slows down GDB
startup and increases its memory usage, for _every_ debug session.

You'll notice if you look closely that libc6-dbg contains two things.
One of them is a set of libraries you can use if you want to debug
libc6.  The other is a set of separate symbol files, but they contain
only frame unwind information, no symbolic or line number information.
This keeps the size and performance impact of the package down, but
makes backtraces out of libc6 hugely more reliable.

 I've considered before trying to set up a separate, parallel archive
 that would only hold the -dbg packages, but implementing that without
 initially using the Debian infrastructure would be tough, and my
 experiences with setting up[2]/maintaining the separate udeb section of
 the archive is that it adds a lot of complexity.

FWIW, I still think this is the way to go, though it would be hard.
They wouldn't need nearly as much mirroring.  e.g. they could go into
a separate pool directory...

-- 
Daniel Jacobowitz
CodeSourcery


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Mandatory -dbg packages for libraries?

2007-04-23 Thread Mike Hommey
On Mon, Apr 23, 2007 at 11:28:06PM +1000, Hamish Moffatt [EMAIL PROTECTED] 
wrote:
 On Mon, Apr 23, 2007 at 07:38:15AM +0200, Mike Hommey wrote:
  On Sun, Apr 22, 2007 at 08:26:38PM -0400, Joey Hess [EMAIL PROTECTED] 
  wrote:
   Mark Brown wrote:
I'd be interested to see some numbers on the archive size impact - my
experience with C++ suggests that the size inflation caused by debug
symbols can be enormous.
   
   I don't know about C++, but for C it depends. For example, aalib is a
   102 kb library that compresses to 44kb. Its debug symbols are 234 kb and
   compress to 65 kb. 
   
   OTOH, people rarely need full debugging information for aalib, it's
   probably plenty to see its functions in the backtrace, and not have line
   number info (bear in mind that line number info includes effectively the
   entire source code of the program). So it I build it with -g1, the
   debug symbols size drops to 48 kb and compresses to 14 kb.
  
  Except that -g1 drops line numbers...
 
 Wasn't that Joey's point?

The point is that it's pretty useless to have a backtrace without line
numbers. It would be interesting if there was an option similar to -g1,
but that would keep the line numbers (without the burden of keeping the
whole source code)

Mike


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Mandatory -dbg packages for libraries?

2007-04-23 Thread Steinar H. Gunderson
On Mon, Apr 23, 2007 at 07:06:55PM +0200, Mike Hommey wrote:
 The point is that it's pretty useless to have a backtrace without line
 numbers. It would be interesting if there was an option similar to -g1,
 but that would keep the line numbers (without the burden of keeping the
 whole source code)

Are you sure the source code is in there with -g? I was pretty sure it
wasn't, only line numbers.

/* Steinar */
-- 
Homepage: http://www.sesse.net/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Mandatory -dbg packages for libraries?

2007-04-23 Thread Steve Greenland
On 22-Apr-07, 17:29 (CDT), Kurt Roeckx [EMAIL PROTECTED] wrote: 
 On Sun, Apr 22, 2007 at 04:40:45PM -0500, Steve Greenland wrote:
  On 22-Apr-07, 16:22 (CDT), Robert Collins [EMAIL PROTECTED] wrote: 
   
   Because segfaults are often not easily reproduced. Having the ability to
   analyse a crash that occured when the user did not have the -dbg
   packages installed is not possible unless you have the original symbols
   the compiler created.
  
  That's an argument in favor of making the base library package built
  with debug symbols and then stripped[1], not of requiring -dbg packages.
 
 Maybe you should take a look at what dh_strip and -dbg packages do.  It
 strips the debug symbols and puts it in a seperate file that's put in
 /usr/lib/debug.  You put those files with debug symbols only in the -dbg
 package.
 
 This means that you can just install the -dbg package and gdb will
 automaticly pick up the debug symbols, without needing to rebuild
 anything.

Ah, thanks for clarifying. This makes more sense than what I was
(mis-)understanding.

Steve

-- 
Steve Greenland
The irony is that Bill Gates claims to be making a stable operating
system and Linus Torvalds claims to be trying to take over the
world.   -- seen on the net


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Mandatory -dbg packages for libraries?

2007-04-23 Thread Steve Greenland
On 22-Apr-07, 17:01 (CDT), Neil Williams [EMAIL PROTECTED] wrote: 
 
  2. Why a seperate -doc? API docs should be part of the -dev package.
 
 In practice, such attitudes are commonly expressed as RTSL. (Read The
 Source, Luke). That does NOT encourage upstream usage of Debian as a
 distro.
 
 Is man (3) really so hard for a DD to provide?
 
  I'm going to guess that for *most* libraries, the docs are a trivial
  part of the size of the -dev package. For those with significant
  documentation, sure, a seperate -doc makes sense, just as we do now.
 
 I think libraries should be encouraged to provide significant
 documentation - what we have now is simply not enough.

You seem to be arguing that the man pages should be in the core library
package, yes? My objection is against mandating a *separate* -doc
package. Separate doc packages make sense when the documentation is
a significant portion of the total binary package size, and thus
duplicating them in each binary package (rather than a single arch-all
package) causes more hardship on the archive and mirrors than having a
new packages causes the Packages file.

As for putting the docs in the core library file, I don't actually buy
your argument. The *VAST* majority of a libraries users are never going
to look at the man pages for that library. People who need the man pages
are going to have the -dev installed, or can easily install it. I don't
see why upstreams needs this.

Steve

-- 
Steve Greenland
The irony is that Bill Gates claims to be making a stable operating
system and Linus Torvalds claims to be trying to take over the
world.   -- seen on the net


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Mandatory -dbg packages for libraries?

2007-04-23 Thread Mike Hommey
On Mon, Apr 23, 2007 at 07:10:15PM +0200, Steinar H. Gunderson [EMAIL 
PROTECTED] wrote:
 On Mon, Apr 23, 2007 at 07:06:55PM +0200, Mike Hommey wrote:
  The point is that it's pretty useless to have a backtrace without line
  numbers. It would be interesting if there was an option similar to -g1,
  but that would keep the line numbers (without the burden of keeping the
  whole source code)
 
 Are you sure the source code is in there with -g? I was pretty sure it
 wasn't, only line numbers.

You're indeed right. I wrote quicker than my thoughts.

Mike


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Mandatory -dbg packages for libraries?

2007-04-23 Thread Joey Hess
Tshepang Lekhonkhobe wrote:
 It would be nice if the standard iso images that Debian makes
 available could be made to exclude -dbg packages as a trade-off. It
 actually felt painful someday when doing jigdo on the archive, only to
 see loads of -dbg packages getting downloaded, and knowing I wasn't
 ever gonna use 'em.

debian-cd orders packages by popcon popularity, so if the -dbg packages
are not on the last CDs, they must be used more than the packages that
come after them.

(The first -dbg package put on a CD is libc6-dbg, which comes just after
exim in popularity. That's exim 3, not 4.)

-- 
see shy jo


signature.asc
Description: Digital signature


Re: Mandatory -dbg packages for libraries?

2007-04-23 Thread Joey Hess
Manoj Srivastava wrote:
 On Sun, 22 Apr 2007 19:29:55 -0400, Joey Hess [EMAIL PROTECTED] said: 
 
  So while I'd love to have a way to have -dbg packages available for
  every binary, I actually am happy with this proposal to do it for only
  every library (plus whatever other binaries really need it). And it's
  a direction we're already moving in, with, as I mentioned, 227
  lib*-dbg packages already in the archive. That's more than 10% of all
  our libraries already done[3].
 
 So, making it a should would make 90% of our library packages
  insta-buggy.
 
  So I suggest that we take this as an existing practice, document it as
  a should in policy for now, document *how* to do separated debugging
  symbols in the developers reference (which does not currently seem to
  mention it at all), and go add -dbg versions of our library packages.
 
 I would rather add it as a recommended practice in policy, with a
  note that it will become a should/must as we get better coverage, and
  _also_ provide examples of what maintainers need to do to create
  separate debugging symbol packages in an informative footnote.

Well, we've made more than ~300 packages insta-buggy with policy
changes before. It's not insta-rc-buggy. OTOH, I don't really care; 300
bug reports could be mass-filed w/o it being a should in policy.

Note that I've already written some documentation for
developers-reference in #420540. The policy-relevant bits are that we
use /usr/lib/debug/path-to-object, that the files should not be
executable (possibly a common mistake since objcopy preserves executable
bits IIRC), and that the package names end in -dbg and the debug packages
depend on an equal version of the package they provide debugging symbols
for.

-- 
see shy jo


signature.asc
Description: Digital signature


Re: Mandatory -dbg packages for libraries?

2007-04-23 Thread Joey Hess
Daniel Jacobowitz wrote:
 Yes, it's deliberate.  People rarely need them just because they're
 debugging something linked to libc.so.6.  Having them slows down GDB
 startup and increases its memory usage, for _every_ debug session.

Ok. Of course, this is also generally an argument against having -dbg
packages for libraries with separated symbols..

 You'll notice if you look closely that libc6-dbg contains two things.
 One of them is a set of libraries you can use if you want to debug
 libc6.  The other is a set of separate symbol files, but they contain
 only frame unwind information, no symbolic or line number information.
 This keeps the size and performance impact of the package down, but
 makes backtraces out of libc6 hugely more reliable.

What are your feelings on only including the -g1 information in library
-dbg packages in general? It does save a lot of space, but the potential
utility also goes way down.

-- 
see shy jo


signature.asc
Description: Digital signature


Re: Mandatory -dbg packages for libraries?

2007-04-23 Thread Joey Hess
Steinar H. Gunderson wrote:
 Are you sure the source code is in there with -g? I was pretty sure it
 wasn't, only line numbers.

You're right, it doesn't include the actual code, but the size is
still roughly porportional to the size of the code in the library.

-- 
see shy jo


signature.asc
Description: Digital signature


Re: Mandatory -dbg packages for libraries?

2007-04-23 Thread Joey Hess
Mike Hommey wrote:
 The point is that it's pretty useless to have a backtrace without line
 numbers.

That depends on whether the problem you're debugging is a bug in the
library itself, or only a bug triggered by code that calls the library,
or in code called by the library.

-- 
see shy jo


signature.asc
Description: Digital signature


Re: Mandatory -dbg packages for libraries?

2007-04-23 Thread Joey Hess
Steinar H. Gunderson wrote:
 Are you sure the source code is in there with -g? I was pretty sure it
 wasn't, only line numbers.

I was fooled by the fact that the debug packages I was using have:

[EMAIL PROTECTED]:/usr/lib/debug/usr/libstrings libaa.so.1.0.4|grep joey
/home/joey/src/packages/aalib/src
[EMAIL PROTECTED]:/usr/lib/debug/usr/libstrings xorg/modules/*.so |grep 
home|head
/home/julien/src/xsf/git/xserver/xorg-server/obj-i486-linux-gnu/hw/xfree86/dixmods
/home/julien/src/xsf/git/xserver/xorg-server/obj-i486-linux-gnu/afb
/home/julien/src/xsf/git/xserver/xorg-server/obj-i486-linux-gnu/hw/xfree86/dixmods
/home/julien/src/xsf/git/xserver/xorg-server/obj-i486-linux-gnu/cfb
/home/julien/src/xsf/git/xserver/xorg-server/obj-i486-linux-gnu/mfb
/home/julien/src/xsf/git/xserver/xorg-server/obj-i486-linux-gnu/hw/xfree86/dixmods
/home/julien/src/xsf/git/xserver/xorg-server/obj-i486-linux-gnu/cfb32
/home/julien/src/xsf/git/xserver/xorg-server/obj-i486-linux-gnu/hw/xfree86/exa
/home/julien/src/xsf/git/xserver/xorg-server/obj-i486-linux-gnu/exa
/home/julien/src/xsf/git/xserver/xorg-server/obj-i486-linux-gnu/hw/xfree86/dixmods

Hmm, I hope this isn't a potential security hole.. I'd be happy if there
were a way to remove that info from the package, actually.

-- 
see shy jo


signature.asc
Description: Digital signature


Re: Mandatory -dbg packages for libraries?

2007-04-23 Thread Daniel Jacobowitz
On Mon, Apr 23, 2007 at 03:08:41PM -0400, Joey Hess wrote:
 Daniel Jacobowitz wrote:
  Yes, it's deliberate.  People rarely need them just because they're
  debugging something linked to libc.so.6.  Having them slows down GDB
  startup and increases its memory usage, for _every_ debug session.
 
 Ok. Of course, this is also generally an argument against having -dbg
 packages for libraries with separated symbols..

Yes.  It's a tradeoff question.  Pretty much any other library will
affect a smaller overall percentage of users :-)

  You'll notice if you look closely that libc6-dbg contains two things.
  One of them is a set of libraries you can use if you want to debug
  libc6.  The other is a set of separate symbol files, but they contain
  only frame unwind information, no symbolic or line number information.
  This keeps the size and performance impact of the package down, but
  makes backtraces out of libc6 hugely more reliable.
 
 What are your feelings on only including the -g1 information in library
 -dbg packages in general? It does save a lot of space, but the potential
 utility also goes way down.

I don't remember exactly what -g1 produces, but I think libc6-dbg is
even less - it's only .debug_frame and .symtab, nothing else at all.
I think libc6-dbg is a special case here, and we should use -g (-g2)
in general.  Another possible way to change glibc would be to have
libc6-dbg contain full debug symbols, libc6-dev contain -g1 symbols
only, and have the -dbg divert the -dev.

-- 
Daniel Jacobowitz
CodeSourcery


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Mandatory -dbg packages for libraries?

2007-04-23 Thread Daniel Jacobowitz
On Mon, Apr 23, 2007 at 03:19:23PM -0400, Joey Hess wrote:
 Hmm, I hope this isn't a potential security hole.. I'd be happy if there
 were a way to remove that info from the package, actually.

I have done some work with debugedit, which is shipped with RPM - it's
supposed to be able to do this, but it needs a little love and to be
integrated into the post-install process.

-- 
Daniel Jacobowitz
CodeSourcery


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Mandatory -dbg packages for libraries?

2007-04-23 Thread Mark Brown
On Mon, Apr 23, 2007 at 12:22:40PM -0500, Steve Greenland wrote:
 On 22-Apr-07, 17:01 (CDT), Neil Williams [EMAIL PROTECTED] wrote: 

  I think libraries should be encouraged to provide significant
  documentation - what we have now is simply not enough.

 You seem to be arguing that the man pages should be in the core library
 package, yes? My objection is against mandating a *separate* -doc
 package. Separate doc packages make sense when the documentation is
 a significant portion of the total binary package size, and thus

Reading between the lines I think Neil is assuming that good
documentation has to be large enough to be worth splitting out.  I don't
think that's a good assumption - for example, one reason people make
libraries is to hide some complex algorithm or nasty portability
problem.  This often results in a library with a very thin API that
doesn't require much documentation.

-- 
You grabbed my hand and we fell into it, like a daydream - or a fever.


signature.asc
Description: Digital signature


Re: Mandatory -dbg packages for libraries?

2007-04-23 Thread Neil Williams
On Mon, 23 Apr 2007 12:22:40 -0500
Steve Greenland [EMAIL PROTECTED] wrote:

 You seem to be arguing that the man pages should be in the core
 library package, yes?

I would prefer a -doc package that covers the entire API in a
comprehensive and detailed manner, registered with helper programs like
dwww and/or devhelp. In limited cases (like perl) where the library
itself is very small, a man (3) in the -dev would be sufficient IF it
covers the complete API.

 As for putting the docs in the core library file, I don't actually buy
 your argument. The *VAST* majority of a libraries users are never
 going to look at the man pages for that library. People who need the
 man pages are going to have the -dev installed, or can easily install
 it. I don't see why upstreams needs this.

Sorry, I didn't intend to give the impression that the man (3) would go
into the libfooSONAME package, instead I expect it to be present in the
-dev package. HOWEVER, with libraries like libfoo-perl, the
documentation IS part of the core library file already - most perl
libraries (/modules) do not have a -dev package, nor would they need
one. Most would also not need a -doc package but some might. Perl
documentation is trivial to generate when using POD.

--


Neil Williams
=
http://www.data-freedom.org/
http://www.nosoftwarepatents.com/
http://www.linux.codehelp.co.uk/



pgp2tEz4LwxUV.pgp
Description: PGP signature


Re: Mandatory -dbg packages for libraries?

2007-04-23 Thread Neil Williams
On Mon, 23 Apr 2007 21:19:39 +0100
Mark Brown [EMAIL PROTECTED] wrote:

 Reading between the lines I think Neil is assuming that good
 documentation has to be large enough to be worth splitting out.

In a lot of cases, yes. I do accept that some libraries - and
particularly perl modules - do not need separate -doc packages.

--


Neil Williams
=
http://www.data-freedom.org/
http://www.nosoftwarepatents.com/
http://www.linux.codehelp.co.uk/



pgppwRToTm8D3.pgp
Description: PGP signature


Re: Mandatory -dbg packages for libraries? (and API docs too)

2007-04-23 Thread Neil Williams
On Sun, 22 Apr 2007 20:39:26 +0100
Neil Williams [EMAIL PROTECTED] wrote:

After reading the responses so far, the -doc element of my original
idea needs modification.

 I'd like to see all library source packages having a minimum of 4
 binary packages required by Policy: the SONAME, the -dev,  the -dbg
 and a -doc package. (Libraries for perl or other non-compiled
 languages would be exempt from -dbg packages but not -doc.)

The -doc is overkill for all packages but I still feel it is important
for upstream development that all libraries have at least basic API
documentation within Debian, not just somewhere in the Google cache.

I think a -dbg package should be mandatory for all libraries that
can support it, albeit with an introductory period where it is
advisable, recommended then required.

I think that all libraries - without exception - must come with some
API documentation and the docs should be as complete and as accurate
as possible - ideally generated from the source itself. Where such
documentation makes a -doc package worthwhile, that should be done but
a man (3) page in the -dev would be sufficient in some cases. I would
like to see -doc packages - or at least substantive and reliable API
documentation - being the norm for all libraries in Debian. As with the
-dbg, the 'must' could be introduced as a recommendation prior to being
mandatory.

The tools exist for all these changes - only the incentive to use the
tools is needed.

 Things like that make Debian a nicer environment to be upstream, not
 just a nice environment to be a DD or user. I'm upstream for many of
 my Debian packages and I'd like to think that Debian unstable would
 be the distribution of choice for upstream development.

I was using Debian for upstream development long before I even
considered being a DD.

I chose Debian as a development platform for my own reasons and my
decision was not deemed to be wise in the eyes of some of my upstream
colleagues. As the newbie to that particular team, I was under
significant pressure to upgrade to Fedora or SuSE. Debian needs to
reclaim the respect of upstream development teams and part of that is
making it *a lot* easier to do upstream development on Debian without
needing to become a DD as well. Debian is respected as a
distribution for users because of the multiple architecture support and
the patches and bug reports that are forwarded upstream - what is
missing (IMHO) is respect for Debian as the distribution of choice for
upstream development itself.

 Possible policy amendment:

 Any library source package capable of building with debug information
 (i.e. with -g) must do so. Any such library source package must strip
 the debug symbols into separate objects, provide a binary package
 librarynamesoversion-dbg containing these separate objects
 as /usr/lib/debug/path/to/ELF/object for each /path/to/ELF/object in
 the main library package, and reference these separate objects in
 a .gnu_debuglink section in the corresponding unstripped object.
 (Thanks to Josh Triplett)

 I'd like to add something on -doc to that proposition but haven't
 decided how just yet.

All library packages must include at least basic API documentation
either in the -dev package or in a dedicated -doc package where
sufficient documentation exists. Wherever possible, documentation
should cover the entire library API, be generated from the source code
of the library and be registered with helper programs like dwww and/or
devhelp etc.

(subject to being introduced as a recommendation prior to being made
mandatory.)

What happens now?

Would these changes need a GR?

Would it be sufficient to generate a bug report against Policy?

Or submit these ideas to -policy and take from there?

--


Neil Williams
=
http://www.data-freedom.org/
http://www.nosoftwarepatents.com/
http://www.linux.codehelp.co.uk/



pgpRNdsh1sZHy.pgp
Description: PGP signature


Re: Mandatory -dbg packages for libraries? (and API docs too)

2007-04-23 Thread Steve Greenland
On 23-Apr-07, 15:51 (CDT), Neil Williams [EMAIL PROTECTED] wrote: 
 I think that all libraries - without exception - must come with some
 API documentation and the docs should be as complete and as accurate
 as possible - ideally generated from the source itself.

That's not a Debian issue. All we can do is include the documentation
provided by upstream. Sure, a DD *can* write docs when they are missing,
but we don't (and shouldn't) require it.

Is there any case where existing valid distributable documentation is
*not* in the appropriate Debian package? (Not including issues like the
GDL).

 Debian needs to reclaim the respect of upstream development teams and
 part of that is making it *a lot* easier to do upstream development on
 Debian without needing to become a DD as well.

Huh? Why do upstreams think that they need to be DDs to use Debian?
Because we discourage non-DD upstreams from distributing crappy
non-conforming .debs alongside their crappy non-conforming .rpms? (Not
that I blame upstreams for having crappy .debs; there's a lot of policy
and a lot of technology to understand - better to let a specialist take
care of it.)

 All library packages must include at least basic API documentation
 either in the -dev package or in a dedicated -doc package where
 sufficient documentation exists. Wherever possible, documentation
 should cover the entire library API, be generated from the source code
 of the library and be registered with helper programs like dwww and/or
 devhelp etc.

I'd remove the generated from the source code clause. Yes, many
projects choose to do their docs that way. Some don't.

 
 Would these changes need a GR?

No.

 Or submit these ideas to -policy and take from there?

Yes.

Steve


-- 
Steve Greenland
The irony is that Bill Gates claims to be making a stable operating
system and Linus Torvalds claims to be trying to take over the
world.   -- seen on the net


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Mandatory -dbg packages for libraries? (and API docs too)

2007-04-23 Thread Neil Williams
On Mon, 23 Apr 2007 16:15:02 -0500
Steve Greenland [EMAIL PROTECTED] wrote:

 On 23-Apr-07, 15:51 (CDT), Neil Williams [EMAIL PROTECTED] wrote:
  I think that all libraries - without exception - must come with some
  API documentation and the docs should be as complete and as accurate
  as possible - ideally generated from the source itself.

 That's not a Debian issue. All we can do is include the documentation
 provided by upstream. Sure, a DD *can* write docs when they are
 missing, but we don't (and shouldn't) require it.

Why not? What is wrong with writing a basic man (3) for a library when
we already have a requirement for a man (1) for the application?

A lack of application documentation makes a system hard for users - we
know that so Policy mandates a man (1) for these people whether one
exists in the .orig or not, even if it is almost empty.

A lack of library documentation makes a system hard for upstream
developers - these people are also Debian users and deserve support
too. True, they may be more 'advanced' than the average user in terms of
their knowledge of C or the autotools - doesn't mean that DD's can
assume that they know how a DD would find out the information they
need. Upstream generally tries to be as distro-neutral as possible -
this can be very difficult with inadequate documentation.

It is a Debian issue - it is precisely because the impression has got
about that Debian is unfriendly to upstream development that this kind
of change is absolutely necessary. The information isn't being made
accessible and that results in people thinking you have to know what a
DD knows in order to work out what is wrong with the upstream build on
your system.

These are development builds, not releases - not even snapshots. Things
often break and if we want upstream releases that build nicely on
Debian, it is good to encourage more upstream developers to use Debian.
DD's win in the end - cleaner upstream development builds make for
cleaner released .orig builds, meaning less patches! That has to be
AGoodThing (tm)!

Conversely, a lack of information can result in those upstream
developers who choose to use Debian being flamed as a result of that
choice because their commits break the build for other distros (another
snippet from my pre-DD days!) I can assure you, claiming that your
changes haven't broken the build on your Debian system cuts no ice when
the change has broken everyone else's build!!! Without the docs, the
Debian user is left without the information required to either defend
their change or fix the build. Not good.

If there is no documentation, file a bug upstream and ask. If the
response is RTSL, this should at least be documented in Debian so that
users of the -dev know who to blame for the lack of docs. Having a
Debian man (3) also provides a focus for contribution of suitable
content for the man (3) which in turn could be forwarded upstream. It's
easier to add content to an existing man (3) than to create a patch to
create a whole one from scratch - especially when the contributors are
not necessarily familiar with Debian packaging beyond apt-get.

 Is there any case where existing valid distributable documentation is
 *not* in the appropriate Debian package? (Not including issues like
 the GDL).

There is a distinct lack of man (3) and coordinated documentation for
libraries in Debian. True, some poorly documented packages include test
programs or examples somewhere under /usr/share/doc/ but it isn't
simple to track these down. At the very least, the Debian maintainer
should make it clear where these files are located in a man (3) for the
library. Where possible though, a full -doc package is a far, far
better option if Debian actually does want to support upstream
development on Debian.

That's why I stressed the registration of docs with dww and/or devhelp.

Some libraries have very, very good docs - libglib2, libgtk2 - the
problem comes with the smaller libraries, specialised tasks that are
only used by a few applications. By definition, few people will know
these API's yet these are often the very libraries that have the least
documentation - hence mandatory -doc or man (3).

  Debian needs to reclaim the respect of upstream development teams
  and part of that is making it *a lot* easier to do upstream
  development on Debian without needing to become a DD as well.

 Huh? Why do upstreams think that they need to be DDs to use Debian?

I can only speak from my own experience upstream on this - I wasn't new
to Debian at the time but most questions that I asked (or problems that
I experienced) came back with a response of must be something wrong
with Debian because something everyone else did wasn't working for me.
I didn't have the documentation available to find out what was wrong and
it was very frustrating. In the end, I resorted to a laborious method
involving rsync and simultaneous builds on Debian and Fedora prior to
commits. That kind of hack can seriously drain 

Re: Mandatory -dbg packages for libraries? (and API docs too)

2007-04-23 Thread Joey Hess
Neil Williams wrote:
 Would these changes need a GR?

Why would a policy change need a GR? How could a GR possibly be the best
way to choose a sound technical policy?

-- 
see shy jo


signature.asc
Description: Digital signature


Re: Mandatory -dbg packages for libraries? (and API docs too)

2007-04-23 Thread Steve Langasek
On Tue, Apr 24, 2007 at 12:00:59AM +0100, Neil Williams wrote:
 On Mon, 23 Apr 2007 16:15:02 -0500
 Steve Greenland [EMAIL PROTECTED] wrote:

  On 23-Apr-07, 15:51 (CDT), Neil Williams [EMAIL PROTECTED] wrote:
   I think that all libraries - without exception - must come with some
   API documentation and the docs should be as complete and as accurate
   as possible - ideally generated from the source itself.

  That's not a Debian issue. All we can do is include the documentation
  provided by upstream. Sure, a DD *can* write docs when they are
  missing, but we don't (and shouldn't) require it.

 Why not? What is wrong with writing a basic man (3) for a library when
 we already have a requirement for a man (1) for the application?

That the existing requirement is already too much for us to keep up with, so
adding new requirements, especially ones that require significant attention
to detail to get right, dilutes our attention for little benefit?

 A lack of library documentation makes a system hard for upstream
 developers - these people are also Debian users and deserve support
 too.

Feel free to support them by writing any manpages you think are missing.

 It is a Debian issue - it is precisely because the impression has got
 about that Debian is unfriendly to upstream development that this kind
 of change is absolutely necessary.

Huh?

 There is a distinct lack of man (3) and coordinated documentation for
 libraries in Debian. True, some poorly documented packages include test
 programs or examples somewhere under /usr/share/doc/ but it isn't
 simple to track these down. At the very least, the Debian maintainer
 should make it clear where these files are located in a man (3) for the
 library.

That sounds to me like an abuse of section 3 of the man hierarchy.

 Where possible though, a full -doc package is a far, far
 better option if Debian actually does want to support upstream
 development on Debian.

I think it's preposterous to assert that it's Debian's responsibility to
provide upstream documentation for libraries in order to make Debian
appealing as a platform to other upstreams.

-- 
Steve Langasek   Give me a lever long enough and a Free OS
Debian Developer   to set it on, and I can move the world.
[EMAIL PROTECTED]   http://www.debian.org/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Mandatory -dbg packages for libraries? (and API docs too)

2007-04-23 Thread Joey Hess
Neil Williams wrote:
 I chose Debian as a development platform for my own reasons and my
 decision was not deemed to be wise in the eyes of some of my upstream
 colleagues. As the newbie to that particular team, I was under
 significant pressure to upgrade to Fedora or SuSE. Debian needs to
 reclaim the respect of upstream development teams and part of that is
 making it *a lot* easier to do upstream development on Debian without
 needing to become a DD as well. Debian is respected as a
 distribution for users because of the multiple architecture support and
 the patches and bug reports that are forwarded upstream - what is
 missing (IMHO) is respect for Debian as the distribution of choice for
 upstream development itself.

Are you generalising from your one poor personal experience with a
non-Debian-friendly upstream, or do you have a significant body of data
that I don't about masses of upsteams who are not Debian friendly?

My impression has always been that a significant proportion of upstreams
use Debian, or are at least familiar with it. I base this on, amoung
other things, interacting with hundreds of different upstreams whose
packages I have maintained in Debian, as well as working in linux
companies and personally knowing a lot of upstream developers.

The only significant documentation that is missing in Debian that I know
of is GFDL licensed docs which have been removed from main. Aside from
that, if a library is missing documentation, it's missing it because
it's not available upsteam either.

-- 
see shy jo


signature.asc
Description: Digital signature


Re: Mandatory -dbg packages for libraries?

2007-04-23 Thread Ben Hutchings
On Sun, 2007-04-22 at 22:31 +0200, Hendrik Sattler wrote:
 Am Sonntag 22 April 2007 22:12 schrieb Russ Allbery:
  Hendrik Sattler [EMAIL PROTECTED] writes:
   Am Sonntag 22 April 2007 21:39 schrieb Neil Williams:
   Apart from those limitations, is there a *technical* reason why -dbg
   packages should not be available? Is it worth taking to -policy?
  
   You essentially need to build all library packages 2 times, then.
 
  Actually, you don't.  See the features of dh_strip introduced at debhelper
  level V5.  And of course you can do the same thing by hand.
 
  gdb will read the resulting detached debugging symbols automatically.
 
 Did you ever try to debug an application compiled with optimizations?
snip

Of course.  There are many undefined behaviour bugs that will only
show up in optimised builds.  You have to stop relying on source lines
and look at the disassembly, of course.

Also, oprofile wants debugging information, and there's no sense in
turning optimisations off for that!

Ben.

-- 
Ben Hutchings
When you say `I wrote a program that crashed Windows', people just stare ...
and say `Hey, I got those with the system, *for free*'. - Linus Torvalds


signature.asc
Description: This is a digitally signed message part


Re: Mandatory -dbg packages for libraries?

2007-04-23 Thread Ben Hutchings
On Sun, 2007-04-22 at 22:14 +0200, Florian Weimer wrote:
 * Neil Williams:
 
  Apart from those limitations, is there a *technical* reason why -dbg
  packages should not be available?
 
 GCC's debugging information at -O2 will continue to worsen (in part as
 a result of -O2 getting better).

It's now quite capable of telling the debugger that a source line has
ended up in several different chunks of object code, and that a variable
moves around between memory and registers.

Ben.

-- 
Ben Hutchings
When you say `I wrote a program that crashed Windows', people just stare ...
and say `Hey, I got those with the system, *for free*'. - Linus Torvalds


signature.asc
Description: This is a digitally signed message part


Re: Mandatory -dbg packages for libraries?

2007-04-23 Thread Manoj Srivastava
On Mon, 23 Apr 2007 15:05:22 -0400, Joey Hess [EMAIL PROTECTED] said: 


 I would rather add it as a recommended practice in policy, with a
 note that it will become a should/must as we get better coverage, and
 _also_ provide examples of what maintainers need to do to create
 separate debugging symbol packages in an informative footnote.

 Well, we've made more than ~300 packages insta-buggy with policy
 changes before. It's not insta-rc-buggy. OTOH, I don't really care;
 300 bug reports could be mass-filed w/o it being a should in policy.

If I have inadvertently done so in the past, I feel the need to
 apologize, but my past mistakes do not condone me making the same
 errors again.

 Note that I've already written some documentation for
 developers-reference in #420540.

Thanks. Now that we have released Etch, I need to be getting
 back at updating policy again, there are a number of issues sitting on
 my TODO list.

 The policy-relevant bits are that we use
 /usr/lib/debug/path-to-object, that the files should not be
 executable (possibly a common mistake since objcopy preserves
 executable bits IIRC), and that the package names end in -dbg and the
 debug packages depend on an equal version of the package they provide
 debugging symbols for.

Actually, the whole writeup seems good, and some of it can be
 kept informative rather than normative.

I'll queue this up for things to do when I do get some round
 tuits to spend on policy, and see about adding -dbg packages for the
 libraries I have.

manoj
-- 
My Boss needs a surge protector.  That way her mouth would be buffered
from surprise spikes in her brain.
Manoj Srivastava [EMAIL PROTECTED] http://www.debian.org/~srivasta/
1024D/BF24424C print 4966 F272 D093 B493 410B  924B 21BA DABB BF24 424C


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Mandatory -dbg packages for libraries?

2007-04-23 Thread Damián Viano
On Sun, Apr 22, 2007 at 07:29:55PM -0400, Joey Hess wrote:
 Neil Williams wrote:
Certain packages have already had bug reports requesting a -dbg
package.
  
   I'd rather see some offline debug-symbol infrastructure for all
   packages implemented, so that you can download the debug symbols when
   you need them.
  
  But the -dbg package only depends on the same version of the library -
  the library won't depend on the -dbg so those who need the -dbg are the
  only ones who would download and install them.
 
 Each time this has come up before, the concern has been that adding -dbg
 versions of every binary package would greatly inflate the size of the
 archive, and nearly double the total number of packages, with associated
 scalability problems.
 
 Even with separated debugging symbols, -dbg packages are frequently
 larger than the package they provide debugging symbols for. See for
 example xserver-xorg-core-dbg. Looking through the 227 lib*-dbg
 packages, I found few contain separated debugging symbols, except for
 packages maintained by the xorg team[1]. I'm not sure if this is due
 many people still not knowing about separated debugging symbols, or due
 to technical reasons. For example, is there a tecnical reason why
 libc6-dbg does not contain separated debugging symbols?
 
 Anyway, doubling the size of the archive is less of an issue than it
 might have been in the past, since we've done the archive split, and
 since ftp-master has 1.4 Terabytes of disk with half that unused, but
 it is still a concern, for mirrors, number of DVDs, etc.

What about some special parts on the archive for this, somethings like
what is actually used for source packages, but of course arch dependant:

deb-dbg http://http.us.debian.org/debian sid main

could translate to http://http.us.debian.org/debian/dist/sid/main/dbg-$arch
where all the -dbg packages could live. That would minimize the impact
making -dbg packages easier not to mirror and avoid cluttering packages
lists for non-developers users while only adding a 'add a deb-dbg
mirror' instruction for requesting a backtrace on a bug report.

 Scalability issues with the number of packages have also been reduced in
 some areas. apt no longer has to download the while Packages files on
 each update, so it wouldn't take 2x the bandwidth to add -dbg packages
 for every package to the Packages files. There would still be
 significant impact in apt's memory usage, in the disk space used to
 store the Packages files, in the UIs that have to somehow present or
 hide all these -dbg packages, etc.

With the above approach this impact is minimized quite nicely. 

 I've considered before trying to set up a separate, parallel archive
 that would only hold the -dbg packages, but implementing that without
 initially using the Debian infrastructure would be tough, and my
 experiences with setting up[2]/maintaining the separate udeb section of
 the archive is that it adds a lot of complexity.
 
 Someone made a very good point that it's often and increasingly painful to
 rebuild debugging versions for the whole library chain of a binary.
 OTOH, rebuilding a debug version of the binary itself is not especially
 hard.
 
 So while I'd love to have a way to have -dbg packages available for
 every binary, I actually am happy with this proposal to do it for only
 every library (plus whatever other binaries really need it). And it's a
 direction we're already moving in, with, as I mentioned, 227 lib*-dbg
 packages already in the archive. That's more than 10% of all our
 libraries already done[3].
 
 So I suggest that we take this as an existing practice, document it as a
 should in policy for now, document *how* to do separated debugging
 symbols in the developers reference (which does not currently seem to
 mention it at all), and go add -dbg versions of our library packages.
 
 -- 
 see shy jo, doing so for aalib now
 
 [1] Who are doing a really nice job on their -dbg packages.
 [2] Actually, the ftp-masters did all the real setup work.
 [3] Conversely, there are only 62 -dbg packages for non-libraries..

-- 
Damián Viano(Des)  ¯ ¯ - _   _ - ¯ ¯
GPG: 0x6EB95A6F Debian ¯-_GNU_-¯ Linux
Web: http://damianv.com.ar/   ¯-¯


signature.asc
Description: Digital signature


Re: Mandatory -dbg packages for libraries? (and API docs too)

2007-04-23 Thread Felipe Sateler
Neil Williams wrote:

snip
 There is a distinct lack of man (3) and coordinated documentation for
 libraries in Debian. True, some poorly documented packages include test
 programs or examples somewhere under /usr/share/doc/ but it isn't
 simple to track these down.

Is it unreasonable to expect libfoo's docs (independent of format or
quality) to be located under /usr/share/doc/libfoo, and not somewhere else?

snip
 Noting if the Debian library package differs significantly to
 the library upstream and why - not somewhere in NEWS.gz or README.gz,
 but in the one place application developers will look, the API docs.

AFAIK, README.Debian is _the_ place where divergences from upstream should
be noted. I can't find (yes, I only glanced through the documents, please
correct me if I'm wrong) any reference to that neither in the Debian FAQ
nor the Debian Reference, which I assume are the 2 most important user
documents. Maybe a note should be added?


-- 

  Felipe Sateler


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Mandatory -dbg packages for libraries?

2007-04-22 Thread Neil Williams
After getting some positive feedback on this from a blog entry and
personal mail, I wondered if the idea deserves a wider airing.

http://www.linux.codehelp.co.uk/serendipity/index.php?/archives/18-Mandatory-dbg-packages-for-libraries.html

Others have expressed the same idea:
http://ze-dinosaur.livejournal.com/7036.html

Certain packages have already had bug reports requesting a -dbg package.

I'd like to see all library source packages having a minimum of 4
binary packages required by Policy: the SONAME, the -dev,  the -dbg and
a -doc package. (Libraries for perl or other non-compiled languages
would be exempt from -dbg packages but not -doc.)

Alternatively, all lib packages should at least provide a -dev and -dbg
package provide and either man (3) content or preferably a full -doc
package.

Currently, only a -dev is mandated. I'm currently writing a GtkHTML
extension for the new Gtk2 version of quicklist (in experimental) and
writing code to use an undocumented library is a PITA.

Libraries without a -dbg are worse because Debian doesn't need any
upstream involvement to create -dbg packages.

Things like that make Debian a nicer environment to be upstream, not
just a nice environment to be a DD or user. I'm upstream for many of my
Debian packages and I'd like to think that Debian unstable would be the
distribution of choice for upstream development.

Of course, the problem is that -dbg packages are necessarily larger
than the ordinary lib and putting all the affected libraries into the
NEW queue to get the -dbg package added to the override file is going
to make the NEW queue truly enormous. (Then again if our new DPL is
able to put some of his platform ideas into practise, maybe new
binaries from an existing source package can be fast-tracked through
NEW.)

Apart from those limitations, is there a *technical* reason why -dbg
packages should not be available? Is it worth taking to -policy?

Possible policy amendment:

Any library source package capable of building with debug information
(i.e. with -g) must do so. Any such library source package must strip
the debug symbols into separate objects, provide a binary package
librarynamesoversion-dbg containing these separate objects
as /usr/lib/debug/path/to/ELF/object for each /path/to/ELF/object in
the main library package, and reference these separate objects in
a .gnu_debuglink section in the corresponding unstripped object.
(Thanks to Josh Triplett)

I'd like to add something on -doc to that proposition but haven't
decided how just yet.

--


Neil Williams
=
http://www.data-freedom.org/
http://www.nosoftwarepatents.com/
http://www.linux.codehelp.co.uk/



pgpHWFVDMN4uP.pgp
Description: PGP signature


Re: Mandatory -dbg packages for libraries?

2007-04-22 Thread Michael Banck
On Sun, Apr 22, 2007 at 08:39:26PM +0100, Neil Williams wrote:
 After getting some positive feedback on this from a blog entry and
 personal mail, I wondered if the idea deserves a wider airing.
 
 http://www.linux.codehelp.co.uk/serendipity/index.php?/archives/18-Mandatory-dbg-packages-for-libraries.html
 
 Others have expressed the same idea:
 http://ze-dinosaur.livejournal.com/7036.html
 
 Certain packages have already had bug reports requesting a -dbg package.

I'd rather see some offline debug-symbol infrastructure for all packages
implemented, so that you can download the debug symbols when you need
them.


Michael


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Mandatory -dbg packages for libraries?

2007-04-22 Thread Mike Hommey
On Sun, Apr 22, 2007 at 09:44:28PM +0200, Michael Banck [EMAIL PROTECTED] 
wrote:
 On Sun, Apr 22, 2007 at 08:39:26PM +0100, Neil Williams wrote:
  After getting some positive feedback on this from a blog entry and
  personal mail, I wondered if the idea deserves a wider airing.
  
  http://www.linux.codehelp.co.uk/serendipity/index.php?/archives/18-Mandatory-dbg-packages-for-libraries.html
  
  Others have expressed the same idea:
  http://ze-dinosaur.livejournal.com/7036.html
  
  Certain packages have already had bug reports requesting a -dbg package.
 
 I'd rather see some offline debug-symbol infrastructure for all packages
 implemented, so that you can download the debug symbols when you need
 them.

Well, to download debug symbols, they have to be kept somehow at build
time, and put somewhere...

Mike


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Mandatory -dbg packages for libraries?

2007-04-22 Thread Hendrik Sattler
Am Sonntag 22 April 2007 21:39 schrieb Neil Williams:
 Apart from those limitations, is there a *technical* reason why -dbg
 packages should not be available? Is it worth taking to -policy?

You essentially need to build all library packages 2 times, then.
Any examples for debian/rules file?

But if you mandate -dbg packages for libs, why not also for apps?
However, most users will never use them.

HS


pgpI3LwPuIDCE.pgp
Description: PGP signature


Re: Mandatory -dbg packages for libraries?

2007-04-22 Thread Damián Viano
On Sun, Apr 22, 2007 at 10:02:37PM +0200, Hendrik Sattler wrote:
 Am Sonntag 22 April 2007 21:39 schrieb Neil Williams:
  Apart from those limitations, is there a *technical* reason why -dbg
  packages should not be available? Is it worth taking to -policy?
 
 You essentially need to build all library packages 2 times, then.
 Any examples for debian/rules file?
 
 But if you mandate -dbg packages for libs, why not also for apps?
 However, most users will never use them.

Also, is there any figure on mirror size impact?

-- 
Damián Viano(Des)  ¯ ¯ - _   _ - ¯ ¯
GPG: 0x6EB95A6F Debian ¯-_GNU_-¯ Linux
Web: http://damianv.com.ar/   ¯-¯


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Mandatory -dbg packages for libraries?

2007-04-22 Thread Russ Allbery
Hendrik Sattler [EMAIL PROTECTED] writes:
 Am Sonntag 22 April 2007 21:39 schrieb Neil Williams:

 Apart from those limitations, is there a *technical* reason why -dbg
 packages should not be available? Is it worth taking to -policy?

 You essentially need to build all library packages 2 times, then.

Actually, you don't.  See the features of dh_strip introduced at debhelper
level V5.  And of course you can do the same thing by hand.

gdb will read the resulting detached debugging symbols automatically.

-- 
Russ Allbery ([EMAIL PROTECTED])   http://www.eyrie.org/~eagle/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Mandatory -dbg packages for libraries?

2007-04-22 Thread Julien Cristau
On Sun, Apr 22, 2007 at 22:02:37 +0200, Hendrik Sattler wrote:

 Am Sonntag 22 April 2007 21:39 schrieb Neil Williams:
  Apart from those limitations, is there a *technical* reason why -dbg
  packages should not be available? Is it worth taking to -policy?
 
 You essentially need to build all library packages 2 times, then.

Why would you do that? (btw, you already build them twice if you provide
a shared and a static library, but adding debugging symbols doesn't
change that)

Cheers,
Julien


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Mandatory -dbg packages for libraries?

2007-04-22 Thread Florian Weimer
* Neil Williams:

 Apart from those limitations, is there a *technical* reason why -dbg
 packages should not be available?

GCC's debugging information at -O2 will continue to worsen (in part as
a result of -O2 getting better).  Hence, -dbg libraries would need to
be compiled with different optimization settings in some cases.  It
might not a good idea to feature them prominently because they might
behave differently in corner cases.  And compiling everything with
something close to -O1 isn't acceptable, either.

For our internal libraries at work, we simply compile with -g and do
not strip the binaries, but program-related disk space is not an issue
we face.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Mandatory -dbg packages for libraries?

2007-04-22 Thread Neil Williams
On Sun, 22 Apr 2007 22:02:37 +0200
Hendrik Sattler [EMAIL PROTECTED] wrote:

 Am Sonntag 22 April 2007 21:39 schrieb Neil Williams:
  Apart from those limitations, is there a *technical* reason why -dbg
  packages should not be available? Is it worth taking to -policy?

 You essentially need to build all library packages 2 times, then.
 Any examples for debian/rules file?

dh_strip --dbg-package=libfooSONAME-dbg

 But if you mandate -dbg packages for libs, why not also for apps?

Because, as an upstream developer, you are generally working with the
upstream package, you have the debug code for your own package
available. Some applications could benefit from a -dbg package,
probably large programs like rhythmbox, gnucash.

 However, most users will never use them.

That is precisely what I want to change - I want Debian to be
attractive for upstream development so that more Debian users are also
free software developers.

Why not make life easier for developing software ON Debian? It's only
going to make it easier for Debian to package upstream code if it was
developed on Debian in the first place.

--

Neil Williams
=
http://www.data-freedom.org/
http://www.nosoftwarepatents.com/
http://www.linux.codehelp.co.uk/


pgpgfTRmv4FA3.pgp
Description: PGP signature


Re: Mandatory -dbg packages for libraries?

2007-04-22 Thread Neil Williams
On Sun, 22 Apr 2007 21:44:28 +0200
Michael Banck [EMAIL PROTECTED] wrote:

  Certain packages have already had bug reports requesting a -dbg
  package.

 I'd rather see some offline debug-symbol infrastructure for all
 packages implemented, so that you can download the debug symbols when
 you need them.

But the -dbg package only depends on the same version of the library -
the library won't depend on the -dbg so those who need the -dbg are the
only ones who would download and install them.

--

Neil Williams
=
http://www.data-freedom.org/
http://www.nosoftwarepatents.com/
http://www.linux.codehelp.co.uk/


pgpZ8OILkHyV0.pgp
Description: PGP signature


Re: Mandatory -dbg packages for libraries?

2007-04-22 Thread Hendrik Sattler
Am Sonntag 22 April 2007 22:12 schrieb Russ Allbery:
 Hendrik Sattler [EMAIL PROTECTED] writes:
  Am Sonntag 22 April 2007 21:39 schrieb Neil Williams:
  Apart from those limitations, is there a *technical* reason why -dbg
  packages should not be available? Is it worth taking to -policy?
 
  You essentially need to build all library packages 2 times, then.

 Actually, you don't.  See the features of dh_strip introduced at debhelper
 level V5.  And of course you can do the same thing by hand.

 gdb will read the resulting detached debugging symbols automatically.

Did you ever try to debug an application compiled with optimizations?
No, either you build an optimized version (-O2) or you build a debug version 
(-g). If you want to debug what was coded, you better compile without 
optimizations.

HS


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Mandatory -dbg packages for libraries?

2007-04-22 Thread Russ Allbery
Hendrik Sattler [EMAIL PROTECTED] writes:
 Am Sonntag 22 April 2007 22:12 schrieb Russ Allbery:

 Actually, you don't.  See the features of dh_strip introduced at
 debhelper level V5.  And of course you can do the same thing by hand.

 gdb will read the resulting detached debugging symbols automatically.

 Did you ever try to debug an application compiled with optimizations?

Yes, I do it all the time.

-- 
Russ Allbery ([EMAIL PROTECTED])   http://www.eyrie.org/~eagle/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Mandatory -dbg packages for libraries?

2007-04-22 Thread Steve Greenland
On 22-Apr-07, 14:39 (CDT), Neil Williams [EMAIL PROTECTED] wrote: 
 
 I'd like to see all library source packages having a minimum of 4
 binary packages required by Policy: the SONAME, the -dev,  the -dbg and
 a -doc package. (Libraries for perl or other non-compiled languages
 would be exempt from -dbg packages but not -doc.)

1. Rather than cluttering the archive and Packages file with -dbg
packages that will (mostly) never be used, how about mandating a debug
target in library debian/rules files, so that when someone does need the
debug package, it's trivial to build. Since the person most likely to
need the target is the package maintainer, there would be some incentive
to make sure it works.

2. Why a seperate -doc? API docs should be part of the -dev package. I'm
going to guess that for *most* libraries, the docs are a trivial part of
the size of the -dev package. For those with significant documentation,
sure, a seperate -doc makes sense, just as we do now.

Steve


-- 
Steve Greenland
The irony is that Bill Gates claims to be making a stable operating
system and Linus Torvalds claims to be trying to take over the
world.   -- seen on the net


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Mandatory -dbg packages for libraries?

2007-04-22 Thread Hendrik Sattler
Am Sonntag 22 April 2007 22:56 schrieb Russ Allbery:
 Hendrik Sattler [EMAIL PROTECTED] writes:
  Am Sonntag 22 April 2007 22:12 schrieb Russ Allbery:
  Actually, you don't.  See the features of dh_strip introduced at
  debhelper level V5.  And of course you can do the same thing by hand.
 
  gdb will read the resulting detached debugging symbols automatically.
 
  Did you ever try to debug an application compiled with optimizations?

 Yes, I do it all the time.

Hmm, must be personal preference, then. It makes debugging loops and such 
things rather a strange thing. CMake obviously agrees as its default setting 
between release build and debug build act exactly like that.

HS


pgpVnKdBOvBPs.pgp
Description: PGP signature


Re: Mandatory -dbg packages for libraries?

2007-04-22 Thread Robert Collins
On Sun, 2007-04-22 at 16:14 -0500, Steve Greenland wrote:
 On 22-Apr-07, 14:39 (CDT), Neil Williams [EMAIL PROTECTED] wrote: 
  
  I'd like to see all library source packages having a minimum of 4
  binary packages required by Policy: the SONAME, the -dev,  the -dbg and
  a -doc package. (Libraries for perl or other non-compiled languages
  would be exempt from -dbg packages but not -doc.)
 
 1. Rather than cluttering the archive and Packages file with -dbg
 packages that will (mostly) never be used, how about mandating a debug
 target in library debian/rules files, so that when someone does need the
 debug package, it's trivial to build. Since the person most likely to
 need the target is the package maintainer, there would be some incentive
 to make sure it works.

Because segfaults are often not easily reproduced. Having the ability to
analyse a crash that occured when the user did not have the -dbg
packages installed is not possible unless you have the original symbols
the compiler created.

-Rob
-- 
GPG key available at: http://www.robertcollins.net/keys.txt.


signature.asc
Description: This is a digitally signed message part


Re: Mandatory -dbg packages for libraries?

2007-04-22 Thread Steve Greenland
On 22-Apr-07, 16:22 (CDT), Robert Collins [EMAIL PROTECTED] wrote: 
 On Sun, 2007-04-22 at 16:14 -0500, Steve Greenland wrote:
  On 22-Apr-07, 14:39 (CDT), Neil Williams [EMAIL PROTECTED] wrote: 
   
   I'd like to see all library source packages having a minimum of 4
   binary packages required by Policy: the SONAME, the -dev,  the -dbg and
   a -doc package. (Libraries for perl or other non-compiled languages
   would be exempt from -dbg packages but not -doc.)
  
  1. Rather than cluttering the archive and Packages file with -dbg
  packages that will (mostly) never be used, how about mandating a debug
  target in library debian/rules files, so that when someone does need the
  debug package, it's trivial to build. Since the person most likely to
  need the target is the package maintainer, there would be some incentive
  to make sure it works.
 
 Because segfaults are often not easily reproduced. Having the ability to
 analyse a crash that occured when the user did not have the -dbg
 packages installed is not possible unless you have the original symbols
 the compiler created.

That's an argument in favor of making the base library package built
with debug symbols and then stripped[1], not of requiring -dbg packages.

Steve

[1] This all seems vaguely familiar. Didn't we go through this argument
back in the late 90s? IIRC, we originally did ship libs with (stripped)
debug symbols, for just the reason that Robert is promoting.

-- 
Steve Greenland
The irony is that Bill Gates claims to be making a stable operating
system and Linus Torvalds claims to be trying to take over the
world.   -- seen on the net


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Mandatory -dbg packages for libraries?

2007-04-22 Thread Wouter Verhelst
On Sun, Apr 22, 2007 at 10:31:04PM +0200, Hendrik Sattler wrote:
 Am Sonntag 22 April 2007 22:12 schrieb Russ Allbery:
  Actually, you don't.  See the features of dh_strip introduced at debhelper
  level V5.  And of course you can do the same thing by hand.
 
  gdb will read the resulting detached debugging symbols automatically.
 
 Did you ever try to debug an application compiled with optimizations?

Irrelevant.

We're talking about *libraries* here, not applications. The main reason
why you want debugging symbols in a library is so that you can get a
reasonable backtrace in a bug report.

If you need to step into the library to figure out how a few function
calls work, then often you're debugging an application that uses the
library rather than the library itself. Stepping in and through the
library is only useful insofar that you can figure out whether you're
calling the library's API calls correctly; that doesn't need a whole lot
of going inside the library, at least not so much that having an
optimized library isn't annoying yet.

If you *are* debugging the library itself and not an application that
uses the library, then you probably need to recompile the library
anyway; at that point, doing it before throwing stuff through the
debugger (so that make after changing one or two lines in a file
doesn't take an hour) is a good idea; and while you're at it, compiling
with -O0 isn't very hard to do.

YMMV, of course.

-- 
Fun will now commence
  -- Seven Of Nine, Ashes to Ashes, stardate 53679.4


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Mandatory -dbg packages for libraries?

2007-04-22 Thread Neil Williams
On Sun, 22 Apr 2007 16:14:04 -0500
Steve Greenland [EMAIL PROTECTED] wrote:

 On 22-Apr-07, 14:39 (CDT), Neil Williams [EMAIL PROTECTED] wrote:
 
  I'd like to see all library source packages having a minimum of 4
  binary packages required by Policy: the SONAME, the -dev,  the -dbg
  and a -doc package. (Libraries for perl or other non-compiled
  languages would be exempt from -dbg packages but not -doc.)

 1. Rather than cluttering the archive and Packages file with -dbg
 packages that will (mostly) never be used,

Don't underestimate how many people either want to help fix bugs or
want to develop their own software. Why push them to Fedora?

It's bad enough that many upstream teams think that they have to test on
Fedora, Debian and SuSE.

 how about mandating a
 debug target in library debian/rules files, so that when someone
 does need the debug package, it's trivial to build. Since the person
 most likely to need the target is the package maintainer, there would
 be some incentive to make sure it works.

It complicates bug testing enormously if the bug tester has to rebuild
A DEPENDENCY of the package just to get the debug symbols - it's a
DIFFERENT build, it may hide or even replace certain bugs.

The person needing the lib -dbg is NOT the package maintainer, that's
my point - it's needed by upstream of the applications that use the
library.

Separate DD's from upstream - the needs of DD's do not always match the
needs of an upstream developer. In this case, the needs of the DD are
largely irrelevant - the needs of upstream are important.

Upstream are using SourceForge or Berlios, not Alioth. Upstream don't
use dh_strip or debhelper - they need us to provide what dh_strip can
give them. When I'm fixing bugs in the Gtk2 port of quicklist, why
should I have to rebuild gtk +extra2? It's a MUCH bigger package. Plus,
rebuilding it on my system may introduce bugs that would cause build
problems on other distributions that used the original gtk+extra2.

 2. Why a seperate -doc? API docs should be part of the -dev package.

In practice, such attitudes are commonly expressed as RTSL. (Read The
Source, Luke). That does NOT encourage upstream usage of Debian as a
distro.

Is man (3) really so hard for a DD to provide?

 I'm going to guess that for *most* libraries, the docs are a trivial
 part of the size of the -dev package. For those with significant
 documentation, sure, a seperate -doc makes sense, just as we do now.

I think libraries should be encouraged to provide significant
documentation - what we have now is simply not enough.

--

Neil Williams
=
http://www.data-freedom.org/
http://www.nosoftwarepatents.com/
http://www.linux.codehelp.co.uk/


pgpdTuUFSpODP.pgp
Description: PGP signature


Re: Mandatory -dbg packages for libraries?

2007-04-22 Thread gregor herrmann
On Sun, 22 Apr 2007 20:39:26 +0100, Neil Williams wrote:

 I'd like to see all library source packages having a minimum of 4
 binary packages required by Policy: the SONAME, the -dev,  the -dbg and
 a -doc package. (Libraries for perl or other non-compiled languages
 would be exempt from -dbg packages but not -doc.)

For most lib*-perl packages a separate -doc package seems like an
overkill to me; the package's overhead would probably be larger than
the actual contents for most of them.
 
gregor

-- 
 .''`.   http://info.comodo.priv.at/ | gpg key ID: 0x00F3CFE4
 : :' :  debian: the universal operating system - http://www.debian.org/
 `. `'   member of https://www.vibe.at/ | how to reply: http://got.to/quote/
   `-NP: Bob Dylan: Subterranean Homesick Blues


signature.asc
Description: Digital signature


Re: Mandatory -dbg packages for libraries?

2007-04-22 Thread Mark Brown
On Sun, Apr 22, 2007 at 04:40:45PM -0500, Steve Greenland wrote:

 That's an argument in favor of making the base library package built
 with debug symbols and then stripped[1], not of requiring -dbg packages.

Depends what you put in the -dbg package; it could be the symbols
stripped out of the main binary.

-- 
You grabbed my hand and we fell into it, like a daydream - or a fever.


signature.asc
Description: Digital signature


Re: Mandatory -dbg packages for libraries?

2007-04-22 Thread Sam Hocevar
On Sun, Apr 22, 2007, Neil Williams wrote:

  2. Why a seperate -doc? API docs should be part of the -dev package.
 
 In practice, such attitudes are commonly expressed as RTSL. (Read The
 Source, Luke). That does NOT encourage upstream usage of Debian as a
 distro.
 
 Is man (3) really so hard for a DD to provide?

   The idea is to provide man(3) *in* the -dev package if it's not
big enough to justify a package split.

-- 
Sam.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Mandatory -dbg packages for libraries?

2007-04-22 Thread Roger Leigh
Steve Greenland [EMAIL PROTECTED] writes:

 On 22-Apr-07, 14:39 (CDT), Neil Williams [EMAIL PROTECTED] wrote: 
 
 I'd like to see all library source packages having a minimum of 4
 binary packages required by Policy: the SONAME, the -dev,  the -dbg and
 a -doc package. (Libraries for perl or other non-compiled languages
 would be exempt from -dbg packages but not -doc.)

 1. Rather than cluttering the archive and Packages file with -dbg
 packages that will (mostly) never be used, how about mandating a debug
 target in library debian/rules files, so that when someone does need the
 debug package, it's trivial to build. Since the person most likely to
 need the target is the package maintainer, there would be some incentive
 to make sure it works.

When I have needed to debug problems in the past, this has sometimes
meant over a day of rebuilding large libraries when the problem covers
several shared libraries.  I would have saved hours if I could have
just installed some prebuilt -dbg packages and run gdb.  Even more
importantly, I want to use the debug package matching the version *and
build* the user reporting the problem has.  If it's due to e.g. a
buggy header in a build dependency causing a misbuild, I would miss
this when I rebuild it.  I have had this bite me in the past.

I would personally support the requirement for every binary library
package to have a separate -dbg package containing the debug symbols.
Even if they don't get regularly used, they are worth it for when
things go wrong.  We can then just ask the user to install libfoo-dbg
and send us a backtrace, whatever the package or library.  For big
and/or popular applications, it would also be nice to have -dbg
symbols for them as well.

If there are concerns over archive size, why don't we drop all static
.a libraries at the same time.  Given that in Debian we typically
always link dynamically, is there a need for .a libraries in all but a
handful of cases?

 2. Why a seperate -doc? API docs should be part of the -dev package. I'm
 going to guess that for *most* libraries, the docs are a trivial part of
 the size of the -dev package.

For libraries using doxygen, it can generate megabytes of
documentation, even for small libraries if you enable all the call
graphs and things.  Unless I'm actually developing using a particular
library directly, I don't want disk space wasted by its docs.  It also
means less to download when autobuilding stuff.

 For those with significant documentation, sure, a seperate -doc
 makes sense, just as we do now.

Agreed.


Regards,
Roger

-- 
  .''`.  Roger Leigh
 : :' :  Debian GNU/Linux http://people.debian.org/~rleigh/
 `. `'   Printing on GNU/Linux?   http://gutenprint.sourceforge.net/
   `-GPG Public Key: 0x25BFB848   Please GPG sign your mail.


pgpHH33cqVk9H.pgp
Description: PGP signature


Re: Mandatory -dbg packages for libraries?

2007-04-22 Thread Kurt Roeckx
On Sun, Apr 22, 2007 at 04:40:45PM -0500, Steve Greenland wrote:
 On 22-Apr-07, 16:22 (CDT), Robert Collins [EMAIL PROTECTED] wrote: 
  
  Because segfaults are often not easily reproduced. Having the ability to
  analyse a crash that occured when the user did not have the -dbg
  packages installed is not possible unless you have the original symbols
  the compiler created.
 
 That's an argument in favor of making the base library package built
 with debug symbols and then stripped[1], not of requiring -dbg packages.

Maybe you should take a look at what dh_strip and -dbg packages do.  It
strips the debug symbols and puts it in a seperate file that's put in
/usr/lib/debug.  You put those files with debug symbols only in the -dbg
package.

This means that you can just install the -dbg package and gdb will
automaticly pick up the debug symbols, without needing to rebuild
anything.


See objcopy's --only-keep-debug and --add-gnu-debuglink options.
(It's also in strip's manpage)


Kurt


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Mandatory -dbg packages for libraries?

2007-04-22 Thread Kurt Roeckx
On Sun, Apr 22, 2007 at 11:15:36PM +0100, Roger Leigh wrote:
 
 If there are concerns over archive size, why don't we drop all static
 .a libraries at the same time.  Given that in Debian we typically
 always link dynamically, is there a need for .a libraries in all but a
 handful of cases?

Dropping most .a libraries is something I agree with.  I see no reason
why we should have them for most of the libraries.


Kurt


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Mandatory -dbg packages for libraries?

2007-04-22 Thread Russ Allbery
Hendrik Sattler [EMAIL PROTECTED] writes:
 Am Sonntag 22 April 2007 22:56 schrieb Russ Allbery:
 Hendrik Sattler [EMAIL PROTECTED] writes:

 Did you ever try to debug an application compiled with optimizations?

 Yes, I do it all the time.

 Hmm, must be personal preference, then. It makes debugging loops and
 such things rather a strange thing. CMake obviously agrees as its
 default setting between release build and debug build act exactly like
 that.

It's certainly not ideal, and the control flow is often obscure.  But it's
better than nothing, and it's way easier to just use dh_strip than to do a
second compile of all the libraries, stash them somewhere, and then play
LD_LIBRARY_PATH games.  I've tracked down a lot of bugs with nothing more
than the current -dbg packages.  Indeed, the reason why there's a
libkrb5-dbg is precisely because I needed it to debug other Kerberos
packages I maintain.

-- 
Russ Allbery ([EMAIL PROTECTED])   http://www.eyrie.org/~eagle/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Mandatory -dbg packages for libraries?

2007-04-22 Thread Steinar H. Gunderson
On Sun, Apr 22, 2007 at 10:31:04PM +0200, Hendrik Sattler wrote:
 Did you ever try to debug an application compiled with optimizations?
 No, either you build an optimized version (-O2) or you build a debug version 
 (-g). If you want to debug what was coded, you better compile without 
 optimizations.

Often, single-stepping isn't required -- given a proper backtrace, you can
solve a _lot_ of problems. Heck, even just knowing what line things crashed
on will help for almost all segfaults that aren't related to heap corruption.

/* Steinar */
-- 
Homepage: http://www.sesse.net/


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Mandatory -dbg packages for libraries?

2007-04-22 Thread Mark Brown
On Sun, Apr 22, 2007 at 11:15:36PM +0100, Roger Leigh wrote:

 If there are concerns over archive size, why don't we drop all static
 .a libraries at the same time.  Given that in Debian we typically
 always link dynamically, is there a need for .a libraries in all but a
 handful of cases?

I'd be interested to see some numbers on the archive size impact - my
experience with C++ suggests that the size inflation caused by debug
symbols can be enormous.

-- 
You grabbed my hand and we fell into it, like a daydream - or a fever.


signature.asc
Description: Digital signature


Re: Mandatory -dbg packages for libraries?

2007-04-22 Thread Joey Hess
Neil Williams wrote:
   Certain packages have already had bug reports requesting a -dbg
   package.
 
  I'd rather see some offline debug-symbol infrastructure for all
  packages implemented, so that you can download the debug symbols when
  you need them.
 
 But the -dbg package only depends on the same version of the library -
 the library won't depend on the -dbg so those who need the -dbg are the
 only ones who would download and install them.

Each time this has come up before, the concern has been that adding -dbg
versions of every binary package would greatly inflate the size of the
archive, and nearly double the total number of packages, with associated
scalability problems.

Even with separated debugging symbols, -dbg packages are frequently
larger than the package they provide debugging symbols for. See for
example xserver-xorg-core-dbg. Looking through the 227 lib*-dbg
packages, I found few contain separated debugging symbols, except for
packages maintained by the xorg team[1]. I'm not sure if this is due
many people still not knowing about separated debugging symbols, or due
to technical reasons. For example, is there a tecnical reason why
libc6-dbg does not contain separated debugging symbols?

Anyway, doubling the size of the archive is less of an issue than it
might have been in the past, since we've done the archive split, and
since ftp-master has 1.4 Terabytes of disk with half that unused, but
it is still a concern, for mirrors, number of DVDs, etc.

Scalability issues with the number of packages have also been reduced in
some areas. apt no longer has to download the while Packages files on
each update, so it wouldn't take 2x the bandwidth to add -dbg packages
for every package to the Packages files. There would still be
significant impact in apt's memory usage, in the disk space used to
store the Packages files, in the UIs that have to somehow present or
hide all these -dbg packages, etc.

I've considered before trying to set up a separate, parallel archive
that would only hold the -dbg packages, but implementing that without
initially using the Debian infrastructure would be tough, and my
experiences with setting up[2]/maintaining the separate udeb section of
the archive is that it adds a lot of complexity.

Someone made a very good point that it's often and increasingly painful to
rebuild debugging versions for the whole library chain of a binary.
OTOH, rebuilding a debug version of the binary itself is not especially
hard.

So while I'd love to have a way to have -dbg packages available for
every binary, I actually am happy with this proposal to do it for only
every library (plus whatever other binaries really need it). And it's a
direction we're already moving in, with, as I mentioned, 227 lib*-dbg
packages already in the archive. That's more than 10% of all our
libraries already done[3].

So I suggest that we take this as an existing practice, document it as a
should in policy for now, document *how* to do separated debugging
symbols in the developers reference (which does not currently seem to
mention it at all), and go add -dbg versions of our library packages.

-- 
see shy jo, doing so for aalib now

[1] Who are doing a really nice job on their -dbg packages.
[2] Actually, the ftp-masters did all the real setup work.
[3] Conversely, there are only 62 -dbg packages for non-libraries..


signature.asc
Description: Digital signature


Re: Mandatory -dbg packages for libraries?

2007-04-22 Thread Darren Salt
I demand that Neil Williams may or may not have written...

[snip]
 Upstream are using SourceForge or Berlios, not Alioth. Upstream don't use
 dh_strip or debhelper 

And, of course, upstream is not a Debian package maintainer.

[snip]
-- 
| Darren Salt| linux or ds at  | nr. Ashington, | Toon
| RISC OS, Linux | youmustbejoking,demon,co,uk | Northumberland | Army
|   URL:http://www.youmustbejoking.demon.co.uk/ (PGP 2.6, GPG keys)

I'm writing a book... I've got the page numbers done.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Mandatory -dbg packages for libraries?

2007-04-22 Thread Mark Brown
On Sun, Apr 22, 2007 at 08:39:26PM +0100, Neil Williams wrote:

 I'd like to see all library source packages having a minimum of 4
 binary packages required by Policy: the SONAME, the -dev,  the -dbg and
 a -doc package. (Libraries for perl or other non-compiled languages
 would be exempt from -dbg packages but not -doc.)

Mandating a -doc package seems excessive unless it can just be a
Provides.  For the two libraries I maintain (both of which are pretty
straightforward) the provided documentation consists of a single manual
page and in one case some example code.  Putting them in a separate
package wouldn't feel terribly constructive to me.

What benefit do you see from forcing such a split?

-- 
You grabbed my hand and we fell into it, like a daydream - or a fever.


signature.asc
Description: Digital signature


Re: Mandatory -dbg packages for libraries?

2007-04-22 Thread Joey Hess
Mark Brown wrote:
 I'd be interested to see some numbers on the archive size impact - my
 experience with C++ suggests that the size inflation caused by debug
 symbols can be enormous.

I don't know about C++, but for C it depends. For example, aalib is a
102 kb library that compresses to 44kb. Its debug symbols are 234 kb and
compress to 65 kb. 

OTOH, people rarely need full debugging information for aalib, it's
probably plenty to see its functions in the backtrace, and not have line
number info (bear in mind that line number info includes effectively the
entire source code of the program). So it I build it with -g1, the
debug symbols size drops to 48 kb and compresses to 14 kb.

-- 
see shy jo


signature.asc
Description: Digital signature


Re: Mandatory -dbg packages for libraries?

2007-04-22 Thread Tshepang Lekhonkhobe

On 4/23/07, Joey Hess [EMAIL PROTECTED] wrote:

Anyway, doubling the size of the archive is less of an issue than it
might have been in the past, since we've done the archive split, and
since ftp-master has 1.4 Terabytes of disk with half that unused, but
it is still a concern, for mirrors, number of DVDs, etc.


It would be nice if the standard iso images that Debian makes
available could be made to exclude -dbg packages as a trade-off. It
actually felt painful someday when doing jigdo on the archive, only to
see loads of -dbg packages getting downloaded, and knowing I wasn't
ever gonna use 'em.


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



  1   2   >