Bug#1060026: yade: please move away from python3-future
Andreas Tille
andreas at an3as.eu
Thu Jan 25 14:25:26 GMT 2024
Hi,
I've pushed my changes incorporating Alexandre's patch plus further
changes to Salsa. The build went on my not very recent desktop machine
more then 6 hours but finally failed:
...
plot (yade.plot)
Doctest: yade.plot.plot ... ok
saveDataTxt (yade.plot)
Doctest: yade.plot.saveDataTxt ... ok
SpherePWaveTimeStep (yade.utils)
Doctest: yade.utils.SpherePWaveTimeStep ... ok
saveVars (yade.utils)
Doctest: yade.utils.saveVars ... ok
sphere (yade.utils)
Doctest: yade.utils.sphere ... ok
typedEngine (yade.utils)
Doctest: yade.utils.typedEngine ... ok
----------------------------------------------------------------------
Ran 94 tests in 3.271s
OK
*** ALL TESTS PASSED ***
LD_LIBRARY_PATH=/build/yade-2023.02a/debian/tmp/usr/lib/x86_64-linux-gnu/yade-double/py:/build/yade-2023.02a/debian/tmp/usr/lib/x86_64-linux-gnu/yade-double:/build/yade-2023.02a/debian/tmp/usr/lib/x86_64-linux-gnu/yade-double/py:/build/yade-2023.02a/debian/tmp/usr/lib/x86_64-linux-gnu/yade-double/py/gts:/build/yade-2023.02a/debian/tmp/usr/lib/x86_64-linux-gnu/yade-double/py/yade:/build/yade-2023.02a/debian/tmp/usr/lib/x86_64-linux-gnu/yade-double/py/yade/qt: /build/yade-2023.02a/debian/tmp/usr/bin/yade-double --check
Welcome to Yade 2023.02a
Using python version: 3.11.7 (main, Dec 8 2023, 14:22:46) [GCC 13.2.0]
Traceback (most recent call last):
File "/build/yade-2023.02a/debian/tmp/usr/bin/yade-double", line 198, in <module>
execfile(checksPath+'/checkList.py')
File "/build/yade-2023.02a/debian/tmp/usr/bin/yade-double", line 9, in execfile
exec(code)
File "/build/yade-2023.02a/debian/tmp/usr/lib/x86_64-linux-gnu/yade-double/py/yade/tests/checks/checkList.py", line 73, in <module>
if (script[len(script) - 3:] == ".py" and mustCheck(script)[0]):
^^^^^^^^^^^^^^^^^
File "/build/yade-2023.02a/debian/tmp/usr/lib/x86_64-linux-gnu/yade-double/py/yade/tests/checks/checkList.py", line 63, in mustCheck
if (len(onlyOneScript) == 1):
^^^^^^^^^^^^^
NameError: name 'onlyOneScript' is not defined
make[1]: *** [debian/rules:90: override_dh_auto_install] Error 1
make[1]: Leaving directory '/build/yade-2023.02a'
make: *** [debian/rules:24: binary] Error 2
I have no idea whether it might make sense to disable this test
but I do not see any good reason to do so:
$ grep -R onlyOneScript
ChangeLog: Add 'onlyOneScript = []' for easier debugging of scripts.
debian/patches/10_disable_some_tests.patch: onlyOneScript = []
scripts/checks-and-tests/checks/checkList.py:onlyOneScript = []
scripts/checks-and-tests/checks/checkList.py: if (len(onlyOneScript) == 1):
scripts/checks-and-tests/checks/checkList.py: return [sc in onlyOneScript, "not in onlyOneScript"]
If it helps I might send my full build log but maybe BTS rejects
compressed files.
Kind regards
Andreas.
Am Thu, Jan 25, 2024 at 07:17:13AM +0100 schrieb Andreas Tille:
> Hi Anton,
>
> to avoid some race condition: I'm just applying the patch and try
> to build. I'll let you know about success or failure.
>
> Kind regards
> Andreas.
>
> Am Wed, Jan 24, 2024 at 10:13:03PM +0100 schrieb Alexandre Detiste:
> > control: tag -1 +patch
> >
> > Hi,
> >
> > Here's a patch.
> >
> > I didn't try to be smart, just to get this done.
> >
> > I have seen this package takes hours to build
> > on buildd so I'm not even trying on my old fanless
> > NUC knockoff.
> >
> > Greetings
>
> > diff --git a/core/main/main.py.in b/core/main/main.py.in
> > index b8a52ca..11bc619 100644
> > --- a/core/main/main.py.in
> > +++ b/core/main/main.py.in
> > @@ -2,8 +2,11 @@
> > # encoding: utf-8
> > # syntax:python
> >
> > -from __future__ import print_function
> > -from past.builtins import execfile
> > +def execfile(filename, myglobals=None, mylocals=None):
> > + with open(filename, "rb") as fin:
> > + source = fin.read()
> > + code = compile(source, filename, "exec")
> > + exec(code)
> >
> > import sys,os,os.path,time
> > try:
> > diff --git a/core/main/yade-batch.in b/core/main/yade-batch.in
> > index 1d128ef..5b58cd6 100755
> > --- a/core/main/yade-batch.in
> > +++ b/core/main/yade-batch.in
> > @@ -4,12 +4,6 @@
> > # vim: syntax=python
> > # portions © 2008 Václav Šmilauer <eudoxos at arcig.cz>
> >
> > -from __future__ import print_function
> > -from future import standard_library
> > -standard_library.install_aliases()
> > -
> > -from builtins import range
> > -from builtins import object
> > import os, sys, _thread, time, logging, pipes, socket, xmlrpc.client, re, shutil, random
> >
> > # Add search path for yade Python-modules
> > diff --git a/core/main/yade-oar.in b/core/main/yade-oar.in
> > index d96b60d..b8eb705 100644
> > --- a/core/main/yade-oar.in
> > +++ b/core/main/yade-oar.in
> > @@ -7,12 +7,6 @@
> > # This script is to be used with OAR task scheduler. May be an example to use use with other task scheduler for clusters
> > # Adapted from yade-batch
> >
> > -from __future__ import print_function
> > -from future import standard_library
> > -standard_library.install_aliases()
> > -
> > -from builtins import range
> > -from builtins import object
> > import os, sys, _thread, time, logging, pipes, socket, xmlrpc.client, re, shutil, random
> >
> > # Add search path for yade Python-modules
> > diff --git a/doc/sphinx/conf.py b/doc/sphinx/conf.py
> > index 001bc1a..548ed88 100644
> > --- a/doc/sphinx/conf.py
> > +++ b/doc/sphinx/conf.py
> > @@ -21,11 +21,6 @@
> > ##
> > ## http://docutils.sourceforge.net/docs/howto/rst-roles.html
> >
> > -from __future__ import print_function
> > -from future import standard_library
> > -standard_library.install_aliases()
> > -
> > -from builtins import range
> > import sys, os, re
> > from docutils import nodes
> > from sphinx import addnodes
> > diff --git a/doc/sphinx/ipython_directive.py b/doc/sphinx/ipython_directive.py
> > index 816d1bf..4cbcaee 100644
> > --- a/doc/sphinx/ipython_directive.py
> > +++ b/doc/sphinx/ipython_directive.py
> > @@ -51,18 +51,11 @@ Authors
> > - Fernando Perez: refactoring, documentation, cleanups.
> > - VáclavŠmilauer <eudoxos-AT-arcig.cz>: Prompt generatlizations.
> > """
> > -from __future__ import print_function
> > -
> > #-----------------------------------------------------------------------------
> > # Imports
> > #-----------------------------------------------------------------------------
> >
> > # Stdlib
> > -from future import standard_library
> > -standard_library.install_aliases()
> > -
> > -from builtins import range
> > -from builtins import object
> > import io
> > import imp
> > import os
> > diff --git a/doc/sphinx/ipython_directive012.py b/doc/sphinx/ipython_directive012.py
> > index c98ecd4..14e7cce 100644
> > --- a/doc/sphinx/ipython_directive012.py
> > +++ b/doc/sphinx/ipython_directive012.py
> > @@ -51,18 +51,11 @@ Authors
> > - VáclavŠmilauer <eudoxos-AT-arcig.cz>: Prompt generalizations.
> > - Skipper Seabold, refactoring, cleanups, pure python addition
> > """
> > -from __future__ import print_function
> > -
> > #-----------------------------------------------------------------------------
> > # Imports
> > #-----------------------------------------------------------------------------
> >
> > # Stdlib
> > -from future import standard_library
> > -standard_library.install_aliases()
> > -
> > -from builtins import range
> > -from builtins import object
> > import io
> > import os
> > import re
> > diff --git a/doc/sphinx/ipython_directive013.py b/doc/sphinx/ipython_directive013.py
> > index c606acd..8f68221 100644
> > --- a/doc/sphinx/ipython_directive013.py
> > +++ b/doc/sphinx/ipython_directive013.py
> > @@ -52,18 +52,11 @@ Authors
> > - VáclavŠmilauer <eudoxos-AT-arcig.cz>: Prompt generalizations.
> > - Skipper Seabold, refactoring, cleanups, pure python addition
> > """
> > -from __future__ import print_function
> > -
> > #-----------------------------------------------------------------------------
> > # Imports
> > #-----------------------------------------------------------------------------
> >
> > # Stdlib
> > -from future import standard_library
> > -standard_library.install_aliases()
> > -
> > -from builtins import range
> > -from builtins import object
> > import io
> > import os
> > import re
> > diff --git a/doc/sphinx/ipython_directive200.py b/doc/sphinx/ipython_directive200.py
> > index 55ef14d..bca2cf7 100644
> > --- a/doc/sphinx/ipython_directive200.py
> > +++ b/doc/sphinx/ipython_directive200.py
> > @@ -119,18 +119,11 @@ Authors
> > - VáclavŠmilauer <eudoxos-AT-arcig.cz>: Prompt generalizations.
> > - Skipper Seabold, refactoring, cleanups, pure python addition
> > """
> > -from __future__ import print_function
> > -
> > #-----------------------------------------------------------------------------
> > # Imports
> > #-----------------------------------------------------------------------------
> >
> > # Stdlib
> > -from future import standard_library
> > -standard_library.install_aliases()
> > -
> > -from builtins import range
> > -from builtins import object
> > import os
> > import re
> > import sys
> > diff --git a/doc/sphinx/ipython_directive500.py b/doc/sphinx/ipython_directive500.py
> > index 94afab1..4a521fe 100644
> > --- a/doc/sphinx/ipython_directive500.py
> > +++ b/doc/sphinx/ipython_directive500.py
> > @@ -119,18 +119,12 @@ Authors
> > - VáclavŠmilauer <eudoxos-AT-arcig.cz>: Prompt generalizations.
> > - Skipper Seabold, refactoring, cleanups, pure python addition
> > """
> > -from __future__ import print_function
> >
> > #-----------------------------------------------------------------------------
> > # Imports
> > #-----------------------------------------------------------------------------
> >
> > # Stdlib
> > -from future import standard_library
> > -standard_library.install_aliases()
> > -
> > -from builtins import range
> > -from builtins import object
> > import atexit
> > import os
> > import re
> > diff --git a/doc/sphinx/tutorial/make-simulation-video.py b/doc/sphinx/tutorial/make-simulation-video.py
> > index b4d9aaa..ec21c1f 100644
> > --- a/doc/sphinx/tutorial/make-simulation-video.py
> > +++ b/doc/sphinx/tutorial/make-simulation-video.py
> > @@ -7,7 +7,12 @@
> > #
> > # plotting should be set up as usual
> >
> > -from past.builtins import execfile
> > +def execfile(filename, myglobals=None, mylocals=None):
> > + with open(filename, "rb") as fin:
> > + source = fin.read()
> > + code = compile(source, filename, "exec")
> > + exec(code)
> > +
> > import matplotlib
> > matplotlib.use('Agg') # headless backend, makes rendering plots after the simulation _much_ faster (and more reliable)
> >
> > diff --git a/examples/capillaryLaplaceYoung/solveLaplace_uc.py b/examples/capillaryLaplaceYoung/solveLaplace_uc.py
> > index 5bbd41e..b48acd6 100644
> > --- a/examples/capillaryLaplaceYoung/solveLaplace_uc.py
> > +++ b/examples/capillaryLaplaceYoung/solveLaplace_uc.py
> > @@ -2,9 +2,12 @@
> >
> > # to import with yade/python/ipython solveLaplace_uc.py, or with execfile('solveLaplace_uc.py',globals()) once inside a yade/python/ipython session
> >
> > -from past.builtins import execfile
> > +def execfile(filename, myglobals=None, mylocals=None):
> > + with open(filename, "rb") as fin:
> > + source = fin.read()
> > + code = compile(source, filename, "exec")
> > + exec(code)
> >
> > -from builtins import range
> > execfile('solveLiqBridge.py', globals())
> >
> >
> > diff --git a/examples/concrete/periodic.py b/examples/concrete/periodic.py
> > index 98df7c0..b4b3987 100644
> > --- a/examples/concrete/periodic.py
> > +++ b/examples/concrete/periodic.py
> > @@ -1,9 +1,4 @@
> > # -*- encoding=utf-8 -*-
> > -from __future__ import division
> > -from __future__ import print_function
> > -
> > -from future import standard_library
> > -standard_library.install_aliases()
> > from yade import plot, pack
> > import time, sys, os, copy
> > """
> > diff --git a/examples/concrete/uniax.py b/examples/concrete/uniax.py
> > index 1f67524..7d12c4b 100644
> > --- a/examples/concrete/uniax.py
> > +++ b/examples/concrete/uniax.py
> > @@ -1,9 +1,4 @@
> > # -*- encoding=utf-8 -*-
> > -from __future__ import division
> > -from __future__ import print_function
> > -
> > -from future import standard_library
> > -standard_library.install_aliases()
> > from yade import plot, pack, timing
> > import time, sys, os, copy
> >
> > diff --git a/examples/deformableelem/main.py b/examples/deformableelem/main.py
> > index 25a90b3..691d3d9 100644
> > --- a/examples/deformableelem/main.py
> > +++ b/examples/deformableelem/main.py
> > @@ -21,7 +21,12 @@
> > # MA 02110-1301, USA.
> > #
> > #
> > -from past.builtins import execfile
> > +def execfile(filename, myglobals=None, mylocals=None):
> > + with open(filename, "rb") as fin:
> > + source = fin.read()
> > + code = compile(source, filename, "exec")
> > + exec(code)
> > +
> > import sys
> >
> > from yadeimport import *
> > diff --git a/examples/jointedCohesiveFrictionalPM/gravityBis.py b/examples/jointedCohesiveFrictionalPM/gravityBis.py
> > index 6445555..db421c1 100644
> > --- a/examples/jointedCohesiveFrictionalPM/gravityBis.py
> > +++ b/examples/jointedCohesiveFrictionalPM/gravityBis.py
> > @@ -5,8 +5,12 @@
> >
> > # definition of a predicate for use of randomDensePack() function
> >
> > -from __future__ import print_function
> > -from past.builtins import execfile
> > +def execfile(filename, myglobals=None, mylocals=None):
> > + with open(filename, "rb") as fin:
> > + source = fin.read()
> > + code = compile(source, filename, "exec")
> > + exec(code)
> > +
> > from yade import pack
> > dimModele = 10.0
> > pred = pack.inAlignedBox((0, 0, 0), (dimModele, dimModele, dimModele))
> > diff --git a/examples/jointedCohesiveFrictionalPM/testingJoint.py b/examples/jointedCohesiveFrictionalPM/testingJoint.py
> > index aa44867..f2e918c 100644
> > --- a/examples/jointedCohesiveFrictionalPM/testingJoint.py
> > +++ b/examples/jointedCohesiveFrictionalPM/testingJoint.py
> > @@ -4,9 +4,12 @@
> > # jerome.duriez at 3sr-grenoble.fr
> >
> > # Mechanical properties of rock matrix and rock joint :
> > -from __future__ import print_function
> > -from past.builtins import execfile
> >
> > +def execfile(filename, myglobals=None, mylocals=None):
> > + with open(filename, "rb") as fin:
> > + source = fin.read()
> > + code = compile(source, filename, "exec")
> > + exec(code)
> >
> > def mat():
> > return JCFpmMat(
> > diff --git a/py/3rd-party/mtTkinter-0.4/mtTkinter.py b/py/3rd-party/mtTkinter-0.4/mtTkinter.py
> > index 6cbcc87..772bd6b 100644
> > --- a/py/3rd-party/mtTkinter-0.4/mtTkinter.py
> > +++ b/py/3rd-party/mtTkinter-0.4/mtTkinter.py
> > @@ -52,12 +52,6 @@ created.
> >
> > Author: Allen B. Taylor, a.b.taylor at gmail.com
> > '''
> > -from __future__ import print_function
> > -
> > -from future import standard_library
> > -standard_library.install_aliases()
> > -
> > -from builtins import object
> > from tkinter import *
> > import threading
> > import queue
> > diff --git a/py/__init__.py.in b/py/__init__.py.in
> > index ff974d9..fd148fb 100644
> > --- a/py/__init__.py.in
> > +++ b/py/__init__.py.in
> > @@ -11,10 +11,6 @@ It loads yade plugins and injects c++ class constructors to the __builtins__
> > (that might change in the future, though) namespace, making them available
> > everywhere.
> > """
> > -from __future__ import print_function
> > -
> > -from future import standard_library
> > -standard_library.install_aliases()
> > import ctypes,sys,os
> >
> > if os.getenv('OMPI_COMM_WORLD_RANK')==None: #else decrease verbosity
> > diff --git a/py/pack/pack.py b/py/pack/pack.py
> > index ed80ab4..8200ae9 100644
> > --- a/py/pack/pack.py
> > +++ b/py/pack/pack.py
> > @@ -14,13 +14,6 @@ For examples, see
> > * :ysrc:`examples/gts-horse/gts-horse.py`
> > * :ysrc:`examples/WireMatPM/wirepackings.py`
> > """
> > -from __future__ import print_function
> > -
> > -from future import standard_library
> > -standard_library.install_aliases()
> > -from builtins import map
> > -
> > -from builtins import range
> > import itertools, warnings
> > from numpy import arange
> > from math import sqrt
> > diff --git a/py/plot.py b/py/plot.py
> > index 6c74f68..d8c4694 100644
> > --- a/py/plot.py
> > +++ b/py/plot.py
> > @@ -4,14 +4,7 @@
> > Module containing utility functions for plotting inside yade. See :ysrc:`examples/simple-scene/simple-scene-plot.py` or :ysrc:`examples/concrete/uniax.py` for example of usage.
> >
> > """
> > -from __future__ import print_function
> > -
> > ## all exported names
> > -from future import standard_library
> > -standard_library.install_aliases()
> > -
> > -from builtins import range
> > -from builtins import object
> > __all__ = [
> > 'data', 'plots', 'labels', 'live', 'liveInterval', 'setLiveForceAlwaysUpdate', 'autozoom', 'plot', 'reset', 'resetData', 'splitData', 'reverseData',
> > 'addData', 'addAutoData', 'saveGnuplot', 'saveDataTxt', 'savePlotSequence'
> > diff --git a/py/remote.py b/py/remote.py
> > index d645a23..4190abc 100644
> > --- a/py/remote.py
> > +++ b/py/remote.py
> > @@ -5,12 +5,6 @@ Remote connections to yade: authenticated python command-line over telnet and an
> >
> > These classes are used internally in gui/py/PythonUI_rc.py and are not intended for direct use.
> > """
> > -from __future__ import print_function
> > -
> > -from future import standard_library
> > -standard_library.install_aliases()
> > -
> > -from builtins import object
> > import socketserver, xmlrpc.client, socket
> > import sys, time, os, math
> >
> > diff --git a/py/utils.py b/py/utils.py
> > index c588852..40f9c86 100644
> > --- a/py/utils.py
> > +++ b/py/utils.py
> > @@ -7,13 +7,6 @@
> >
> > Devs: please DO NOT ADD more functions here, it is getting too crowded!
> > """
> > -from __future__ import print_function
> > -
> > -from future import standard_library
> > -standard_library.install_aliases()
> > -
> > -from builtins import range
> > -from builtins import object
> > import math, random, doctest, numpy
> > from yade import *
> > import yade.math
> > diff --git a/scripts/checks-and-tests/checks/checkList.py b/scripts/checks-and-tests/checks/checkList.py
> > index fa9152e..10e78a0 100644
> > --- a/scripts/checks-and-tests/checks/checkList.py
> > +++ b/scripts/checks-and-tests/checks/checkList.py
> > @@ -1,7 +1,11 @@
> > # encoding: utf-8
> > # 2011 © Bruno Chareyre <bruno.chareyre at grenoble-inp.fr>
> > -from __future__ import print_function
> > -from past.builtins import execfile
> > +def execfile(filename, myglobals=None, mylocals=None):
> > + with open(filename, "rb") as fin:
> > + source = fin.read()
> > + code = compile(source, filename, "exec")
> > + exec(code)
> > +
> > import yade
> > import math
> > import os
>
>
> --
> http://fam-tille.de
--
http://fam-tille.de
More information about the debian-science-maintainers
mailing list