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

Bug#998165: debian-policy: document and allow Description in the source paragraph



On Mon, 27 Dec 2021 at 15:08:03 -0700, Nicholas D Steeves wrote:
> The following is only Informational level, but the existence of
> Lintian's "duplicate-long-description" tag suggests that producing
> duplicate bin:Descriptions in bin:libfoo and bin:foo packages is not
> ideal, thus a straight copy from src:Description is not ideal.  I'm not
> sure what the best way to solve this is, but substvar looks like a good
> solution.

I believe the intention is to automate this pattern, which a lot of
packages with shared libraries are already using:

    Source: dbus

    Package: dbus
    Description: simple interprocess messaging system (system message bus)
     D-Bus is a message bus, used for sending messages between applications.
     [the real Description goes into more detail here]
     .
     This package provides a fully-functional D-Bus system bus [etc.]

    Package: libdbus-1-3
    Description: simple interprocess messaging system (library)
     D-Bus is a message bus, used for sending messages between applications.
     [the real Description goes into more detail here]
     .
     This package provides the runtime library for use by applications.

    Package: libdbus-1-dev
    Description: simple interprocess messaging system (development files)
     D-Bus is a message bus, used for sending messages between applications.
     [the real Description goes into more detail here]
     .
     This package provides development headers and a static library.

by turning it into something like this:

    Source: dbus
    Description: simple interprocess messaging system
     D-Bus is a message bus, used for sending messages between applications.
     [the real Description goes into more detail here]

    Package: dbus
    Description: simple interprocess messaging system (system message bus)
     ${source:Description}
     .
     This package provides a fully-functional D-Bus system bus [etc.]

    Package: libdbus-1-3
    Description: simple interprocess messaging system (library)
     ${source:Description}
     .
     This package provides the runtime library for use by applications.

    Package: libdbus-1-dev
    Description: simple interprocess messaging system (development files)
     ${source:Description}
     .
     This package provides development headers and a static library.

which eliminates a lot of the duplication. Is that correct?

> This appears to conflict with the "duplicate-long-description" tag.  Of
> course, Lintian isn't Policy

Lintian tags/hints aren't a reason to do something on their own: the
causality should be the other way round (Lintian should remind maintainers
about things that are already undesirable, rather than something being
undesirable solely because Lintian says so).

However, the rationale given in the long descriptions of Lintian
tags/hints should point to a reason why it's better to avoid the tagged
behaviour, and that reason is the thing to pay attention to.

In the case of binary package descriptions, I believe the reasoning is:
the Description of a package should tell you whether you might want to
install it. If the Description is identical, then by definition it can't
tell you why you would want to install dbus but not libdbus-1-dev, or
vice versa; and if there is no reason why you would want to install one
but not the other, then they should usually be combined into one larger
package (although multiarch and Architecture: any vs. all sometimes mean
that things need to be split for technical reasons even though there is
no user-facing reason for them to be separate).

    smcv


Reply to: