Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package libsemigroups for openSUSE:Factory 
checked in at 2022-08-30 14:49:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libsemigroups (Old)
 and      /work/SRC/openSUSE:Factory/.libsemigroups.new.2083 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libsemigroups"

Tue Aug 30 14:49:17 2022 rev:16 rq:999994 version:2.2.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/libsemigroups/libsemigroups.changes      
2022-07-03 18:26:50.992731580 +0200
+++ /work/SRC/openSUSE:Factory/.libsemigroups.new.2083/libsemigroups.changes    
2022-08-30 14:49:49.156172365 +0200
@@ -1,0 +2,7 @@
+Sat Aug 13 08:30:28 UTC 2022 - Jan Engelhardt <[email protected]>
+
+- Update to release 2.2.1
+  * This is a minor release fixing a data race (probably) caused
+    by setting the global locale
+
+-------------------------------------------------------------------

Old:
----
  libsemigroups-2.2.0.tar.gz

New:
----
  libsemigroups-2.2.1.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libsemigroups.spec ++++++
--- /var/tmp/diff_new_pack.P9b365/_old  2022-08-30 14:49:49.664173661 +0200
+++ /var/tmp/diff_new_pack.P9b365/_new  2022-08-30 14:49:49.668173671 +0200
@@ -18,7 +18,7 @@
 
 Name:           libsemigroups
 %define lname  libsemigroups2
-Version:        2.2.0
+Version:        2.2.1
 Release:        0
 Summary:        Library with algorithms for computing finite and finitely 
presented semigroups
 License:        GPL-3.0-or-later

++++++ libsemigroups-2.2.0.tar.gz -> libsemigroups-2.2.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsemigroups-2.2.0/.VERSION 
new/libsemigroups-2.2.1/.VERSION
--- old/libsemigroups-2.2.0/.VERSION    2022-07-01 17:16:26.135584384 +0200
+++ new/libsemigroups-2.2.1/.VERSION    2022-08-12 10:11:36.978803755 +0200
@@ -1 +1 @@
-2.2.0
\ No newline at end of file
+2.2.1
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsemigroups-2.2.0/README.rst 
new/libsemigroups-2.2.1/README.rst
--- old/libsemigroups-2.2.0/README.rst  2022-07-01 17:16:14.671961655 +0200
+++ new/libsemigroups-2.2.1/README.rst  2022-08-12 10:08:34.544681634 +0200
@@ -4,7 +4,7 @@
 
    The full license is in the file LICENSE, distributed with this software.
 
-libsemigroups - Version 2.2.0
+libsemigroups - Version 2.2.1
 =============================
 
 .. image:: https://readthedocs.org/projects/libsemigroups/badge/?version=master
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsemigroups-2.2.0/configure 
new/libsemigroups-2.2.1/configure
--- old/libsemigroups-2.2.0/configure   2022-07-01 17:16:29.660445493 +0200
+++ new/libsemigroups-2.2.1/configure   2022-08-12 10:11:40.645479653 +0200
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.71 for libsemigroups 2.2.0.
+# Generated by GNU Autoconf 2.71 for libsemigroups 2.2.1.
 #
 # Report bugs to <[email protected]>.
 #
@@ -621,8 +621,8 @@
 # Identity of this package.
 PACKAGE_NAME='libsemigroups'
 PACKAGE_TARNAME='libsemigroups'
-PACKAGE_VERSION='2.2.0'
-PACKAGE_STRING='libsemigroups 2.2.0'
+PACKAGE_VERSION='2.2.1'
+PACKAGE_STRING='libsemigroups 2.2.1'
 PACKAGE_BUGREPORT='[email protected]'
 PACKAGE_URL=''
 
