Compare commits

...

9 Commits

Author SHA1 Message Date
Sandro Mani d8dda98d58 Fix sources 2023-05-30 08:03:04 +02:00
Sandro Mani 0ba51331ab Update to 3.3.3 2023-05-30 07:57:43 +02:00
Sandro Mani 7aeb2eab92 Disable upgrade builds for now 2023-05-11 11:59:05 +02:00
Sandro Mani c9447b7135 Rebuild (gdal) 2023-05-11 10:12:05 +02:00
Florian Weimer 4027e2bac2 C99 compatibility fixes
Backport an upstream patch to the bundled previous version,
and apply a new patch to fix compilation errors with future compilers.

Related to:

  <https://fedoraproject.org/wiki/Changes/PortingToModernC>
  <https://fedoraproject.org/wiki/Toolchain/PortingToModernC>
2023-04-09 22:16:19 +02:00
Fedora Release Engineering 5b63c4e9a8 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-20 10:07:43 +00:00
Ondřej Sloup 90835f203f Rebuild for PostgreSQL 15 (side-tag) 2022-11-16 12:04:15 +01:00
Sandro Mani b42b5f9cc0 Update to 3.3.2 2022-11-14 09:20:58 +01:00
Sandro Mani b9aa0b793e Rebuild (gdal) 2022-11-12 11:14:22 +01:00
8 changed files with 105 additions and 85 deletions

4
.gitignore vendored
View File

@ -27,3 +27,7 @@
/postgis-3.2.2.pdf
/postgis-3.3.1.tar.gz
/postgis-3.3.1.pdf
/postgis-3.3.2.tar.gz
/postgis-3.3.2.pdf
/postgis-3.3.3.pdf
/postgis-3.3.3.tar.gz

View File

@ -1,3 +0,0 @@
#!/bin/sh
/usr/lib/rpm/perl.req $* | grep -v 'perl(Pg'

View File

@ -1,13 +0,0 @@
#! /bin/sh
rm sources .gitignore
set -e
spectool -S *.spec | cut -d' ' -f2 \
| grep -E -e 'postgis-.*\.tar\.*' -e 'postgis.*\.pdf' | sort | \
while read line
do
base=`basename "$line"`
echo " * handling $base"
sha512sum --tag "$base" >> sources
echo "/$base" >> .gitignore
done

17
postgis-c99-2.patch Normal file
View File

@ -0,0 +1,17 @@
Include <math.h> for isnan. This avoids an implicit function
declaration and a build failure with future compilers.
Submitted upstream: <https://github.com/postgis/postgis/pull/725>
diff -ur postgis-3.3.2.orig/loader/shp2pgsql-core.c postgis-3.3.2/loader/shp2pgsql-core.c
--- postgis-3.3.2.orig/loader/shp2pgsql-core.c 2022-11-13 08:09:23.000000000 +0100
+++ postgis-3.3.2/loader/shp2pgsql-core.c 2023-04-09 22:01:46.377934865 +0200
@@ -15,6 +15,8 @@
#include "../postgis_config.h"
+#include <math.h> /* for isnan */
+
#include "shp2pgsql-core.h"
#include "../liblwgeom/liblwgeom.h"
#include "../liblwgeom/lwgeom_log.h" /* for LWDEBUG macros */

54
postgis-c99.patch Normal file
View File

