Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package 4ti2 for openSUSE:Factory checked in 
at 2026-03-30 18:33:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/4ti2 (Old)
 and      /work/SRC/openSUSE:Factory/.4ti2.new.1999 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "4ti2"

Mon Mar 30 18:33:00 2026 rev:15 rq:1343651 version:1.6.15

Changes:
--------
--- /work/SRC/openSUSE:Factory/4ti2/4ti2.changes        2025-11-26 
18:50:32.871580874 +0100
+++ /work/SRC/openSUSE:Factory/.4ti2.new.1999/4ti2.changes      2026-03-30 
18:37:16.834061966 +0200
@@ -1,0 +2,6 @@
+Thu Mar  5 13:02:52 UTC 2026 - Jan Engelhardt <[email protected]>
+
+- Update to release 1.6.15
+  * Resolve some compiler warnings
+
+-------------------------------------------------------------------

Old:
----
  4ti2-1.6.14.tar.gz

New:
----
  4ti2-1.6.15.tar.gz

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

Other differences:
------------------
++++++ 4ti2.spec ++++++
--- /var/tmp/diff_new_pack.XvOwyK/_old  2026-03-30 18:37:17.726099260 +0200
+++ /var/tmp/diff_new_pack.XvOwyK/_new  2026-03-30 18:37:17.726099260 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package 4ti2
 #
-# Copyright (c) 2025 SUSE LLC and contributors
+# Copyright (c) 2026 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,13 +17,13 @@
 
 
 Name:           4ti2
-Version:        1.6.14
+Version:        1.6.15
 Release:        0
 Summary:        Package for algebraic, geometric and combinatorial problems on 
linear spaces
 License:        GPL-2.0-or-later
 Group:          Productivity/Scientific/Math
 URL:            https://4ti2.github.io/
-Source:         
https://github.com/4ti2/4ti2/releases/download/Release_1_6_14/4ti2-1.6.14.tar.gz
+Source:         
https://github.com/4ti2/4ti2/releases/download/Release_1_6_15/4ti2-1.6.15.tar.gz
 Patch2:         4ti2-handle-prefix.patch
 BuildRequires:  fdupes
 BuildRequires:  gcc-c++ >= 4.3

++++++ 4ti2-1.6.14.tar.gz -> 4ti2-1.6.15.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/4ti2-1.6.14/configure new/4ti2-1.6.15/configure
--- old/4ti2-1.6.14/configure   2025-11-26 06:41:22.000000000 +0100
+++ new/4ti2-1.6.15/configure   2026-03-05 06:26:09.000000000 +0100
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.71 for 4ti2 1.6.14.
+# Generated by GNU Autoconf 2.71 for 4ti2 1.6.15.
 #
 #
 # Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation,
@@ -618,8 +618,8 @@
 # Identity of this package.
 PACKAGE_NAME='4ti2'
 PACKAGE_TARNAME='4ti2'
-PACKAGE_VERSION='1.6.14'
-PACKAGE_STRING='4ti2 1.6.14'
+PACKAGE_VERSION='1.6.15'
+PACKAGE_STRING='4ti2 1.6.15'
 PACKAGE_BUGREPORT=''
 PACKAGE_URL=''
 
