#1148716 lintian: False positive python3-script-but-no-python3-dep for Apport hook

#1148716#5
Date:
2026-09-22 13:41:57 UTC
From:
To:
Dear Maintainer,

I saw this lintian complaint on rust-sudo-rs on Ubuntu:

E: sudo-rs: python3-script-but-no-python3-dep /usr/bin/python3 (does not satisfy python3:any | python3-minimal:any) [usr/share/apport/package-hooks/source_rust-sudo-rs.py]

This is a false positive IMO. Packages can ship Apport hooks that are
Python 3 scripts. But they will only be used by Apport (which depends on
Python).

So please ignore Python files in /usr/share/apport/package-hooks.

#1148716#10
Date:
2026-09-22 14:49:19 UTC
From:
To:
Hi,

In this case, the tag may have some merit, though. That tag is emitted in cases where the script is executable file. I downloaded the package for ubuntu and
can see the same

$ dpkg -c sudo-rs_0.2.13-0ubuntu1.2_amd64.deb | grep apport
drwxr-xr-x root/root         0 2026-08-27 10:15 ./usr/share/apport/
drwxr-xr-x root/root         0 2026-08-27 10:15 ./usr/share/apport/package-hooks/
-rwxr-xr-x root/root      1331 2026-07-09 09:35 ./usr/share/apport/package-hooks/source_rust-sudo-rs.py

I haven't used apport (it probably is more of an ubuntu thing?) but in almost all packages that I looked for apport hooks, I don't see the hook files to be
executable.

Would one still expect this tag to not be emitted in case they have executable hooks? If so, I have a tiny patch and I can quickly merge it to skip dependency
relation checks for apport/packages-hooks.

Let me know.

Thanks,
Nilesh

#1148716#15
Date:
2026-09-22 16:15:46 UTC
From:
To:
Good point. The hook is sourced by Apport and does not need to be
executable. I uploaded rust-sudo-rs 0.2.14-1ubuntu4 where it is removed.

So keeping the tag makes sense to me. Could we update the help text to
mention the alternative solution to not make the script executable (and
mention Apport hooks as one example for this)?

#1148716#20
Date:
2026-09-22 17:04:32 UTC
From:
To:
Done in https://salsa.debian.org/lintian/lintian/-/merge_requests/812 could you PTAL?

Thanks,
Nilesh

#1148716#23
Date:
2026-09-23 19:15:13 UTC
From:
To:
Hello,

Bug #1148716 in lintian reported by you has been fixed in the
Git repository and is awaiting an upload. You can see the commit
message below and you can check the diff of the fix at:

https://salsa.debian.org/lintian/lintian/-/commit/9778e46adb8f01bb733d5592a047b5cb3c87f8d6
------------------------------------------------------------------------
tags(script with missing dependencies): Mention about making script non-executable for cases where the script would not be used by the package directly (Closes: #1148716)
------------------------------------------------------------------------

(this message was generated automatically)
-- 
Greetings

https://bugs.debian.org/1148716

#1148716#30
Date:
2026-10-09 21:34:20 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
lintian, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1148716@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Louis-Philippe Véronneau <pollo@debian.org> (supplier of updated lintian package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Fri, 09 Oct 2026 17:16:31 -0400
Source: lintian
Architecture: source
Version: 2.142.0
Distribution: unstable
Urgency: medium
Maintainer: Debian Lintian Maintainers <lintian-maint@debian.org>
Changed-By: Louis-Philippe Véronneau <pollo@debian.org>
Closes: 1147715 1148076 1148185 1148716 1148838 1148880 1149119
Changes:
 lintian (2.142.0) unstable; urgency=medium
 .
   [ Louis-Philippe Véronneau ]
   * Update old and ancient Python versions and simplify tags' code
 .
   [ Nilesh Patra ]
   * Testsuite.pm: resolve d/t/control via `->child` call for special case
     where d/tests is a file and simplify logic
   * Systemd.pm: Make key extraction non-greedy so it does not consume the
     space in key value (Closes: #1147715)
   * tests(systemd-complex-service-file): Adjust hints with fix for #1147715
   * tags(script with missing dependencies): Mention about making script
     non-executable for cases where the script would not be used by the package
     directly (Closes: #1148716)
   * Drop tag `go-source-package-does-not-include-version` and do not emit
     `go-library-package-does-not-include-version` with `oldlibs` as section
     (Closes: #1148838)
   * tests(golang-package-without-version-suffix): tweak test to check against
     #1148838
   * Python.pm: Add python3-flit also to check for `flit_core.buildapi`
     (Closes: #1148880)
   * Python.pm: Drop `:any` from the check for python modules for dependency
     checking in pyproject.toml
   * tests: Adjust python-could-use-pyproject-* with `:any` dropped
   * Rules.pm: Do not emit `override_dh_foo-does-not-call-dh_foo` when override
     targets use `$(DH_OVERRIDDEN_COMMAND)` (Closes: #1149119)
   * tests(rules-override-dh-foo-does-not-call-dh-foo-unrel): Check for
     `$(DH_OVERRIDDEN_COMMAND)` as a check for #1149119
 .
   [ Soren Stoutner ]
   * Bump font-in-non-font-package from severity info to warning
     (Closes: #1148076)
   * Add a woff-font-in-wrong-dir tag (Closes: #1148185)
 .
   [ Sébastien Villemot ]
   * arch-dep-package-has-big-usr-share: fix devref section pointer
 .
   [ Sylvestre Ledru ]
   * Index/Elf.pm: ask readelf only for what we parse
   * Spelling.pm: cut the per-word work in check_spelling
 .
   [ Lucas Nussbaum ]
   * Group.pm: fix --perf-debug to actually emit performance CSV
   * bin/lintian: export LINTIAN_PERF_DEBUG and let Index default from env
   * Index: time the lazy data collectors and report under -d and --perf-debug
Checksums-Sha1:
 0e39b6a75b95ccd2aad0cdef66ed017477582153 3694 lintian_2.142.0.dsc
 955834b35b63105166e45513e7bcb0c2e410f974 2080952 lintian_2.142.0.tar.xz
 bfc0d75279c44a32fdb9039d0d32cd623560745f 12064 lintian_2.142.0_amd64.buildinfo
Checksums-Sha256:
 a2966a7c3a069cb6f8588cc88e9b08019468b090153a148b53f1a0a261435470 3694 lintian_2.142.0.dsc
 3f70c58cb5f2564aa5a103670aa1d893bc5447658222d2168f01f5d67721d2f2 2080952 lintian_2.142.0.tar.xz
 35421c50190260e8fcb7ae06380b1b75f13f6a5047de6e81106b89186019a071 12064 lintian_2.142.0_amd64.buildinfo
Files:
 7479d291900c7b3c70cb511f7830c236 3694 devel optional lintian_2.142.0.dsc
 e9bc2f59f1f31fd4800153c56c825e67 2080952 devel optional lintian_2.142.0.tar.xz
 f8840135df2dcced5b58e7d467fee216 12064 devel optional lintian_2.142.0_amd64.buildinfo
-----BEGIN PGP SIGNATURE-----

iHUEARYKAB0WIQTKp0AHB6gWsCAvw830JXpQshz6hQUCaslacAAKCRD0JXpQshz6
hbz6AQCE4uRTHwJXatqDILea5/bPj6j7QgkKd+8FZUxaRFVeXgEA0pu/8a/xyZ2B
8nNGZGWldFq9X6KbUhpXQ+alCO7d8Ac=
=+L98
-----END PGP SIGNATURE-----