@ -0,0 +1,54 @@
commit ae53a53246ccb26a6e82fede1a4184b41bcf097d
Author: Regina Obe <lr@pcorp.us>
Date: Sat Feb 19 00:21:01 2022 -0500
Fix PG 15 building atoi removed. References #5100 for PostGIS 3.3.0
diff -ur postgis-3.3.2.orig/postgis-2.5.5/postgis/gserialized_typmod.c postgis-3.3.2/postgis-2.5.5/postgis/gserialized_typmod.c
--- postgis-3.3.2.orig/postgis-2.5.5/postgis/gserialized_typmod.c 2023-04-09 21:52:47.909294055 +0200
+++ postgis-3.3.2/postgis-2.5.5/postgis/gserialized_typmod.c 2023-04-09 21:55:24.744826310 +0200
@@ -35,7 +35,7 @@
#include "utils/elog.h"
#include "utils/array.h"
-#include "utils/builtins.h" /* for pg_atoi */
+#include "utils/builtins.h" /* for cstring_to_text */
#include "lib/stringinfo.h" /* For binary input */
#include "catalog/pg_type.h" /* for CSTRINGOID */
@@ -267,8 +267,33 @@
}
if ( i == 1 ) /* SRID */
{
- int srid = pg_atoi(DatumGetCString(elem_values[i]),
- sizeof(int32), '\0');
+ char *int_string = DatumGetCString(elem_values[i]);
+ char *endp;
+ long l;
+ int32_t srid;
+
+ errno = 0;
+ l = strtol(int_string, &endp, 10);
+
+ if (int_string == endp)
+ ereport(ERROR,
+ (errcode(ERRCODE_INVALID_TEXT_REPRESENTATION),
+ errmsg("invalid input syntax for type %s: \"%s\"",
+ "integer", int_string)));
+
+ if (errno == ERANGE || l < INT_MIN || l > INT_MAX)
+ ereport(ERROR,
+ (errcode(ERRCODE_NUMERIC_VALUE_OUT_OF_RANGE),
+ errmsg("value \"%s\" is out of range for type %s", int_string,
+ "integer")));
+
+ if (*endp != '\0')
+ ereport(ERROR,
+ (errcode(ERRCODE_INVALID_TEXT_REPRESENTATION),
+ errmsg("invalid input syntax for type %s: \"%s\"",
+ "integer", int_string)));
+
+ srid = clamp_srid(l);
srid = clamp_srid(srid);
POSTGIS_DEBUGF(3, "srid: %d", srid);
if ( srid != SRID_UNKNOWN )

View File

@ -1,7 +1,7 @@
%{!?javabuild:%global javabuild 0}
%{!?utils:%global utils 1}
%{!?gcj_support:%global gcj_support 0}
%{!?upgrade:%global upgrade 1}
%{!?upgrade:%global upgrade 0}
%{!?runselftest:%global runselftest 1}
%global majorversion 3.3
@ -14,7 +14,7 @@
%global __provides_exclude_from %{_libdir}/pgsql
Name: postgis
Version: 3.3.1
Version: 3.3.3
Release: 1%{?dist}
Summary: Geographic Information Systems Extensions to PostgreSQL
License: GPLv2+
@ -26,6 +26,8 @@ Source3: http://download.osgeo.org/%{name}/source/%{name}-%{prevversion}.t
# Add proj8 compatibility to postgis-2.x (needed for upgrade package)
Patch1: postgis2-proj8.patch
Patch2: postgis-c99.patch
Patch3: postgis-c99-2.patch
%ifnarch armv7hl
BuildRequires: SFCGAL-devel
@ -154,9 +156,12 @@ tar xf %{SOURCE0}
cd %{name}-%{prevversion}
%patch1 -p1
%patch -P 2 -p2
%patch -P 3 -p1
./autogen.sh
)
%endif
%patch -P 3 -p1
cp -p %{SOURCE2} .
@ -404,6 +409,27 @@ fi
%changelog
* Tue May 30 2023 Sandro Mani <manisandro@gmail.com> - 3.3.3-1
- Update to 3.3.3
* Thu May 11 2023 Sandro Mani <manisandro@gmail.com> - 3.3.2-5
- Rebuild (gdal)
* Sun Apr 09 2023 Florian Weimer <fweimer@redhat.com> - 3.3.2-4
- C99 compatibility fixes
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Wed Nov 16 2022 Ondřej Sloup <osloup@redhat.com> - 3.3.2-2
- Rebuild for new PostgreSQL 15
* Mon Nov 14 2022 Sandro Mani <manisandro@gmail.com> - 3.3.2-1
- Update to 3.3.2
* Sat Nov 12 2022 Sandro Mani <manisandro@gmail.com> - 3.3.1-2
- Rebuild (gdal)
* Sat Sep 10 2022 Sandro Mani <manisandro@gmail.com> - 3.3.1-1
- Update to 3.3.1

View File

