[Debichem-devel] Bug#1109413: unblock: packmol/1:21.0.2-2
Drew Parsons
dparsons at debian.org
Thu Jul 17 11:27:29 BST 2025
Package: release.debian.org
Severity: normal
X-Debbugs-Cc: packmol at packages.debian.org
Control: affects -1 + src:packmol
User: release.debian.org at packages.debian.org
Usertags: unblock
Please unblock package packmol
[ Reason ]
packmol has made two bugfix releases which fix issues initialising
calculations. This upload backports the two small patches involved.
It would be good for trixie users to have these bug fixes applied.
[ Impact ]
Two small bugs in packmol 21.0.2 have been identified, affecting
initialisation of parameters used to move molecules and initial
coordinates used. Not all molecules are affected, but the issue is a
problem for those which are affected.
[ Tests ]
Unfortunately upstream does not provide testing (apart from tests via
julia, which is not supported by debian). Hence the need for this
unblock request.
[ Risks ]
The patches are nearly trivial and have been accepted and tested
upstream (the patches are backported from upstream 21.0.3 and 21.0.4).
No other packages are affected. Risk is therefore low.
[ 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 testing
unblock packmol/1:21.0.2-2
-------------- next part --------------
diff -Nru packmol-21.0.2/debian/changelog packmol-21.0.2/debian/changelog
--- packmol-21.0.2/debian/changelog 2025-05-08 22:45:59.000000000 +0200
+++ packmol-21.0.2/debian/changelog 2025-07-16 10:49:42.000000000 +0200
@@ -1,3 +1,12 @@
+packmol (1:21.0.2-2) unstable; urgency=medium
+
+ * debian patches initial_maxmove_PR98.patch and
+ initial_coord_PR99.patch apply upstream PR#98 and PR#99 to fix
+ initialisation of move parameters and coordinates.
+ Backports from upstream 21.0.3 and 21.0.4 releases.
+
+ -- Drew Parsons <dparsons at debian.org> Wed, 16 Jul 2025 10:49:42 +0200
+
packmol (1:21.0.2-1) unstable; urgency=medium
* New upstream release
diff -Nru packmol-21.0.2/debian/patches/initial_coord_PR99.patch packmol-21.0.2/debian/patches/initial_coord_PR99.patch
--- packmol-21.0.2/debian/patches/initial_coord_PR99.patch 1970-01-01 01:00:00.000000000 +0100
+++ packmol-21.0.2/debian/patches/initial_coord_PR99.patch 2025-07-16 10:49:42.000000000 +0200
@@ -0,0 +1,22 @@
+From 8d6e8bea92662bafbf41a2ae1e707c1c95e6b0dc Mon Sep 17 00:00:00 2001
+From: Robin Betz <robin at robinbetz.com>
+Date: Fri, 11 Jul 2025 16:13:07 -0700
+Subject: [PATCH] Fix infinite loop guessing initial coordinates
+
+---
+ src/initial.f90 | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/initial.f90 b/src/initial.f90
+index d70d6c4..2f8237e 100644
+--- a/src/initial.f90
++++ b/src/initial.f90
+@@ -397,7 +397,7 @@ subroutine initial(n,x)
+ fx = 1.d0
+ ntry = 0
+ overlap = .false.
+- do while(overlap .or. (fx > precision) .and. (ntry < max_guess_try))
++ do while((overlap .or. fx > precision) .and. (ntry < max_guess_try))
+ overlap = .false.
+ ntry = ntry + 1
+ call random_number(xrnd)
diff -Nru packmol-21.0.2/debian/patches/initial_maxmove_PR98.patch packmol-21.0.2/debian/patches/initial_maxmove_PR98.patch
--- packmol-21.0.2/debian/patches/initial_maxmove_PR98.patch 1970-01-01 01:00:00.000000000 +0100
+++ packmol-21.0.2/debian/patches/initial_maxmove_PR98.patch 2025-07-16 10:49:42.000000000 +0200
@@ -0,0 +1,63 @@
+From 1ca00e8078ce8a53f7ce70ee943de3d7706f44d9 Mon Sep 17 00:00:00 2001
+From: Robin Betz <robin at robinbetz.com>
+Date: Thu, 10 Jul 2025 15:51:38 -0700
+Subject: [PATCH] Initialize maxmove variable for all file types.
+
+maxmove sets the number of molecules that may be moved to a better
+position and defaults to all molecules in the structure section. However
+this was only being parsed for the pdb file format, resulting in 0
+molecules being moved in movebad in heuristics.F90 and failure to
+converge for inputs of non-pdb file formats.
+
+This PR sets the default value regardless of file type and parses it out
+of the structure section.
+---
+ src/getinp.f90 | 14 +++++++++-----
+ 1 file changed, 9 insertions(+), 5 deletions(-)
+
+diff --git a/src/getinp.f90 b/src/getinp.f90
+index 6a0761b..8f0c44d 100644
+--- a/src/getinp.f90
++++ b/src/getinp.f90
+@@ -773,8 +773,13 @@ subroutine getinp()
+ end if
+ end do
+
+- ! Assigning the input lines that correspond to each structure
+
++ ! Default to all non-fixed molecules may be moved.
++ do itype = 1, ntype
++ maxmove(itype) = nmols(itype)
++ end do
++
++ ! Assigning the input lines that correspond to each structure
+ itype = 0
+ iline = 0
+ do while(iline < nlines)
+@@ -785,6 +790,9 @@ subroutine getinp()
+ iline = iline + 1
+ do while(keyword(iline,1).ne.'end'.or.&
+ keyword(iline,2).ne.'structure')
++ if(keyword(iline,1).eq.'maxmove') then
++ read(keyword(iline,2),*) maxmove(itype)
++ end if
+ if(keyword(iline,1) == 'structure'.or.&
+ iline == nlines) then
+ write(*,*) ' ERROR: Structure specification not ending with "end structure"'
+@@ -806,16 +814,12 @@ subroutine getinp()
+ changechains(itype) = .false.
+ chain(itype) = "#"
+ segid(itype) = ""
+- maxmove(itype) = nmols(itype)
+ do iline = 1, nlines
+ if(iline.gt.linestrut(itype,1).and.&
+ iline.lt.linestrut(itype,2)) then
+ if(keyword(iline,1).eq.'changechains') then
+ changechains(itype) = .true.
+ end if
+- if(keyword(iline,1).eq.'maxmove') then
+- read(keyword(iline,2),*) maxmove(itype)
+- end if
+ if(keyword(iline,1).eq.'resnumbers') then
+ read(keyword(iline,2),*) resnumbers(itype)
+ end if
diff -Nru packmol-21.0.2/debian/patches/series packmol-21.0.2/debian/patches/series
--- packmol-21.0.2/debian/patches/series 1970-01-01 01:00:00.000000000 +0100
+++ packmol-21.0.2/debian/patches/series 2025-07-16 10:49:42.000000000 +0200
@@ -0,0 +1,2 @@
+initial_coord_PR99.patch
+initial_maxmove_PR98.patch
More information about the Debichem-devel
mailing list