@@ -1430,7 +1430,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures libsemigroups 2.2.0 to adapt to many kinds of systems.
+\`configure' configures libsemigroups 2.2.1 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1502,7 +1502,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of libsemigroups 2.2.0:";;
+     short | recursive ) echo "Configuration of libsemigroups 2.2.1:";;
    esac
   cat <<\_ACEOF
 
@@ -1643,7 +1643,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-libsemigroups configure 2.2.0
+libsemigroups configure 2.2.1
 generated by GNU Autoconf 2.71
 
 Copyright (C) 2021 Free Software Foundation, Inc.
@@ -2482,7 +2482,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by libsemigroups $as_me 2.2.0, which was
+It was created by libsemigroups $as_me 2.2.1, which was
 generated by GNU Autoconf 2.71.  Invocation command line was
 
   $ $0$ac_configure_args_raw
@@ -4091,7 +4091,7 @@
 
 # Define the identity of the package.
  PACKAGE='libsemigroups'
- VERSION='2.2.0'
+ VERSION='2.2.1'
 
 
 printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
@@ -23424,7 +23424,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by libsemigroups $as_me 2.2.0, which was
+This file was extended by libsemigroups $as_me 2.2.1, which was
 generated by GNU Autoconf 2.71.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -23492,7 +23492,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config='$ac_cs_config_escaped'
 ac_cs_version="\\
-libsemigroups config.status 2.2.0
+libsemigroups config.status 2.2.1
 configured by $0, generated by GNU Autoconf 2.71,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsemigroups-2.2.0/docs/source/changelog.rst 
new/libsemigroups-2.2.1/docs/source/changelog.rst
--- old/libsemigroups-2.2.0/docs/source/changelog.rst   2022-07-01 
17:16:14.672384102 +0200
+++ new/libsemigroups-2.2.1/docs/source/changelog.rst   2022-08-12 
10:09:57.454323188 +0200
@@ -1,6 +1,12 @@
 Changelog - version 2
 =====================
 
+v2.2.1 (released 12/08/2022)
+----------------------------
+
+This is a minor release fixing a data race (probably) caused by setting the
+global locale, that sometimes caused a crash.
+
 v2.2.0 (released 01/07/2022)
 ----------------------------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsemigroups-2.2.0/docs/source/index.rst 
new/libsemigroups-2.2.1/docs/source/index.rst
--- old/libsemigroups-2.2.0/docs/source/index.rst       2022-07-01 
17:16:14.672666302 +0200
+++ new/libsemigroups-2.2.1/docs/source/index.rst       2022-08-12 
10:10:39.557829863 +0200
@@ -1,4 +1,4 @@
-libsemigroups - Version 2.2.0
+libsemigroups - Version 2.2.1
 =============================
 
 C++ library for semigroups and monoids
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsemigroups-2.2.0/docs/source/install.rst 
new/libsemigroups-2.2.1/docs/source/install.rst
--- old/libsemigroups-2.2.0/docs/source/install.rst     2022-07-01 
17:16:14.673013459 +0200
+++ new/libsemigroups-2.2.1/docs/source/install.rst     2022-08-12 
10:10:17.862673152 +0200
@@ -1,4 +1,4 @@
-.. |libsemigroups-version| replace:: 2.2.0
+.. |libsemigroups-version| replace:: 2.2.1
 
 .. _Installation:
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsemigroups-2.2.0/include/libsemigroups/config.hpp 
new/libsemigroups-2.2.1/include/libsemigroups/config.hpp
--- old/libsemigroups-2.2.0/include/libsemigroups/config.hpp    2022-07-01 
17:16:35.570752003 +0200
+++ new/libsemigroups-2.2.1/include/libsemigroups/config.hpp    2022-08-12 
10:11:47.204412828 +0200
@@ -181,7 +181,7 @@
 
 /* Define to the full name and version of this package. */
 #ifndef LIBSEMIGROUPS_PACKAGE_STRING
-#define LIBSEMIGROUPS_PACKAGE_STRING "libsemigroups 2.2.0"
+#define LIBSEMIGROUPS_PACKAGE_STRING "libsemigroups 2.2.1"
 #endif
 
 /* Define to the one symbol short name of this package. */
@@ -196,7 +196,7 @@
 
 /* Define to the version of this package. */
 #ifndef LIBSEMIGROUPS_PACKAGE_VERSION
-#define LIBSEMIGROUPS_PACKAGE_VERSION "2.2.0"
+#define LIBSEMIGROUPS_PACKAGE_VERSION "2.2.1"
 #endif
 
 /* Define to necessary symbol if this constant uses a non-standard name on
@@ -232,7 +232,7 @@
 
 /* Version number of package */
 #ifndef LIBSEMIGROUPS_VERSION
-#define LIBSEMIGROUPS_VERSION "2.2.0"
+#define LIBSEMIGROUPS_VERSION "2.2.1"
 #endif
 
 /* Define for Solaris 2.5.1 so the uint64_t typedef from <sys/synch.h>,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsemigroups-2.2.0/include/libsemigroups/report.hpp 
new/libsemigroups-2.2.1/include/libsemigroups/report.hpp
--- old/libsemigroups-2.2.0/include/libsemigroups/report.hpp    2022-06-24 
16:18:43.578007063 +0200
+++ new/libsemigroups-2.2.1/include/libsemigroups/report.hpp    2022-08-12 
10:07:53.544142364 +0200
@@ -396,12 +396,7 @@
     class PrintTable {
      public:
       explicit PrintTable(size_t width = 72)
-          : _rows(), _header(), _footer(), _width(width) {
-        try {
-          std::locale::global(std::locale("en_US.UTF-8"));
-        } catch (std::runtime_error const& e) {
-        }
-      }
+          : _rows(), _header(), _footer(), _width(width) {}
 
       std::string emit() {
         std::string result = lineohash() + _header + lineohash();
@@ -467,6 +462,10 @@
     };
   }  // namespace detail
 
+  namespace report {
+    bool should_report() noexcept;
+  }
+
   //! This struct can be used to enable printing of some information during
   //! various of the computation in ``libsemigroups``. Reporting is enable (or
   //! not) at construction time, and disable when the ReportGuard goes out of
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsemigroups-2.2.0/src/report.cpp 
new/libsemigroups-2.2.1/src/report.cpp
--- old/libsemigroups-2.2.0/src/report.cpp      2022-05-15 16:54:05.108367682 
+0200
+++ new/libsemigroups-2.2.1/src/report.cpp      2022-08-12 10:07:53.544515055 
+0200
@@ -59,12 +59,7 @@
     }
 
     Reporter::Reporter(bool report)
-        : _last_msg(), _mtx(), _msg(), _options(), _report(report) {
-      try {
-        std::locale::global(std::locale("en_US.UTF-8"));
-      } catch (std::runtime_error const& e) {
-      }
-    }
+        : _last_msg(), _mtx(), _msg(), _options(), _report(report) {}
 
 #ifdef LIBSEMIGROUPS_FMT_ENABLED
     Reporter& Reporter::color(fmt::color c) {
@@ -141,4 +136,11 @@
       }
     }
   }  // namespace detail
+
+  namespace report {
+    bool should_report() noexcept {
+      return REPORTER.report();
+    }
+
+  }  // namespace report
 }  // namespace libsemigroups
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsemigroups-2.2.0/src/todd-coxeter.cpp 
new/libsemigroups-2.2.1/src/todd-coxeter.cpp
--- old/libsemigroups-2.2.0/src/todd-coxeter.cpp        2022-06-24 
16:18:43.584874610 +0200
+++ new/libsemigroups-2.2.1/src/todd-coxeter.cpp        2022-08-12 
10:07:53.545612588 +0200
@@ -1576,11 +1576,13 @@
 
 #ifdef LIBSEMIGROUPS_ENABLE_STATS
     void ToddCoxeter::report_coincidences(char const* fnam) {
-      REPORT_DEFAULT(FORMAT("coincidences:" + fmt_line(),
-                            _coinc.size(),
-                            int64_t(_coinc.size() - _stats.prev_coincidences),
-                            fnam));
-      _stats.prev_coincidences = _coinc.size();
+      if (report::should_report()) {
+        REPORT_DEFAULT(FORMAT("coincidences:" + fmt_line(),
+                              _coinc.size(),
+                              int64_t(_coinc.size() - 
_stats.prev_coincidences),
+                              fnam));
+        _stats.prev_coincidences = _coinc.size();
+      }
     }
 #else
     void ToddCoxeter::report_coincidences(char const* fnam) {
@@ -1591,12 +1593,14 @@
 
 #ifdef LIBSEMIGROUPS_ENABLE_STATS
     void ToddCoxeter::report_active_cosets(char const* fnam) {
-      REPORT_DEFAULT(
-          FORMAT("active cosets:" + fmt_line(),
-                 number_of_cosets_active(),
-                 int64_t(number_of_cosets_active() - 
_stats.prev_active_cosets),
-                 fnam));
-      _stats.prev_active_cosets = number_of_cosets_active();
+      if (report::should_report()) {
+        REPORT_DEFAULT(FORMAT(
+            "active cosets:" + fmt_line(),
+            number_of_cosets_active(),
+            int64_t(number_of_cosets_active() - _stats.prev_active_cosets),
+            fnam));
+        _stats.prev_active_cosets = number_of_cosets_active();
+      }
     }
 #else
     void ToddCoxeter::report_active_cosets(char const* fnam) {
@@ -1606,52 +1610,60 @@
 #endif
 
     void ToddCoxeter::report_cosets_killed(char const* fnam, int64_t N) const {
+      if (report::should_report()) {
 #ifdef LIBSEMIGROUPS_FMT_ENABLED
-      std::string fmt = "\t{:>12} {:+12L} ({})\n";
+        std::string fmt = "\t{:>12} {:+12L} ({})\n";
 #else
-      std::string fmt = "\t%12s %+'12lld (%s)\n";
+        std::string fmt = "\t%12s %+'12lld (%s)\n";
 #endif
-      REPORT_DEFAULT(FORMAT("cosets killed:" + fmt, "", -1 * N, fnam));
+        REPORT_DEFAULT(FORMAT("cosets killed:" + fmt, "", -1 * N, fnam));
+      }
     }
 
     void ToddCoxeter::report_inc_lookahead(char const* fnam,
                                            size_t      new_value) const {
+      if (report::should_report()) {
 #if defined(LIBSEMIGROUPS_FMT_ENABLED)
-      std::string fmt = "\t{:12L} {:+12L} ({})\n";
+        std::string fmt = "\t{:12L} {:+12L} ({})\n";
 #else
-      std::string fmt = "\t%'12llu %+'12lld (%s)\n";
+        std::string fmt = "\t%'12llu %+'12lld (%s)\n";
 #endif
-      REPORT_DEFAULT(FORMAT("lookahead at:" + fmt,
-                            new_value,
-                            int64_t(new_value - next_lookahead()),
-                            fnam));
+        REPORT_DEFAULT(FORMAT("lookahead at:" + fmt,
+                              new_value,
+                              int64_t(new_value - next_lookahead()),
+                              fnam));
+      }
     }
 
     void ToddCoxeter::report_time(char const* fnam, detail::Timer& t) const {
-      auto   tt    = t.string();
-      size_t width = 12;
-      // Check if we contain a \mu
-      if (tt.find("\u03BC") != std::string::npos) {
-        width = 13;
-      }
+      if (report::should_report()) {
+        auto   tt    = t.string();
+        size_t width = 12;
+        // Check if we contain a \mu
+        if (tt.find("\u03BC") != std::string::npos) {
+          width = 13;
+        }
 #ifdef LIBSEMIGROUPS_FMT_ENABLED
-      std::string fmt = "\t{:>" + std::to_string(width) + "} {:>{}} ({})\n";
-      REPORT_DEFAULT(FORMAT("elapsed time:" + fmt, tt.c_str(), "", 12, fnam));
+        std::string fmt = "\t{:>" + std::to_string(width) + "} {:>{}} ({})\n";
+        REPORT_DEFAULT(FORMAT("elapsed time:" + fmt, tt.c_str(), "", 12, 
fnam));
 #else
-      std::string fmt = "\t%" + std::to_string(width) + "s %*s (%s)\n";
-      REPORT_DEFAULT(FORMAT("elapsed time:" + fmt, tt.c_str(), 12, "", fnam));
+        std::string fmt = "\t%" + std::to_string(width) + "s %*s (%s)\n";
+        REPORT_DEFAULT(FORMAT("elapsed time:" + fmt, tt.c_str(), 12, "", 
fnam));
 #endif
+      }
     }
 
     // Cannot test this
     void ToddCoxeter::report_at_coset(char const* fnam, size_t N) const {
+      if (report::should_report()) {
 #ifdef LIBSEMIGROUPS_FMT_ENABLED
-      std::string fmt = "\t{:12L} {:12L} ({})\n";
+        std::string fmt = "\t{:12L} {:12L} ({})\n";
 #else
-      std::string fmt = "\t%'12llu %'12lld (%s)\n";
+        std::string fmt = "\t%'12llu %'12lld (%s)\n";
 #endif
-      REPORT_DEFAULT(
-          FORMAT("at coset:" + fmt, N, number_of_cosets_active(), fnam));
+        REPORT_DEFAULT(
+            FORMAT("at coset:" + fmt, N, number_of_cosets_active(), fnam));
+      }
     }
 
     ////////////////////////////////////////////////////////////////////////
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsemigroups-2.2.0/tests/test-main.cpp 
new/libsemigroups-2.2.1/tests/test-main.cpp
--- old/libsemigroups-2.2.0/tests/test-main.cpp 2022-05-15 16:54:12.472898936 
+0200
+++ new/libsemigroups-2.2.1/tests/test-main.cpp 2022-08-11 15:11:14.007277096 
+0200
@@ -49,10 +49,6 @@
   using TestEventListenerBase::TestEventListenerBase;  // inherit constructor
 
   void testCaseStarting(Catch::TestCaseInfo const& testInfo) override {
-    try {
-      std::locale::global(std::locale("en_US.UTF-8"));
-    } catch (std::runtime_error const& e) {
-    }
     _first_call = true;
     _one        = testInfo.name;
     _two        = " . . .";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libsemigroups-2.2.0/tests/test-timer.cpp 
new/libsemigroups-2.2.1/tests/test-timer.cpp
--- old/libsemigroups-2.2.0/tests/test-timer.cpp        2022-05-15 
16:54:12.500321473 +0200
+++ new/libsemigroups-2.2.1/tests/test-timer.cpp        2022-08-11 
15:11:24.313782669 +0200
@@ -31,7 +31,6 @@
                           "001",
                           "string method (1 argument)",
                           "[quick]") {
-    std::locale::global(std::locale("C"));
     detail::Timer            t;
     std::chrono::nanoseconds ns(1);
     REQUIRE(t.string(ns) == "1ns");

Reply via email to