@ -1,65 +0,0 @@
diff -rupN --no-dereference postgis-3.2.0/regress/core/interrupt_buffer.sql postgis-3.2.0-new/regress/core/interrupt_buffer.sql
--- postgis-3.2.0/regress/core/interrupt_buffer.sql 2021-12-18 03:45:48.000000000 +0100
+++ postgis-3.2.0-new/regress/core/interrupt_buffer.sql 2021-12-18 09:45:03.182621306 +0100
@@ -36,7 +36,7 @@ select ST_Buffer(g,100) from _inputs WHE
--( select (st_dumppoints(st_buffer(st_makepoint(0,0),10000,100000))).geom g) foo;
-- it may take some more to interrupt st_buffer, see
-- https://travis-ci.org/postgis/postgis/builds/40211116#L2222-L2223
-SELECT _timecheck('buffer', '200ms');
+SELECT _timecheck('buffer', '750ms');
-- Not affected by old timeout
SELECT '1', ST_NPoints(ST_Buffer('POINT(4 0)'::geometry, 2, 1));
diff -rupN --no-dereference postgis-3.2.0/regress/core/interrupt_relate.sql postgis-3.2.0-new/regress/core/interrupt_relate.sql
--- postgis-3.2.0/regress/core/interrupt_relate.sql 2021-12-18 03:45:48.000000000 +0100
+++ postgis-3.2.0-new/regress/core/interrupt_relate.sql 2021-12-18 09:45:03.182621306 +0100
@@ -34,29 +34,29 @@ UPDATE _time SET t = now(); -- reset tim
SET statement_timeout TO 100;
select ST_Contains(g,g) from _inputs WHERE id = 1; -- 6+ seconds
-SELECT _timecheck('contains', '200ms');
+SELECT _timecheck('contains', '750ms');
select ST_Covers(g,g) from _inputs WHERE id = 1; -- 6+ seconds
-SELECT _timecheck('covers', '200ms');
+SELECT _timecheck('covers', '750ms');
select ST_CoveredBy(g,g) from _inputs WHERE id = 1; -- 6+ seconds
-SELECT _timecheck('coveredby', '200ms');
+SELECT _timecheck('coveredby', '750ms');
select ST_Crosses(g,g) from _inputs WHERE id = 1; -- 6+ seconds
-SELECT _timecheck('crosses', '200ms');
+SELECT _timecheck('crosses', '750ms');
-- NOTE: we're reversing one of the operands to avoid the
-- short-circuit described in #3226
select ST_Equals(g,st_reverse(g)) from _inputs WHERE id = 1; -- 6+ seconds
-SELECT _timecheck('equals', '200ms');
+SELECT _timecheck('equals', '750ms');
select ST_Intersects(g,g) from _inputs WHERE id = 1; -- 6+ seconds
-SELECT _timecheck('intersects', '200ms');
+SELECT _timecheck('intersects', '750ms');
select ST_Overlaps(g,g) from _inputs WHERE id = 1; -- 6+ seconds
-SELECT _timecheck('overlaps', '200ms');
+SELECT _timecheck('overlaps', '750ms');
select ST_Relate(g,g) from _inputs WHERE id = 1; -- 6+ seconds
-SELECT _timecheck('relate', '200ms');
+SELECT _timecheck('relate', '750ms');
DROP FUNCTION _timecheck(text, interval);
diff -rupN --no-dereference postgis-3.2.0/regress/core/interrupt.sql postgis-3.2.0-new/regress/core/interrupt.sql
--- postgis-3.2.0/regress/core/interrupt.sql 2021-12-18 03:45:48.000000000 +0100
+++ postgis-3.2.0-new/regress/core/interrupt.sql 2021-12-18 09:45:03.182621306 +0100
@@ -24,7 +24,7 @@ $$ LANGUAGE 'plpgsql' VOLATILE;
SET statement_timeout TO 100;
-- would run for many seconds if uninterruptible...
SELECT ST_Segmentize(ST_MakeLine(ST_Point(4,39), ST_Point(1,41)), 1e-100);
-SELECT _timecheck('segmentize', '250ms');
+SELECT _timecheck('segmentize', '750ms');
SET statement_timeout TO 0;
-- Not affected by old timeout
SELECT '1',ST_AsText(ST_Segmentize('LINESTRING(0 0,4 0)'::geometry, 2));

View File

@ -1,3 +1,3 @@
SHA512 (postgis-3.3.3.pdf) = 3ec5ecd288a4f9428ca047dd537de20fdb9ee6e5b0addcdbf3ca1d11e6386d11e1e74b2952f3034a29b75213091f4ca2d36766548c0534b0d0b8686595a10e33
SHA512 (postgis-3.3.3.tar.gz) = 0025a8a5c6be7e18dfb97a6a04c468a9da2d6e99462d20eec7bddf4048b8f2fa1e8029be9f819950c910a6f89190e8295f10e8dab9b4885d03d3dbcce41380c2
SHA512 (postgis-2.5.5.tar.gz) = 407c9ddf5b73aaa8d36ec606f974b86c16c9ed4aafbfd4a0b7f96cfc7a9f8a8fa38528cb4787bdd50de479416dbfb09934a85d189463cec549da66863060292e
SHA512 (postgis-3.3.1.tar.gz) = 1d4cfff6e34bc6f790f1ea209ba4d7b2a7633bdc0a1d57bb7c8ef9850b4f08c2926116d2fdfe97379c7431c0ec1559002166cebc0074041e9ae1fad03301bdd8
SHA512 (postgis-3.3.1.pdf) = 9b30d9d11d8c0d01116c0778f5f0d3b5c0744db613bb33c5fb4e60ef83f9f0d5448fbde68744f68b9be0a78098abb4a4a2e5e17ac2f3484d0385679635fe0a1b