[eccodes] 101/106: Add memfs static lib and versioning to eccodes_memfs
Alastair McKinstry
mckinstry at moszumanska.debian.org
Fri Jul 28 09:05:49 UTC 2017
This is an automated email from the git hooks/post-receive script.
mckinstry pushed a commit to branch debian/master
in repository eccodes.
commit 392eb0a25a3239b30ba3fd574c5531343aeb8526
Author: Alastair McKinstry <mckinstry at debian.org>
Date: Thu Jul 20 11:32:24 2017 +0100
Add memfs static lib and versioning to eccodes_memfs
---
debian/patches/memfs.patch | 25 ++
debian/patches/python3.patch | 717 ++++++++++++++++++-------------------------
debian/patches/series | 1 +
debian/rules | 1 +
4 files changed, 327 insertions(+), 417 deletions(-)
diff --git a/debian/patches/memfs.patch b/debian/patches/memfs.patch
new file mode 100644
index 0000000..74adfd0
--- /dev/null
+++ b/debian/patches/memfs.patch
@@ -0,0 +1,25 @@
+Index: eccodes-2.4.0/memfs/CMakeLists.txt
+===================================================================
+--- eccodes-2.4.0.orig/memfs/CMakeLists.txt
++++ eccodes-2.4.0/memfs/CMakeLists.txt
+@@ -13,7 +13,17 @@ set_source_files_properties( ${CMAKE_CUR
+ )
+
+ if (HAVE_MEMFS)
+- ecbuild_add_library(TARGET eccodes_memfs
+- SOURCES ${CMAKE_CURRENT_BINARY_DIR}/memfs.c
+- GENERATED ${CMAKE_CURRENT_BINARY_DIR}/memfs.c)
++ ecbuild_add_library(TARGET eccodes_memfs
++ VERSION 0
++ CFLAGS ${CFLAGS}
++ SOURCES ${CMAKE_CURRENT_BINARY_DIR}/memfs.c
++ GENERATED ${CMAKE_CURRENT_BINARY_DIR}/memfs.c)
++
++ ecbuild_add_library(TARGET eccodes_memfs_static
++ VERSION 0
++ TYPE STATIC
++ CFLAGS ${CFLAGS}
++ SOURCES ${CMAKE_CURRENT_BINARY_DIR}/memfs.c
++ GENERATED ${CMAKE_CURRENT_BINARY_DIR}/memfs.c)
++
+ endif()
diff --git a/debian/patches/python3.patch b/debian/patches/python3.patch
index dc03c23..2682e03 100644
--- a/debian/patches/python3.patch
+++ b/debian/patches/python3.patch
@@ -1,433 +1,316 @@
-Author: Alastair McKinstry <mckinstry at debian.org>
-Description: Support for Python3
-Forwarded: no
-Last-Updated: 2016-12-05
-
-Index: eccodes-2.3.0/python/test_iterator.py
+Index: ecflow-4.6.1/Pyext/script.py
===================================================================
---- eccodes-2.3.0.orig/python/test_iterator.py
-+++ eccodes-2.3.0/python/test_iterator.py
-@@ -1,7 +1,8 @@
- #!/usr/bin/env python
+--- ecflow-4.6.1.orig/Pyext/script.py
++++ ecflow-4.6.1/Pyext/script.py
+@@ -7,5 +7,7 @@
+ #
+ #
+-print 'Hello World !'
+from __future__ import print_function
- import sys
--from gribapi import *
-+from .gribapi import *
- import profile
-
- def main():
-@@ -26,12 +27,12 @@ def main():
- sys.stdout.write("- %d - lat=%.6f lon=%.6f value=" % (i,lat,lon))
-
- if value == missingValue:
-- print "missing"
-+ print("missing")
- else:
-- print "%.6f" % value
-+ print("%.6f" % value)
-
- i += 1
--
+
- grib_iterator_delete(iterid)
- grib_release(gid)
-
-Index: eccodes-2.3.0/python/test_index.py
++print ('Hello World !')
+ number = 42
+Index: ecflow-4.6.1/tools/ecflow_fuse.py
===================================================================
---- eccodes-2.3.0.orig/python/test_index.py
-+++ eccodes-2.3.0/python/test_index.py
-@@ -1,7 +1,8 @@
+--- ecflow-4.6.1.orig/tools/ecflow_fuse.py
++++ ecflow-4.6.1/tools/ecflow_fuse.py
+@@ -1,4 +1,5 @@
#!/usr/bin/env python
-
+from __future__ import print_function
+ import os
import sys
--from gribapi import *
-+from .gribapi import *
- from array import array
- import random
- import traceback
-@@ -17,7 +18,7 @@ class Usage(Exception):
- def product(*args, **kwds):
- # product('ABCD', 'xy') --> Ax Ay Bx By Cx Cy Dx Dy
- # product(range(2), repeat=3) --> 000 001 010 011 100 101 110 111
-- pools = map(tuple, args) * kwds.get('repeat', 1)
-+ pools = list(map(tuple, args)) * kwds.get('repeat', 1)
- result = [[]]
- for pool in pools:
- result = [x+[y] for x in result for y in pool]
-@@ -34,20 +35,20 @@ def test():
- infile = sys.argv[1]
- index_keys = ["shortName","level","number","step"]
-
-- print "indexing..."
-+ print ("indexing...")
- iid = grib_index_new_from_file(infile,index_keys)
-- print "end indexing..."
-+ print ("end indexing...")
-
- index_vals = []
-
- for key in index_keys:
-- print "%sSize=%d" % (
-+ print ("%sSize=%d" % (
- key,
- grib_index_get_size(iid,key)
-- )
-+ ))
-
- key_vals = grib_index_get_string(iid,key)
-- print " ".join(key_vals)
-+ print (" ".join(key_vals))
-
- index_vals.append(key_vals)
-
-@@ -58,7 +59,7 @@ def test():
- while 1:
- gid = grib_new_from_index(iid)
- if gid is None: break
-- print " ".join(["%s=%s" % (key,grib_get_string(gid,key)) for key in index_keys])
-+ print (" ".join(["%s=%s" % (key,grib_get_string(gid,key)) for key in index_keys]))
- grib_release(gid)
-
- grib_index_release(iid)
-@@ -67,17 +68,17 @@ def test():
- def main():
- try:
- test()
-- except GribInternalError,err:
-+ except GribInternalError as err:
- if VERBOSE:
- traceback.print_exc(file=sys.stderr)
- else:
-- print >>sys.stderr,err.msg
-+ print (err.msg, file=sys.stderr)
-
- return 1
- except Usage:
-- print "Usage: %s infile" % sys.argv[0]
-+ print ("Usage: %s infile" % sys.argv[0])
- sys.exit(2)
-
- if __name__ == "__main__":
- main()
-- #print "------------------------------------"
-+ #print ("------------------------------------")
-Index: eccodes-2.3.0/python/test_keysiterator.py
-===================================================================
---- eccodes-2.3.0.orig/python/test_keysiterator.py
-+++ eccodes-2.3.0/python/test_keysiterator.py
-@@ -1,7 +1,8 @@
- #!/usr/bin/env python
+ import time
+@@ -63,7 +64,7 @@ cmds = { # "log": "--log=get",
+
+ ECF_EXTN = "sms"
+ ECF_EXTN = "ecf"
+-exts = { key: None for key in cmds.keys() }
++exts = { key: None for key in list(cmds.keys()) }
+ task_exts = {
+ ECF_EXTN: "script", "man": "manual", "out": "jobout", "job": "job",
+ # "nop": None,
+@@ -90,7 +91,7 @@ def list_dir(node):
+ item = node
+ res = []
+ if isinstance(item, ecflow.Task):
+- res.extend([ ".%s" % key for key in task_exts.keys() ])
++ res.extend([ ".%s" % key for key in list(task_exts.keys()) ])
+ else: res = [ ".att", ]
+
+ name = item.name()
+@@ -111,7 +112,7 @@ def list_dir(node):
+ # res.extend([ name + state[:4] + sus])
+
+ # if isinstance(item, ecflow.Task):
+- # res.extend([ name + ".%s" % key for key in task_exts.keys() ])
++ # res.extend([ name + ".%s" % key for key in list(task_exts.keys()) ])
+ # else: res.extend([ name, name + ".att"])
+
+ return res
+@@ -129,7 +130,7 @@ def list_att(node):
+ ecflow.Alias: "alias", }
+
+ try: attr['kind'] = kinds[type(node)]
+- except: print "what?", type(node); attr['kind'] = "unknown"
++ except: print ("what?", type(node)); attr['kind'] = "unknown"
+
+ if isinstance(node, ecflow.Defs):
+ attr['gvar'] = []
+@@ -212,21 +213,21 @@ def list_att(node):
+ return pp.pformat(attr) + "\n"
+
+ def set_att(fpath, dct, att=('st_size', ), dft=FILESIZE, ext="job"):
+- print "set_att", fpath
++ print ("set_att", fpath)
+ # if ext == "out": fpath = fpath.replace(".job", ".")
+ if os.path.exists(fpath):
+- print "'FOUND", fpath, "\n", os.lstat(fpath)
++ print ("'FOUND", fpath, "\n", os.lstat(fpath))
+ for key in att:
+ if "uid" in att or "gid" in att: continue
+ dct[key] = getattr(os.lstat(fpath), key)
+- print fpath, key, dct[key]
++ print (fpath, key, dct[key])
+ else: dct['st_size'] = FILESIZE
+
+ def remote_file(node, fname, gvar, res):
+- print "####### REMOTE"
++ print ("####### REMOTE")
+ # gvar = ecflow.VariableList()
+ for item in gvar:
+- print item
++ print (item)
+ if item.name() == "ECF_JOBOUT":
+ fname = item.value()
+ break
+@@ -245,9 +246,9 @@ def remote_file(node, fname, gvar, res):
+ cmd = "ls %s.running && tail -20 %s.running || " % (
+ fname, fname) + "tail -20 %s" % fname
+ stdin, stdout, stderr = ssh.exec_command(cmd)
+- print "#MSG: live output: ", HOST, cmd
++ print ("#MSG: live output: ", HOST, cmd)
+ for line in stdout:
+- print line,
++ print (line,)
+ res += "%s" % line
+ return res
+
+@@ -261,15 +262,15 @@ def addit(array, cont, name):
+ elif name in ("limit",):
+ if item.value() > 0:
+ load += " # value:%s" % item.value()
+- print item.node_paths
++ print (item.node_paths)
+ for idx, val in enumerate(item.node_paths):
+- print idx, val
++ print (idx, val)
+ load += " %s " % val # ???
+ rc.append(load)
+ if len(rc) > 0: cont[name] = rc
+
+ def trunc(res, size, offset):
+- print "offset", offset, size
++ print ("offset", offset, size)
+ if len(res) > size:
+ return "#TRUNCATED\n" + res[offset:offset+size-30] + "\n"
+ return res + "\n"
+@@ -287,10 +288,10 @@ class FuseEcflow(LoggingMixIn, Operation
+ self.update = int(time.strftime("%H%M"))
+ self.defs = self.client.get_defs()
+ self.root = path
+- print "#MSG: connected to %s " % host + port
++ print ("#MSG: connected to %s " % host + port)
+ if 0:
+- for s in self.defs.suites: print s.name(),
+- print
++ for s in self.defs.suites: print (s.name(),)
++ print ()
+
+ def chmod(self, path, mode):
+ raise FuseOSError(ENOENT)
+@@ -305,8 +306,8 @@ class FuseEcflow(LoggingMixIn, Operation
+
+ def server_cmd(self, ext, run=1):
+ if not ext: return ""
+- if not ext in cmds.keys():
+- print "server cmd: what?", ext
++ if not ext in list(cmds.keys()):
++ print ("server cmd: what?", ext)
+ return ""
+ cmd = ECFLOW_CLIENT + " --port %s --host %s " % (self.port, self.host
+ ) + cmds[ext]
+@@ -315,7 +316,7 @@ class FuseEcflow(LoggingMixIn, Operation
+ cmd += "=%s.%s.png; " % (self.host, self.port)
+
+ import commands
+- print cmd
++ print (cmd)
+ (rc, res) = commands.getstatusoutput( cmd )
+
+ if ext == "png":
+@@ -325,10 +326,10 @@ class FuseEcflow(LoggingMixIn, Operation
+
+ def getattr(self, path, fh=None):
+ uid, gid, pid = fuse_get_context()
+- print "getattr", path, fh
++ print ("getattr", path, fh)
+
+ cur = os.lstat(".")
+- # print "cur", cur
++ # print ("cur", cur)
+ st = dict((key, getattr(cur, key)) for key in (
+ 'st_size', 'st_gid', 'st_uid',
+ 'st_mode', 'st_mtime', 'st_atime', 'st_ctime', ))
+@@ -345,18 +346,18 @@ class FuseEcflow(LoggingMixIn, Operation
+ st['st_mtime'] = 0 # (time of most recent content modification)
+ st['st_ctime'] = 0 # (time of most recent metadata change)
+
+- st['st_mode'] = (S_IFDIR | 0755)
++ st['st_mode'] = (S_IFDIR | 0o755)
+ st['st_nlink']=2
+ return st
+
+ if '.' in path:
+- st['st_mode'] = (S_IFREG | 0444)
++ st['st_mode'] = (S_IFREG | 0o444)
+ ext = ""
+ try:
+ path, ext = path.split(".")
+ if "@" in path: node = self.client.get_defs()
+ else: node = self.client.get_defs().find_abs_node(str(path))
+- except Exception as e: print e; node = None; return st
++ except Exception as e: print (e); node = None; return st
+
+ if ext == "att":
+ st['st_size'] = len(list_att(node))
+@@ -380,7 +381,7 @@ class FuseEcflow(LoggingMixIn, Operation
+ ext=ext)
+
+ elif 1:
+- st['st_mode'] = (S_IFDIR | 0444)
++ st['st_mode'] = (S_IFDIR | 0o444)
+ st['st_size'] = 1
-+from __future__ import print_function
- import sys
--from gribapi import *
-+from .gribapi import *
-
- infile = sys.argv[1]
- fid = open(infile,"r")
-@@ -22,11 +23,9 @@ for i in range(count):
- keyname = grib_keys_iterator_get_name(iterid)
- keyval = grib_get_string(iterid,keyname)
- keytype = grib_get_native_type(gid,keyname)
-- print "%s = %s (%s)" % (keyname,keyval,str(keytype))
-+ print ("%s = %s (%s)" % (keyname,keyval,str(keytype)))
-
- grib_keys_iterator_delete(iterid)
- grib_release(gid)
-
- fid.close()
--
--
-Index: eccodes-2.3.0/python/test_general.py
-===================================================================
---- eccodes-2.3.0.orig/python/test_general.py
-+++ eccodes-2.3.0/python/test_general.py
-@@ -1,7 +1,8 @@
- #!/usr/bin/env python
-
-+from __future__ import print_function
- import sys
--from gribapi import *
-+from .gribapi import *
- import random
- import traceback
-
-@@ -44,25 +45,25 @@ def test():
- #grib_write_file(binstr_fid,x)
- #grib_close_file(binstr_fid)
-
-- print "Operating on file '%s'" % infile
-+ print ("Operating on file '%s'" % infile)
-
- n = grib_count_in_file(fid)
-- print "Message count ",n
-+ print ("Message count ",n)
-
- # multi support test
- grib_multi_support_on()
- ismulti = "no" if (n == grib_count_in_file(fid)) else "yes"
-- print "Is multi field - %s" % ismulti
-+ print ("Is multi field - %s" % ismulti)
- grib_multi_support_off()
- # end multi support test
-
- # gribex support test on/off
-- print "Gribex support on/off"
-+ print ("Gribex support on/off")
- grib_gribex_mode_on()
- grib_gribex_mode_off
- # end gribex support test
-
-- print "Browsing through messages "
-+ print ("Browsing through messages ")
- for i in range(n):
- gid = grib_new_from_file(fid)
-
-@@ -70,71 +71,71 @@ def test():
- #grib_print(gid,"centre")
-
- if i == 0:
-- print "Message size: ",grib_get_message_size(gid)
-+ print ("Message size: ",grib_get_message_size(gid))
- nval = grib_get_size(gid,"values")
-- print "Number of values in message %d is %d" % (i,nval)
-+ print ("Number of values in message %d is %d" % (i,nval))
-
-- print "== %s %s %s %d ==" % \
-+ print ("== %s %s %s %d ==" % \
- ( \
- grib_get_string(gid,"shortName"), \
- grib_get_string(gid,"name"), \
- grib_get_string(gid,"typeOfLevel"), \
- grib_get_long(gid,"level"), \
-- )
-+ ))
-
-- print "Nearest point to 10,10: "
-- print grib_find_nearest(gid,10,10)
-+ print ("Nearest point to 10,10: ")
-+ print (grib_find_nearest(gid,10,10))
-
-- print grib_find_nearest(gid,10,10,npoints=4)
-+ print (grib_find_nearest(gid,10,10,npoints=4))
-
- rand_list = []
- for i in range(0,5):
- rand_index = random.randint(1,nval)
- rand_list.append(rand_index)
- myval = grib_get_double_element(gid,"values",rand_index)
-- print "Random index value[%d] = %.8f" % (rand_index,myval)
-+ print ("Random index value[%d] = %.8f" % (rand_index,myval))
-
- all4rand = grib_get_double_elements(gid,"values",rand_list)
-- print "All at once index values: ",all4rand
-+ print ("All at once index values: ",all4rand)
-
- centre = grib_get_string(gid,"centre")
- grib_set_string(gid,"centre","ecmf")
- new_centre = grib_get_string(gid,"centre")
-- print "Before/after string centre: %s/%s" % (centre,new_centre)
-+ print ("Before/after string centre: %s/%s" % (centre,new_centre))
-
- centre = grib_get_long(gid,"centre")
- grib_set_long(gid,"centre",99)
- new_centre = grib_get_long(gid,"centre")
-- print "Before/after numeric centre: %d/%d" % (centre,new_centre)
-+ print ("Before/after numeric centre: %d/%d" % (centre,new_centre))
-
- centre = grib_get_double(gid,"centre")
- grib_set_double(gid,"centre",9)
- new_centre = grib_get_double(gid,"centre")
-- print "Before/after numeric floating point centre: %f/%f" % (centre,new_centre)
-+ print ("Before/after numeric floating point centre: %f/%f" % (centre,new_centre))
-
- vals = grib_get_double_array(gid,"values")
-- print "Values before: ",vals[:10]
-+ print ("Values before: ",vals[:10])
- grib_set_double_array(gid,"values",(1.0, 2.0, 3.14))
- vals = grib_get_double_array(gid,"values")
-- print "Values after: ",vals[:10]
-+ print ("Values after: ",vals[:10])
-
-- print "Saving modified message to %s" % outfile
-+ print ("Saving modified message to %s" % outfile)
- if WRITE: grib_write(gid,out)
-
-- print "Creating and saving a clone to %s" % clonefile
-+ print ("Creating and saving a clone to %s" % clonefile)
- clone_gid = grib_clone(gid)
- if WRITE: grib_write(clone_gid,clone_fid)
- grib_release(clone_gid)
-
- Ni = grib_get(gid,"Ni")
-- print "Setting Ni to missing from --> ",Ni
-+ print ("Setting Ni to missing from --> ",Ni)
- grib_set_missing(gid,"Ni")
- assert grib_is_missing(gid,"Ni")
- miss_Ni = grib_get(gid,"Ni")
-- print "Ni is now --> ",miss_Ni
-+ print ("Ni is now --> ",miss_Ni)
- grib_set(gid,"Ni",Ni)
- new_Ni = grib_get(gid,"Ni")
-- print "Set Ni back to its original value --> ",new_Ni
-+ print ("Set Ni back to its original value --> ",new_Ni)
- assert Ni == new_Ni
-
- #grib_multi_write(gid,multi)
-@@ -145,23 +146,23 @@ def test():
- fid.close()
- out.close()
- clone_fid.close()
-- print "Closed file"
-+ print ("Closed file")
-
-
- def main():
- try:
- test()
-- except GribInternalError,err:
-+ except GribInternalError as err:
- if VERBOSE:
- traceback.print_exc(file=sys.stderr)
else:
-- print >>sys.stderr,err.msg
-+ print (err.msg, file=sys.stderr)
-
- return 1
- except Usage:
-- print "Usage: %s infile" % sys.argv[0]
-+ print ("Usage: %s infile" % sys.argv[0])
- sys.exit(2)
-
- if __name__ == "__main__":
- main()
-- print "------------------------------------"
-+ print ("------------------------------------")
-Index: eccodes-2.3.0/python/test_extra.py
-===================================================================
---- eccodes-2.3.0.orig/python/test_extra.py
-+++ eccodes-2.3.0/python/test_extra.py
-@@ -1,6 +1,7 @@
- #!/usr/bin/env python
-
--from gribapi import *
-+from __future__ import print_function
-+from .gribapi import *
- import sys
-
- input=sys.argv[1]
-@@ -12,31 +13,31 @@ while 1:
- gid = grib_new_from_file(fid)
- if gid is None: break
-
-- print grib_get(gid,"centre")
-- print grib_get(gid,"centre",int)
-- print grib_get(gid,"centre",float)
-- print grib_get(gid,"centre",str)
-+ print (grib_get(gid,"centre"))
-+ print (grib_get(gid,"centre",int))
-+ print (grib_get(gid,"centre",float))
-+ print (grib_get(gid,"centre",str))
-
-- print "Nvalues = ",grib_get_size(gid,"values")
-+ print ("Nvalues = ",grib_get_size(gid,"values"))
-
- values = grib_get_array(gid,"values")
-- print values[:10]
-+ print (values[:10])
- values = values * 2
-
- grib_set_double_array(gid,"values",values)
-
- values = grib_get_array(gid,"values")
-- print values[:10]
-+ print (values[:10])
- values = values / 2
-
- grib_set_double_array(gid,"values",[1])
-
- values = grib_get_values(gid)
-- print values[:10]
-+ print (values[:10])
-
-- print grib_get(gid,"bitsPerValue")
-+ print (grib_get(gid,"bitsPerValue"))
- grib_set(gid,"bitsPerValue",10)
-- print grib_get(gid,"bitsPerValue")
-+ print (grib_get(gid,"bitsPerValue"))
-
- grib_write(gid,oid)
-
-Index: eccodes-2.3.0/examples/python/keys_iterator_gts.py
+@@ -404,7 +405,7 @@ class FuseEcflow(LoggingMixIn, Operation
+
+ self.refresh()
+
+- print "read", path, size, offset, fh, ext
++ print ("read", path, size, offset, fh, ext)
+ if "@" in path and ext != "att":
+ res = self.server_cmd(ext)
+ return trunc(res, size, offset)
+@@ -416,8 +417,8 @@ class FuseEcflow(LoggingMixIn, Operation
+ return "node %s state is %s%s\n" % (node.get_abs_node_path(),
+ node.get_state(), suspended)
+ elif ext in ignore: return "-ignored-"
+- elif ext and not ext in exts.keys():
+- print "what?", ext; return "-empty-"
++ elif ext and not ext in list(exts.keys()):
++ print ("what?", ext); return "-empty-"
+
+ elif ext in ("job", "out"):
+ node = self.client.get_defs().find_abs_node(str(path))
+@@ -441,7 +442,7 @@ class FuseEcflow(LoggingMixIn, Operation
+ if jobtime > outtime:
+ res += "output older than jobfile, %s\n" % item.value()
+ try: res += remote_file(node, fname, gvar, res)
+- except Exception as e: print e
++ except Exception as e: print (e)
+ return trunc(res, size, offset)
+
+ f = open(fname)
+@@ -451,25 +452,25 @@ class FuseEcflow(LoggingMixIn, Operation
+ return buf
+ else:
+ try: res += remote_file(node, fname, gvar, res)
+- except Exception as e: print e
++ except Exception as e: print (e)
+ return trunc(res, size, offset)
+
+ try: res = "%s" % self.client.get_file(str(path), exts[ext])
+- except Exception as e: print e; res = "%s" % e
++ except Exception as e: print (e); res = "%s" % e
+ return trunc(res, size, offset)
+
+ elif ext in ("why", ):
+- print "##############", ext
++ print ("##############", ext)
+ cmd = ECFLOW_CLIENT + " --port %s --host %s " % (self.port, self.host
+ ) + cmds[ext] % path
+
+ import commands
+- print cmd
++ print (cmd)
+ (rc, res) = commands.getstatusoutput( cmd )
+ return trunc(res, size, offset)
+
+ elif ext in (ECF_EXTN, "man"):
+- print "##############", ext
++ print ("##############", ext)
+ res = "%s" % self.client.get_file(str(path), exts[ext])
+ return trunc(res, size, offset)
+
+@@ -503,11 +504,11 @@ class FuseEcflow(LoggingMixIn, Operation
+ ext = None
+ if "." in path:
+ path, ext = path.split(".")
+- if ext and not ext in exts.keys():
+- print "readdir: what?", ext;
++ if ext and not ext in list(exts.keys()):
++ print ("readdir: what?", ext )
+ return [ "/" ]
+
+- print "readdir", path, fh, path, ext
++ print ("readdir", path, fh, path, ext)
+
+ self.refresh()
+
+@@ -522,7 +523,7 @@ class FuseEcflow(LoggingMixIn, Operation
+ node = self.client.get_defs()
+ nick = '%s@%s' % (self.host, self.port)
+ res = ['.', '..', nick + "." + 'att' ]
+- res += [ nick + ".%s" % key for key in cmds.keys()
++ res += [ nick + ".%s" % key for key in list(cmds.keys())
+ if key != "why" ]
+ res += [ nick + '.%s' % ( node.get_server_state()) ]
+ for s in node.suites:
+@@ -533,7 +534,7 @@ class FuseEcflow(LoggingMixIn, Operation
+ return res
+
+ elif node is None:
+- print "#ERR: not found", path
++ print ("#ERR: not found", path )
+ return [ "..", "." ]
+ # raise BaseException()
+ # return ["-empty-%s" % path.replace("/", "_") ]
+Index: ecflow-4.6.1/Pyext/unicode.py
===================================================================
---- eccodes-2.3.0.orig/examples/python/keys_iterator_gts.py
-+++ eccodes-2.3.0/examples/python/keys_iterator_gts.py
-@@ -9,6 +9,7 @@
- # nor does it submit to any jurisdiction.
- #
-
+--- ecflow-4.6.1.orig/Pyext/unicode.py
++++ ecflow-4.6.1/Pyext/unicode.py
+@@ -1,7 +1,7 @@
+ # Determine the python unicode
+-
+from __future__ import print_function
- import traceback
import sys
-
-@@ -36,7 +37,7 @@ def example():
- while codes_keys_iterator_next(iterid):
- keyname = codes_keys_iterator_get_name(iterid)
- keyval = codes_get_string(iterid, keyname)
-- print "%s = %s" % (keyname, keyval)
-+ print ("%s = %s" % (keyname, keyval))
-
- codes_keys_iterator_delete(iterid)
- codes_release(bid)
-@@ -51,7 +52,8 @@ def main():
- if VERBOSE:
- traceback.print_exc(file=sys.stderr)
- else:
-- print >> sys.stderr, err.msg
-+ print(err.msg, file=sys.stderr)
-+
-
- return 1
-
-Index: eccodes-2.3.0/examples/python/binary_message.py
+ if sys.maxunicode > 65535:
+- print 'UCS4 build'
++ print ('UCS4 build')
+ else:
+- print 'UCS2 build'
+\ No newline at end of file
++ print ('UCS2 build')
+Index: ecflow-4.6.1/Pyext/migrate/ecflow_migrate.py
===================================================================
---- eccodes-2.3.0.orig/examples/python/binary_message.py
-+++ eccodes-2.3.0/examples/python/binary_message.py
-@@ -9,6 +9,7 @@
- # nor does it submit to any jurisdiction.
+--- ecflow-4.6.1.orig/Pyext/migrate/ecflow_migrate.py
++++ ecflow-4.6.1/Pyext/migrate/ecflow_migrate.py
+@@ -16,6 +16,7 @@
+ # Handle bugs, produced by old versions of ecflow_client --migrate
+ # - Mostly to do with handling newlines
#
-
+from __future__ import print_function
- import traceback
- import sys
-
-Index: eccodes-2.3.0/python/gribapi/gribapi.py
-===================================================================
---- eccodes-2.3.0.orig/python/gribapi/gribapi.py
-+++ eccodes-2.3.0/python/gribapi/gribapi.py
-@@ -23,7 +23,7 @@ When this is enabed, then the system Pyt
-
- """
- import gribapi_swig as _internal
--# from gribapi import gribapi_swig as _internal
-+from gribapi import gribapi_swig as _internal
- import types
- import sys
- import os
-@@ -32,6 +32,14 @@ from functools import wraps
- from . import errors
- from errors import * # noqa
-
-+try:
-+ type(file)
-+except NameError:
-+ # python3
-+ import io
-+ file=io.IOBase
-+ long=int
-+
- KEYTYPES = {
- 1: int,
- 2: float,
+ import os # for getenv
+ import shutil # used to remove directory tree
+ #import argparse # requires python 2.7
diff --git a/debian/patches/series b/debian/patches/series
index c44e1ec..888c30a 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -7,3 +7,4 @@ python3.patch
numpy-fixes.patch
py3-fixes.patch
remove-rpms.patch
+memfs.patch
diff --git a/debian/rules b/debian/rules
index 0ee4ca0..c28a130 100755
--- a/debian/rules
+++ b/debian/rules
@@ -38,6 +38,7 @@ BUILD_FLAGS = \
-DENABLE_AEC=ON \
-DENABLE_RPATHS=OFF \
-DENABLE_RELATIVE_RPATHS=OFF \
+ -DENABLE_MEMFS=ON \
-DHAVE_BIT_REPRODUCIBLE=ON \
-DCMAKE_C_CFLAGS="${CFLAGS} ${LDFLAGS}" \
-DENABLE_ALIGN_MEMORY=ON \
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/eccodes.git
More information about the debian-science-commits
mailing list