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

Re: Build-depends method



Sven Luther <sven.luther@wanadoo.fr> wrote:

> Will this not catch also the programs that are probed but maybe not used
> or something ? An example is forexample a packages whose configure
> probes for either bison or yacc, but you need only one in the
> build-dependencies, or maybe not, since i guess this is build-essential
> or something.

Right, I would never trust the command mentioned by Steinar. Also, he
did put a smiley at the end of his mail, so I guess he didn't mean it
seriously.

> Maybe it would be better to check the actual build, not the configure
> process, and have some posttreatment which will explore the dependency
> tree and find the smallest subset thereof.

Frankly, I fail to understand the problem people have with:
  - thinking before your start filling in the Build-Depends (for tools
    that you need to do the build but are not shared libraries and won't
    be found by the following methods);
  - running "objdump -p" on the binaries included in the generated
    binary packages and using "dpkg -S" to find the corresponding dev
    packages (if the Dynamic Section lists libfoo.so.2 as NEEDED,
    "dpkg -S [/usr/lib/]libfoo.so" will usually find the dev package);
  - alternatively, looking in the Depends: fields generated by
    dh_shlibdeps and finding the related dev packages with "dpkg -L" and
    "dpkg -S" or your favorite apt/dpkg frontend;
  - always using your favorite apt/dpkg frontend to make sure your have
    considered all the alternatives for every dev package: e.g.,
    libfoo2-dev v.s. libfoo3-dev, sometimes there is also a virtual
    pacakge libfoo-dev which depends on the latest libfooX-dev, etc.
  - verifying that you don't build-depend on a build-essential package
    (I suppose you shouldn't build-depend on essential packages either).

And then trying a build with pbuilder to make sure you didn't forget
anything. As someone already mentioned in this thread, I believe,
comparing the Depends: fields of the package built by pbuilder and of
the package built on your system is also useful, since it can help you
detect components that were used for the build on your usual system
because of configure script auto-detection or some such but were not
*necessary* for the build to succeed and indeed weren't use for the
build in the pbuilder chroot.

I short, if you are not willing to do this little work, I cannot see how
you could decently consider submitting the package for inclusion in
Debian since everyone could do the same with checkinstall.

Note: for those who don't read, "you" is not Sven...

-- 
Florent



Reply to: