Bug#1121427: trixie-pu: package pylint-django/2.0.13-5+deb13u1
Package: release.debian.org
Severity: normal
Tags: trixie
X-Debbugs-Cc: pylint-django@packages.debian.org, igo95862@yandex.ru
Control: affects -1 + src:pylint-django
User: release.debian.org@packages.debian.org
Usertags: pu
The runtime dependency of pylint-django, astroid, has been updated in
trixie in a way that broke pylint-django, but because of a deficient
error-handling code, this was never caught:
try:
# pylint: disable=import-outside-toplevel
from pylint_django.augmentations import apply_augmentations
apply_augmentations(linter)
except ImportError:
# probably trying to execute pylint_django when Django isn't installed
# in this case the django-not-installed checker will kick-in
pass
This code is supposed to catch the absence of Django, but also catches
and silences the no longer correct import in
pylint_django/augmentations/__init__.py.
This upload fixes the import to match what the astroid package in trixie
provides.
Without this change, pylint-django is completely unusable in trixie (see
#1121404).
[ Tests ]
I have added a new smoke autopkgtest that verifies that the package can
actually be imported.
[ Risks ]
The fix is trivial.
[ Checklist ]
[x] *all* changes are documented in the d/changelog
[x] I reviewed all changes and I approve them
[x] attach debdiff against the package in (old)stable
[x] the issue is verified as fixed in unstable
[ Changes ]
1. A new patch fixes the import paths. No backwards compatibility
provided (no fallback imports).
2. A new autopkgtest verifies the import actually succeeds.
3. The package used to run unit tests at some point in the past, but
this is no longer the case: the test is broken (as it requires parts of
pylint source package not shipped in the binary package), and is not
enabled. To reduce potential confusion, I have deleted this file.
4. A trivial salsa-ci.yml file is added to enable running the
autopkgtest on Salsa prior to the upload.
[ Other info ]
As can be evidenced seen at https://salsa.debian.org/python-team/packages/pylint-django/-/pipelines,
the new autopkgtest catches the issue.
diff --git a/debian/changelog b/debian/changelog
index b4c2ce0ad5ec..0edc8864d5e4 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,12 @@
+pylint-django (2.0.13-5+deb13u1) trixie; urgency=medium
+
+ * Add salsa-ci.yml.
+ * Add smoke autopkgtest.
+ * Delete unused broken unit-tests-p3 autopkgtest.
+ * Fix scoped_nodes import (Closes: #1121404).
+
+ -- Andrej Shadura <andrewsh@debian.org> Wed, 26 Nov 2025 10:45:39 +0100
+
pylint-django (2.0.13-5) unstable; urgency=medium
* QA upload.
diff --git a/debian/patches/fix-import-scoped-nodes.patch b/debian/patches/fix-import-scoped-nodes.patch
new file mode 100644
index 000000000000..a0896bbaeabb
--- /dev/null
+++ b/debian/patches/fix-import-scoped-nodes.patch
@@ -0,0 +1,38 @@
+From: Carl <git@carlcrowder.com>
+Date: Sun, 2 Jan 2022 12:20:22 +0100
+Subject: Fix import of scoped nodes as some members moved
+
+Bug-Debian: https://bugs.debian.org/1121404
+Origin: backport, https://github.com/pylint-dev/pylint-django/commit/9811df2dcbc766077bcca088a8d11366f369821b.patch
+---
+ pylint_django/augmentations/__init__.py | 2 +-
+ pylint_django/transforms/fields.py | 3 ++-
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/pylint_django/augmentations/__init__.py b/pylint_django/augmentations/__init__.py
+index 27571b5..5f469e2 100644
+--- a/pylint_django/augmentations/__init__.py
++++ b/pylint_django/augmentations/__init__.py
+@@ -6,7 +6,7 @@ import itertools
+ from astroid import InferenceError
+ from astroid.objects import Super
+ from astroid.nodes import ClassDef, ImportFrom, Attribute
+-from astroid.scoped_nodes import ClassDef as ScopedClass, Module
++from astroid.nodes.scoped_nodes import ClassDef as ScopedClass, Module
+
+ from pylint.checkers.base import DocStringChecker, NameChecker
+ from pylint.checkers.design_analysis import MisdesignChecker
+diff --git a/pylint_django/transforms/fields.py b/pylint_django/transforms/fields.py
+index 5d50c41..2a3ac1f 100644
+--- a/pylint_django/transforms/fields.py
++++ b/pylint_django/transforms/fields.py
+@@ -1,7 +1,8 @@
+ from astroid import (
+- MANAGER, scoped_nodes, nodes, inference_tip,
++ MANAGER, nodes, inference_tip,
+ AstroidImportError
+ )
++from astroid.nodes import scoped_nodes
+
+ from pylint_django import utils
+
diff --git a/debian/patches/series b/debian/patches/series
index 6dfb22488cba..81e5636dc248 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,3 @@
fix-pylint.patch
backport-pylint-3.x-fixes.patch
+fix-import-scoped-nodes.patch
diff --git a/debian/salsa-ci.yml b/debian/salsa-ci.yml
new file mode 100644
index 000000000000..1f985fc12ee6
--- /dev/null
+++ b/debian/salsa-ci.yml
@@ -0,0 +1,5 @@
+include:
+ - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/recipes/debian.yml
+
+variables:
+ RELEASE: trixie
diff --git a/debian/tests/control b/debian/tests/control
index b52728fa7375..8bf5e877a0c3 100644
--- a/debian/tests/control
+++ b/debian/tests/control
@@ -1,3 +1,3 @@
-Tests: django-sample
+Tests: smoke, django-sample
Depends: @, python3-django
Restrictions: allow-stderr
diff --git a/debian/tests/smoke b/debian/tests/smoke
new file mode 100755
index 000000000000..6544be6b5fa0
--- /dev/null
+++ b/debian/tests/smoke
@@ -0,0 +1,3 @@
+#!/bin/sh -e
+
+python3 -c "from pylint_django import augmentations"
diff --git a/debian/tests/unit-tests-p3 b/debian/tests/unit-tests-p3
deleted file mode 100755
index f198e65382a0..000000000000
--- a/debian/tests/unit-tests-p3
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-
-cd ${AUTOPKGTEST_TMP:-/tmp}
-python3 /usr/lib/python3/dist-packages/pylint_django/tests/test_func.py -v
Reply to: