Re: sorting through xlibs-dev dependencies?
On Sat, Dec 18, 2004 at 10:39:37PM +0000, Helen Faulkner wrote:
> I hope this isn't a too dumb question!
*peeking forward*: no, it isn't.
> xwrits currently depends on xlibs-dev. Frank suggests that I replace that
> with only the needed dependencies.
> So, the only thing I thought to do is
> a) look at every header file that is #included in the xwrits code
> b) use dlocate or similar to see which packages all those headers are in.
> c) make xwrits build-depend on those packages.
> But this will take me quite a long time. I wondered if I am missing
> something obvious and there is a better way to do it. Or am I on the right
> track after all.
Four possibilities come to mind:
a) start out in a clean chroot, and use auto-apt to build your package.
auto-apt will ask you to install exactly the x build-depends you
need. However, auto-apt is a pain to setup in my experience, plus it
probably isn't necessarily correct (depending on the complexitiy of
the configure script, it could be just detecting stuff without
actually needing it, or the other way around, detecting without
auto-apt noticing that some lib is not available, while it would
Advantage is that it will also catch any library that could maybe
b) start out with xlibs-dev installed, make sure you don't run X at the
moment (or in that chroot, if you're doing this in a chroot), build
your package, and use find to look for file that were accessed during
the build (atime changed). You can run this list through apt-file or
though all /var/lib/dpkg/info/*.list
An easier alternative that's nearly the same is using dpkg-depcheck,
it's slower in execution time, but easier and possibly more correct
(as it catches stats too, although I doubt it would make a
c) simply build the package, look at the generated shlibdeps, and deduct
the -dev packages needed. Test that if you build your package only
with those X lib packages installed, the same shlibs will result (I
followed this strategy with one of my packages, and this way missed
one library, because I didn't check carefully enough. So I ended up
unintentionally disabling a feature in my program...
d) Tell Frank to not be so annoying, since the advantage (a bit less
build-deps needed during build time, but no differences in the
resulting .debs) does not outweight the possible issues you're
introducing now or in the future by making a mistake here, nor the
excessive amount of time it takes doing this right... ;-)
Thanks for maintaining this package btw, it's exactly as annoying as it
Jeroen van Wolffelaar
Jeroen@wolffelaar.nl (also for Jabber & MSN; ICQ: 33944357)