Package: release.debian.org
Severity: normal
Tags: bullseye
User: release.debian....@packages.debian.org
Usertags: pu

[ Reason ]
Executable propka from pdb2pqr is unusable with python3 (>= 3.8) due to
the change in relative imports handling. The package has been migrated
from python2 to python3 via patch, so the change just undoes some
changes in the patch. The bug went undetected probably because the lack
of (autopkg)tests for the package. I have added autopkgtest in an upload
to unstable (not present in this upload to keep the diff minimal).

[ Impact ]
Renders one of the tools from pdb2pqr package unusable.

[ Tests ]
Tested the fixed package on bullseye, works as expected.

[ Risks ]
Minimal: propka is not used by any other software in Debian, thus the
fix only affects the end users.

[ Checklist ]
  [x] all changes are documented in d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in stable
  [x] the issue is verified as fixed in unstable

[ Changes ]
Undo patch changes to the Python code doing the relative imports.

Best,
Andrius
diff -Nru pdb2pqr-2.1.1+dfsg/debian/changelog 
pdb2pqr-2.1.1+dfsg/debian/changelog
--- pdb2pqr-2.1.1+dfsg/debian/changelog 2020-03-29 12:03:49.000000000 -0400
+++ pdb2pqr-2.1.1+dfsg/debian/changelog 2022-02-16 02:13:35.000000000 -0500
@@ -1,3 +1,13 @@
+pdb2pqr (2.1.1+dfsg-7+deb11u1) bullseye; urgency=medium
+
+  * Team upload.
+  * Fix ImportError in propka due to changed relative import handling in
+    Python 3.8. The patch fixing #937262 has changed the way relative imports
+    are called, but the used construction does not work since Python 3.8.
+    Undoing changes in the patch fixed the ImportError in propka.
+
+ -- Andrius Merkys <mer...@debian.org>  Wed, 16 Feb 2022 02:13:35 -0500
+
 pdb2pqr (2.1.1+dfsg-7) unstable; urgency=medium
 
   [ Chris Lamb ]
diff -Nru pdb2pqr-2.1.1+dfsg/debian/patches/python3_sundry.patch 
pdb2pqr-2.1.1+dfsg/debian/patches/python3_sundry.patch
--- pdb2pqr-2.1.1+dfsg/debian/patches/python3_sundry.patch      2020-03-29 
12:03:49.000000000 -0400
+++ pdb2pqr-2.1.1+dfsg/debian/patches/python3_sundry.patch      2022-02-16 
02:13:35.000000000 -0500
@@ -1,7 +1,7 @@
 Description: Use 2to3 to port from Python2 to Python3
 Bug-Debian: https://bugs.debian.org/937262
 Author: Andreas Tille <ti...@debian.org>
-Last-Update: Thu, 12 Dec 2019 15:41:47 +0100
+Last-Update: Tue, 15 Feb 2022 07:03:38 -0500
 
 --- a/main_cgi.py
 +++ b/main_cgi.py
@@ -4298,17 +4298,6 @@
  
          self.name             = "Nov30"
          self.Nmin             =  280
---- a/propka30/compare.py
-+++ b/propka30/compare.py
-@@ -39,7 +39,7 @@
- 
- import math
- #import data
--from Source.lib import pka_print
-+from .Source.lib import pka_print
- 
- if False:
-     def compareWithExperiment(protein, file=None, list=None, set=None, 
label="ALL", **argv):
 --- a/propka30/experiment.py
 +++ b/propka30/experiment.py
 @@ -1,4 +1,4 @@
@@ -4317,15 +4306,6 @@
  #
  # * This library is free software; you can redistribute it and/or
  # * modify it under the terms of the GNU Lesser General Public
-@@ -40,7 +40,7 @@
- 
-  
- import string, sys, copy, math
--from Source.lib import pka_print
-+from .Source.lib import pka_print
- 
- 
- def getCatchAllCompareWithExperiment(argv):
 --- a/propka30/propka.py
 +++ b/propka30/propka.py
 @@ -1,4 +1,4 @@
