From 11e8f9592fc307bd73b8626f3169333657046d24 Mon Sep 17 00:00:00 2001 From: Alexandre Duret-Lutz Date: Sat, 18 May 2019 13:46:33 +0200 Subject: [PATCH 01/13] dot: replace large labels by "(label too long)" Based on a report by Victor Khomenko. * spot/twaalgos/dot.cc: Here. * tests/core/readsave.test: Add test case. * NEWS: Mention it. --- NEWS | 7 ++++++- spot/twaalgos/dot.cc | 10 +++++++++- tests/core/readsave.test | 5 +++++ 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index 38f926b82..86b8b9fe9 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,11 @@ New in spot 2.7.4.dev (not yet released) - Nothing yet. + Library: + + - print_dot will replace labels that have more 2048 characters by a + "(label too long)" string. This works around a limitation of + GraphViz that aborts when some label exceeds 16k characters, and + also helps making large automata more readable. New in spot 2.7.4 (2019-04-27) diff --git a/spot/twaalgos/dot.cc b/spot/twaalgos/dot.cc index badbaa1d1..f0b5550b2 100644 --- a/spot/twaalgos/dot.cc +++ b/spot/twaalgos/dot.cc @@ -440,7 +440,15 @@ namespace spot print_sclatex_psl(os << '$', f) << '$'; return os; } - return escape_for_output(os, str_psl(f)); + // GraphViz (2.40.1) has a strict limit of 16k for label + // length. The limit we use below is more conservative, + // because (1) escaping the html element in the string + // (e.g., "&" -> "&") can increase it a lot, and (2) + // a label of size 2048 is already unreasonable to display. + std::string s = str_psl(f); + if (s.size() > 2048) + s = "(label too long)"; + return escape_for_output(os, s); } std::ostream& diff --git a/tests/core/readsave.test b/tests/core/readsave.test index 55c985170..579c95d72 100755 --- a/tests/core/readsave.test +++ b/tests/core/readsave.test @@ -1085,3 +1085,8 @@ digraph "a U b" { } EOF diff out expected + +f="{{!a;!b}:{{c <-> d} && {e xor f} && {m | {l && {k | {j <-> {i xor {g && h}" +f="$f}}}}} && {{n && o} | {!n && p}} && {q -> {r <-> s}}}:{[*0..1];t}}[]-> u" +ltl2tgba -f "$f" --dot=bar > out.dot +grep 'label too long' out.dot From 29508339291bcfa1c21189340d6f2d4957cd320b Mon Sep 17 00:00:00 2001 From: Alexandre Duret-Lutz Date: Sat, 18 May 2019 20:51:38 +0200 Subject: [PATCH 02/13] translate: relabel_bool was ignored when option_map was not supplied * spot/twaalgos/translate.cc: Set relabel_bool_ to 4 by default, not -1. * NEWS: Mention the bug. --- NEWS | 7 +++++++ spot/twaalgos/translate.cc | 3 ++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index 86b8b9fe9..147e5e3f5 100644 --- a/NEWS +++ b/NEWS @@ -7,6 +7,13 @@ New in spot 2.7.4.dev (not yet released) GraphViz that aborts when some label exceeds 16k characters, and also helps making large automata more readable. + Bugs fixed: + + - spot::translator was not applying Boolean sub-formula rewritting + by default unless a spot::option_map was passed. This caused some + C++ code for translating certains formulas to be noticeably slower + than the equivalent call to the ltl2tgba binary. + New in spot 2.7.4 (2019-04-27) Bugs fixed: diff --git a/spot/twaalgos/translate.cc b/spot/twaalgos/translate.cc index 9fee4e847..e22342578 100644 --- a/spot/twaalgos/translate.cc +++ b/spot/twaalgos/translate.cc @@ -35,7 +35,8 @@ namespace spot void translator::setup_opt(const option_map* opt) { comp_susp_ = early_susp_ = skel_wdba_ = skel_simul_ = 0; - relabel_bool_ = tls_impl_ = -1; + relabel_bool_ = 4; + tls_impl_ = -1; ltl_split_ = true; opt_ = opt; From bdd5a0b981e85f78bd4151fdd53380ee7bf620a0 Mon Sep 17 00:00:00 2001 From: Alexandre Duret-Lutz Date: Fri, 24 May 2019 23:26:49 +0200 Subject: [PATCH 03/13] test: add missing copyright boilerplate * tests/python/genem.py: Here. --- tests/python/genem.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/tests/python/genem.py b/tests/python/genem.py index 8eb6d96d5..9de998623 100644 --- a/tests/python/genem.py +++ b/tests/python/genem.py @@ -1,3 +1,26 @@ +# -*- mode: python; coding: utf-8 -*- +# Copyright (C) 2018-2019 Laboratoire de Recherche et Développement de l'Epita +# (LRDE). +# +# This file is part of Spot, a model checking library. +# +# Spot is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# Spot is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public +# License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Test that the spot.gen package works, in particular, we want +# to make sure that the objects created from spot.gen methods +# are usable with methods from the spot package. + import spot a1 = spot.automaton(''' From 428607df1a7834439ab38eb11faa901e6efd64d6 Mon Sep 17 00:00:00 2001 From: Alexandre Duret-Lutz Date: Tue, 28 May 2019 21:40:18 +0200 Subject: [PATCH 04/13] python: remove the -nofastproxy option This was introduced by b893b5597 to work around some IPython 2 issue (https://github.com/ipython/ipython/issues/7003). * python/Makefile.am (SWIGFLAGS): Remove obsolete option. * python/spot/__init__.py: Adjust. --- python/Makefile.am | 9 ++------- python/spot/__init__.py | 2 +- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/python/Makefile.am b/python/Makefile.am index 8addbaa7c..c66706668 100644 --- a/python/Makefile.am +++ b/python/Makefile.am @@ -1,5 +1,5 @@ ## -*- coding: utf-8 -*- -## Copyright (C) 2010, 2011, 2013-2018 Laboratoire de Recherche +## Copyright (C) 2010, 2011, 2013-2019 Laboratoire de Recherche ## et Development de l'Epita (LRDE). ## Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6), ## département Systèmes Répartis Coopératifs (SRC), Université Pierre @@ -25,12 +25,7 @@ AUTOMAKE_OPTIONS = subdir-objects AM_CPPFLAGS = -I$(PYTHONINC) -I$(top_builddir) -I$(top_srcdir) \ $(BUDDY_CPPFLAGS) -DSWIG_TYPE_TABLE=spot -# Disable fastproxy, because IPython 2 bogusly ignores _repr_latex_ -# when -fastproxy is used. -# https://github.com/ipython/ipython/issues/7003 -# Once a fixed version of IPython hits Debian stable, we can remove -# this. -SWIGFLAGS = -c++ -python -py3 -O -nofastproxy -MD +SWIGFLAGS = -c++ -python -py3 -O -MD EXTRA_DIST = buddy.i spot/impl.i spot/ltsmin.i spot/gen.i nobase_pyexec_PYTHON = \ diff --git a/python/spot/__init__.py b/python/spot/__init__.py index dc7b9efbc..acae23331 100644 --- a/python/spot/__init__.py +++ b/python/spot/__init__.py @@ -1074,7 +1074,7 @@ def bdd_to_formula(b, dic=_bdd_dict): def language_containment_checker(dic=_bdd_dict): from spot.impl import language_containment_checker as c c.contains = lambda this, a, b: c.contained(this, b, a) - c.are_equivalent = c.equal + c.are_equivalent = lambda this, a, b: c.equal(this, a, b) return c(dic) def mp_hierarchy_svg(cl=None): From 05b30078850e63519d617737993069ee2e6c5929 Mon Sep 17 00:00:00 2001 From: Alexandre Duret-Lutz Date: Wed, 29 May 2019 15:48:50 +0200 Subject: [PATCH 05/13] work around new import statements generated by swig-4.0 Those statements are not compatible with the fact that libtool-generated modules are in .libs/ until they get installed. * python/spot/__init__.py: Add sys.path to __path__ if SPOT_BUILD is set. * tests/run.in: Set SPOT_BUILD. --- python/spot/__init__.py | 18 ++++++++++++------ tests/run.in | 4 +++- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/python/spot/__init__.py b/python/spot/__init__.py index acae23331..6ebba2a7f 100644 --- a/python/spot/__init__.py +++ b/python/spot/__init__.py @@ -20,21 +20,27 @@ import sys - if sys.hexversion < 0x03030000: sys.exit("This module requires Python 3.3 or newer") +import subprocess +import os +import signal +import tempfile +from contextlib import suppress as _supress + +if 'SPOT_UNINSTALLED' in os.environ: + # When Spot is installed, _impl.so will be in the same directory as + # spot/impl.py, however when we run Spot's test suite, Spot is not yet + # installed and we want "from . import _impl" (generated by Swig4) to look + # into .libs/ + __path__.extend(sys.path) from spot.impl import * from spot.aux import \ extend as _extend, \ str_to_svg as _str_to_svg, \ ostream_to_svg as _ostream_to_svg -import subprocess -import os -import signal -import tempfile -from contextlib import suppress as _supress # The parrameters used by default when show() is called on an automaton. diff --git a/tests/run.in b/tests/run.in index ecfff458a..e7ca121b2 100755 --- a/tests/run.in +++ b/tests/run.in @@ -1,6 +1,6 @@ #!/bin/sh # -*- coding: utf-8 -*- -# Copyright (C) 2010, 2011, 2014-2016, 2018 Laboratoire de Recherche +# Copyright (C) 2010, 2011, 2014-2016, 2018, 2019 Laboratoire de Recherche # et Developpement de l'EPITA (LRDE). # Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 # (LIP6), département Systèmes Répartis Coopératifs (SRC), Université @@ -61,6 +61,8 @@ export top_builddir top_srcdir='@abs_top_srcdir@' export top_srcdir +SPOT_UNINSTALLED=1 +export SPOT_UNINSTALLED case $1 in */*) From bae8be93339daee70d3b0f0827ae450e58e3be41 Mon Sep 17 00:00:00 2001 From: Alexandre Duret-Lutz Date: Sat, 1 Jun 2019 20:30:32 +0200 Subject: [PATCH 06/13] work around swig4 regression * python/Makefile.am: Here. --- python/Makefile.am | 2 ++ 1 file changed, 2 insertions(+) diff --git a/python/Makefile.am b/python/Makefile.am index c66706668..00a176531 100644 --- a/python/Makefile.am +++ b/python/Makefile.am @@ -78,6 +78,8 @@ am__depfiles_remade += ./spot/$(DEPDIR)/impl_wrap.Pcxx ${srcdir}/spot/impl_wrap.cxx: spot/impl.i $(SWIG) $(SWIGFLAGS) -I$(srcdir) -I$(top_srcdir) -MF spot/$(DEPDIR)/impl_wrap.TPcxx $(srcdir)/spot/impl.i +## work around https://github.com/swig/swig/issues/1553 + $(PERL) -pi -e 's/^#define SWIG_Python_CallFunctor.*/#define SWIG_Python_CallFunctor(functor, obj) PyObject_CallFunctionObjArgs(functor, obj, NULL);/' $@ mv spot/$(DEPDIR)/impl_wrap.TPcxx spot/$(DEPDIR)/impl_wrap.Pcxx spot/impl.py: spot/impl.i From 4a5259d1faa5e0e37ff654e7efe5ec40de72bdc7 Mon Sep 17 00:00:00 2001 From: Alexandre Duret-Lutz Date: Sat, 1 Jun 2019 22:27:06 +0200 Subject: [PATCH 07/13] work around another swig4 change * python/spot/impl.i: Make sure spot::acc_cond::mark_t::operator<< exceptions are not ignored. --- python/spot/impl.i | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/python/spot/impl.i b/python/spot/impl.i index c8b86a160..e3936660c 100644 --- a/python/spot/impl.i +++ b/python/spot/impl.i @@ -491,6 +491,10 @@ namespace std { %include %include %include + /* These operators may raise exceptions, and we do not + want Swig4 to convert those exceptions to NotImplemented. */ +%nopythonmaybecall spot::acc_cond::mark_t::operator<<; +%nopythonmaybecall spot::acc_cond::mark_t::operator>>; %implicitconv spot::acc_cond::mark_t; %implicitconv spot::acc_cond::acc_code; %feature("flatnested") spot::acc_cond::mark_t; From 65e8d16f578353269be67c7e2393e9b7d0109802 Mon Sep 17 00:00:00 2001 From: Alexandre Duret-Lutz Date: Sun, 2 Jun 2019 08:33:13 +0200 Subject: [PATCH 08/13] tests: add missing copyright blobs * tests/python/remfin.py, tests/python/tra2tba.py: Here. --- tests/python/remfin.py | 20 ++++++++++++++++++++ tests/python/tra2tba.py | 19 +++++++++++++++++++ 2 files changed, 39 insertions(+) diff --git a/tests/python/remfin.py b/tests/python/remfin.py index d1bb3793e..b6f53d453 100644 --- a/tests/python/remfin.py +++ b/tests/python/remfin.py @@ -1,3 +1,23 @@ +# -*- mode: python; coding: utf-8 -*- +# Copyright (C) 2015-2018 Laboratoire de Recherche et Développement +# de l'Epita +# +# This file is part of Spot, a model checking library. +# +# Spot is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# Spot is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public +# License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + + import spot # This test used to trigger an assertion (or a segfault) diff --git a/tests/python/tra2tba.py b/tests/python/tra2tba.py index e1e6dc8bd..a7c09a5d7 100644 --- a/tests/python/tra2tba.py +++ b/tests/python/tra2tba.py @@ -1,3 +1,22 @@ +# -*- mode: python; coding: utf-8 -*- +# Copyright (C) 2016-2018 Laboratoire de Recherche et Développement +# de l'Epita +# +# This file is part of Spot, a model checking library. +# +# Spot is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# Spot is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public +# License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + import spot # Test 1. From 7d6bfe545f613bac01c2d236795c8462988247a9 Mon Sep 17 00:00:00 2001 From: Alexandre Duret-Lutz Date: Sun, 2 Jun 2019 09:00:08 +0200 Subject: [PATCH 09/13] remprop: reset no-terminal property Reported by Yong Li. * spot/twaalgos/remprop.cc: Here. * tests/python/removeap.py: New test case. * tests/Makefile.am: Add it. * NEWS: Document the issue. * THANKS: Add Yong Li. --- NEWS | 4 ++++ THANKS | 1 + spot/twaalgos/remprop.cc | 6 +++++- tests/Makefile.am | 1 + tests/python/removeap.py | 33 +++++++++++++++++++++++++++++++++ 5 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 tests/python/removeap.py diff --git a/NEWS b/NEWS index 147e5e3f5..5ff93fec0 100644 --- a/NEWS +++ b/NEWS @@ -14,6 +14,10 @@ New in spot 2.7.4.dev (not yet released) C++ code for translating certains formulas to be noticeably slower than the equivalent call to the ltl2tgba binary. + - The remove_ap algorithm was preserving the "terminal property" of + automata, but it is possible that a non-terminal input produces a + terminal output after some propositions are removed. + New in spot 2.7.4 (2019-04-27) Bugs fixed: diff --git a/THANKS b/THANKS index e5c564715..c2a5b2bd9 100644 --- a/THANKS +++ b/THANKS @@ -50,4 +50,5 @@ Victor Khomenko Vitus Lam Yann Thierry-Mieg Yannick Molinghen +Yong Li Yuri Victorovich diff --git a/spot/twaalgos/remprop.cc b/spot/twaalgos/remprop.cc index bdd5a842c..bf721835a 100644 --- a/spot/twaalgos/remprop.cc +++ b/spot/twaalgos/remprop.cc @@ -1,5 +1,5 @@ // -*- coding: utf-8 -*- -// Copyright (C) 2015-2018 Laboratoire de Recherche et Développement +// Copyright (C) 2015-2019 Laboratoire de Recherche et Développement // de l'Epita (LRDE). // // This file is part of Spot, a model checking library. @@ -162,6 +162,10 @@ namespace spot } } + if (res->prop_terminal().is_false()) + // Non-terminal automata could become terminal. + res->prop_terminal(trival::maybe()); + transform_accessible(aut, res, [&](unsigned, bdd& cond, acc_cond::mark_t&, unsigned) { diff --git a/tests/Makefile.am b/tests/Makefile.am index 4b332e243..9befe34dc 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -398,6 +398,7 @@ TESTS_python = \ python/randgen.py \ python/relabel.py \ python/remfin.py \ + python/removeap.py \ python/satmin.py \ python/sbacc.py \ python/sccfilter.py \ diff --git a/tests/python/removeap.py b/tests/python/removeap.py new file mode 100644 index 000000000..7a9268c85 --- /dev/null +++ b/tests/python/removeap.py @@ -0,0 +1,33 @@ +# -*- mode: python; coding: utf-8 -*- +# Copyright (C) 2019 Laboratoire de Recherche et Développement +# de l'Epita +# +# This file is part of Spot, a model checking library. +# +# Spot is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# Spot is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public +# License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +import spot + + +aut = spot.translate('a U (c & Gb)') +assert not spot.is_terminal_automaton(aut) +assert aut.prop_terminal().is_false() +rem = spot.remove_ap() +rem.add_ap("b") +aut = rem.strip(aut) +assert not aut.prop_terminal().is_false() +assert spot.is_terminal_automaton(aut) +assert aut.prop_terminal().is_true() +aut = rem.strip(aut) +assert aut.prop_terminal().is_true() From 57e6208e1e989fce2a6fa0d013d819b02a2c01ba Mon Sep 17 00:00:00 2001 From: Alexandre Duret-Lutz Date: Tue, 4 Jun 2019 11:49:29 +0200 Subject: [PATCH 10/13] Update instructions for divine-ltsmin installation * tests/ltsmin/README: Here. * THANKS: Reported by Jiraphapa Jiravaraphan. --- THANKS | 1 + tests/ltsmin/README | 44 +++++++++++++++++++++++++++----------------- 2 files changed, 28 insertions(+), 17 deletions(-) diff --git a/THANKS b/THANKS index c2a5b2bd9..8fb1916d6 100644 --- a/THANKS +++ b/THANKS @@ -23,6 +23,7 @@ Jan Strejček Jean-Michel Couvreur Jean-Michel Ilié Jeroen Meijer +Jiraphapa Jiravaraphan Joachim Klein Juan Tzintzun Juraj Major diff --git a/tests/ltsmin/README b/tests/ltsmin/README index cf603d264..9947a9e84 100644 --- a/tests/ltsmin/README +++ b/tests/ltsmin/README @@ -1,20 +1,24 @@ -The DiVinE model checker [http://anna.fi.muni.cz/divine/] has a -specification language called DVE that makes it easy to model +The DiVinE 2 model checker +[http://web.archive.org/web/20120723095042/http://divine.fi.muni.cz/index.html] +used to have a specification language called DVE, for modelling processes synchonizing through channels -[http://anna.fi.muni.cz/divine/language.html]. +[http://web.archive.org/web/20120723095115/http://divine.fi.muni.cz/language.html]. A lot of models can be found in the BEEM database at -http://anna.fi.muni.cz/models/ +http://paradise.fi.muni.cz/beem/ -The LTSmin group [http://fmt.cs.utwente.nl/tools/ltsmin/] patched -DiVinE and SpinJa to compile models as dynamic libraries. This dynamic +The LTSmin group [https://ltsmin.utwente.nl/] patched +DiVinE and to compile models as dynamic libraries. This dynamic library provides a very simple C interface (no C++) and extra -information about state variables (name, type, possible values). We -use this interface so you will need to install their version of these -tools to use Spot with DVE or PROMELA models. +information about state variables (name, type, possible values). +They also distribute SpinS, a compiler for PROMELA models generating +dynamic libraries with the same interface. -The source code for our interface is in spot/ltsmin/ and generate a -separate library, libspotltsmin.so, that has to be loaded in addition +Spot uses this interface so you will need to install their version of +these tools to use Spot with DVE or PROMELA models. + +The source code for our interface is in spot/ltsmin/ and generates a +separate library, libspotltsmin.so, that has to be linked in addition to libspot.so. The current directory contains some testing code based on a toy modelchecker built upon the above interface: using it require an installation of DiVinE or SpinS (preferably both for testing @@ -27,8 +31,8 @@ Installation of DiVinE Use the following commands to compile and install the patched version of DiVinE. - git clone http://fmt.cs.utwente.nl/tools/scm/divine2.git - cd divine2 + git clone https://gitlab.lrde.epita.fr/spot/divine-ltsmin-deb + cd divine-ltsmin-deb mkdir _build && cd _build cmake .. -DMURPHI=OFF -DHOARD=OFF -DGUI=OFF -DRX_PATH= -DCMAKE_INSTALL_PREFIX=$HOME/usr make @@ -45,6 +49,13 @@ DiVinE 2 only compiles with the GNU std C++ library; as a consequence, you must provide the option -DCMAKE_CXX_FLAGS="-stdlib=libstdc++" to the cmake command line. +The above git repository is our own copy of the LTSmin fork of Divine, +that we patched to generate Debian packages for amd64. If you use +our Debian repository [https://spot.lrde.epita.fr/install.html#Debian] +you can actually install this version of divine with just: + + apt-get install divine-ltsmin + After installation, you can check that compilation works by running the following command on any DVE model. It should create a file model.dve2C (which is a dynamic library). @@ -56,10 +67,9 @@ Installation of SpinS ====================== The extended version of SpinJa is called SpinS and should be included -with LTSmin. -You can download LTSmin from their website: -[http://fmt.cs.utwente.nl/tools/ltsmin/] and install it following the -INSTALL instructions. +with LTSmin. You can download LTSmin from their website +[http://ltsmin.utwente.nl/] and install it following the INSTALL +instructions. To compile a promela model, simply run the following command: spins model.pm From 0ff6c5c43b3feb392155950d375d9958ff483ce2 Mon Sep 17 00:00:00 2001 From: Alexandre Duret-Lutz Date: Tue, 4 Jun 2019 11:52:53 +0200 Subject: [PATCH 11/13] * NEWS: Mention swig4 support. --- NEWS | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/NEWS b/NEWS index 5ff93fec0..4d0a8304f 100644 --- a/NEWS +++ b/NEWS @@ -1,5 +1,11 @@ New in spot 2.7.4.dev (not yet released) + Build: + + - Although the Python bindings in this release are still done with + Swig-3.0, the code has been updated to be compatible with + Swig-4.0. + Library: - print_dot will replace labels that have more 2048 characters by a From e9fb50114fb909f0a7aa006a005917e4a006df38 Mon Sep 17 00:00:00 2001 From: Alexandre Duret-Lutz Date: Wed, 5 Jun 2019 08:05:24 +0200 Subject: [PATCH 12/13] Release Spot 2.7.5 * NEWS, configure.ac, doc/org/setup.org: Bump version. --- NEWS | 5 ++--- configure.ac | 2 +- doc/org/setup.org | 10 +++++----- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/NEWS b/NEWS index 4d0a8304f..8d7642cba 100644 --- a/NEWS +++ b/NEWS @@ -1,10 +1,9 @@ -New in spot 2.7.4.dev (not yet released) +New in spot 2.7.5 (2019-06-05) Build: - Although the Python bindings in this release are still done with - Swig-3.0, the code has been updated to be compatible with - Swig-4.0. + Swig3.0, the code has been updated to be compatible with Swig4.0. Library: diff --git a/configure.ac b/configure.ac index d0173ec98..f43f2ca12 100644 --- a/configure.ac +++ b/configure.ac @@ -21,7 +21,7 @@ # along with this program. If not, see . AC_PREREQ([2.61]) -AC_INIT([spot], [2.7.4.dev], [spot@lrde.epita.fr]) +AC_INIT([spot], [2.7.5], [spot@lrde.epita.fr]) AC_CONFIG_AUX_DIR([tools]) AC_CONFIG_MACRO_DIR([m4]) AM_INIT_AUTOMAKE([1.11 gnu tar-ustar color-tests parallel-tests]) diff --git a/doc/org/setup.org b/doc/org/setup.org index 0309bd846..99ebf2ff1 100644 --- a/doc/org/setup.org +++ b/doc/org/setup.org @@ -1,11 +1,11 @@ #+OPTIONS: H:2 num:nil toc:t html-postamble:nil ^:nil #+EMAIL: spot@lrde.epita.fr #+HTML_LINK_HOME: index.html -#+MACRO: SPOTVERSION 2.7.4 -#+MACRO: LASTRELEASE 2.7.4 -#+MACRO: LASTTARBALL [[http://www.lrde.epita.fr/dload/spot/spot-2.7.4.tar.gz][=spot-2.7.4.tar.gz=]] -#+MACRO: LASTNEWS [[https://gitlab.lrde.epita.fr/spot/spot/blob/spot-2-7-4/NEWS][summary of the changes]] -#+MACRO: LASTDATE 2019-04-27 +#+MACRO: SPOTVERSION 2.7.5 +#+MACRO: LASTRELEASE 2.7.5 +#+MACRO: LASTTARBALL [[http://www.lrde.epita.fr/dload/spot/spot-2.7.5.tar.gz][=spot-2.7.5.tar.gz=]] +#+MACRO: LASTNEWS [[https://gitlab.lrde.epita.fr/spot/spot/blob/spot-2-7-5/NEWS][summary of the changes]] +#+MACRO: LASTDATE 2019-06-05 #+ATTR_HTML: :id spotlogo [[file:spot2.svg]] From f30c9415836c820f46576054ecda2ccfc95a9e07 Mon Sep 17 00:00:00 2001 From: Alexandre Duret-Lutz Date: Wed, 5 Jun 2019 08:09:19 +0200 Subject: [PATCH 13/13] * NEWS, configure.ac: Bump version to 2.7.5.dev. --- NEWS | 4 ++++ configure.ac | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index 8d7642cba..5ba4d1e1f 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,7 @@ +New in spot 2.7.5.dev (not yet released) + + Nothing yet. + New in spot 2.7.5 (2019-06-05) Build: diff --git a/configure.ac b/configure.ac index f43f2ca12..df97ba382 100644 --- a/configure.ac +++ b/configure.ac @@ -21,7 +21,7 @@ # along with this program. If not, see . AC_PREREQ([2.61]) -AC_INIT([spot], [2.7.5], [spot@lrde.epita.fr]) +AC_INIT([spot], [2.7.5.dev], [spot@lrde.epita.fr]) AC_CONFIG_AUX_DIR([tools]) AC_CONFIG_MACRO_DIR([m4]) AM_INIT_AUTOMAKE([1.11 gnu tar-ustar color-tests parallel-tests])