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