@@ -2127,7 +2127,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 4ti2 1.6.14 to adapt to many kinds of systems.
+\`configure' configures 4ti2 1.6.15 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -2198,7 +2198,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of 4ti2 1.6.14:";;
+     short | recursive ) echo "Configuration of 4ti2 1.6.15:";;
    esac
   cat <<\_ACEOF
 
@@ -2325,7 +2325,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-4ti2 configure 1.6.14
+4ti2 configure 1.6.15
 generated by GNU Autoconf 2.71
 
 Copyright (C) 2021 Free Software Foundation, Inc.
@@ -3141,7 +3141,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by 4ti2 $as_me 1.6.14, which was
+It was created by 4ti2 $as_me 1.6.15, which was
 generated by GNU Autoconf 2.71.  Invocation command line was
 
   $ $0$ac_configure_args_raw
@@ -4639,7 +4639,7 @@
 
 # Define the identity of the package.
  PACKAGE='4ti2'
- VERSION='1.6.14'
+ VERSION='1.6.15'
 
 
 printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
@@ -15283,6 +15283,7 @@
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
+CFLAGS="${CFLAGS} -D_GNU_SOURCE"
 
 ## Using the C++ compiler
 
@@ -31395,7 +31396,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by 4ti2 $as_me 1.6.14, which was
+This file was extended by 4ti2 $as_me 1.6.15, which was
 generated by GNU Autoconf 2.71.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -31463,7 +31464,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config='$ac_cs_config_escaped'
 ac_cs_version="\\
-4ti2 config.status 1.6.14
+4ti2 config.status 1.6.15
 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/4ti2-1.6.14/configure.ac new/4ti2-1.6.15/configure.ac
--- old/4ti2-1.6.14/configure.ac        2025-11-26 06:40:59.000000000 +0100
+++ new/4ti2-1.6.15/configure.ac        2026-03-05 06:25:49.000000000 +0100
@@ -2,7 +2,7 @@
 # Process this file with autoconf to produce a configure script.
 
 AC_PREREQ([2.69])
-AC_INIT([4ti2],[1.6.14])
+AC_INIT([4ti2],[1.6.15])
 AC_CONFIG_MACRO_DIR([m4])
 AM_INIT_AUTOMAKE([foreign std-options])
 AC_CONFIG_FILES([Makefile src/Makefile src/4ti2/Makefile
@@ -67,6 +67,7 @@
 gl_INIT
 
 AX_CFLAGS_WARN_ALL
+CFLAGS="${CFLAGS} -D_GNU_SOURCE"
 
 ## Using the C++ compiler
 AC_PROG_CXX
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/4ti2-1.6.14/src/groebner/CircuitMatrixAlgorithm.tpp 
new/4ti2-1.6.15/src/groebner/CircuitMatrixAlgorithm.tpp
--- old/4ti2-1.6.14/src/groebner/CircuitMatrixAlgorithm.tpp     2025-11-26 
06:40:59.000000000 +0100
+++ new/4ti2-1.6.15/src/groebner/CircuitMatrixAlgorithm.tpp     2026-03-05 
06:25:49.000000000 +0100
@@ -282,7 +282,7 @@
     VectorArray matrix(orig_matrix.get_number(), orig_matrix.get_size());
 
     char buffer[256];
-    sprintf(buffer, "  Left = %3d  Col = %3d", num_remaining, next_col);
+    snprintf(buffer, sizeof(buffer), "  Left = %3d  Col = %3d", num_remaining, 
next_col);
 
     DEBUG_4ti2(*out << "R1 [" << r1_start << "..." << r1_end << "]\n";)
     DEBUG_4ti2(*out << "R2 [" << r2_start << "..." << r2_end << "]\n";)
@@ -387,7 +387,7 @@
     VectorArray matrix(orig_matrix);
 
     char buffer[256];
-    sprintf(buffer, "  Left = %3d  Col = %3d", num_remaining, next_col);
+    snprintf(buffer, sizeof(buffer), "  Left = %3d  Col = %3d", num_remaining, 
next_col);
 
     DEBUG_4ti2(*out << "R1 [" << r1_start << "..." << r1_end << "]\n";)
     DEBUG_4ti2(*out << "R2 [" << r2_start << "..." << r2_end << "]\n";)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/4ti2-1.6.14/src/groebner/CircuitSupportAlgorithm.tpp 
new/4ti2-1.6.15/src/groebner/CircuitSupportAlgorithm.tpp
--- old/4ti2-1.6.14/src/groebner/CircuitSupportAlgorithm.tpp    2025-11-26 
06:40:59.000000000 +0100
+++ new/4ti2-1.6.15/src/groebner/CircuitSupportAlgorithm.tpp    2026-03-05 
06:25:49.000000000 +0100
@@ -323,7 +323,7 @@
     int num_cols = vs.get_size();
 
     char buffer[256];
-    sprintf(buffer, "  Left = %3d,  Col = %3d,", num_remaining, next_col);
+    snprintf(buffer, sizeof(buffer), "  Left = %3d,  Col = %3d,", 
num_remaining, next_col);
 
     IndexSet temp_supp(num_cols);
     IndexSet full_temp_supp(full_num_cols);
@@ -405,7 +405,7 @@
     int num_cols = vs.get_size();
 
     char buffer[256];
-    sprintf(buffer, "  Left = %3d  Col = %3d", num_remaining, next_col);
+    snprintf(buffer, sizeof(buffer), "  Left = %3d  Col = %3d", num_remaining, 
next_col);
 
     IndexSet temp_supp(num_cols);
     IndexSet zero_supp(full_num_cols);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/4ti2-1.6.14/src/groebner/HybridGenSet.cpp 
new/4ti2-1.6.15/src/groebner/HybridGenSet.cpp
--- old/4ti2-1.6.14/src/groebner/HybridGenSet.cpp       2025-11-26 
06:40:59.000000000 +0100
+++ new/4ti2-1.6.15/src/groebner/HybridGenSet.cpp       2026-03-05 
06:25:49.000000000 +0100
@@ -124,7 +124,7 @@
         column = next_support(gens, fin);
         VectorArray cost(1,dim,0);
         cost[0][column] = -1;
-        sprintf(buffer, "  Lift %3d: Col: %3d ", fin.count(), column); 
+        snprintf(buffer, sizeof(buffer), "  Lift %3d: Col: %3d ", fin.count(), 
column); 
         Globals::context = buffer;
         BitSet::set_union(fin, urs, fin_union_urs);
         Feasible projection(feasible, fin_union_urs);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/4ti2-1.6.14/src/groebner/Makefile.am 
new/4ti2-1.6.15/src/groebner/Makefile.am
--- old/4ti2-1.6.14/src/groebner/Makefile.am    2025-11-26 06:40:59.000000000 
+0100
+++ new/4ti2-1.6.15/src/groebner/Makefile.am    2026-03-05 06:25:49.000000000 
+0100
@@ -306,7 +306,5 @@
 lib4ti2gmp_la_SOURCES = $(lib4ti2sources)
 endif
 
-EXTRA_DIST = script.template
-
 $(WRAPPERSCRIPTS): script.template
        $(install_sh_SCRIPT) $< $@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/4ti2-1.6.14/src/groebner/Makefile.in 
new/4ti2-1.6.15/src/groebner/Makefile.in
--- old/4ti2-1.6.14/src/groebner/Makefile.in    2025-11-26 06:41:24.000000000 
+0100
+++ new/4ti2-1.6.15/src/groebner/Makefile.in    2026-03-05 06:26:11.000000000 
+0100
@@ -1757,7 +1757,6 @@
 @HAVE_GMP_WITH_CXX_TRUE@lib4ti2gmp_la_CPPFLAGS = -D_4ti2_GMP_ \
 @HAVE_GMP_WITH_CXX_TRUE@       $(GMP_CFLAGS)
 @HAVE_GMP_WITH_CXX_TRUE@lib4ti2gmp_la_SOURCES = $(lib4ti2sources)
-EXTRA_DIST = script.template
 all: all-am
 
 .SUFFIXES:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/4ti2-1.6.14/src/groebner/ProjectLiftGenSet.cpp 
new/4ti2-1.6.15/src/groebner/ProjectLiftGenSet.cpp
--- old/4ti2-1.6.14/src/groebner/ProjectLiftGenSet.cpp  2025-11-26 
06:40:59.000000000 +0100
+++ new/4ti2-1.6.15/src/groebner/ProjectLiftGenSet.cpp  2026-03-05 
06:25:49.000000000 +0100
@@ -132,7 +132,7 @@
     VectorArray cost(1,dim,0);
     cost[0][index] = -1;
     char buffer[250];
-    sprintf(buffer, "  Lift %3d: Col: %3d ", fin.count()+1, index); 
+    snprintf(buffer, sizeof(buffer), "  Lift %3d: Col: %3d ", fin.count()+1, 
index); 
     Globals::context = buffer;
     Completion algorithm;
     DEBUG_4ti2(*out << "Column:" << index << "\n";)
@@ -147,7 +147,7 @@
         column = next_support(gens, fin);
         VectorArray cost(1,dim,0);
         cost[0][column] = -1;
-        sprintf(buffer, "  Lift %3d: Col: %3d ", fin.count(), column); 
+        snprintf(buffer, sizeof(buffer), "  Lift %3d: Col: %3d ", fin.count(), 
column); 
         Globals::context = buffer;
         BitSet fin_union_urs(fin.get_size());
         BitSet::set_union(fin, urs, fin_union_urs);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/4ti2-1.6.14/src/groebner/RayMatrixAlgorithm.tpp 
new/4ti2-1.6.15/src/groebner/RayMatrixAlgorithm.tpp
--- old/4ti2-1.6.14/src/groebner/RayMatrixAlgorithm.tpp 2025-11-26 
06:40:59.000000000 +0100
+++ new/4ti2-1.6.15/src/groebner/RayMatrixAlgorithm.tpp 2026-03-05 
06:25:49.000000000 +0100
@@ -161,7 +161,7 @@
                                         next_zero_count);
 
         char buffer[256];
-        sprintf(buffer, "  Left = %3d  Col = %3d", num_remaining, next_col);
+        snprintf(buffer, sizeof(buffer), "  Left = %3d  Col = %3d", 
num_remaining, next_col);
         *out << "\r" << buffer;
         *out << "  Size = " << std::setw(8) << vs.get_number() << "  Time: " 
<< t;
         DEBUG_4ti2(
@@ -384,7 +384,7 @@
                                         next_zero_count);
 
         char buffer[256];
-        sprintf(buffer, "  Left = %3d  Col = %3d", num_remaining, next_col);
+        snprintf(buffer, sizeof(buffer), "  Left = %3d  Col = %3d", 
num_remaining, next_col);
         *out << "\r" << buffer;
         *out << "  Size = " << std::setw(8) << vs.get_number() << "  Time: " 
<< t;
         DEBUG_4ti2(
@@ -654,7 +654,7 @@
                                         next_zero_count);
 
         char buffer[256];
-        sprintf(buffer, "  Left = %3d  Col = %3d", num_remaining, next_col);
+        snprintf(buffer, sizeof(buffer), "  Left = %3d  Col = %3d", 
num_remaining, next_col);
         *out << "\r" << buffer;
         *out << "  Size = " << std::setw(8) << vs.get_number() << "  Time: " 
<< t;
         DEBUG_4ti2(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/4ti2-1.6.14/src/groebner/RaySupportAlgorithm.tpp 
new/4ti2-1.6.15/src/groebner/RaySupportAlgorithm.tpp
--- old/4ti2-1.6.14/src/groebner/RaySupportAlgorithm.tpp        2025-11-26 
06:40:59.000000000 +0100
+++ new/4ti2-1.6.15/src/groebner/RaySupportAlgorithm.tpp        2026-03-05 
06:25:49.000000000 +0100
@@ -151,7 +151,7 @@
                                         next_zero_count);
 
         char buffer[256];
-        sprintf(buffer, "  Left = %3d,  Col = %3d,", num_remaining, next_col);
+        snprintf(buffer, sizeof(buffer), "  Left = %3d,  Col = %3d,", 
num_remaining, next_col);
         *out << "\r" << buffer;
         *out << "  Size = " << std::setw(8) << vs.get_number() << "  Time: " 
<< t;
         DEBUG_4ti2(
@@ -353,7 +353,7 @@
                                         next_zero_count);
 
         char buffer[256];
-        sprintf(buffer, "  Left = %3d,  Col = %3d,", num_remaining, next_col);
+        snprintf(buffer, sizeof(buffer), "  Left = %3d,  Col = %3d,", 
num_remaining, next_col);
         *out << "\r" << buffer;
         *out << "  Size = " << std::setw(8) << vs.get_number() << "  Time: " 
<< t;
         DEBUG_4ti2(
@@ -569,7 +569,7 @@
                                         next_zero_count);
 
         char buffer[256];
-        sprintf(buffer, "  Left = %3d,  Col = %3d,", num_remaining, next_col);
+        snprintf(buffer, sizeof(buffer), "  Left = %3d,  Col = %3d,", 
num_remaining, next_col);
         *out << "\r" << buffer;
         *out << "  Size = " << std::setw(8) << vs.get_number() << "  Time: " 
<< t;
         DEBUG_4ti2(
@@ -796,7 +796,7 @@
                                         next_zero_count);
 
         char buffer[256];
-        sprintf(buffer, "  Left = %3d,  Col = %3d,", num_remaining, next_col);
+        snprintf(buffer, sizeof(buffer), "  Left = %3d,  Col = %3d,", 
num_remaining, next_col);
         *out << "\r" << buffer;
         *out << "  Size = " << std::setw(8) << vs.get_number() << "  Time: " 
<< t;
         DEBUG_4ti2(
@@ -1054,7 +1054,7 @@
                                         next_zero_count);
 
         char buffer[256];
-        sprintf(buffer, "  Left = %3d  Col = %3d", num_remaining, next_col);
+        snprintf(buffer, sizeof(buffer), "  Left = %3d  Col = %3d", 
num_remaining, next_col);
         *out << "\r" << buffer;
         *out << "  Size = " << std::setw(8) << vs.get_number() << "  Time: " 
<< t;
         DEBUG_4ti2(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/4ti2-1.6.14/src/groebner/SaturationGenSet.cpp 
new/4ti2-1.6.15/src/groebner/SaturationGenSet.cpp
--- old/4ti2-1.6.14/src/groebner/SaturationGenSet.cpp   2025-11-26 
06:40:59.000000000 +0100
+++ new/4ti2-1.6.15/src/groebner/SaturationGenSet.cpp   2026-03-05 
06:25:49.000000000 +0100
@@ -116,7 +116,7 @@
         index = next_saturation(gens, sat, urs);
         VectorArray cost(1,dim,0);
         cost[0][index] = 0;
-        sprintf(buffer, "  Sat %3d: Col: %3d ",
+        snprintf(buffer, sizeof(buffer), "  Sat %3d: Col: %3d ",
                         urs.get_size()-urs.count()-sat.count(), index);
         Globals::context = buffer;
         cost[0][index] = -1;
@@ -147,7 +147,7 @@
         index = next_saturation(useful_gens, sat, urs);
         VectorArray cost(1,dim,0);
         cost[0][index] = 0;
-        sprintf(buffer, "  Sat %3d: Col: %3d ",
+        snprintf(buffer, sizeof(buffer), "  Sat %3d: Col: %3d ",
                         urs.get_size()-urs.count()-sat.count(), index);
         Globals::context = buffer;
         cost[0][index] = -1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/4ti2-1.6.14/src/groebner/script.template 
new/4ti2-1.6.15/src/groebner/script.template
--- old/4ti2-1.6.14/src/groebner/script.template        2025-11-26 
06:41:39.000000000 +0100
+++ new/4ti2-1.6.15/src/groebner/script.template        1970-01-01 
01:00:00.000000000 +0100
@@ -1,64 +0,0 @@
-#!/bin/sh
-
-# 4ti2 -- A software package for algebraic, geometric and combinatorial
-# problems on linear spaces.
-# 
-# Copyright (C) 2006 4ti2 team.
-# Main author(s): Peter Malkin
-# 
-# This program 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 2
-# of the License, or (at your option) any later version.
-# 
-# This program 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, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 
USA. 
-
-# We locate where this script is so we can call the executables.
-SCRIPT=$(realpath $(which "$0"))
-DIR=`dirname "$SCRIPT"`
-FUNCTION=`basename "$SCRIPT"`
-
-# The default executable.
-EXECUTABLE=4ti2int64
-
-# We look for options on the command line which indicate the level of precision
-# required and we call the appropriate 4ti2 executable according to the 
required
-# precision level. The short option is `-p' and the long option is
-# `--precision', and the argument to either is one of 32, 64, or `arbitrary'.  
-# The following regular expressions are not exactly correct since for example
-# they allow misspellings of precision. However, they will match correctly
-# formatted input and if the option is incorrectly formatted, the actual
-# executable will pick up any errors.
-if  echo $@ | grep -E -q -e '-p *32 ' ||
-    echo $@ | grep -E -q -e '--p[recision]* *=? *32 '
-then
-    EXECUTABLE=4ti2int32
-elif echo $@ | grep -E -q -e '-p *64 ' ||
-     echo $@ | grep -E -q -e '--p[recision]* *=? *64 '
-then
-    EXECUTABLE=4ti2int64
-elif echo $@ | grep -E -q -e '-p *a[rbitrary]* ' ||
-     echo $@ | grep -E -q -e '--p[recision]* *=? *a[rbitrary]* '
-then
-    EXECUTABLE=4ti2gmp
-fi
-
-# We check whether the 4ti2 executable exists.
-if [ ! -f "$DIR/$EXECUTABLE" ]
-then
-    echo "Error: Unable to find 4ti2 executable \`$EXECUTABLE'"
-    exit 1
-fi
-
-# We add the path $DIR to load shared libraries for the libglpk
-# libgmp, and libgmpxx libraries.
-LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$DIR
-
-"$DIR"/$EXECUTABLE $FUNCTION $@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/4ti2-1.6.14/src/ppi/ppi.cpp 
new/4ti2-1.6.15/src/ppi/ppi.cpp
--- old/4ti2-1.6.14/src/ppi/ppi.cpp     2025-11-26 06:40:59.000000000 +0100
+++ new/4ti2-1.6.15/src/ppi/ppi.cpp     2026-03-05 06:25:49.000000000 +0100
@@ -1175,7 +1175,7 @@
       if (binary) {
        // Output binary format.
        char fname[20];
-       sprintf(fname, "ppi%d.dat", n);
+       snprintf(fname, sizeof(fname), "ppi%d.dat", n);
        cerr << fname << flush;
        FILE *f = fopen(fname, "wb");
        char cn = n;
@@ -1191,7 +1191,7 @@
        {
          // The .gra (Graver) file:
          char fname[20];
-         sprintf(fname, "ppi%d.gra", n);
+         snprintf(fname, sizeof(fname), "ppi%d.gra", n);
          cerr << fname << flush;
          ofstream f(fname);
          // #Vectors, Dimension.
@@ -1208,7 +1208,7 @@
        {
          // Also output a matrix file.
          char fname[20];
-         sprintf(fname, "ppi%d.mat", n);
+         snprintf(fname, sizeof(fname), "ppi%d.mat", n);
          cerr << " and matrix file " << fname << flush;
          ofstream f(fname);
          // #Rows, Dimension.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/4ti2-1.6.14/src/util/genmodel.c 
new/4ti2-1.6.15/src/util/genmodel.c
--- old/4ti2-1.6.14/src/util/genmodel.c 2025-11-26 06:40:59.000000000 +0100
+++ new/4ti2-1.6.15/src/util/genmodel.c 2026-03-05 06:25:49.000000000 +0100
@@ -53,20 +53,39 @@
     exit(0);
   }
 
-  fscanf(in,"%d",numOfNodes);
+  if (fscanf(in,"%d",numOfNodes) != 1) {
+    fprintf(stderr, "Error reading number of nodes from %s.\n", inpFileName);
+    exit(1);
+  }
 
   b=createVector(*numOfNodes);
-  for (j=0; j<(*numOfNodes); j++) fscanf(in,"%d",&b[j]);
+  for (j=0; j<(*numOfNodes); j++) {
+    if (fscanf(in,"%d",&b[j]) != 1) {
+      fprintf(stderr, "Error reading node %d from %s.\n", j, inpFileName);
+      exit(1);
+    }
+  }
   basis = createListVector(b);
   endBasis = basis;
 
-  fscanf(in,"%d",&numOfFaces);
+  if (fscanf(in,"%d",&numOfFaces) != 1) {
+    fprintf(stderr, "Error reading number of faces from %s.\n", inpFileName);
+    exit(1);
+  }
 
   for (i=0; i<numOfFaces; i++) {
-    fscanf(in,"%d",&sizeOfFace);
+    if (fscanf(in,"%d",&sizeOfFace) != 1) {
+      fprintf(stderr, "Error reading size of face %d from %s.\n", i, 
inpFileName);
+      exit(1);
+    }
     b=createVector(sizeOfFace);
     b[0]=sizeOfFace;
-    for (j=0; j<sizeOfFace; j++) fscanf(in,"%d",&b[j+1]);
+    for (j=0; j<sizeOfFace; j++) {
+      if (fscanf(in,"%d",&b[j+1]) != 1) {
+        fprintf(stderr, "Error reading face %d element %d from %s.\n", i, j, 
inpFileName);
+        exit(1);
+      }
+    }
     endBasis = updateBasis(createListVector(b), endBasis);
   }
   fclose(in);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/4ti2-1.6.14/src/util/output.c 
new/4ti2-1.6.15/src/util/output.c
--- old/4ti2-1.6.14/src/util/output.c   2025-11-26 06:40:59.000000000 +0100
+++ new/4ti2-1.6.15/src/util/output.c   2026-03-05 06:25:49.000000000 +0100
@@ -37,7 +37,7 @@
 #include "banner.h"
 
 /* ----------------------------------------------------------------- */
-listVector* readListVector(int *numOfVars, char *fileName) {
+listVector* readListVector(int *numOfVars, const char *fileName) {
   int numOfVectors;
   listVector *basis, *endBasis;
   vector b;
@@ -50,19 +50,39 @@
     return(0);
   }
 
-  fscanf(in,"%d",&numOfVectors);
-  fscanf(in,"%d",numOfVars);
+  if (fscanf(in,"%d",&numOfVectors) != 1) {
+    fprintf(stderr, "Error reading number of vectors from %s.\n", fileName);
+    fclose(in);
+    return(0);
+  }
+  if (fscanf(in,"%d",numOfVars) != 1) {
+    fprintf(stderr, "Error reading number of variables from %s.\n", fileName);
+    fclose(in);
+    return(0);
+  }
 
   if (numOfVectors==0) return (0);
 
   b=createVector(*numOfVars);
-  for (j=0; j<(*numOfVars); j++) fscanf(in,"%d",&b[j]);
+  for (j=0; j<(*numOfVars); j++) {
+    if (fscanf(in,"%d",&b[j]) != 1) {
+      fprintf(stderr, "Error reading vector element from %s.\n", fileName);
+      fclose(in);
+      return(0);
+    }
+  }
   basis = createListVector(b);
   endBasis = basis;
 
   for (i=1; i<numOfVectors; i++) {
     b=createVector(*numOfVars);
-    for (j=0; j<(*numOfVars); j++) fscanf(in,"%d",&b[j]);
+    for (j=0; j<(*numOfVars); j++) {
+      if (fscanf(in,"%d",&b[j]) != 1) {
+        fprintf(stderr, "Error reading vector element from %s.\n", fileName);
+        fclose(in);
+        return(0);
+      }
+    }
     endBasis = updateBasis(createListVector(b), endBasis);
   }
   fclose(in);
@@ -793,7 +813,6 @@
       if ((in = fopen(varFileName,"r"))) {
         int i;
         printf("File \"%s\" found. 4ti2 will use it.\n\n",varFileName);
-        fscanf(in,"%d %d",&numOfRows, &numOfLabels);
         labels = (char **)malloc(sizeof(char*)*(numOfVars));
         if (fscanf(in,"%d %d",&numOfRows, &numOfLabels)!=2 || numOfRows!=1) {
           printf("ERROR: Unrecognised file format for \"%s\".\n", varFileName);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/4ti2-1.6.14/src/util/output.h 
new/4ti2-1.6.15/src/util/output.h
--- old/4ti2-1.6.14/src/util/output.h   2025-11-26 06:40:59.000000000 +0100
+++ new/4ti2-1.6.15/src/util/output.h   2026-03-05 06:25:49.000000000 +0100
@@ -1,3 +1,3 @@
 int output_main(int, char**);
-listVector* readListVector(int*, char*);
+listVector* readListVector(int*, const char*);
 listVector* extractNonDominatedVectors(listVector*, listVector*, int);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/4ti2-1.6.14/src/util/print.c 
new/4ti2-1.6.15/src/util/print.c
--- old/4ti2-1.6.14/src/util/print.c    2025-11-26 06:40:59.000000000 +0100
+++ new/4ti2-1.6.15/src/util/print.c    2026-03-05 06:25:49.000000000 +0100
@@ -82,7 +82,8 @@
   return ;
 }
 /* ----------------------------------------------------------------- */
-void printListVectorToFile(char* fileName, listVector* basis, int numOfVars) {
+void printListVectorToFile(const char* fileName, listVector* basis,
+                          int numOfVars) {
   int len;
   FILE* out;
 
@@ -106,8 +107,8 @@
   fclose(out);
   return ;
 }
-/* ----------------------------------------------------------------- */
-void printSubsetOfListVectorToFile(char* fileName, listVector* basis, 
+/* ------------------------------------------------------------------------ */
+void printSubsetOfListVectorToFile(const char* fileName, listVector* basis,
                                   vector ind, int numOfVars) {
   int len,len2,j;
   FILE* out;
@@ -147,7 +148,8 @@
   return ;
 }
 /* ----------------------------------------------------------------- */
-void printListVectorWithoutColumnToFile(char* fileName, listVector* basis, 
+void printListVectorWithoutColumnToFile(const char* fileName,
+                                       listVector* basis,
                                        int ind, int numOfVars) {
   int len;
   FILE* out;
@@ -185,7 +187,7 @@
   return ;
 }
 /* ----------------------------------------------------------------- */
-void printListVectorWithAdditionalColumnToFile(char* fileName, 
+void printListVectorWithAdditionalColumnToFile(const char* fileName,
                                              listVector* basis, 
                                              int ind, int val,
                                              int numOfVars) {
@@ -214,7 +216,7 @@
   return ;
 }
 /* ----------------------------------------------------------------- */
-void printTransposedListVectorToFile(char* fileName, listVector* basis, 
+void printTransposedListVectorToFile(const char* fileName, listVector* basis,
                                     int numOfVars) {
   int i,len;
   listVector *tmp;
@@ -318,7 +320,7 @@
   return ;
 }
 /* ----------------------------------------------------------------- */
-void printListBinomialsToFile(char* fileName, listVector* basis, 
+void printListBinomialsToFile(const char* fileName, listVector* basis,
                              int numOfVars, char** labels) {
   FILE* out;
 
@@ -377,7 +379,8 @@
   return ;
 }
 /* ----------------------------------------------------------------- */
-void printListMonomialsAndBinomialsToFile(char* fileName, listVector* basis, 
+void printListMonomialsAndBinomialsToFile(const char* fileName,
+                                         listVector* basis,
                                          int numOfVars, char** labels) {
   FILE* out;
 
@@ -455,7 +458,8 @@
   return ;
 }
 /* ----------------------------------------------------------------- */
-void printListVectorMaple(char* fileName, listVector* basis, int numOfVars) {
+void printListVectorMaple(const char* fileName, listVector* basis,
+                         int numOfVars) {
   FILE* out;
 
   if (!(out = fopen(fileName,"w"))) {
@@ -480,7 +484,7 @@
   return ;
 }
 /* ----------------------------------------------------------------- */
-void printListVectorMacaulay2(char* fileName, listVector* basis, 
+void printListVectorMacaulay2(const char* fileName, listVector* basis,
                              int numOfVars) {
   FILE* out;
 
@@ -506,8 +510,8 @@
   return ;
 }
 /* ----------------------------------------------------------------- */
-void print3wayTables(char* fileName, listVector* basis, int x, int y, 
-                    int z, int numOfVars) {
+void print3wayTables(const char* fileName, listVector* basis, int x,
+                    int y, int z, int numOfVars) {
   int i,j,k;
   vector v;
   FILE* out;
@@ -583,7 +587,7 @@
   return;
 }
 /* ----------------------------------------------------------------- */
-void printListVectorWithGivenDegreesToFile(char *outFileName, 
+void printListVectorWithGivenDegreesToFile(const char *outFileName,
                                           listVector *basis, int numOfVars,
                                           int lowdegree, int highdegree){
   int i,s,len;
@@ -647,7 +651,7 @@
   return;
 }
 /* ----------------------------------------------------------------- */
-void printListVectorWithGivenSupportsToFile(char *outFileName, 
+void printListVectorWithGivenSupportsToFile(const char *outFileName,
                                            listVector *basis, int numOfVars,
                                            int lowdegree, int highdegree){
   int i,s,len;
@@ -724,7 +728,7 @@
   return;
 }
 /* ----------------------------------------------------------------- */
-void printListVectorWithGivenNonzeroEntryToFile(char *outFileName, 
+void printListVectorWithGivenNonzeroEntryToFile(const char *outFileName,
                                                listVector *basis, 
                                                int numOfVars,
                                                int coord){
@@ -760,8 +764,8 @@
   return;
 }
 /* ----------------------------------------------------------------- */
-void writeResult(listVector *basis, int numOfVars, char *fileName, 
-                char *basisType, int infoLevel) {
+void writeResult(listVector *basis, int numOfVars, const char *fileName,
+                const char *basisType, int infoLevel) {
   const char *infoMessage="undefined";
   const char *outExtension="";
   char *outFileName=NULL;
@@ -803,7 +807,7 @@
   return;
 }
 /* ----------------------------------------------------------------- */
-void printListRepresentativesToFile(char* fileName, listOrbit* basis, 
+void printListRepresentativesToFile(const char* fileName, listOrbit* basis,
                                    int numOfVars) {
   int len;
   FILE* out;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/4ti2-1.6.14/src/util/print.h 
new/4ti2-1.6.15/src/util/print.h
--- old/4ti2-1.6.14/src/util/print.h    2025-11-26 06:40:59.000000000 +0100
+++ new/4ti2-1.6.15/src/util/print.h    2026-03-05 06:25:49.000000000 +0100
@@ -24,30 +24,34 @@
 void printVector(vector, int);
 void printListVector(listVector*, int);
 void printVectorToFile(FILE*, vector, int);
-void printListVectorToFile(char*, listVector*, int);
-void printSubsetOfListVectorToFile(char*, listVector*, vector, int);
-void printListVectorWithoutColumnToFile(char*, listVector*, int, int);
-void printListVectorWithAdditionalColumnToFile(char*, listVector*, int, int, 
-                                              int);
-void printTransposedListVectorToFile(char*, listVector*, int);
+void printListVectorToFile(const char*, listVector*, int);
+void printSubsetOfListVectorToFile(const char*, listVector*, vector, int);
+void printListVectorWithoutColumnToFile(const char*, listVector*, int, int);
+void printListVectorWithAdditionalColumnToFile(const char*, listVector*, int,
+                                              int, int);
+void printTransposedListVectorToFile(const char*, listVector*, int);
 void printVectorToFileWithBrackets(FILE*, vector, int);
 void printBinomialToFile(FILE*, vector, int, char**);
-void printListBinomialsToFile(char*, listVector*, int, char**);
+void printListBinomialsToFile(const char*, listVector*, int, char**);
 void printMonomialToFile(FILE*, vector, int, char**);
-void printListMonomialsAndBinomialsToFile(char*, listVector*, int, char**);
+void printListMonomialsAndBinomialsToFile(const char*, listVector*, int,
+                                         char**);
 void printMatrix(vector, int, int);
 void printVectorToFileMaple(FILE*, vector, int);
-void printListVectorMaple(char*, listVector*, int);
-void printListVectorMacaulay2(char*, listVector*, int);
-void print3wayTables(char*, listVector*, int, int, int, int);
+void printListVectorMaple(const char*, listVector*, int);
+void printListVectorMacaulay2(const char*, listVector*, int);
+void print3wayTables(const char*, listVector*, int, int, int, int);
 void printL1NormOfListVector(listVector*, int);
-void printListVectorWithGivenDegreesToFile(char*, listVector*, int, int, int);
+void printListVectorWithGivenDegreesToFile(const char*, listVector*, int,
+                                          int, int);
 void printSupportsOfListVector(listVector*, int);
 void printTypesOfListVector(listVector*, int, int);
-void printListVectorWithGivenSupportsToFile(char*, listVector*, int, int, int);
-void printListVectorWithGivenNonzeroEntryToFile(char*, listVector*, int, int);
-void writeResult(listVector*, int, char*, char*, int);
-void printListRepresentativesToFile(char*, listOrbit*, int);
+void printListVectorWithGivenSupportsToFile(const char*, listVector*, int,
+                                           int, int);
+void printListVectorWithGivenNonzeroEntryToFile(const char*, listVector*, int,
+                                               int);
+void writeResult(listVector*, int, const char*, const char*, int);
+void printListRepresentativesToFile(const char*, listOrbit*, int);
 void printRationalVector(rationalVector*, int);
 void printRationalVectorToFileWithoutBrackets(FILE*, rationalVector*, int);
 

++++++ 4ti2-handle-prefix.patch ++++++
--- /var/tmp/diff_new_pack.XvOwyK/_old  2026-03-30 18:37:19.386168665 +0200
+++ /var/tmp/diff_new_pack.XvOwyK/_new  2026-03-30 18:37:19.394168999 +0200
@@ -7,31 +7,13 @@
 undesired. FUNCTION needs to be derived from the initial unresolved $0 value.
 
 ---
- src/groebner/script.template    |    5 +++--
  src/groebner/script.template.in |    5 +++--
- 2 files changed, 6 insertions(+), 4 deletions(-)
+ 1 file changed, 3 insertions(+), 2 deletions(-)
 
-Index: 4ti2-1.6.12/src/groebner/script.template
+Index: 4ti2-1.6.15/src/groebner/script.template.in
 ===================================================================
---- 4ti2-1.6.12.orig/src/groebner/script.template
-+++ 4ti2-1.6.12/src/groebner/script.template
-@@ -21,9 +21,10 @@
- # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 
USA. 
- 
- # We locate where this script is so we can call the executables.
--SCRIPT=$(realpath $(which "$0"))
-+FUNCTION="${0##*/}"
-+FUNCTION="${FUNCTION#4ti2_}"
-+SCRIPT=$(realpath "$(which "$0")")
- DIR=`dirname "$SCRIPT"`
--FUNCTION=`basename "$SCRIPT"`
- 
- # The default executable.
- EXECUTABLE=4ti2int64
-Index: 4ti2-1.6.12/src/groebner/script.template.in
-===================================================================
---- 4ti2-1.6.12.orig/src/groebner/script.template.in
-+++ 4ti2-1.6.12/src/groebner/script.template.in
+--- 4ti2-1.6.15.orig/src/groebner/script.template.in
++++ 4ti2-1.6.15/src/groebner/script.template.in
 @@ -21,9 +21,10 @@
  # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 
USA. 
  

++++++ _scmsync.obsinfo ++++++
--- /var/tmp/diff_new_pack.XvOwyK/_old  2026-03-30 18:37:19.434170671 +0200
+++ /var/tmp/diff_new_pack.XvOwyK/_new  2026-03-30 18:37:19.442171006 +0200
@@ -1,5 +1,5 @@
-mtime: 1764146996
-commit: c430d7dc9843b3bc78255e5bc8c2618bb6c3b449ff7727a74f530f55a12bc2e6
+mtime: 1772716289
+commit: dc4b9e5963aacfcd5cb62bbcf95e1be8906773067da35818700eee20bffb7a99
 url: https://src.opensuse.org/jengelh/4ti2
 revision: master
 

++++++ build.specials.obscpio ++++++

++++++ build.specials.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/.gitignore new/.gitignore
--- old/.gitignore      1970-01-01 01:00:00.000000000 +0100
+++ new/.gitignore      2026-03-05 14:11:40.000000000 +0100
@@ -0,0 +1 @@
+.osc

Reply via email to