Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package gap-nconvex for openSUSE:Factory 
checked in at 2026-06-16 13:55:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gap-nconvex (Old)
 and      /work/SRC/openSUSE:Factory/.gap-nconvex.new.1981 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gap-nconvex"

Tue Jun 16 13:55:55 2026 rev:3 rq:1359622 version:2025.12.02

Changes:
--------
--- /work/SRC/openSUSE:Factory/gap-nconvex/gap-nconvex.changes  2025-10-12 
22:28:35.252332787 +0200
+++ /work/SRC/openSUSE:Factory/.gap-nconvex.new.1981/gap-nconvex.changes        
2026-06-16 14:01:33.661601794 +0200
@@ -1,0 +2,6 @@
+Mon Jun 15 16:19:25 UTC 2026 - Jan Engelhardt <[email protected]>
+
+- Update to release 2025.12.02
+  * No changelog was provided
+
+-------------------------------------------------------------------

Old:
----
  NConvex-2024.12-01.tar.gz

New:
----
  NConvex-2025.12-02.tar.gz

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

Other differences:
------------------
++++++ gap-nconvex.spec ++++++
--- /var/tmp/diff_new_pack.hsaSqJ/_old  2026-06-16 14:01:34.641642703 +0200
+++ /var/tmp/diff_new_pack.hsaSqJ/_new  2026-06-16 14:01:34.645642870 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package gap-nconvex
 #
-# 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,8 +17,8 @@
 
 
 Name:           gap-nconvex
-Version:        2024.12.01
-%define sillyver 2024.12-01
+Version:        2025.12.02
+%define sillyver 2025.12-02
 Release:        0
 Summary:        GAP: Polyhedral computations
 License:        GPL-2.0-or-later
@@ -26,9 +26,9 @@
 URL:            https://homalg-project.github.io/pkg/NConvex
 Source:         
https://github.com/homalg-project/NConvex/releases/download/v%sillyver/NConvex-%sillyver.tar.gz
 BuildRequires:  gap-rpm-devel
-Requires:       gap-autodoc >= 2018.02.14
+Requires:       gap-autodoc >= 2025.12.19
 Requires:       gap-cddinterface >= 2020.06.24
-Requires:       gap-core >= 4.11.1
+Requires:       gap-core >= 4.13.0
 Requires:       gap-modules >= 0.5
 Requires:       gap-normalizinterface >= 1.1.0
 Suggests:       gap-4ti2interface >= 2018.07.06

++++++ NConvex-2024.12-01.tar.gz -> NConvex-2025.12-02.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/NConvex-2024.12-01/PackageInfo.g 
new/NConvex-2025.12-02/PackageInfo.g
--- old/NConvex-2024.12-01/PackageInfo.g        2024-12-28 10:41:18.000000000 
+0100
+++ new/NConvex-2025.12-02/PackageInfo.g        2025-12-24 13:44:18.000000000 
+0100
@@ -10,9 +10,9 @@
 
 PackageName := "NConvex",
 Subtitle := "A Gap package to perform polyhedral computations",
