Nilesh Patra pushed to branch master at lintian / lintian
Commits:
bd3f28e6 by Nilesh Patra at 2026-05-12T19:59:17+05:30
New tag: package-installs-legacy-egg-info to flag packages using deprecated
setup.py (Closes: #1121735)
- - - - -
7b607fa2 by Nilesh Patra at 2026-05-12T19:59:17+05:30
Add test for tag "package-installs-legacy-egg-info"
- - - - -
11 changed files:
- lib/Lintian/Check/Languages/Python.pm
- +
t/recipes/checks/languages/python/package-uses-python-egg-info/build-spec/debian/install
- +
t/recipes/checks/languages/python/package-uses-python-egg-info/build-spec/debian/rules
- +
t/recipes/checks/languages/python/package-uses-python-egg-info/build-spec/fill-values
- +
t/recipes/checks/languages/python/package-uses-python-egg-info/build-spec/orig/package-uses-python-egg-info.egg-info/PKG-INFO
- +
t/recipes/checks/languages/python/package-uses-python-egg-info/build-spec/orig/package-uses-python-egg-info.egg-info/SOURCES.txt
- +
t/recipes/checks/languages/python/package-uses-python-egg-info/build-spec/orig/package-uses-python-egg-info.egg-info/dependency_links.txt
- +
t/recipes/checks/languages/python/package-uses-python-egg-info/build-spec/orig/package-uses-python-egg-info.egg-info/top_level.txt
- + t/recipes/checks/languages/python/package-uses-python-egg-info/eval/desc
- + t/recipes/checks/languages/python/package-uses-python-egg-info/eval/hints
- + tags/p/package-installs-legacy-python-egg-info.tag
Changes:
=====================================
lib/Lintian/Check/Languages/Python.pm
=====================================
@@ -295,6 +295,14 @@ sub visit_installed_files {
|| $item->name =~ m{^usr/lib/pyshared}
|| $item->name =~ m{^usr/share/});
+ # .egg-info (Python egg-info dir)
+ $self->pointed_hint('package-installs-legacy-python-egg-info',
+ $item->pointer)
+ if $item->name =~ /\.egg-info/
+ && ( $item->name =~ m{^usr/lib/python3/dist-packages}
+ || $item->name =~ m{^usr/lib/pyshared}
+ || $item->name =~ m{^usr/share/});
+
# /usr/lib/site-python
$self->pointed_hint('file-in-usr-lib-site-python', $item->pointer)
if $item->name =~ m{^usr/lib/site-python/\S};
=====================================
t/recipes/checks/languages/python/package-uses-python-egg-info/build-spec/debian/install
=====================================
@@ -0,0 +1 @@
+package-uses-python-egg-info.egg-info usr/lib/python3/dist-packages/
=====================================
t/recipes/checks/languages/python/package-uses-python-egg-info/build-spec/debian/rules
=====================================
@@ -0,0 +1,4 @@
+#!/usr/bin/make -f
+
+%:
+ dh $@
=====================================
t/recipes/checks/languages/python/package-uses-python-egg-info/build-spec/fill-values
=====================================
@@ -0,0 +1,4 @@
+Skeleton: upload-non-native
+Testname: package-uses-python-egg-info
+Description: Test for detecting egg-info installation
+Extra-Build-Depends: python3
=====================================
t/recipes/checks/languages/python/package-uses-python-egg-info/build-spec/orig/package-uses-python-egg-info.egg-info/PKG-INFO
=====================================
@@ -0,0 +1,3 @@
+Metadata-Version: 2.4
+Name: package-uses-python-egg-info
+Version: 0.0.0
=====================================
t/recipes/checks/languages/python/package-uses-python-egg-info/build-spec/orig/package-uses-python-egg-info.egg-info/SOURCES.txt
=====================================
@@ -0,0 +1,4 @@
+package-uses-python-egg-info.egg-info/PKG-INFO
+package-uses-python-egg-info.egg-info/SOURCES.txt
+package-uses-python-egg-info.egg-info/dependency_links.txt
+package-uses-python-egg-info.egg-info/top_level.txt
=====================================
t/recipes/checks/languages/python/package-uses-python-egg-info/build-spec/orig/package-uses-python-egg-info.egg-info/dependency_links.txt
=====================================
@@ -0,0 +1 @@
+
=====================================
t/recipes/checks/languages/python/package-uses-python-egg-info/build-spec/orig/package-uses-python-egg-info.egg-info/top_level.txt
=====================================
@@ -0,0 +1 @@
+basic
=====================================
t/recipes/checks/languages/python/package-uses-python-egg-info/eval/desc
=====================================
@@ -0,0 +1,2 @@
+Testname: package-uses-python-egg-info
+Check: languages/python
=====================================
t/recipes/checks/languages/python/package-uses-python-egg-info/eval/hints
=====================================
@@ -0,0 +1,6 @@
+package-uses-python-egg-info (binary): python-package-missing-depends-on-python
+package-uses-python-egg-info (binary): package-installs-legacy-python-egg-info
[usr/lib/python3/dist-packages/package-uses-python-egg-info.egg-info/top_level.txt]
+package-uses-python-egg-info (binary): package-installs-legacy-python-egg-info
[usr/lib/python3/dist-packages/package-uses-python-egg-info.egg-info/dependency_links.txt]
+package-uses-python-egg-info (binary): package-installs-legacy-python-egg-info
[usr/lib/python3/dist-packages/package-uses-python-egg-info.egg-info/]
+package-uses-python-egg-info (binary): package-installs-legacy-python-egg-info
[usr/lib/python3/dist-packages/package-uses-python-egg-info.egg-info/SOURCES.txt]
+package-uses-python-egg-info (binary): package-installs-legacy-python-egg-info
[usr/lib/python3/dist-packages/package-uses-python-egg-info.egg-info/PKG-INFO]
=====================================
tags/p/package-installs-legacy-python-egg-info.tag
=====================================
@@ -0,0 +1,11 @@
+Tag: package-installs-legacy-python-egg-info
+Severity: info
+Check: languages/python
+Explanation: The package installs <code>.egg-info</code> directory.
+ The modern replacement for <code>.egg-info</code> is <code>.dist-info</code>.
+ That means the package was possibly built using the deprecated <code>setup.py
+ install</code> mechanism. This should be usually converted to
+ <code>pybuild-plugin-pyproject</code>.
+See-Also: Bug#1121735,
+ https://wiki.debian.org/Python/PybuildPluginPyproject,
+
https://setuptools.pypa.io/en/stable/history.html#setup-install-deprecation-note
View it on GitLab:
https://salsa.debian.org/lintian/lintian/-/compare/556010ff6b94b33c0ea79ccfb9f0a3670f7c80ce...7b607fa286afcec7a9c8efb207b4e92b1a05f2bf
--
View it on GitLab:
https://salsa.debian.org/lintian/lintian/-/compare/556010ff6b94b33c0ea79ccfb9f0a3670f7c80ce...7b607fa286afcec7a9c8efb207b4e92b1a05f2bf
You're receiving this email because of your account on salsa.debian.org. Manage
all notifications: https://salsa.debian.org/-/profile/notifications | Help:
https://salsa.debian.org/help