Bug#944047: lintian: warn against Build-Depends-Package: #PACKAGE# in symbol files
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
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
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
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
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
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