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

Bug#328951: Clarification for difference between Build-Depends and Build-Depends-Indep (Section 7.6)

reopen 328951 !

While my specific concern is a bit different than Christoph's, it is
closely enough related that I'm including it in the same bug report;
feel free to separate it if you prefer.

My biggest concern is that Section 7.6 makes it very difficult to
distinguish between Build-Depends and Build-Depends-Indep. The first
hurdle is that the list of targets for which each must be satisfied are
not mutually disjoint, yet they are ordered differently. Build-Depends
must be satisfied to invoke:

    build, clean, binary, binary-arch, build-arch, build-indep and binary-indep

while Build-Depends-Indep must be satisfied to invoke:

    build, build-indep, binary and binary-indep

Now, quick, tell me the difference between those two lists? If you don't
already understand it, each target that requires Build-Depends-Indep
must be manually searched for in Build-Depends.

I can think of three ways to make this clearer:

    1) Put the common elements in the two lists in the same order,
    placing them all at either the begining or end of the lists.

    2) Explicitely mention which targets are different between the two
    (clean, binary-arch, build-arch), or even bold those that are

    3) Invert the structure of the table to show which dependencies must
    be satisfied for which target rather than which target must be
    satisfied for which dependencies.

Number 3 would work something like this:

    The dependencies and conflicts they define must be satisfied (as
    defined earlier for binary packages) in order to invoke the targets
    in debian/rules, as follows:

        clean, binary-arch, build-arch

            Only the Build-Depends and Build-Conflicts fields must be
            satisfied when any of the following targets is invoked:
            clean, binary-arch, build-arch.

        build, build-indep, binary, and binary-indep

            The Build-Depends, Build-Conflicts, Build-Depends-Indep, and
            Build-Conflicts-Indep fields must be satisfied when any of
            the following targets is invoked: build, build-indep,
            binary, and binary-indep.

I don't care very much how this is explained, but I must admit that the
current policy makes it unnecessarily difficult to discover the simple
fact that packages required by the clean target must be depended on
using Build-Depends and not Build-Depends-Indep.


One of the great discoveries
Goodbye! shaving brush
Old men look younger
Young men look handsomer
Very fine for the skin

Attachment: signature.asc
Description: Digital signature

Reply to: