[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: checklib



On Wed, 30 May 2007 17:59:15 +0300, Guillem Jover <guillem@debian.org> said: 

> On Wed, 2007-05-30 at 02:19:33 -0500, Manoj Srivastava wrote:
>> On Thu, 24 May 2007 20:26:00 +0200, A Mennucc said:
>> > hi what about http://rerun.lefant.net/checklib/ ?
>> 
>> > madcoder mentioned in
>> > http://lists.debian.org/debian-devel/2007/01/msg00822.htmlof the
>> > intention of getting the checklib service up again: any progress?
>> 
>> Most of the incantations of checklib did so on a per binary object
>> basis -- which is useless in packages like fvwm, that have gazillions
>> of plugins generated from the same CFLAGS in a global makefile. If
>> some binary in a .deb needs it, a library can't be eliminated from
>> build depends, so the lib minimization can't be done.

> I don't think it's completely useless, it is for the purpose of
> reducing Build-Depends, but those plugins/programs are linking against
> stuff they don't actually need, and those libraries are loaded w/o a
> reason.  Reducing run-time "bloat" is good as well, I'm willing to fix
> those bugs on my packages and feed the fixes upstream!

        You do not understand the problem here; as the last incarnation
 I looked at, it was indeed completely useless for things like fvwm --
 since it worked on a binary by binary basis, instead of a per package
 basis. Since we do build depends on a package by package basis, looking
 at dependencies of individual binaries is not good enough. 

        Say a package as bin-foo, bin-bar, and bin-baz. They build
 depend, respectively, on libfoo-dev, libbar-dev, and libbaz-dev,
 respectively.

        When checklibs was run, it would report  
 libbar-dev, libbaz-dev, unneeded; looking at foo
 libfoo-dev,  libbaz-dev, unneeded; looking at bar
 libfoo-dev, libbar-dev, unneeded; looking at  baz

        End result: Uneedded: libfoo-dev, libbar-dev, and libbaz-dev

        Since that is patently wrong, the version of checklibs I looked
 at produced meaningless output -- for any package that had shared
 objects whose compile flags were not identical.

>> Has this been fixed in the latest incantation?

> Please "fix" this by adding an additional mode/view, not replacing the
> current one.


        Er, why? I have a working version that works on a package basis,
 not on a binary by binary basis, and it was a few lines of simple shell
 scripting.  Also, if I recall correctly, the original script was in
 python.  I don't do python.

        The original site where I got the old implementation
 (http://greek0.net/div/checklib.tar.gz) from is 404's now; the alioth
 checklib project has published nothing.  First rule of free software:
 publish early, publish often.

        manoj

-- 
During the voyage of life, remember to keep an eye out for a fair wind;
batten down during a storm; hail all passing ships; and fly your colors
proudly.
Manoj Srivastava <srivasta@debian.org> <http://www.debian.org/~srivasta/>
1024D/BF24424C print 4966 F272 D093 B493 410B  924B 21BA DABB BF24 424C



Reply to: