Bug#944047: lintian: warn against Build-Depends-Package: #PACKAGE# in symbol files

2019-11-07 Thread Felix Lechner
Hi Sebastian,

On Mon, Nov 4, 2019 at 7:55 AM Sebastian Ramacher  wrote:
>
> So please warn against Build-Depends-Package
> lines of this form.

You are welcome to provide input on tag name, description, severity
and appearance. (Fellow maintainers, please chime in too.) The
proposed fix is located at:

https://salsa.debian.org/lintian/lintian/merge_requests/270

For 
http://deb.debian.org/debian/pool/main/libd/libdvdread/libdvdread_6.0.1-1.dsc
Lintian produces:

W: libdvdread source: package-placeholder-in-symbols-file
debian/libdvdread4.symbols, line 2

You can try it at home. Just clone the branch in the MR and run something like:

frontend/lintian -C debian/symbols ../libdvdread_6.0.1-1.dsc

> But lintian could probably check if the package specified under
> Build-Depends-Package contains the corresponding .so symlink.

Your suggestion is helpful but was not implemented. (This bug relates
to package sources, not installation packages.) If you would like to
see it in Lintian please clone this bug and retitle. Thanks!

Kind regards,
Felix Lechner



Bug#944047: lintian: warn against Build-Depends-Package: #PACKAGE# in symbol files

2019-11-04 Thread Felix Lechner
Hi Sebastian,

On Sun, Nov 3, 2019 at 2:24 AM Sebastian Ramacher  wrote:
>
> | * Build-Depends-Package: #PACKAGE#

In addition to your new tag, we can probably also check for the
following conditions:

1. Prerequisite is not a development package (does not end with -dev)
2. Prerequisite is not being built from the same source package.

Do those make any sense? Also, could the field Build-Depends-Package
list more than one prerequisite?

Kind regards,
Felix Lechner



Bug#944047: lintian: warn against Build-Depends-Package: #PACKAGE# in symbol files

2019-11-04 Thread Felix Lechner
Hi Sebastian,

On Sun, Nov 3, 2019 at 8:36 AM Sebastian Ramacher  wrote:
>
> No, I don't. But I am also not a fan of that tag.

FWIW, the tag description now points out that the placeholder
#PACKAGE# should not be used. Perhaps it deters some people.


https://salsa.debian.org/lintian/lintian/commit/641301054c3e99dac357fc9da0b3ddc9274a5a8e

Kind regards,
Felix Lechner



Bug#944047: lintian: warn against Build-Depends-Package: #PACKAGE# in symbol files

2019-11-03 Thread Sebastian Ramacher
Hi Felix

On 2019-11-03 05:49:59, Felix Lechner wrote:
> On Sun, Nov 3, 2019 at 2:24 AM Sebastian Ramacher  
> wrote:
> >
> > In libdvdread 6.0.1-1, the following line was added to "fix" the
> > lintian info on the missing Build-Depends-Package:
> >
> > | * Build-Depends-Package: #PACKAGE#
> >
> > This causes the package name of the shared library to be substituted,
> > and not the -dev package. So please warn against Build-Depends-Package
> > lines of this form.
> 
> That's funny. I often thought about doing the same. It seems some
> program in the middle should be smart enough to fill it in.

Nobody wrote that program yet.

> Isn't that
> what happens to #MINVAR?

#MINVER# is not replaced at build time. Installed symbol files still
contain #MINVER#, wheras #PACKAGE# gets replaced during package build.

As for your new Lintian tag, we like to start
> them on the lower end of their severity. Would 'I' (informational) be
> okay for now?
> 
> Also, do you have any suggestions on how to fix the tag description
> for symbols-file-missing-build-depends-package-field? We should
> perhaps clarify that #PACKAGE# is not the right value to use.

No, I don't. But I am also not a fan of that tag.

> I looked briefly at the relevant portions of dpkg-shlibdeps (1),
> policy [2], deb-symbols (5) and the Debian Maintainer's Guide [3]
> (dpkg-gensymbols does not mention the field) but I could not find
> much. Is there a variable that would work?

No, not as far as I am aware.

Cheers

> 
> Kind regards,
> Felix Lechner
> 
> [1] 
> https://lintian.debian.org/tags/symbols-file-missing-build-depends-package-field.html
> [2] 
> http://www.debian.org/doc/debian-policy/ch-sharedlibs.html#s-sharedlibs-symbols
> [3] 
> https://www.debian.org/doc/manuals/maint-guide/advanced.en.html#librarysymbols

-- 
Sebastian Ramacher


signature.asc
Description: PGP signature


Bug#944047: lintian: warn against Build-Depends-Package: #PACKAGE# in symbol files

2019-11-03 Thread Felix Lechner
Hi Sebastian,

On Sun, Nov 3, 2019 at 2:24 AM Sebastian Ramacher  wrote:
>
> In libdvdread 6.0.1-1, the following line was added to "fix" the
> lintian info on the missing Build-Depends-Package:
>
> | * Build-Depends-Package: #PACKAGE#
>
> This causes the package name of the shared library to be substituted,
> and not the -dev package. So please warn against Build-Depends-Package
> lines of this form.

That's funny. I often thought about doing the same. It seems some
program in the middle should be smart enough to fill it in. Isn't that
what happens to #MINVAR? As for your new Lintian tag, we like to start
them on the lower end of their severity. Would 'I' (informational) be
okay for now?

Also, do you have any suggestions on how to fix the tag description
for symbols-file-missing-build-depends-package-field? We should
perhaps clarify that #PACKAGE# is not the right value to use.

I looked briefly at the relevant portions of dpkg-shlibdeps (1),
policy [2], deb-symbols (5) and the Debian Maintainer's Guide [3]
(dpkg-gensymbols does not mention the field) but I could not find
much. Is there a variable that would work?

Kind regards,
Felix Lechner

[1] 
https://lintian.debian.org/tags/symbols-file-missing-build-depends-package-field.html
[2] 
http://www.debian.org/doc/debian-policy/ch-sharedlibs.html#s-sharedlibs-symbols
[3] 
https://www.debian.org/doc/manuals/maint-guide/advanced.en.html#librarysymbols



Bug#944047: lintian: warn against Build-Depends-Package: #PACKAGE# in symbol files

2019-11-03 Thread Sebastian Ramacher
Package: lintian
Version: 2.32.0
Severity: wishlist

From deb-symbols(5):
| Build-Depends-Package
|   It indicates the name of the “-dev” package associated to the
|   library and is  used  by  dpkg-shlibdeps  to  make  sure  that  the
|   dependency generated is at least as strict as the corresponding build
|   dependency (since dpkg 1.14.13).

In libdvdread 6.0.1-1, the following line was added to "fix" the
lintian info on the missing Build-Depends-Package:

| * Build-Depends-Package: #PACKAGE#

This causes the package name of the shared library to be substituted,
and not the -dev package. So please warn against Build-Depends-Package
lines of this form.

Cheers


-- System Information:
Debian Release: bullseye/sid
  APT prefers unstable-debug
  APT policy: (650, 'unstable-debug'), (650, 'unstable'), (601, 'testing'), 
(600, 'experimental-debug'), (600, 'buildd-unstable'), (600, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.3.0-1-amd64 (SMP w/8 CPU cores)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, 
TAINT_UNSIGNED_MODULE
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8), LANGUAGE=en_US:en 
(charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages lintian depends on:
ii  binutils 2.33.1-2
ii  bzip21.0.8-2
ii  coreutils8.30-3+b1
ii  diffstat 1.62-1+b1
ii  dpkg 1.19.7
ii  dpkg-dev 1.19.7
ii  file 1:5.37-6
ii  gettext  0.19.8.1-9
ii  gpg  2.2.17-3
ii  intltool-debian  0.35.0+20060710.5
ii  libapt-pkg-perl  0.1.36+b2
ii  libarchive-zip-perl  1.67-1
ii  libberkeleydb-perl   0.62-1+b1
ii  libcapture-tiny-perl 0.48-1
ii  libcgi-pm-perl   4.44-1
ii  libclass-accessor-perl   0.51-1
ii  libclone-perl0.41-1+b2
ii  libdpkg-perl 1.19.7
ii  libemail-valid-perl  1.202-1
ii  libfile-basedir-perl 0.08-1
ii  libfile-find-rule-perl   0.34-1
ii  libio-async-loop-epoll-perl  0.20-1
ii  libio-async-perl 0.74-1
ii  libipc-run-perl  20180523.0-2
ii  liblist-compare-perl 0.53-1
ii  liblist-moreutils-perl   0.416-1+b5
ii  libmldbm-perl2.05-2
ii  libmoo-perl  2.003006-1
ii  libpath-tiny-perl0.108-1
ii  libtext-levenshtein-perl 0.13-1
ii  libtimedate-perl 2.3000-2
ii  libtry-tiny-perl 0.30-1
ii  libtype-tiny-perl1.004004-1
ii  liburi-perl  1.76-1
ii  libxml-simple-perl   2.25-1
ii  libyaml-libyaml-perl 0.80+repack-2+b1
ii  man-db   2.9.0-1
ii  patchutils   0.3.4-2+b1
ii  perl [libdigest-sha-perl]5.30.0-9
ii  t1utils  1.41-3
ii  xz-utils 5.2.4-1+b1

Versions of packages lintian recommends:
ii  libperlio-gzip-perl  0.19-1+b6

Versions of packages lintian suggests:
pn  binutils-multiarch 
ii  libhtml-parser-perl3.72-3+b4
ii  libtext-template-perl  1.55-1

-- no debconf information

-- 
Sebastian Ramacher


signature.asc
Description: PGP signature