Bug#1031377: UDD/lintian: Needs to run lintian on all binaries generated from same source

2023-09-27 Thread Paul Wise
On Thu, 16 Feb 2023 15:05:24 +0100 Lucas Nussbaum wrote:

> What could work is:
>   run lintian on source
>   for each arch in the packages's architectures (except all)
>  run lintian on architecture packages + architecture 'all' packages
> 
> But would that solve all issues?

I discovered that it does not solve all issues.

For example src:rust-bat builds bat. When you run lintian against the
dsc and the deb it emits missing-notice-file-for-apache-license for the
source package, but when you run it against only the dsc or only the
deb it does not emit that tag. That is because the test checks that the
NOTICE file from the source package is missing from the binary package.

https://lists.debian.org/msgid-search/8062de5e3a1afbe988ce3d5453d211089242ba2a.ca...@debian.org

-- 
bye,
pabs

https://wiki.debian.org/PaulWise


signature.asc
Description: This is a digitally signed message part


Bug#1031377: UDD/lintian: Needs to run lintian on all binaries generated from same source

2023-02-16 Thread Lucas Nussbaum
(Adding lintian-ma...@debian.org to Cc for input)

On 16/02/23 at 11:18 +0800, Paul Wise wrote:
> On Thu, 2023-02-16 at 01:17 +0100, Guillem Jover wrote:
> 
> > it would need to get the list of binary packages for a source and
> > lint all of them with the same lintian call.
> 
> The usual way of running lintian after a build checks all binary
> packages and the source at the same time. I think UDD should do that.

That's not very convenient because UDD/lintian runs lintian for each
architecture, and lintian's output does not include the architecture for
binary packages, so I just get something like:
C: libbsd0: control-tarball-compression-format xz
C: libbsd0: control-tarball-compression-format xz
C: libbsd0: control-tarball-compression-format xz
C: libbsd0: control-tarball-compression-format xz
C: libbsd0: control-tarball-compression-format xz
C: libbsd0: control-tarball-compression-format xz
C: libbsd0: control-tarball-compression-format xz
C: libbsd0: control-tarball-compression-format xz
C: libbsd0: control-tarball-compression-format xz
with no way of linking emmitted tags to a specific architecture...

What I could do is:
  for each arch in the packages's architectures (except all)
 run lintian on source + architecture packages + architecture 'all' packages

... but that would result in a much longer runtime...


What could work is:
  run lintian on source
  for each arch in the packages's architectures (except all)
 run lintian on architecture packages + architecture 'all' packages

But would that solve all issues?

The best way out is probably to have lintian optionally suffix packages
names with architecture, and then do a single lintian run with all
binaries for all architectures...

Lucas



Bug#1031377: UDD/lintian: Needs to run lintian on all binaries generated from same source

2023-02-15 Thread Paul Wise
On Thu, 2023-02-16 at 01:17 +0100, Guillem Jover wrote:

> it would need to get the list of binary packages for a source and
> lint all of them with the same lintian call.

The usual way of running lintian after a build checks all binary
packages and the source at the same time. I think UDD should do that.

-- 
bye,
pabs

https://wiki.debian.org/PaulWise


signature.asc
Description: This is a digitally signed message part


Bug#1031377: UDD/lintian: Needs to run lintian on all binaries generated from same source

2023-02-15 Thread Guillem Jover
Package: qa.debian.org
Severity: normal
User: qa.debian@packages.debian.org
Usertags: udd

Hi!

There are some lintian tags (I know at least of
lacks-unversioned-link-to-shared-library), which require multiple
packages to be linted together for them to be emitted. In this case
libfooN and libfoo-dev for example. I'm getting unused-override tags
as these are not triggering (an example would be libbsd).

I guess the lintian runner used by UDD is executing lintian for each
.deb independently, because I assume it has no access to the .changes
files? If so, to avoid these false positives, it would need to get the
list of binary packages for a source and lint all of them with the same
lintian call.

Thanks,
Guillem