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

Bug#41232: debian-policy: [PROPOSAL] Build-time dependencies on binary packages



Are the -Conflicts headers really necessary?  So far I have not been
able to think of a use for them, and they complicate the task of the
build daemons ("install everything needed to build this package")
unnecessarily.  We've already seen with binary dependencies that
the Conflicts relationships create the most difficult problems.

If package foo has Build-Conflicts: bar, it means that the *presence*
of bar will prevent foo from building correctly.  I consider that a
bug!  Adding support for this would condone such bugs.

I propose that the -Conflicts headers be dropped, unless there is
an example of when they would be good and useful.  I've already
considered a few:

  - Problem: There are two conflicting development environments (let's
    call them tk40-dev and tk41-dev :-), and foo needs the right one.
    Solution: foo declares a Build-Depends on tk41-dev, and tk41-dev
    conflicts with tk40-dev.
  - Problem: Package foo needs debassistant >= 0.8 to build, but
    will not work with debassistant version 0.93 which has a horrible bug.
    Solution: foo declares
          Build-Depends: debassistant (>= 0.8),
                         debassistant (<< 0.93) | debassistant (>> 0.93)

Is there any case where one would want a Build-Conflicts?  Allowing
them will complicate all the code that deals with build dependencies,
whether they are used or not.

Richard Braakman


Reply to: