summaryrefslogtreecommitdiff
path: root/debian
diff options
context:
space:
mode:
authorGard Spreemann <gspr@nonempty.org>2021-12-13 14:57:31 +0100
committerGard Spreemann <gspr@nonempty.org>2021-12-13 14:57:31 +0100
commit0837c479f979f13768be57376a6da521a07e6a45 (patch)
tree75f7bb02c064ae0b1c799a1c3995313cf680e793 /debian
parent9889fda8e9dc410b7c6300b4cfaeace399757043 (diff)
Don't alter upstream ABI in log file disabling patch
0006-Stop-generating-iteration-log-files.patch disables the writing of a log file, but used to do so in a way that also changes the ABI of some of the library's functions. These functions are probably not meant to be for public use – and are not currently called by any depending Debian package – but to be safe this commit restores the upstream ABI. In particular the `itfile` argument is reintroduced to the subroutines that have it upstream. The value value is ignored, and the file is never created or written to.
Diffstat (limited to 'debian')
-rw-r--r--debian/patches/0006-Stop-generating-iteration-log-files.patch135
1 files changed, 17 insertions, 118 deletions
diff --git a/debian/patches/0006-Stop-generating-iteration-log-files.patch b/debian/patches/0006-Stop-generating-iteration-log-files.patch
index aa31976..efff3f1 100644
--- a/debian/patches/0006-Stop-generating-iteration-log-files.patch
+++ b/debian/patches/0006-Stop-generating-iteration-log-files.patch
@@ -1,15 +1,14 @@
From: Gard Spreemann <gspr@nonempty.org>
-Date: Thu, 30 Jul 2020 10:49:15 +0200
-Subject: Stop generating iteration log files.
+Date: Mon, 13 Dec 2021 14:56:07 +0100
+Subject: Stop generating iteration log files
-Based on SciPy commit
- c3c54c15eafe7fa7a2b7a499cb64f38f1a7ee057
+Based on SciPy commit c3c54c15eafe7fa7a2b7a499cb64f38f1a7ee057
---
- lbfgsb.f | 61 +++++++++++--------------------------------------------------
- 1 file changed, 11 insertions(+), 50 deletions(-)
+ lbfgsb.f | 37 ++-----------------------------------
+ 1 file changed, 2 insertions(+), 35 deletions(-)
diff --git a/lbfgsb.f b/lbfgsb.f
-index 59f0a97..e30aff0 100644
+index 59f0a97..18d4715 100644
--- a/lbfgsb.f
+++ b/lbfgsb.f
@@ -140,8 +140,6 @@ c 0<iprint<99 print also f and |proj g| every iprint iterations;
@@ -30,51 +29,20 @@ index 59f0a97..e30aff0 100644
c
c csave is a working string of characters of length 60.
c
-@@ -483,7 +479,7 @@ c ************
-
- logical prjctd,cnstnd,boxed,updatd,wrk
- character*3 word
-- integer i,k,nintol,itfile,iback,nskip,
-+ integer i,k,nintol,iback,nskip,
- + head,col,iter,itail,iupdat,
- + nseg,nfgv,info,ifun,
- + iword,nfree,nact,ileave,nenter
-@@ -546,24 +542,18 @@ c 'word' records the status of subspace solutions.
- c 'info' records the termination information.
+@@ -547,10 +543,8 @@ c 'info' records the termination information.
info = 0
-- itfile = 8
+ itfile = 8
- if (iprint .ge. 1) then
-c open a summary file 'iterate.dat'
- open (8, file = 'iterate.dat', status = 'unknown')
- endif
--
- c Check the input arguments for errors.
-
- call errclb(n,m,factr,l,u,nbd,task,info,k)
- if (task(1:5) .eq. 'ERROR') then
-- call prn3lb(n,x,f,task,iprint,info,itfile,
-+ call prn3lb(n,x,f,task,iprint,info,
- + iter,nfgv,nintol,nskip,nact,sbgnrm,
- + zero,nseg,word,iback,stp,xstep,k,
- + cachyt,sbtime,lnscht)
- return
- endif
++c Originally a file named iterate.dat was created. We disable
++c this behavior in Debian.
-- call prn1lb(n,m,l,u,x,iprint,itfile,epsmch)
-+ call prn1lb(n,m,l,u,x,iprint,epsmch)
-
- c Initialize iwhere & project x onto the feasible set.
-
-@@ -580,7 +570,6 @@ c restore local variables.
- updatd = lsave(4)
+ c Check the input arguments for errors.
- nintol = isave(1)
-- itfile = isave(3)
- iback = isave(4)
- nskip = isave(5)
- head = isave(6)
-@@ -646,7 +635,6 @@ c Compute the infinity norm of the (-) projected gradient.
+@@ -646,7 +640,6 @@ c Compute the infinity norm of the (-) projected gradient.
if (iprint .ge. 1) then
write (6,1002) iter,f,sbgnrm
@@ -82,33 +50,7 @@ index 59f0a97..e30aff0 100644
endif
if (sbgnrm .le. pgtol) then
c terminate the algorithm.
-@@ -834,7 +822,7 @@ c Compute the infinity norm of the projected (-)gradient.
-
- c Print iteration information.
-
-- call prn2lb(n,x,f,g,iprint,itfile,iter,nfgv,nact,
-+ call prn2lb(n,x,f,g,iprint,iter,nfgv,nact,
- + sbgnrm,nseg,word,iword,iback,stp,xstep)
- goto 1000
- endif
-@@ -927,7 +915,7 @@ c -------------------- the end of the loop -----------------------------
- 999 continue
- call timer(time2)
- time = time2 - time1
-- call prn3lb(n,x,f,task,iprint,info,itfile,
-+ call prn3lb(n,x,f,task,iprint,info,
- + iter,nfgv,nintol,nskip,nact,sbgnrm,
- + time,nseg,word,iback,stp,xstep,k,
- + cachyt,sbtime,lnscht)
-@@ -941,7 +929,6 @@ c Save local variables.
- lsave(4) = updatd
-
- isave(1) = nintol
-- isave(3) = itfile
- isave(4) = iback
- isave(5) = nskip
- isave(6) = head
-@@ -1361,8 +1348,6 @@ c 0<iprint<99 print also f and |proj g| every iprint iterations;
+@@ -1361,8 +1354,6 @@ c 0<iprint<99 print also f and |proj g| every iprint iterations;
c iprint=99 print details of every iteration except n-vectors;
c iprint=100 print also the changes of active set and final x;
c iprint>100 print details of every iteration including x and g;
@@ -117,19 +59,7 @@ index 59f0a97..e30aff0 100644
c
c sbgnrm is a double precision variable.
c On entry sbgnrm is the norm of the projected gradient at x.
-@@ -2673,9 +2658,9 @@ c and the last column of SS:
-
- c======================= The end of matupd =============================
-
-- subroutine prn1lb(n, m, l, u, x, iprint, itfile, epsmch)
-+ subroutine prn1lb(n, m, l, u, x, iprint, epsmch)
-
-- integer n, m, iprint, itfile
-+ integer n, m, iprint
- double precision epsmch, x(n), l(n), u(n)
-
- c ************
-@@ -2705,9 +2690,6 @@ c ************
+@@ -2705,9 +2696,6 @@ c ************
write (6,7001) epsmch
write (6,*) 'N = ',n,' M = ',m
if (iprint .ge. 1) then
@@ -139,21 +69,7 @@ index 59f0a97..e30aff0 100644
if (iprint .gt. 100) then
write (6,1004) 'L =',(l(i),i = 1,n)
write (6,1004) 'X0 =',(x(i),i = 1,n)
-@@ -2744,11 +2726,11 @@ c ************
-
- c======================= The end of prn1lb =============================
-
-- subroutine prn2lb(n, x, f, g, iprint, itfile, iter, nfgv, nact,
-+ subroutine prn2lb(n, x, f, g, iprint, iter, nfgv, nact,
- + sbgnrm, nseg, word, iword, iback, stp, xstep)
-
- character*3 word
-- integer n, iprint, itfile, iter, nfgv, nact, nseg,
-+ integer n, iprint, iter, nfgv, nact, nseg,
- + iword, iback
- double precision f, sbgnrm, stp, xstep, x(n), g(n)
-
-@@ -2798,8 +2780,6 @@ c the truncated Newton step has been used.
+@@ -2798,8 +2786,6 @@ c the truncated Newton step has been used.
imod = mod(iter,iprint)
if (imod .eq. 0) write (6,2001) iter,f,sbgnrm
endif
@@ -162,24 +78,7 @@ index 59f0a97..e30aff0 100644
1004 format (/,a4, 1p, 6(1x,d11.4),/,(4x,1p,6(1x,d11.4)))
2001 format
-@@ -2812,14 +2792,14 @@ c the truncated Newton step has been used.
-
- c======================= The end of prn2lb =============================
-
-- subroutine prn3lb(n, x, f, task, iprint, info, itfile,
-+ subroutine prn3lb(n, x, f, task, iprint, info,
- + iter, nfgv, nintol, nskip, nact, sbgnrm,
- + time, nseg, word, iback, stp, xstep, k,
- + cachyt, sbtime, lnscht)
-
- character*60 task
- character*3 word
-- integer n, iprint, info, itfile, iter, nfgv, nintol,
-+ integer n, iprint, info, iter, nfgv, nintol,
- + nskip, nact, nseg, iback, k
- double precision f, sbgnrm, time, stp, xstep, cachyt, sbtime,
- + lnscht, x(n)
-@@ -2873,23 +2853,6 @@ c ************
+@@ -2873,23 +2859,6 @@ c ************
if (info .eq. -8) write (6,9018)
if (info .eq. -9) write (6,9019)
endif
@@ -203,7 +102,7 @@ index 59f0a97..e30aff0 100644
endif
1004 format (/,a4, 1p, 6(1x,d11.4),/,(4x,1p,6(1x,d11.4)))
-@@ -3152,8 +3115,6 @@ c 0<iprint<99 print also f and |proj g| every iprint iterations;
+@@ -3152,8 +3121,6 @@ c 0<iprint<99 print also f and |proj g| every iprint iterations;
c iprint=99 print details of every iteration except n-vectors;
c iprint=100 print also the changes of active set and final x;
c iprint>100 print details of every iteration including x and g;