-Version := "2024.12-01",
-Date := "28/12/2024",
-Date := "28/12/2024",
+Version := "2025.12-02",
+Date := "2025-12-24",
+Date := "2025-12-24",
 License := "GPL-2.0-or-later",
 
 Persons := [
@@ -35,7 +35,7 @@
   
   rec(
     IsAuthor := true,
-    IsMaintainer := true,
+    IsMaintainer := false,
     FirstNames := "Sebastian",
     LastName := "Gutsche",
     WWWHome := "https://sebasguts.github.io/";,
@@ -90,8 +90,8 @@
 ),
 
 Dependencies := rec(
-  GAP := ">= 4.11.1",
-  NeededOtherPackages := [ [ "AutoDoc", ">= 2018.02.14" ],
+  GAP := ">= 4.13.0",
+  NeededOtherPackages := [ [ "AutoDoc", ">= 2025.12.19" ],
                            [ "Modules", ">= 0.5" ], 
                            [ "CddInterface", ">= 2020.06.24" ],
                            [ "NormalizInterface", ">= 1.1.0"  ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/NConvex-2024.12-01/README.md 
new/NConvex-2025.12-02/README.md
--- old/NConvex-2024.12-01/README.md    2024-12-28 10:36:33.000000000 +0100
+++ new/NConvex-2025.12-02/README.md    2025-12-24 13:41:12.000000000 +0100
@@ -8,8 +8,6 @@
 | [![HTML stable documentation][html-img]][html-url] [![PDF stable 
documentation][pdf-img]][pdf-url] | [![version][version-img]][version-url] 
[![date][date-img]][date-url] | [![Build Status][tests-img]][tests-url] | 
[![Code Coverage][codecov-img]][codecov-url] |
 
 <!-- END HEADER -->
-[![Build 
Status](https://travis-ci.com/homalg-project/NConvex.svg?branch=master)](https://travis-ci.com/homalg-project/NConvex)
-[![Code 
Coverage](https://codecov.io/github/homalg-project/NConvex/coverage.svg?branch=master&token=)](https://codecov.io/gh/homalg-project/NConvex)
 
 Introduction
 ------------
@@ -17,18 +15,6 @@
 cones, polyhedrons, polytopes and fans. Its has been written to provide the 
needed tools for the package 
[ToricVarieties](https://github.com/homalg-project/ToricVarieties_project/tree/master/ToricVarieties).
 
 <!-- BEGIN FOOTER -->
----
-
-### Dependencies
-
-To obtain current versions of all dependencies, `git clone` (or `git pull` to 
update) the following repositories:
-
-|    | Repository | git URL |
-|--- | ---------- | ------- |
-| 1. | 
[**homalg_project**](https://github.com/homalg-project/homalg_project#readme) | 
https://github.com/homalg-project/homalg_project.git |
-| 2. | 
[**CddInterface**](https://github.com/homalg-project/CddInterface#readme) | 
https://github.com/homalg-project/CddInterface.git |
-| 3. | 
[**NormalizInterface**](https://github.com/gap-packages/NormalizInterface#readme)
 | https://github.com/gap-packages/NormalizInterface.git |
-
 [html-img]: https://img.shields.io/badge/🔗%20HTML-stable-blue.svg
 [html-url]: https://homalg-project.github.io/NConvex/doc/chap0_mj.html
 
@@ -45,7 +31,7 @@
 [tests-url]: 
https://github.com/homalg-project/NConvex/actions/workflows/Tests.yml?query=branch%3Amaster
 
 [codecov-img]: 
https://codecov.io/gh/homalg-project/NConvex/branch/master/graph/badge.svg
-[codecov-url]: https://codecov.io/gh/homalg-project/NConvex
+[codecov-url]: https://app.codecov.io/gh/homalg-project/NConvex
 
 [code-img]: https://img.shields.io/badge/-View%20code-blue?logo=github
 [code-url]: https://github.com/homalg-project/NConvex#top
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/NConvex-2024.12-01/ci_gaprc 
new/NConvex-2025.12-02/ci_gaprc
--- old/NConvex-2024.12-01/ci_gaprc     2024-12-28 10:36:33.000000000 +0100
+++ new/NConvex-2025.12-02/ci_gaprc     1970-01-01 01:00:00.000000000 +0100
@@ -1,12 +0,0 @@
-# Prefer GAPInfo.UserGapRoot over other package directories to prevent 
accidentally testing package
-# versions distributed with GAP.
-(function()
-  local name, package_info, pos;
-    for name in RecNames( GAPInfo.PackagesInfo ) do
-        package_info := GAPInfo.PackagesInfo.(name);
-        pos := PositionProperty( package_info, info -> StartsWith( 
info.InstallationPath, GAPInfo.UserGapRoot ) );
-        if pos <> fail then
-            SetPackagePath( name, package_info[pos].InstallationPath );
-        fi;
-    od;
-end)();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/NConvex-2024.12-01/doc/NConvex.toc 
new/NConvex-2025.12-02/doc/NConvex.toc
--- old/NConvex-2024.12-01/doc/NConvex.toc      2024-12-28 10:41:21.000000000 
+0100
+++ new/NConvex-2025.12-02/doc/NConvex.toc      1970-01-01 01:00:00.000000000 
+0100
@@ -1,136 +0,0 @@
-\contentsline {chapter}{\numberline {1}\textcolor {Chapter 
}{Introduction}}{3}{chapter.1}%
-\contentsline {section}{\numberline {1.1}\textcolor {Chapter 
}{Installation}}{3}{section.1.1}%
-\contentsline {section}{\numberline {1.2}\textcolor {Chapter 
}{Requirements}}{3}{section.1.2}%
-\contentsline {chapter}{\numberline {2}\textcolor {Chapter 
}{Functionality}}{5}{chapter.2}%
-\contentsline {chapter}{\numberline {3}\textcolor {Chapter }{Convex 
objects}}{6}{chapter.3}%
-\contentsline {section}{\numberline {3.1}\textcolor {Chapter 
}{Attributes}}{6}{section.3.1}%
-\contentsline {subsection}{\numberline {3.1.1}\textcolor {Chapter 
}{AmbientSpaceDimension (for IsConvexObject)}}{6}{subsection.3.1.1}%
-\contentsline {subsection}{\numberline {3.1.2}\textcolor {Chapter }{Dimension 
(for IsConvexObject)}}{6}{subsection.3.1.2}%
-\contentsline {subsection}{\numberline {3.1.3}\textcolor {Chapter 
}{IsFullDimensional (for IsConvexObject)}}{6}{subsection.3.1.3}%
-\contentsline {subsection}{\numberline {3.1.4}\textcolor {Chapter 
}{InteriorPoint (for IsConvexObject)}}{6}{subsection.3.1.4}%
-\contentsline {chapter}{\numberline {4}\textcolor {Chapter 
}{Cones}}{7}{chapter.4}%
-\contentsline {section}{\numberline {4.1}\textcolor {Chapter }{Creating 
cones}}{7}{section.4.1}%
-\contentsline {subsection}{\numberline {4.1.1}\textcolor {Chapter 
}{ConeByInequalities (for IsList)}}{7}{subsection.4.1.1}%
-\contentsline {subsection}{\numberline {4.1.2}\textcolor {Chapter 
}{ConeByEqualitiesAndInequalities (for IsList, IsList)}}{7}{subsection.4.1.2}%
-\contentsline {subsection}{\numberline {4.1.3}\textcolor {Chapter }{Cone (for 
IsList)}}{7}{subsection.4.1.3}%
-\contentsline {subsection}{\numberline {4.1.4}\textcolor {Chapter }{Cone (for 
IsCddPolyhedron)}}{7}{subsection.4.1.4}%
-\contentsline {section}{\numberline {4.2}\textcolor {Chapter }{Attributes of 
Cones}}{8}{section.4.2}%
-\contentsline {subsection}{\numberline {4.2.1}\textcolor {Chapter 
}{DefiningInequalities (for IsCone)}}{8}{subsection.4.2.1}%
-\contentsline {subsection}{\numberline {4.2.2}\textcolor {Chapter 
}{EqualitiesOfCone (for IsCone)}}{8}{subsection.4.2.2}%
-\contentsline {subsection}{\numberline {4.2.3}\textcolor {Chapter }{DualCone 
(for IsCone)}}{8}{subsection.4.2.3}%
-\contentsline {subsection}{\numberline {4.2.4}\textcolor {Chapter 
}{FacesOfCone (for IsCone)}}{8}{subsection.4.2.4}%
-\contentsline {subsection}{\numberline {4.2.5}\textcolor {Chapter }{Facets 
(for IsCone)}}{8}{subsection.4.2.5}%
-\contentsline {subsection}{\numberline {4.2.6}\textcolor {Chapter }{FVector 
(for IsCone)}}{8}{subsection.4.2.6}%
-\contentsline {subsection}{\numberline {4.2.7}\textcolor {Chapter 
}{RelativeInteriorRay (for IsCone)}}{8}{subsection.4.2.7}%
-\contentsline {subsection}{\numberline {4.2.8}\textcolor {Chapter 
}{HilbertBasis (for IsCone)}}{8}{subsection.4.2.8}%
-\contentsline {subsection}{\numberline {4.2.9}\textcolor {Chapter 
}{HilbertBasisOfDualCone (for IsCone)}}{9}{subsection.4.2.9}%
-\contentsline {subsection}{\numberline {4.2.10}\textcolor {Chapter 
}{LinealitySpaceGenerators (for IsCone)}}{9}{subsection.4.2.10}%
-\contentsline {subsection}{\numberline {4.2.11}\textcolor {Chapter 
}{ExternalCddCone (for IsCone)}}{9}{subsection.4.2.11}%
-\contentsline {subsection}{\numberline {4.2.12}\textcolor {Chapter 
}{ExternalNmzCone (for IsCone)}}{9}{subsection.4.2.12}%
-\contentsline {subsection}{\numberline {4.2.13}\textcolor {Chapter 
}{AmbientSpaceDimension (for IsCone)}}{9}{subsection.4.2.13}%
-\contentsline {subsection}{\numberline {4.2.14}\textcolor {Chapter 
}{LatticePointsGenerators (for IsCone)}}{9}{subsection.4.2.14}%
-\contentsline {subsection}{\numberline {4.2.15}\textcolor {Chapter 
}{GridGeneratedByCone (for IsCone)}}{9}{subsection.4.2.15}%
-\contentsline {subsection}{\numberline {4.2.16}\textcolor {Chapter 
}{FactorGrid (for IsCone)}}{10}{subsection.4.2.16}%
-\contentsline {subsection}{\numberline {4.2.17}\textcolor {Chapter 
}{FactorGridMorphism (for IsCone)}}{10}{subsection.4.2.17}%
-\contentsline {subsection}{\numberline {4.2.18}\textcolor {Chapter 
}{GridGeneratedByOrthogonalCone (for IsCone)}}{10}{subsection.4.2.18}%
-\contentsline {section}{\numberline {4.3}\textcolor {Chapter }{Properties of 
Cones}}{10}{section.4.3}%
-\contentsline {subsection}{\numberline {4.3.1}\textcolor {Chapter 
}{IsRegularCone (for IsCone)}}{10}{subsection.4.3.1}%
-\contentsline {subsection}{\numberline {4.3.2}\textcolor {Chapter }{IsRay (for 
IsCone)}}{10}{subsection.4.3.2}%
-\contentsline {subsection}{\numberline {4.3.3}\textcolor {Chapter }{IsZero 
(for IsCone)}}{10}{subsection.4.3.3}%
-\contentsline {section}{\numberline {4.4}\textcolor {Chapter }{Operations on 
cones}}{10}{section.4.4}%
-\contentsline {subsection}{\numberline {4.4.1}\textcolor {Chapter 
}{FourierProjection (for IsCone, IsInt)}}{10}{subsection.4.4.1}%
-\contentsline {subsection}{\numberline {4.4.2}\textcolor {Chapter 
}{IntersectionOfCones (for IsCone, IsCone)}}{11}{subsection.4.4.2}%
-\contentsline {subsection}{\numberline {4.4.3}\textcolor {Chapter 
}{IntersectionOfCones (for IsList)}}{11}{subsection.4.4.3}%
-\contentsline {subsection}{\numberline {4.4.4}\textcolor {Chapter }{Contains 
(for IsCone, IsCone)}}{11}{subsection.4.4.4}%
-\contentsline {subsection}{\numberline {4.4.5}\textcolor {Chapter 
}{IsRelativeInteriorRay (for IsList, IsCone)}}{11}{subsection.4.4.5}%
-\contentsline {subsection}{\numberline {4.4.6}\textcolor {Chapter 
}{NonReducedInequalities (for IsCone)}}{13}{subsection.4.4.6}%
-\contentsline {chapter}{\numberline {5}\textcolor {Chapter 
}{Fans}}{15}{chapter.5}%
-\contentsline {section}{\numberline {5.1}\textcolor {Chapter 
}{Constructors}}{15}{section.5.1}%
-\contentsline {subsection}{\numberline {5.1.1}\textcolor {Chapter }{Fan (for 
IsFan)}}{15}{subsection.5.1.1}%
-\contentsline {subsection}{\numberline {5.1.2}\textcolor {Chapter }{Fan (for 
IsList)}}{15}{subsection.5.1.2}%
-\contentsline {subsection}{\numberline {5.1.3}\textcolor {Chapter }{Fan (for 
IsList, IsList)}}{15}{subsection.5.1.3}%
-\contentsline {subsection}{\numberline {5.1.4}\textcolor {Chapter 
}{FansFromTriangulation (for IsList)}}{17}{subsection.5.1.4}%
-\contentsline {subsection}{\numberline {5.1.5}\textcolor {Chapter 
}{FanFromTriangulation (for IsList)}}{17}{subsection.5.1.5}%
-\contentsline {section}{\numberline {5.2}\textcolor {Chapter 
}{Attributes}}{18}{section.5.2}%
-\contentsline {subsection}{\numberline {5.2.1}\textcolor {Chapter 
}{RayGenerators (for IsFan)}}{18}{subsection.5.2.1}%
-\contentsline {subsection}{\numberline {5.2.2}\textcolor {Chapter 
}{GivenRayGenerators (for IsFan)}}{18}{subsection.5.2.2}%
-\contentsline {subsection}{\numberline {5.2.3}\textcolor {Chapter 
}{RaysInMaximalCones (for IsFan)}}{18}{subsection.5.2.3}%
-\contentsline {subsection}{\numberline {5.2.4}\textcolor {Chapter 
}{MaximalCones (for IsFan)}}{18}{subsection.5.2.4}%
-\contentsline {subsection}{\numberline {5.2.5}\textcolor {Chapter }{FVector 
(for IsFan)}}{18}{subsection.5.2.5}%
-\contentsline {section}{\numberline {5.3}\textcolor {Chapter 
}{Properties}}{18}{section.5.3}%
-\contentsline {subsection}{\numberline {5.3.1}\textcolor {Chapter 
}{IsWellDefinedFan (for IsFan)}}{18}{subsection.5.3.1}%
-\contentsline {subsection}{\numberline {5.3.2}\textcolor {Chapter }{IsComplete 
(for IsFan)}}{18}{subsection.5.3.2}%
-\contentsline {subsection}{\numberline {5.3.3}\textcolor {Chapter }{IsPointed 
(for IsFan)}}{19}{subsection.5.3.3}%
-\contentsline {subsection}{\numberline {5.3.4}\textcolor {Chapter }{IsSmooth 
(for IsFan)}}{19}{subsection.5.3.4}%
-\contentsline {subsection}{\numberline {5.3.5}\textcolor {Chapter 
}{IsSimplicial (for IsFan)}}{19}{subsection.5.3.5}%
-\contentsline {subsection}{\numberline {5.3.6}\textcolor {Chapter 
}{IsNormalFan (for IsFan)}}{19}{subsection.5.3.6}%
-\contentsline {subsection}{\numberline {5.3.7}\textcolor {Chapter 
}{IsRegularFan (for IsFan)}}{19}{subsection.5.3.7}%
-\contentsline {subsection}{\numberline {5.3.8}\textcolor {Chapter }{IsFanoFan 
(for IsFan)}}{19}{subsection.5.3.8}%
-\contentsline {section}{\numberline {5.4}\textcolor {Chapter }{Operations on 
fans}}{19}{section.5.4}%
-\contentsline {chapter}{\numberline {6}\textcolor {Chapter 
}{Polyhedrons}}{21}{chapter.6}%
-\contentsline {section}{\numberline {6.1}\textcolor {Chapter }{Creating 
polyhedron}}{21}{section.6.1}%
-\contentsline {subsection}{\numberline {6.1.1}\textcolor {Chapter 
}{PolyhedronByInequalities (for IsList)}}{21}{subsection.6.1.1}%
-\contentsline {subsection}{\numberline {6.1.2}\textcolor {Chapter }{Polyhedron 
(for IsPolytope, IsCone)}}{21}{subsection.6.1.2}%
-\contentsline {subsection}{\numberline {6.1.3}\textcolor {Chapter }{Polyhedron 
(for IsList, IsCone)}}{21}{subsection.6.1.3}%
-\contentsline {subsection}{\numberline {6.1.4}\textcolor {Chapter }{Polyhedron 
(for IsPolytope, IsList)}}{21}{subsection.6.1.4}%
-\contentsline {subsection}{\numberline {6.1.5}\textcolor {Chapter }{Polyhedron 
(for IsList, IsList)}}{21}{subsection.6.1.5}%
-\contentsline {section}{\numberline {6.2}\textcolor {Chapter 
}{Attributes}}{22}{section.6.2}%
-\contentsline {subsection}{\numberline {6.2.1}\textcolor {Chapter 
}{ExternalCddPolyhedron (for IsPolyhedron)}}{22}{subsection.6.2.1}%
-\contentsline {subsection}{\numberline {6.2.2}\textcolor {Chapter 
}{ExternalNmzPolyhedron (for IsPolyhedron)}}{22}{subsection.6.2.2}%
-\contentsline {subsection}{\numberline {6.2.3}\textcolor {Chapter 
}{DefiningInequalities (for IsPolyhedron)}}{22}{subsection.6.2.3}%
-\contentsline {subsection}{\numberline {6.2.4}\textcolor {Chapter 
}{MainRatPolytope (for IsPolyhedron)}}{22}{subsection.6.2.4}%
-\contentsline {subsection}{\numberline {6.2.5}\textcolor {Chapter 
}{MainPolytope (for IsPolyhedron)}}{22}{subsection.6.2.5}%
-\contentsline {subsection}{\numberline {6.2.6}\textcolor {Chapter 
}{VerticesOfMainRatPolytope (for IsPolyhedron)}}{22}{subsection.6.2.6}%
-\contentsline {subsection}{\numberline {6.2.7}\textcolor {Chapter 
}{VerticesOfMainPolytope (for IsPolyhedron)}}{22}{subsection.6.2.7}%
-\contentsline {subsection}{\numberline {6.2.8}\textcolor {Chapter }{TailCone 
(for IsPolyhedron)}}{23}{subsection.6.2.8}%
-\contentsline {subsection}{\numberline {6.2.9}\textcolor {Chapter 
}{RayGeneratorsOfTailCone (for IsPolyhedron)}}{23}{subsection.6.2.9}%
-\contentsline {subsection}{\numberline {6.2.10}\textcolor {Chapter 
}{LatticePointsGenerators (for IsPolyhedron)}}{23}{subsection.6.2.10}%
-\contentsline {subsection}{\numberline {6.2.11}\textcolor {Chapter 
}{BasisOfLinealitySpace (for IsPolyhedron)}}{23}{subsection.6.2.11}%
-\contentsline {subsection}{\numberline {6.2.12}\textcolor {Chapter }{FVector 
(for IsPolyhedron)}}{23}{subsection.6.2.12}%
-\contentsline {section}{\numberline {6.3}\textcolor {Chapter 
}{Properties}}{23}{section.6.3}%
-\contentsline {subsection}{\numberline {6.3.1}\textcolor {Chapter }{IsBounded 
(for IsPolyhedron)}}{23}{subsection.6.3.1}%
-\contentsline {subsection}{\numberline {6.3.2}\textcolor {Chapter }{IsPointed 
(for IsPolyhedron)}}{23}{subsection.6.3.2}%
-\contentsline {section}{\numberline {6.4}\textcolor {Chapter }{Solving Linear 
programs}}{25}{section.6.4}%
-\contentsline {subsection}{\numberline {6.4.1}\textcolor {Chapter 
}{SolveLinearProgram (for IsPolyhedron, IsString, 
IsList)}}{25}{subsection.6.4.1}%
-\contentsline {subsection}{\numberline {6.4.2}\textcolor {Chapter 
}{SolveLinearProgram (for IsPolytope, IsString, IsList)}}{25}{subsection.6.4.2}%
-\contentsline {section}{\numberline {6.5}\textcolor {Chapter 
}{ZSolve}}{26}{section.6.5}%
-\contentsline {subsection}{\numberline {6.5.1}\textcolor {Chapter 
}{SolveEqualitiesAndInequalitiesOverIntergers}}{26}{subsection.6.5.1}%
-\contentsline {chapter}{\numberline {7}\textcolor {Chapter 
}{Polytopes}}{28}{chapter.7}%
-\contentsline {section}{\numberline {7.1}\textcolor {Chapter }{Creating 
polytopes}}{28}{section.7.1}%
-\contentsline {subsection}{\numberline {7.1.1}\textcolor {Chapter 
}{PolytopeByInequalities (for IsList)}}{28}{subsection.7.1.1}%
-\contentsline {subsection}{\numberline {7.1.2}\textcolor {Chapter }{Polytope 
(for IsList)}}{28}{subsection.7.1.2}%
-\contentsline {section}{\numberline {7.2}\textcolor {Chapter 
}{Attributes}}{28}{section.7.2}%
-\contentsline {subsection}{\numberline {7.2.1}\textcolor {Chapter 
}{ExternalCddPolytope (for IsPolytope)}}{28}{subsection.7.2.1}%
-\contentsline {subsection}{\numberline {7.2.2}\textcolor {Chapter 
}{LatticePoints (for IsPolytope)}}{28}{subsection.7.2.2}%
-\contentsline {subsection}{\numberline {7.2.3}\textcolor {Chapter 
}{RelativeInteriorLatticePoints (for IsPolytope)}}{28}{subsection.7.2.3}%
-\contentsline {subsection}{\numberline {7.2.4}\textcolor {Chapter 
}{VerticesOfPolytope (for IsPolytope)}}{29}{subsection.7.2.4}%
-\contentsline {subsection}{\numberline {7.2.5}\textcolor {Chapter }{Vertices 
(for IsPolytope)}}{29}{subsection.7.2.5}%
-\contentsline {subsection}{\numberline {7.2.6}\textcolor {Chapter 
}{DefiningInequalities (for IsPolytope)}}{29}{subsection.7.2.6}%
-\contentsline {subsection}{\numberline {7.2.7}\textcolor {Chapter 
}{EqualitiesOfPolytope (for IsPolytope)}}{29}{subsection.7.2.7}%
-\contentsline {subsection}{\numberline {7.2.8}\textcolor {Chapter 
}{FacetInequalities (for IsPolytope)}}{29}{subsection.7.2.8}%
-\contentsline {subsection}{\numberline {7.2.9}\textcolor {Chapter 
}{VerticesInFacets (for IsPolytope)}}{29}{subsection.7.2.9}%
-\contentsline {subsection}{\numberline {7.2.10}\textcolor {Chapter }{NormalFan 
(for IsPolytope)}}{29}{subsection.7.2.10}%
-\contentsline {subsection}{\numberline {7.2.11}\textcolor {Chapter }{FaceFan 
(for IsPolytope)}}{30}{subsection.7.2.11}%
-\contentsline {subsection}{\numberline {7.2.12}\textcolor {Chapter 
}{AffineCone (for IsPolytope)}}{30}{subsection.7.2.12}%
-\contentsline {subsection}{\numberline {7.2.13}\textcolor {Chapter 
}{PolarPolytope (for IsPolytope)}}{30}{subsection.7.2.13}%
-\contentsline {subsection}{\numberline {7.2.14}\textcolor {Chapter 
}{DualPolytope (for IsPolytope)}}{30}{subsection.7.2.14}%
-\contentsline {section}{\numberline {7.3}\textcolor {Chapter 
}{Properties}}{30}{section.7.3}%
-\contentsline {subsection}{\numberline {7.3.1}\textcolor {Chapter }{IsEmpty 
(for IsPolytope)}}{30}{subsection.7.3.1}%
-\contentsline {subsection}{\numberline {7.3.2}\textcolor {Chapter 
}{IsLatticePolytope (for IsPolytope)}}{30}{subsection.7.3.2}%
-\contentsline {subsection}{\numberline {7.3.3}\textcolor {Chapter 
}{IsVeryAmple (for IsPolytope)}}{30}{subsection.7.3.3}%
-\contentsline {subsection}{\numberline {7.3.4}\textcolor {Chapter 
}{IsNormalPolytope (for IsPolytope)}}{31}{subsection.7.3.4}%
-\contentsline {subsection}{\numberline {7.3.5}\textcolor {Chapter 
}{IsSimplicial (for IsPolytope)}}{31}{subsection.7.3.5}%
-\contentsline {subsection}{\numberline {7.3.6}\textcolor {Chapter 
}{IsSimplexPolytope (for IsPolytope)}}{31}{subsection.7.3.6}%
-\contentsline {subsection}{\numberline {7.3.7}\textcolor {Chapter 
}{IsSimplePolytope (for IsPolytope)}}{31}{subsection.7.3.7}%
-\contentsline {subsection}{\numberline {7.3.8}\textcolor {Chapter 
}{IsReflexive (for IsPolytope)}}{31}{subsection.7.3.8}%
-\contentsline {subsection}{\numberline {7.3.9}\textcolor {Chapter 
}{IsFanoPolytope (for IsPolytope)}}{31}{subsection.7.3.9}%
-\contentsline {subsection}{\numberline {7.3.10}\textcolor {Chapter 
}{IsCanonicalFanoPolytope (for IsPolytope)}}{31}{subsection.7.3.10}%
-\contentsline {subsection}{\numberline {7.3.11}\textcolor {Chapter 
}{IsTerminalFanoPolytope (for IsPolytope)}}{32}{subsection.7.3.11}%
-\contentsline {subsection}{\numberline {7.3.12}\textcolor {Chapter 
}{IsSmoothFanoPolytope (for IsPolytope)}}{32}{subsection.7.3.12}%
-\contentsline {section}{\numberline {7.4}\textcolor {Chapter }{Operations on 
polytopes}}{32}{section.7.4}%
-\contentsline {subsection}{\numberline {7.4.1}\textcolor {Chapter }{\texttt 
{\symbol {92}}+ (for IsPolytope, IsPolytope)}}{32}{subsection.7.4.1}%
-\contentsline {subsection}{\numberline {7.4.2}\textcolor {Chapter }{\texttt 
{\symbol {92}}* (for IsInt, IsPolytope)}}{32}{subsection.7.4.2}%
-\contentsline {subsection}{\numberline {7.4.3}\textcolor {Chapter 
}{IntersectionOfPolytopes (for IsPolytope, IsPolytope)}}{32}{subsection.7.4.3}%
-\contentsline {subsection}{\numberline {7.4.4}\textcolor {Chapter 
}{RandomInteriorPoint (for IsPolytope)}}{32}{subsection.7.4.4}%
-\contentsline {subsection}{\numberline {7.4.5}\textcolor {Chapter 
}{IsInteriorPoint (for IsList,IsPolytope)}}{32}{subsection.7.4.5}%
-\contentsline {chapter}{Index}{35}{section*.2}%
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/NConvex-2024.12-01/doc/NConvex.xml 
new/NConvex-2025.12-02/doc/NConvex.xml
--- old/NConvex-2024.12-01/doc/NConvex.xml      2024-12-28 10:41:19.000000000 
+0100
+++ new/NConvex-2025.12-02/doc/NConvex.xml      2025-12-24 13:44:16.000000000 
+0100
@@ -3,7 +3,7 @@
 <!-- This is an automatically generated file. -->
 <!DOCTYPE Book SYSTEM "gapdoc.dtd"
 [
-    [<#Include SYSTEM "_entities.xml">
+    <#Include SYSTEM "_entities.xml">
 ]
 >
 <Book Name="NConvex">
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/NConvex-2024.12-01/doc/_Chunks.xml 
new/NConvex-2025.12-02/doc/_Chunks.xml
--- old/NConvex-2024.12-01/doc/_Chunks.xml      2024-12-28 10:41:19.000000000 
+0100
+++ new/NConvex-2025.12-02/doc/_Chunks.xml      2025-12-24 13:44:16.000000000 
+0100
@@ -516,4 +516,5 @@
 <A fan in |R^3>
 ]]></Listing>
 
+
 <#/GAPDoc>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/NConvex-2024.12-01/doc/_entities.xml 
new/NConvex-2025.12-02/doc/_entities.xml
--- old/NConvex-2024.12-01/doc/_entities.xml    2024-12-28 10:41:19.000000000 
+0100
+++ new/NConvex-2025.12-02/doc/_entities.xml    2025-12-24 13:44:16.000000000 
+0100
@@ -1,3 +1,6 @@
-<!ENTITY homalg '<Package>homalg</Package>'>
-<!ENTITY CAP '<Package>CAP</Package>'>
+<!ENTITY VERSION '2025.12-02'>
+<!ENTITY RELEASEDATE '24 December 2025'>
+<!ENTITY RELEASEYEAR '2025'>
+<!ENTITY homalg 'homalg'>
+<!ENTITY CAP 'CAP'>
 <!ENTITY NConvex '<Package>NConvex</Package>'>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/NConvex-2024.12-01/doc/chap0.html 
new/NConvex-2025.12-02/doc/chap0.html
--- old/NConvex-2024.12-01/doc/chap0.html       2024-12-28 10:41:22.000000000 
+0100
+++ new/NConvex-2025.12-02/doc/chap0.html       2025-12-24 13:44:19.000000000 
+0100
@@ -29,10 +29,10 @@
 <h2>A Gap package to perform polyhedral computations</h2>
 
 <p>
-    2024.12-01</p>
+    2025.12-02</p>
 
 <p>
-    28 December 2024
+    24 December 2025
   </p>
 
 </div>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/NConvex-2024.12-01/doc/chap0.txt 
new/NConvex-2025.12-02/doc/chap0.txt
--- old/NConvex-2024.12-01/doc/chap0.txt        2024-12-28 10:41:19.000000000 
+0100
+++ new/NConvex-2025.12-02/doc/chap0.txt        2025-12-24 13:44:16.000000000 
+0100
@@ -6,10 +6,10 @@
                 A Gap package to perform polyhedral computations 
   
   
-                                   2024.12-01
+                                   2025.12-02
   
   
-                                28 December 2024
+                                24 December 2025
   
   
                                   Kamal Saleh
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/NConvex-2024.12-01/doc/chap0_mj.html 
new/NConvex-2025.12-02/doc/chap0_mj.html
--- old/NConvex-2024.12-01/doc/chap0_mj.html    2024-12-28 10:41:22.000000000 
+0100
+++ new/NConvex-2025.12-02/doc/chap0_mj.html    2025-12-24 13:44:19.000000000 
+0100
@@ -32,10 +32,10 @@
 <h2>A Gap package to perform polyhedral computations</h2>
 
 <p>
-    2024.12-01</p>
+    2025.12-02</p>
 
 <p>
-    28 December 2024
+    24 December 2025
   </p>
 
 </div>
Binary files old/NConvex-2024.12-01/doc/manual.pdf and 
new/NConvex-2025.12-02/doc/manual.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/NConvex-2024.12-01/doc/title.xml 
new/NConvex-2025.12-02/doc/title.xml
--- old/NConvex-2024.12-01/doc/title.xml        2024-12-28 10:41:19.000000000 
+0100
+++ new/NConvex-2025.12-02/doc/title.xml        2025-12-24 13:44:16.000000000 
+0100
@@ -9,7 +9,7 @@
     A Gap package to perform polyhedral computations
   </Subtitle>
   <Version>
-    2024.12-01
+    2025.12-02
   </Version>
   <Author>
     Kamal Saleh<Alt Only="LaTeX"><Br/></Alt>
@@ -38,6 +38,6 @@
 
   </Author>
   <Date>
-    28 December 2024
+    24 December 2025
   </Date>
   </TitlePage>
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/NConvex-2024.12-01/make_dist.sh 
new/NConvex-2025.12-02/make_dist.sh
--- old/NConvex-2024.12-01/make_dist.sh 2024-12-28 10:36:33.000000000 +0100
+++ new/NConvex-2025.12-02/make_dist.sh 1970-01-01 01:00:00.000000000 +0100
@@ -1,5 +0,0 @@
-#!/bin/bash
-
-set -e
-
-./release-gap-package --skip-existing-release $@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/NConvex-2024.12-01/makedoc.g 
new/NConvex-2025.12-02/makedoc.g
--- old/NConvex-2024.12-01/makedoc.g    2024-12-28 10:36:33.000000000 +0100
+++ new/NConvex-2025.12-02/makedoc.g    2025-12-24 13:41:12.000000000 +0100
@@ -3,9 +3,9 @@
 #
 # This file is a script which compiles the package manual.
 #
-if fail = LoadPackage( "AutoDoc", "2019.05.20" ) then
+if fail = LoadPackage( "AutoDoc", "2025.12.19" ) then
     
-    Error( "AutoDoc version 2019.05.20 or newer is required." );
+    Error( "AutoDoc version 2025.12.19 or newer is required." );
     
 fi;
 
@@ -25,7 +25,7 @@
         ),
     ),
     scaffold := rec(
-        entities := [ "homalg", "CAP" ],
+        entities := rec( homalg := "homalg", CAP := "CAP" ),
     ),
 ) );
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/NConvex-2024.12-01/makedoc_with_overfull_hbox_warnings.g 
new/NConvex-2025.12-02/makedoc_with_overfull_hbox_warnings.g
--- old/NConvex-2024.12-01/makedoc_with_overfull_hbox_warnings.g        
2024-12-28 10:36:33.000000000 +0100
+++ new/NConvex-2025.12-02/makedoc_with_overfull_hbox_warnings.g        
2025-12-24 13:41:12.000000000 +0100
@@ -3,9 +3,9 @@
 #
 # This file is a script which compiles the package manual and prints overfull 
hbox warnings.
 #
-if fail = LoadPackage( "AutoDoc", "2019.05.20" ) then
+if fail = LoadPackage( "AutoDoc", "2025.12.19" ) then
     
-    Error( "AutoDoc version 2019.05.20 or newer is required." );
+    Error( "AutoDoc version 2025.12.19 or newer is required." );
     
 fi;
 
@@ -36,7 +36,7 @@
         ),
     ),
     scaffold := rec(
-        entities := [ "homalg", "CAP" ],
+        entities := rec( homalg := "homalg", CAP := "CAP" ),
     ),
 ) );
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/NConvex-2024.12-01/makefile 
new/NConvex-2025.12-02/makefile
--- old/NConvex-2024.12-01/makefile     2024-12-28 10:36:33.000000000 +0100
+++ new/NConvex-2025.12-02/makefile     2025-12-24 13:41:12.000000000 +0100
@@ -8,7 +8,7 @@
 doc/manual.six: makedoc.g \
                PackageInfo.g \
                $(wildcard doc/*.autodoc gap/*.gd gap/*.gi examples/*.g 
examples/*/*.g)
-                       gap makedoc.g
+                       gap --quitonbreak makedoc.g
 
 clean:
        (cd doc ; ./clean)
@@ -17,10 +17,10 @@
        gap tst/testall.g
 
 test-basic-spacing:
-       grep -RPl "\t" examples/ gap/ && echo "Tabs found" && exit 1 || exit 0
-       grep -RPl "\r" examples/ gap/ && echo "Windows line-endings found" && 
exit 1 || exit 0
-       # the second grep is a hack to fix the exit code with -L for grep <= 3.1
-       grep -RPzL "\n\z" examples/ gap/ | grep "" && echo "File with no 
newline at end of file found" && exit 1 || exit 0
+       # exit code 1 means no match, which is what we want here (exit code 2 
signals an error)
+       grep -RPl "\t" examples/ gap/; test $$? -eq 1 || (echo "Tabs found" && 
exit 1)
+       grep -RPl "\r" examples/ gap/; test $$? -eq 1 || (echo "Windows 
line-endings found" && exit 1)
+       grep -RPzL "\n\z" examples/ gap/ | grep ""; test $$? -eq 1 || (echo 
"File with no newline at end of file found" && exit 1)
 
 test-doc: doc
        cp -aT doc/ doc_tmp/
@@ -32,12 +32,12 @@
        gap --quitonbreak --norepl -c 'LoadPackage("profiling"); 
OutputJsonCoverage("stats", "coverage.json");'
 
 test-spacing:
-       grep -R "[^ [\"]  " gap/*.gi && echo "Duplicate spaces found" && exit 1 
|| exit 0
-       grep -RE '[^ ] +$$' gap/* && echo "Trailing whitespace found" && exit 1 
|| exit 0
+       # exit code 1 means no match, which is what we want here (exit code 2 
signals an error)
+       grep -R "[^ [\"]  " gap/*.gi; test $$? -eq 1 || (echo "Duplicate spaces 
found" && exit 1)
+       grep -RE '[^ ] +$$' gap/*; test $$? -eq 1 || (echo "Trailing whitespace 
found" && exit 1)
        for filename in gap/*; do \
                echo $$filename; \
                gap --quitonbreak --norepl --banner -c 
"LoadPackage(\"NConvex\"); SizeScreen([4096]); func := 
ReadAsFunction(\"$$filename\"); FileString(\"gap_spacing\", 
DisplayString(func));"; \
-               echo -e "\033[0m"; \
                # In a perfect world, the DisplayString of a function would 
exactly match our code. However, our line breaks and indentation might differ 
from the GAP ones, \
                # so we remove all indentation, line breaks, and empty lines, 
and afterwards insert line breaks at semicolons again for better readability. \
                cat "gap_spacing" | tail -n +2 | head -n -2 | sed 's/\[  \]/[ 
]/g' | sed 's/(  )/( )/g' | sed 's/(  :/( :/g' | sed 's/ *$$//' | sed 's/^ *//' 
| grep -v "^$$" | tr "\n" " " | sed 's/;/;\n/g' > modified_gap_spacing; \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/NConvex-2024.12-01/process_coverage.py 
new/NConvex-2025.12-02/process_coverage.py
--- old/NConvex-2024.12-01/process_coverage.py  2024-12-28 10:36:33.000000000 
+0100
+++ new/NConvex-2025.12-02/process_coverage.py  1970-01-01 01:00:00.000000000 
+0100
@@ -1,90 +0,0 @@
-#!/usr/bin/python3
-
-#######################################################
-# You should only use the coverage annotations for
-# a) lines around errors and warnings,
-# b) code solely existing for debugging purposes,
-# c) calls of `TryNextMethod` leading to external code.
-#######################################################
-
-# This script applies three rules to all coverage*.json files below the 
current working directory:
-# a) Remove all coverage information of files not below the current working 
directory
-#    (this technically includes "tst/testall.g" because it is not referenced 
by an absolute path).
-# b) Strip the current working directory from the paths of files below the 
current working directory.
-# c) Ignore lines with one of the "COVERAGE_IGNORE_..." annotations (see 
below).
-
-import json
-import re
-import os
-from pathlib import Path
-
-regex_block_start = re.compile("^\s*# COVERAGE_IGNORE_BLOCK_START$")
-regex_block_end = re.compile("^\s*# COVERAGE_IGNORE_BLOCK_END$")
-regex_next_line = re.compile("^\s*# COVERAGE_IGNORE_NEXT_LINE$")
-regex_return_void = re.compile("^\s*return;$")
-
-for coverage_filename in Path("../").glob("**/coverage*.json"):
-    print("processing coverage file " + str(coverage_filename))
-    new_data = {}
-    new_data["coverage"] = {}
-    with open(coverage_filename) as json_file:
-        data = json.load(json_file)
-        files = data["coverage"]
-        for filename, lines_covered in files.items():
-            if filename.startswith(os.getcwd() + "/"):
-                print(" processing code file " + filename)
-                # ignored lines will be delete from lines_covered in-place
-                new_data["coverage"][filename.replace(os.getcwd() + "/", "", 
1)] = lines_covered
-                line_number = 0
-                ignoring = False
-                ignored_lines = []
-                with open(filename) as file:
-                    while True:
-                        line_number += 1
-                        line = file.readline()
-                        
-                        if not line:
-                            break
-                        
-                        if regex_block_start.match(line) is not None:
-                            if ignoring:
-                                print("Error in line " + str(line_number) + ": 
start ignoring while already ignoring")
-                                exit(1)
-                            ignoring = True
-                        
-                        if regex_block_end.match(line) is not None:
-                            if not ignoring:
-                                print("Error in line " + str(line_number) + ": 
end ignoring while not ignoring")
-                                exit(1)
-                            ignoring = False
-                        
-                        if regex_next_line.match(line) is not None:
-                            if ignoring:
-                                print("Error in line " + str(line_number) + ": 
ignoring next line while already ignoring block")
-                                exit(1)
-                            ignored_lines.append(line_number + 1)
-                        
-                        # ignore empty return statements in precompiled code
-                        # those are inserted automatically by GAP and are 
never executed
-                        if "precompiled_categories" in filename and 
regex_return_void.match(line) is not None:
-                            if ignoring:
-                                print("Error in line " + str(line_number) + ": 
ignoring empty return statement while already ignoring block")
-                                exit(1)
-                            ignored_lines.append(line_number)
-                        
-                        if ignoring:
-                            ignored_lines.append(line_number)
-                
-                if ignoring:
-                    print("Error: ignoring until the end of the file")
-                    exit(1)
-                
-                for line_number in ignored_lines:
-                    if str(line_number) in lines_covered:
-                        if lines_covered[str(line_number)] != "0":
-                            print("Error in line " + str(line_number) + ": an 
ignored line is covered")
-                            exit(1)
-                        del lines_covered[str(line_number)]
-    
-    with open(coverage_filename, "w") as outfile:
-        json.dump(new_data, outfile, indent=0)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/NConvex-2024.12-01/release-gap-package 
new/NConvex-2025.12-02/release-gap-package
--- old/NConvex-2024.12-01/release-gap-package  2024-12-28 10:36:33.000000000 
+0100
+++ new/NConvex-2025.12-02/release-gap-package  1970-01-01 01:00:00.000000000 
+0100
@@ -1,686 +0,0 @@
-#!/bin/sh
-#
-# ReleaseTools - a set of shells script for making GAP package releases
-#
-# Please always use the latest version of this tool, available from
-# <https://github.com/gap-system/ReleaseTools>.
-#
-# Copyright (c) 2013-2020 Max Horn <[email protected]>
-#
-# 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.
-#
-
-set -e
-
-######################################################################
-#
-# Usage information
-#
-help() {
-cat <<EOF
-Usage: $0 [OPTIONS]
-
-A tool for making releases of GAP packages on GitHub.
-
-Run this from within a git clone of your package repository, checked out
-at the revision you want to release. This tool extracts relevant data
-from the PackageInfo.g file, and performs the releases process.
-
-Actions
-  -h,  --help                      display this help text and exit
-  -p,  --push                      perform the final push, completing the 
release [Default]
-  -P,  --no-push                   do not perform the final push
-  -f,  --force                     if a release with the same name already 
exists: overwrite it
-  --skip-existing-release          if a release with the same name already 
exists: exit without error
-
-Paths
-  --srcdir <path>                  path of directory containing PackageInfo.g 
[Default: current directory]
-  --tmpdir <path>                  path of temporary directory [Default: tmp 
subdirectory of srcdir]
-  --webdir <path>                  path of web directory [Default: gh-pages 
subdirectory of srcdir]
-  --update-script <file>           path of the update script [Default: 
update.g in webdir]
-
-Custom settings
-  --token <oauth>                  GitHub access token
-
-Notes:
-* The package name and version, the list of archive formats, and the GitHub 
repository
-  are extracted from PackageInfo.g.
-* To learn how to create a GitHub access token, please consult
-  
https://help.github.com/articles/creating-an-access-token-for-command-line-use/
-* Without the --push option, all steps are performed, except for the final push
-  of the gh-pages changes. These changes are what make the release visible
-  to the GAP package distribution system.
-* Please consult the README for more information.
-EOF
-    exit 0
-}
-
-######################################################################
-#
-# Various little helper functions
-
-
-# print notices in green
-notice() {
-    printf '\033[32m%s\033[0m\n' "$*"
-}
-
-# print warnings in yellow
-warning() {
-    printf '\033[33mWARNING: %s\033[0m\n' "$*"
-}
-
-# print error in red and exit
-error() {
-    printf '\033[31mERROR: %s\033[0m\n' "$*"
-    exit 1
-}
-
-# check for uncommitted changes
-verify_git_clean() {
-    git update-index --refresh || error "uncommitted changes detected"
-    git diff-index --quiet HEAD -- || error "uncommitted changes detected"
-}
-
-# execute GAP commands from a heredoc, and export its output in the shell
-# variable `gap_output`; abort if GAP reported any errors
-run_gap() {
-  # Invoke GAP. The final call to 'tr' removes newlines and is a workaround
-  # for people whose gap script is broken (by not honoring -A, thus loading
-  # Browse, which inserts that extra character). I am looking at you,
-  # Sebastian!
-  gap_output=$( \
-    (echo 'OnBreak:=function() Print("FATAL ERROR"); FORCE_QUIT_GAP(1); end;;' 
; cat - ; echo ; echo "FORCE_QUIT_GAP(0);") \
-    | $GAP -A -q -b 2>&1 \
-    | tr -d '\r' )
-  mkdir -p "$TMP_DIR"
-  echo "$gap_output" > "$TMP_DIR/gap-error.log"
-  if echo "$gap_output" | grep -q '\(Error\|FATAL ERROR\|Syntax \)' ; then
-    error "there was an error running GAP, see $TMP_DIR/gap-error.log"
-  fi
-}
-
-# helper function for parsing GitHub's JSON output. Right now,
-# we only extract the value of a single key at a time. This means
-# we may end up parsing the same JSON data two times, but that
-# doesn't really matter as it is tiny.
-json_get_key() {
-    echo "$response" | python -c 'import 
json,sys;obj=json.load(sys.stdin);print(obj.get("'"$1"'",""))'
-}
-
-# On Mac OS X, tar stores extended attributes in ._FOO files inside archives.
-# Setting COPYFILE_DISABLE prevents that. See <http://superuser.com/a/260264>
-export COPYFILE_DISABLE=1
-
-
-######################################################################
-#
-# Command line processing
-#
-SRC_DIR="$PWD"
-TMP_DIR="$PWD/tmp"
-PackageInfoURL=
-README_URL=
-
-PUSH=yes
-FORCE=no
-ONLY_TARBALL=no
-SKIP_EXISTING_RELEASE=no
-while [ x"$1" != x ]; do
-  option="$1" ; shift
-  case "$option" in
-    -h | --help ) help ;;
-
-    --srcdir ) SRC_DIR="$1"; shift ;;
-    --webdir ) WEB_DIR="$1"; shift ;;
-    --tmpdir ) TMP_DIR="$1"; shift ;;
-    --update-script ) UPDATE_SCRIPT="$1"; shift ;;
-
-    --srcdir=*) SRC_DIR=${option#--srcdir=}; shift ;;
-    --webdir=*) WEB_DIR=${option#--webdir=}; shift ;;
-    --tmpdir=*) TMP_DIR=${option#--tmpdir=}; shift ;;
-    --update-script=*) UPDATE_SCRIPT=${option#--update-script=}; shift ;;
-
-    --token ) TOKEN="$1"; shift ;;
-
-    -p | --push ) PUSH=yes ;;
-    -P | --no-push ) PUSH=no ;;
-
-    -f | --force ) FORCE=yes ;;
-    --no-force ) FORCE=no ;;
-
-    --only-tarball ) ONLY_TARBALL=yes ;;
-
-    --skip-existing-release ) SKIP_EXISTING_RELEASE=yes ;;
-
-    -- ) break ;;
-    * ) error "unknown option '$option'" ;;
-  esac
-done
-
-
-######################################################################
-#
-# Some initial sanity checks
-#
-
-cd "$SRC_DIR"
-
-if [ ! -f PackageInfo.g ] ; then
-    error "unable to read PackageInfo.g file, use --help for instructions"
-fi
-
-# Check for webdir presence
-if [ "x$WEB_DIR" = x ] ; then
-    WEB_DIR="$SRC_DIR/gh-pages"
-fi
-if [ ! -d "$WEB_DIR" ] ; then
-    error "could not find 'webdir' with clone of your gh-pages branch"
-fi
-
-# Check for presence of the update script
-if [ "x$UPDATE_SCRIPT" = x ] ; then
-    UPDATE_SCRIPT="$WEB_DIR/update.g"
-fi
-if [ ! -f "$UPDATE_SCRIPT" ] ; then
-    error "could not find update script \"${UPDATE_SCRIPT}\""
-fi
-
-# Check whether GAP is usable
-GAP=${GAP:-gap}
-command -v "$GAP" >/dev/null 2>&1 ||
-    error "could not find GAP (perhaps set the GAP environment variable?)"
-
-command -v curl >/dev/null 2>&1 ||
-    error "the 'curl' command was not found, please install it"
-
-command -v git >/dev/null 2>&1 ||
-    error "the 'git' command was not found, please install it"
-
-command -v python >/dev/null 2>&1 ||
-    error "the 'python' command was not found, please install it"
-
-verify_git_clean
-
-
-######################################################################
-#
-# Determine package name and version, and other meta data
-#
-notice "Extracting information from PackageInfo.g..."
-run_gap <<EOF
-Read("PackageInfo.g");
-Print("PKG=\"",GAPInfo.PackageInfoCurrent.PackageName,"\"\n");
-Print("VERSION=\"",GAPInfo.PackageInfoCurrent.Version,"\"\n");
-tmp:=GAPInfo.PackageInfoCurrent.Date;; # either YYYY-MM-DD or DD/MM/YYYY format
-Print("DATE=\"",tmp,"\"\n");
-Print("PackageInfoURL=\"",GAPInfo.PackageInfoCurrent.PackageInfoURL,"\"\n");
-Print("README_URL=\"",GAPInfo.PackageInfoCurrent.README_URL,"\"\n");
-# extract archive formats; these can be comma or space separated, we want
-# to output them space separated
-tmp := GAPInfo.PackageInfoCurrent.ArchiveFormats;;
-tmp := JoinStringsWithSeparator(SplitString(tmp, ", "), " ");;
-Print("ARCHIVE_FORMATS=\"",tmp,"\"\n");
-tmp := SplitString(GAPInfo.PackageInfoCurrent.ArchiveURL, "/");;
-if Length(tmp) = 9 and tmp{[1,2,3,6,7]} = 
["https:","","github.com","releases","download"] then
-    Print("REPO=\"",Concatenation(tmp[4],"/",tmp[5]),"\"\n");
-    Print("TAG=\"",tmp[8],"\"\n");
-    len := Length(tmp[9]) - Length(GAPInfo.PackageInfoCurrent.Version);
-    if len > 0 then
-        Print("BASENAME=\"",tmp[9]{[1..len]},"\"\n");
-    fi;
-else
-    tmp := GAPInfo.PackageInfoCurrent.ArchiveURL;
-    Print("GAP_ERROR=\"The ArchiveURL has unexpected value '",tmp,"'\"\n");
-fi;
-Print("PDFFile=\"",GAPInfo.PackageInfoCurrent.PackageDoc.PDFFile,"\"\n");
-EOF
-
-# evaluate the output of GAP, which should be valid shell script code
-eval "$gap_output"
-if [ x"$GAP_ERROR" != "x" ] ; then
-    error "$GAP_ERROR"
-fi
-
-notice "Package $PKG $VERSION"
-case "$VERSION" in
-  *dev) error "Must not use 'dev' versions for package releases" ;;
-esac
-
-######################################################################
-#
-# Run makedoc.g (if present), as that also can uncover mistakes (e.g.
-# for projects which generate doc/title.xml from PackageInfo.g, it is
-# easy to forget that when making the release commit).
-#
-if [ -f makedoc.g ] ; then
-    notice "Building GAP package documentation (using makedoc.g)"
-    run_gap <<GAPInput
-if not IsPackageMarkedForLoading("$PKG", "") then
-  SetPackagePath("$PKG", ".");
-fi;
-Read("makedoc.g");
-GAPInput
-elif [ -f doc/make_doc ] ; then
-    notice "Building GAP package documentation (using doc/make_doc)"
-    cd doc && ./make_doc && cd ..
-else
-    warning "Could not build manual (no makedoc.g and no doc/make_doc found)"
-fi
-
-# check if building the manual modified any files
-verify_git_clean
-
-
-######################################################################
-#
-# Determine the basename for the package archives
-#
-#
-if [ x"$BASENAME" = "x" ] ; then
-    BASENAME="$PKG-"
-fi
-BASENAME="$BASENAME$VERSION"
-notice "Using archive basename $BASENAME"
-
-
-######################################################################
-#
-# Fetch GitHub oauth token, used to authenticate the following commands.
-# See https://help.github.com/articles/git-automation-with-oauth-tokens/
-#
-if [ "x$TOKEN" = x ] ; then
-    TOKEN=$(git config --get github.token || echo)
-fi
-if [ "x$TOKEN" = x ] && [ -r ~/.github_shell_token ] ; then
-    TOKEN=$(cat ~/.github_shell_token)
-fi
-if [ "x$TOKEN" = x ] ; then
-    error "could not determine GitHub access token, please consult the README"
-fi
-
-
-######################################################################
-#
-# Determine GitHub repository and username, and the current branch
-#
-notice "Using GitHub repository $REPO"
-
-GITHUB_USER=$(dirname "$REPO")
-notice "Using GitHub username $GITHUB_USER"
-
-BRANCH=$(git symbolic-ref -q --short HEAD)
-notice "Using branch $BRANCH"
-
-
-######################################################################
-#
-# Derive API urls
-#
-API_URL=https://api.github.com/repos/$REPO/releases
-UPLOAD_URL=https://uploads.github.com/repos/$REPO/releases
-
-
-######################################################################
-#
-# Determine the tag
-#
-verify_git_clean
-
-if git show-ref -q "$TAG" ; then
-    notice "Using git tag $TAG (derived from ArchiveURL in in PackageInfo.g)"
-else
-    notice "Creating git tag $TAG"
-    git tag "$TAG"
-fi;
-
-######################################################################
-#
-# Check if a GitHub release for this tag already exists
-#
-response=$(curl -s -S -X GET "$API_URL/tags/$TAG" -H "Authorization: token 
$TOKEN")
-MESSAGE=$(json_get_key message)
-RELEASE_ID=$(json_get_key id)
-
-if [ "$MESSAGE" = "Not Found" ] ; then
-    MESSAGE=  # release does not yet exist -> that's how we like it
-elif [ x"$RELEASE_ID" != x ] ; then
-    # release already exists -> skip, error out or delete it
-    if [ "x$SKIP_EXISTING_RELEASE" = xyes ] ; then
-        notice "release $TAG already exists on GitHub, skipping release"
-        exit 0
-    elif [ "x$FORCE" = xyes ] ; then
-        notice "Deleting existing release $TAG from GitHub"
-        response=$(curl --fail -s -S -X DELETE "$API_URL/$RELEASE_ID" -H 
"Authorization: token $TOKEN")
-        MESSAGE=
-    else
-        error "release $TAG already exists on GitHub, aborting (use --force to 
override this)"
-    fi
-fi
-
-if [ x"$MESSAGE" != x ] ; then
-    error "accessing GitHub failed: $MESSAGE"
-fi
-
-######################################################################
-#
-# Validate the tag
-#
-HEAD_REF=$(git rev-parse --verify HEAD)
-TAG_REF=$(git rev-parse --verify "$TAG^{}")
-
-if [ "x$TAG_REF" != "x$HEAD_REF" ] ; then
-    error "tag $TAG is not the HEAD commit -- did you tag the right commit?"
-fi
-
-
-echo ""
-
-
-######################################################################
-#
-# Get fresh (unmodified) copies of the files, and generate some stuff
-#
-
-# Clean any remains of previous export attempts
-mkdir -p "$TMP_DIR"
-rm -rf "${TMP_DIR:?}/$BASENAME"*
-
-# Set umask to ensure the file permissions in the release
-# archives are sane.
-umask 0022
-
-notice "Exporting repository content for tag '$TAG'"
-git archive --prefix="$BASENAME/" "$TAG" . | tar xf - -C "$TMP_DIR"
-
-
-# Build the package documentation, run autoconf, etc.
-cd "$TMP_DIR/$BASENAME"
-
-# adjust date
-# Note that we cannot use sed's `-i` option for in-place editing, as
-# that is a non-portable extension of POSIX, which works differently in
-# BSD and GNU make.
-sed "s;Date := .*;Date := \"$(date +%d/%m/%Y)\",;" PackageInfo.g > 
PackageInfo.g.bak
-mv PackageInfo.g.bak PackageInfo.g
-
-notice "Removing unnecessary files"
-# Remove recursively in case there is a .github directory
-rm -rf .git* .hg* .cvs* .circleci
-rm -f .appveyor.yml .codecov.yml .travis.yml
-
-# execute .release script, if present
-if [ -f .release ] ; then
-    # the .release script can perform additional preparation, e.g.:
-    # * add files for distribution which are not part of the repository;
-    # * remove further files not intended for distribution (e.g. scripts/ 
directory);
-    # * build the package manual in a custom way;
-    # * perform additional sanity checks;
-    # * ...
-    . ./.release
-    rm -f .release
-fi
-
-if [ -x autogen.sh ] ; then
-    notice "Generating build system files"
-    sh autogen.sh
-    rm -rf autom4te.cache
-fi
-
-if [ -f makedoc.g ] ; then
-    notice "Building GAP package documentation for archives (using makedoc.g)"
-    run_gap <<GAPInput
-if not IsPackageMarkedForLoading("$PKG", "") then
-  SetPackagePath("$PKG", ".");
-fi;
-PushOptions(rec(relativePath:="../../.."));
-Read("makedoc.g");
-GAPInput
-    rm -f doc/*.tex
-    rm -f doc/*.aux doc/*.bbl doc/*.blg doc/*.brf doc/*.idx doc/*.ilg 
doc/*.ind doc/*.log doc/*.out doc/*.pnr doc/*.tst
-elif [ -f doc/make_doc ] ; then
-    notice "Copying GAP package documentation for archives (using 
doc/make_doc)"
-    cp -r "$SRC_DIR/doc" .
-    cp -r "$SRC_DIR/htm" .
-    rm -f doc/*.aux doc/*.bbl doc/*.blg doc/*.brf doc/*.idx doc/*.ilg 
doc/*.ind doc/*.log doc/*.out doc/*.pnr doc/*.tst
-fi
-
-# make sure every file is readable
-chmod -R a+r .
-
-# replace links to packages which are possibly referenced in the 
documentation, keep this in sync with `Tests.yml.j2`
-for package in CAP_project/CAP CAP_project/CompilerForCAP 
CAP_project/MonoidalCategories CAP_project/CartesianCategories 
CAP_project/FreydCategoriesForCAP 
HigherHomologicalAlgebra/ToolsForHigherHomologicalAlgebra homalg_project/homalg 
homalg_project/Modules Toposes; do
-    
-    # adjust links to other manuals
-    # Note that we cannot use sed's `-i` option for in-place editing, as
-    # that is a non-portable extension of POSIX, which works differently in
-    # BSD and GNU make.
-    for f in ./*/*.htm* ; do
-        sed 
"s;href=\"/home/gap/.gap/pkg/$package/doc/;href=\"https://homalg-project.github.io/$package/doc/;g";
 "$f" > "$f.bak"
-        mv "$f.bak" "$f"
-    done
-    
-done
-
-# basic sanity check
-fgrep -q -r '<a href="/' */*.htm* &&
-    error "HTML manual contains absolute paths"
-
-
-######################################################################
-#
-# Validate PackageInfo.g
-#
-echo ""
-notice "Validating PackageInfo.g..."
-run_gap <<GAPInput || error "validation failed"
-if not ValidatePackageInfo("PackageInfo.g") then
-    FORCE_QUIT_GAP(1);
-fi;
-GAPInput
-
-
-######################################################################
-#
-# Verify README_URL refers to an existing file
-#
-README_NAME=$(basename "$README_URL")
-[ -f "$README_NAME" ] ||
-    error "No file named '$README_NAME' exists; is your README_URL valid?"
-
-
-######################################################################
-#
-# Create all archive files requested by ARCHIVE_FORMATS
-#
-cd "$TMP_DIR"
-echo ""
-for EXT in $ARCHIVE_FORMATS ; do
-    ARCHIVENAME=$BASENAME$EXT
-    FULLNAME="$TMP_DIR/$ARCHIVENAME"
-    notice "Creating $ARCHIVENAME ..."
-    case $EXT in
-    .tar.gz)  tar cf - "$BASENAME" | gzip -9c > "$ARCHIVENAME" ;;
-    .tar.bz2) tar cf - "$BASENAME" | bzip2 -9c > "$ARCHIVENAME" ;;
-    .zip)     zip -r9 --quiet "$ARCHIVENAME" "$BASENAME" ;;
-    *)
-        warning "unsupported archive format $EXT"
-        continue
-        ;;
-    esac
-    if [ ! -f "$FULLNAME" ] ; then
-        error "failed creating $FULLNAME"
-    fi
-done
-
-
-######################################################################
-#
-# Abort early if user requested only creation of tarballs
-#
-if [ "x$ONLY_TARBALL" = xyes ] ; then
-    exit 0
-fi
-
-######################################################################
-#
-# Push commits to GitHub
-#
-
-cd "$SRC_DIR"
-
-# construct GitHub URL for pushing
-REMOTE="https://$GITHUB_USER:[email protected]/$REPO";
-
-# Make sure the branch is on the server
-notice "Pushing your branch to GitHub"
-git push "$REMOTE" "$BRANCH"
-
-# Make sure the tag is on the server
-notice "Pushing your tag to GitHub"
-if [ "x$FORCE" = xyes ] ; then
-    git push --force "$REMOTE" "$TAG"
-else
-    git push "$REMOTE" "$TAG"
-fi
-
-
-######################################################################
-#
-# Create the GitHub release
-#
-
-# Create the release by sending suitable JSON
-DATA=$(cat <<EOF
-{
-  "tag_name": "$TAG",
-  "name": "$PKG $VERSION",
-  "body": "Release for $PKG",
-  "draft": false,
-  "prerelease": false
-}
-EOF
-)
-
-notice "Creating new release $TAG on GitHub"
-response=$(curl -s -S -H "Content-Type: application/json" \
- -X POST --data "$DATA" "$API_URL" -H "Authorization: token $TOKEN")
-
-MESSAGE=$(json_get_key message)
-if [ x"$MESSAGE" != x ] ; then
-    error "creating release on GitHub failed: $MESSAGE"
-fi
-RELEASE_ID=$(json_get_key id)
-if [ x"$RELEASE_ID" = x ] ; then
-    error "creating release on GitHub failed: no release id"
-fi
-
-
-######################################################################
-#
-# Upload all archive files requested by ARCHIVE_FORMATS
-#
-cd "$TMP_DIR"
-echo ""
-for EXT in $ARCHIVE_FORMATS ; do
-    ARCHIVENAME=$BASENAME$EXT
-    FULLNAME="$TMP_DIR/$ARCHIVENAME"
-    case $EXT in
-    .tar.gz)  MIMETYPE="application/x-gzip" ;;
-    .tar.bz2) MIMETYPE="application/x-bzip2" ;;
-    .zip)     MIMETYPE="application/zip" ;;
-    *)        continue ;;
-    esac
-    if [ ! -f "$FULLNAME" ] ; then
-        error "failed creating $FULLNAME"
-    fi
-    notice "Uploading $ARCHIVENAME with mime type $MIMETYPE"
-    response=$(curl --fail --progress-bar -o "$TMP_DIR/upload.log" \
-        -X POST "$UPLOAD_URL/$RELEASE_ID/assets?name=$ARCHIVENAME" \
-        -H "Accept: application/vnd.github.v3+json" \
-        -H "Authorization: token $TOKEN" \
-        -H "Content-Type: $MIMETYPE" \
-        --data-binary @"$FULLNAME")
-done
-
-
-######################################################################
-#
-# Upload PDF
-#
-cd "$TMP_DIR"
-echo ""
-
-FULLNAME="$TMP_DIR/$BASENAME/$PDFFile"
-if [ ! -f "$FULLNAME" ] ; then
-       error "could not find PDF"
-fi
-notice "Uploading PDF"
-response=$(curl --fail --progress-bar -o "$TMP_DIR/upload_pdf.log" \
-       -X POST "$UPLOAD_URL/$RELEASE_ID/assets?name=$BASENAME.pdf" \
-       -H "Accept: application/vnd.github.v3+json" \
-       -H "Authorization: token $TOKEN" \
-       -H "Content-Type: application/pdf" \
-       --data-binary @"$FULLNAME")
-
-
-######################################################################
-#
-# Update the website
-#
-notice "Updating website"
-cd "$WEB_DIR"
-git pull --ff-only
-
-cp "$TMP_DIR/$BASENAME/$README_NAME" .
-cp "$TMP_DIR/$BASENAME/PackageInfo.g" .
-rm -rf doc/ htm/
-if [ -f "$TMP_DIR/$BASENAME/doc/chap0.html" ] ; then
-    mkdir -p doc/
-    for ext in css html js txt ; do
-        cp "$TMP_DIR/$BASENAME/doc"/*.$ext doc/
-    done
-fi
-if [ -d "$TMP_DIR/$BASENAME/htm" ] ; then
-    cp -r "$TMP_DIR/$BASENAME/htm" .
-fi
-
-# adjust links to the GAP manuals
-# Note that we cannot use sed's `-i` option for in-place editing, as
-# that is a non-portable extension of POSIX, which works differently in
-# BSD and GNU make.
-for f in ./*/*.htm* ; do
-  sed 's;href="../../../doc/;href="https://www.gap-system.org/Manuals/doc/;g' 
"$f" > "$f.bak"
-  mv "$f.bak" "$f"
-done
-
-run_gap <<GAPInput
-Read("$UPDATE_SCRIPT");
-GAPInput
-
-git add -A
-git commit -m "Update website for $PKG $VERSION"
-
-if [ "x$PUSH" = xyes ] ; then
-    notice "Pushing website changes"
-    git push "$REMOTE"
-    notice "Done"
-    notice "Your PackageInfo.g is now at $PackageInfoURL"
-else
-    warning "To complete your release, run 'git push' in your gh-pages 
directory"
-    notice "Afterwards, your PackageInfo.g will be at $PackageInfoURL"
-fi
-
-exit 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/NConvex-2024.12-01/tst/testall.g 
new/NConvex-2025.12-02/tst/testall.g
--- old/NConvex-2024.12-01/tst/testall.g        2024-12-28 10:36:33.000000000 
+0100
+++ new/NConvex-2025.12-02/tst/testall.g        2025-12-24 13:41:12.000000000 
+0100
@@ -4,16 +4,8 @@
 # This file runs package tests. It is also referenced in the package
 # metadata in PackageInfo.g.
 #