@@ -4334,17 +4314,15 @@
  #
  # * This library is free software; you can redistribute it and/or
  # * modify it under the terms of the GNU Lesser General Public
-@@ -41,8 +41,8 @@
+@@ -41,7 +41,7 @@
  
  import string, re, sys, os, math
  
 -import Source.lib as lib
--from Source.protein import Protein
-+from .Source import lib
-+from .Source.protein import Protein
++from Source import lib
+ from Source.protein import Protein
   
  
- 
 --- a/propka30/propka_det.py
 +++ b/propka30/propka_det.py
 @@ -1,4 +1,4 @@
@@ -4353,21 +4331,17 @@
  #
  # * This library is free software; you can redistribute it and/or
  # * modify it under the terms of the GNU Lesser General Public
-@@ -39,10 +39,10 @@
+@@ -39,8 +39,8 @@
  
#-------------------------------------------------------------------------------------------------------
  
  import string, re, sys, os, math
 -import Source.version as propka
 -import Source.lib as lib
--from Source.protein import Protein
--from Source.mutate import makeCompositeAtomsDictionary
-+from .Source import version as propka
-+from .Source import lib
-+from .Source.protein import Protein
-+from .Source.mutate import makeCompositeAtomsDictionary
++from Source import version as propka
++from Source import lib
+ from Source.protein import Protein
+ from Source.mutate import makeCompositeAtomsDictionary
   
- 
- 
 --- a/propka30/propka_gui.py
 +++ b/propka30/propka_gui.py
 @@ -1,4 +1,4 @@
@@ -4376,21 +4350,17 @@
  #
  # * This library is free software; you can redistribute it and/or
  # * modify it under the terms of the GNU Lesser General Public
-@@ -39,10 +39,10 @@
+@@ -39,8 +39,8 @@
  
#-------------------------------------------------------------------------------------------------------
  
  import string, re, sys, os, math
 -import Source.version as propka
 -import Source.lib as lib
--from Source.protein import Protein
--from Source.mutate import makeCompositeAtomsDictionary
-+from .Source import version as propka
-+from .Source import lib
-+from .Source.protein import Protein
-+from .Source.mutate import makeCompositeAtomsDictionary
++from Source import version as propka
++from Source import lib
+ from Source.protein import Protein
+ from Source.mutate import makeCompositeAtomsDictionary
  pka_print = lib.pka_print
- 
- 
 --- a/propka30/propka_mut.py
 +++ b/propka30/propka_mut.py
 @@ -1,4 +1,4 @@
@@ -4405,14 +4375,12 @@
  
 -import Source.lib as lib
 -import Source.mutate as mutate
--from Source.protein import Protein
--from Source.pdb import readPDB
++from Source import lib
++from Source import mutate
+ from Source.protein import Protein
+ from Source.pdb import readPDB
 -import Source.version as propka
-+from .Source import lib
-+from .Source import mutate
-+from .Source.protein import Protein
-+from .Source.pdb import readPDB
-+from .Source import version as propka
++from Source import version as propka
  pka_print = lib.pka_print
  
  
@@ -4424,17 +4392,15 @@
  #
  # * This library is free software; you can redistribute it and/or
  # * modify it under the terms of the GNU Lesser General Public
-@@ -40,8 +40,8 @@
+@@ -40,7 +40,7 @@
  
  import string, re, sys, os, math
  
 -import Source.lib as lib
--from Source.protein import Protein
-+from .Source import lib
-+from .Source.protein import Protein
++from Source import lib
+ from Source.protein import Protein
   
  
- 
 --- a/querystatus.py
 +++ b/querystatus.py
 @@ -9,7 +9,7 @@

Attachment: OpenPGP_signature
Description: OpenPGP digital signature

Reply via email to