-
-# Until the issue https://github.com/homalg-project/NConvex/issues/5 has been 
solved
-exclude := [];
-if IsBound( IsPackageLoaded ) and IsPackageLoaded( "majoranaalgebras" ) then
-  exclude := [ "nconvex02.tst" ];
-fi;
-
 options := rec(
     exitGAP := true,
-    exclude := exclude,
     testOptions := rec(
         compareFunction := "uptowhitespace",
     ),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/NConvex-2024.12-01/upload_codecov.sh 
new/NConvex-2025.12-02/upload_codecov.sh
--- old/NConvex-2024.12-01/upload_codecov.sh    2024-12-28 10:36:33.000000000 
+0100
+++ new/NConvex-2025.12-02/upload_codecov.sh    1970-01-01 01:00:00.000000000 
+0100
@@ -1,26 +0,0 @@
-#!/bin/bash
-
-set -e
-
-# get GPG key
-curl -O https://keybase.io/codecovsecurity/pgp_keys.asc
-# verify fingerprint
-if ! gpg --import --import-options show-only --with-fingerprint pgp_keys.asc | 
grep "2703 4E7F DB85 0E0B BC2C  62FF 806B B28A ED77 9869"; then
-    echo "Downloaded GPG key has wrong fingerprint"
-    exit 1
-fi
-# import key into special keyring used by gpgv below
-gpg --no-default-keyring --keyring ~/.gnupg/trustedkeys.kbx --import 
pgp_keys.asc
-
-# get uploader with signatures
-curl -O https://uploader.codecov.io/latest/linux/codecov
-curl -O https://uploader.codecov.io/latest/linux/codecov.SHA256SUM
-curl -O https://uploader.codecov.io/latest/linux/codecov.SHA256SUM.sig
-
-# verify
-gpgv codecov.SHA256SUM.sig codecov.SHA256SUM
-shasum -a 256 -c codecov.SHA256SUM
-
-# execute
-chmod +x codecov
-./codecov -Z || ./codecov -Z || ./codecov -Z

++++++ _scmsync.obsinfo ++++++
--- /var/tmp/diff_new_pack.hsaSqJ/_old  2026-06-16 14:01:34.821650217 +0200
+++ /var/tmp/diff_new_pack.hsaSqJ/_new  2026-06-16 14:01:34.829650551 +0200
@@ -1,5 +1,5 @@
-mtime: 1760206308
-commit: 8c64e699032a72e91fd9864d3ec105ae4dea95af5f96ccc463c9f1b7f328c642
+mtime: 1781540382
+commit: 28fecca024dae4f45a9f1d3555d304611aa904e7b110eab434b93b0b21ffda63
 url: https://src.opensuse.org/jengelh/gap-nconvex
 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-06-15 18:19:42.000000000 +0200
@@ -0,0 +1 @@
+.osc

Reply via email to