Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package pgsql-ogr-fdw for openSUSE:Factory 
checked in at 2026-07-20 09:58:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/pgsql-ogr-fdw (Old)
 and      /work/SRC/openSUSE:Factory/.pgsql-ogr-fdw.new.24530 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "pgsql-ogr-fdw"

Mon Jul 20 09:58:46 2026 rev:13 rq:1366578 version:1.1.9

Changes:
--------
--- /work/SRC/openSUSE:Factory/pgsql-ogr-fdw/pgsql-ogr-fdw.changes      
2026-05-08 16:47:05.841482223 +0200
+++ /work/SRC/openSUSE:Factory/.pgsql-ogr-fdw.new.24530/pgsql-ogr-fdw.changes   
2026-07-20 10:00:52.515229950 +0200
@@ -1,0 +2,16 @@
+Sun Jul 19 06:17:51 UTC 2026 - Martin Pluskal <[email protected]>
+
+- Update to version 1.1.9:
+  * Fix the build failure with GDAL 3.13
+    (gh#pramsey/pgsql-ogr-fdw#273)
+  * Add PostgreSQL 19 support and fix compilation warnings under
+    PG19
+  * Use PG_MODULE_MAGIC_EXT and pass the version from the control
+    file
+  * Use strncpy in ogr_fdw_info
+- Package the LLVM JIT bitcode through a generated file list
+  instead of a fixed glob: Leap 16.0 still emits per-extension
+  bitcode while current Tumbleweed emits none, and the old
+  bitcode/* glob failed on whichever product did not match.
+
+-------------------------------------------------------------------

Old:
----
  pgsql-ogr-fdw-1.1.7.tar.gz

New:
----
  pgsql-ogr-fdw-1.1.9.tar.gz

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

Other differences:
------------------
++++++ pgsql-ogr-fdw.spec ++++++
--- /var/tmp/diff_new_pack.6UVzDx/_old  2026-07-20 10:00:53.207253239 +0200
+++ /var/tmp/diff_new_pack.6UVzDx/_new  2026-07-20 10:00:53.211253374 +0200
@@ -21,7 +21,7 @@
 %{pg_version_from_name}
 
 Name:           %{pg_name}-%{ext_name}
-Version:        1.1.7
+Version:        1.1.9
 Release:        0
 Summary:        PostgreSQL OGR Foreign Data Wrapper
 License:        MIT
@@ -60,21 +60,23 @@
 mkdir -p %{buildroot}/%{pg_config_bindir}
 make V=1 USE_PGXS=1 install DESTDIR=%{buildroot}
 
+# PGXS emits LLVM JIT bitcode only where the PostgreSQL server itself was built
+# with LLVM (e.g. Leap 16.0); current Tumbleweed produces none. Record whatever
+# landed under the bitcode directory so the file list is valid on every 
product.
+( cd %{buildroot} && find ".%{pg_config_pkglibdir}/bitcode" -mindepth 1 
-maxdepth 1 2>/dev/null | sed -e 's,^\.,,' ) > bitcode.files
+
 %post
 %{_datadir}/postgresql/install-alternatives %pg_version
 
 %postun
 %{_datadir}/postgresql/install-alternatives %pg_version
 
-%files
+%files -f bitcode.files
 %defattr(-, root, root)
 %license LICENSE.md
 %doc README.md FAQ.md
 %{pg_config_bindir}/ogr_fdw_info
 %{pg_config_pkglibdir}/ogr_fdw.so
-%if %{postgresql_has_llvm}
-%{pg_config_pkglibdir}/bitcode/*
-%endif
 %dir %{pg_config_sharedir}/extension/
 %{pg_config_sharedir}/extension/ogr_fdw--1.0--1.1.sql
 %{pg_config_sharedir}/extension/ogr_fdw--1.1.sql

++++++ pgsql-ogr-fdw-1.1.7.tar.gz -> pgsql-ogr-fdw-1.1.9.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pgsql-ogr-fdw-1.1.7/.github/workflows/ci.yml 
new/pgsql-ogr-fdw-1.1.9/.github/workflows/ci.yml
--- old/pgsql-ogr-fdw-1.1.7/.github/workflows/ci.yml    2025-05-20 
19:06:38.000000000 +0200
+++ new/pgsql-ogr-fdw-1.1.9/.github/workflows/ci.yml    2026-07-09 
19:16:02.000000000 +0200
@@ -1,74 +1,42 @@
-# GitHub Actions for OGR-FDW
+# GitHub Actions for pgSQL OGR-FDW
 #
 # Paul Ramsey <pramsey at cleverelephant dot ca>
 
 name: "CI"
-on:
-  push:
-#    branches-ignore:
-#      - 'master'
-  pull_request: ~
+on: [push, pull_request]
 
 jobs:
   linux:
-    name: "CI"
+    name: PG ${{ matrix.pg }}
+    runs-on: ubuntu-latest
+    container:
+      image: pgxn/pgxn-tools
     strategy:
-        fail-fast: false
-        matrix:
-          ci:
-          - { PGVER: 11 }
-          - { PGVER: 12 }
-          - { PGVER: 13 }
-          - { PGVER: 14 }
-          - { PGVER: 15 }
-          - { PGVER: 16 }
-          - { PGVER: 17 }
+      fail-fast: false
+      matrix:
+        pg: [15, 16, 17, 18, 19]
 
-    runs-on: ubuntu-latest
     steps:
 
     - name: 'Check Out'
-      uses: actions/checkout@v4
+      uses: actions/checkout@v6
 
-    - name: 'Raise Priority for apt.postgresql.org'
-      run: |
-        cat << EOF >> ./pgdg.pref
-        Package: *
-        Pin: release o=apt.postgresql.org
-        Pin-Priority: 600
-        EOF
-        sudo mv ./pgdg.pref /etc/apt/preferences.d/
-        sudo apt update
+    - name: 'Start PostgreSQL ${{ matrix.pg }}'
+      run: pg-start ${{ matrix.pg }}
 
     - name: 'Install GDAL'
       run: |
-        sudo apt-get install libgdal-dev
+        apt-get update
+        apt-get -y install libgdal-dev
 
-    - name: 'Install PostgreSQL'
-      run: |
-        sudo apt-get purge postgresql-*
-        sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt 
$(lsb_release -cs)-pgdg-snapshot main ${{ matrix.ci.PGVER }}" > 
/etc/apt/sources.list.d/pgdg.list'
-        curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg 
--dearmor | sudo tee /etc/apt/trusted.gpg.d/apt.postgresql.org.gpg >/dev/null
-        sudo apt-get update
-        sudo apt-get -y install postgresql-${{ matrix.ci.PGVER }} 
postgresql-server-dev-${{ matrix.ci.PGVER }}
 
-    - name: 'Start PostgreSQL'
+    - name: 'Build & Install'
       run: |
-        export PGVER=${{ matrix.ci.PGVER }}
-        export PGDATA=/var/lib/postgresql/$PGVER/main
-        export PGETC=/etc/postgresql/$PGVER/main
-        export PGBIN=/usr/lib/postgresql/$PGVER/bin
-        export RUNNER_USER=`whoami`
-        # make sure postgres user can access data files
-        sudo chmod -R 755 /home/${RUNNER_USER}
-        sudo cp ./ci/pg_hba.conf $PGETC/pg_hba.conf
-        sudo systemctl stop postgresql
-        sudo pg_ctlcluster $PGVER main start
-        sudo pg_lsclusters
+        export PG_CFLAGS=-Werror
+        make && make install
+
+    - name: 'Test'
+      run: PGUSER=postgres make installcheck || (cat regression.diffs && false)
+
+
 
-    - name: 'Build & Test'
-      run: |
-        export PATH=/usr/lib/postgresql/${{ matrix.ci.PGVER }}/bin/:$PATH
-        PG_CFLAGS=-Werror make
-        sudo make install
-        PGUSER=postgres make installcheck || (cat regression.diffs && 
/bin/false)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pgsql-ogr-fdw-1.1.7/Makefile 
new/pgsql-ogr-fdw-1.1.9/Makefile
--- old/pgsql-ogr-fdw-1.1.7/Makefile    2025-05-20 19:06:38.000000000 +0200
+++ new/pgsql-ogr-fdw-1.1.9/Makefile    2026-07-09 19:16:02.000000000 +0200
@@ -14,6 +14,9 @@
        ogr_fdw--1.0--1.1.sql \
        ogr_fdw--1.1.sql
 
+EXTVERSION = $(shell grep default_version $(EXTENSION).control | \
+               cut -f2 -d= | tr -d "'" | tr -d " ")
+
 REGRESS = ogr_fdw
 
 EXTRA_CLEAN = sql/*.sql expected/*.out
@@ -28,6 +31,8 @@
 PG_CONFIG = pg_config
 REGRESS_OPTS = --encoding=UTF8
 
+PG_CFLAGS += -D OGR_FDW_VERSION=\"$(EXTVERSION)\"
+
 PG_CPPFLAGS += $(GDAL_CFLAGS)
 LIBS += $(GDAL_LIBS)
 SHLIB_LINK := $(LIBS)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pgsql-ogr-fdw-1.1.7/ogr_fdw.c 
new/pgsql-ogr-fdw-1.1.9/ogr_fdw.c
--- old/pgsql-ogr-fdw-1.1.7/ogr_fdw.c   2025-05-20 19:06:38.000000000 +0200
+++ new/pgsql-ogr-fdw-1.1.9/ogr_fdw.c   2026-07-09 19:16:02.000000000 +0200
@@ -40,7 +40,18 @@
 #include "ogr_fdw.h"
 
 
+/*
+ * Set up as a PgSQL module
+ */
+#ifdef PG_MODULE_MAGIC_EXT
+PG_MODULE_MAGIC_EXT(
+    .name = "ogr_fdw",
+    .version = OGR_FDW_VERSION
+);
+#else
 PG_MODULE_MAGIC;
+#endif
+
 
 /*
  * Describes the valid options for objects that use this wrapper.
@@ -1451,7 +1462,7 @@
        {
                char* fldname = 
pstrdup(OGR_Fld_GetNameRef(OGR_FD_GetFieldDefn(dfn, i)));
                char* fldname_laundered = palloc(STR_MAX_LEN);
-               strncpy(fldname_laundered, fldname, STR_MAX_LEN);
+               strlcpy(fldname_laundered, fldname, STR_MAX_LEN);
                ogrStringLaunder(fldname_laundered);
                ogr_fields[2 * i].fldname = fldname;
                ogr_fields[2 * i].fldnum = i;
@@ -1790,7 +1801,7 @@
        if (cstr != cstr_decoded)
                pfree(cstr_decoded);
 
-       is_null = false;
+       *is_null = false;
        return value;
 }
 
@@ -2064,7 +2075,7 @@
                                {
 #if (GDAL_VERSION_NUM >= GDAL_COMPUTE_VERSION(3,7,0))
                                        const char* tsstr = 
OGR_F_GetFieldAsISO8601DateTime(feat, ogrfldnum, NULL);
-                                       strncpy(cstr, tsstr, CSTR_SZ);
+                                       strlcpy(cstr, tsstr, CSTR_SZ);
 #else
                                        snprintf(cstr, CSTR_SZ, "%d-%02d-%02d 
%02d:%02d:%02d", year, month, day, hour, minute, second);
 #endif
@@ -2439,9 +2450,10 @@
 
                        case BYTEAOID:
                        {
-                               bytea* varlena = PG_DETOAST_DATUM(values[i]);
-                               size_t varsize = VARSIZE_ANY_EXHDR(varlena);
-                               OGR_F_SetFieldBinary(feat, ogrfldnum, varsize, 
(GByte*)VARDATA_ANY(varlena));
+                               struct varlena *detoasted_dat = (struct varlena 
*) PG_DETOAST_DATUM(values[i]);
+                               size_t varsize = 
VARSIZE_ANY_EXHDR(detoasted_dat);
+                               OGR_F_SetFieldBinary(feat, ogrfldnum, varsize, 
(GByte*)VARDATA_ANY(detoasted_dat));
+
                                break;
                        }
 
@@ -3259,13 +3271,13 @@
                }
 
                /* Layer name is never laundered, since it's the link back to 
OGR */
-               strncpy(layer_name, OGR_L_GetName(ogr_lyr), STR_MAX_LEN);
+               strlcpy(layer_name, OGR_L_GetName(ogr_lyr), STR_MAX_LEN);
 
                /*
                * We need to compare against created table names
                * because PgSQL does an extra check on CREATE FOREIGN TABLE
                */
-               strncpy(table_name, layer_name, STR_MAX_LEN);
+               strlcpy(table_name, layer_name, STR_MAX_LEN);
                if (launder_table_names)
                {
                        ogrStringLaunder(table_name);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pgsql-ogr-fdw-1.1.7/ogr_fdw.h 
new/pgsql-ogr-fdw-1.1.9/ogr_fdw.h
--- old/pgsql-ogr-fdw-1.1.7/ogr_fdw.h   2025-05-20 19:06:38.000000000 +0200
+++ new/pgsql-ogr-fdw-1.1.9/ogr_fdw.h   2026-07-09 19:16:02.000000000 +0200
@@ -8,10 +8,7 @@
  *-------------------------------------------------------------------------
  */
 
-#ifndef _OGR_FDW_H
-#define _OGR_FDW_H 1
-
-#define OGR_FDW_RELEASE_NAME "1.1"
+#pragma once
 
 /*
  * PostgreSQL
@@ -79,6 +76,7 @@
 #include "ogr_fdw_common.h"
 
 /* Local configuration defines */
+#define OGR_FDW_VERSION "1.1"
 
 /* Use hexwkb input by default, but have option to use */
 /* the binary recv input instead. Binary input is strict */
@@ -216,4 +214,3 @@
 Oid ogrGetGeometryOid(void);
 OGRErr pgDatumToOgrGeometry (Datum pg_geometry, Oid pgsendfunc, OGRGeometryH* 
ogr_geometry);
 
-#endif /* _OGR_FDW_H */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pgsql-ogr-fdw-1.1.7/ogr_fdw_common.h 
new/pgsql-ogr-fdw-1.1.9/ogr_fdw_common.h
--- old/pgsql-ogr-fdw-1.1.7/ogr_fdw_common.h    2025-05-20 19:06:38.000000000 
+0200
+++ new/pgsql-ogr-fdw-1.1.9/ogr_fdw_common.h    2026-07-09 19:16:02.000000000 
+0200
@@ -8,8 +8,7 @@
  *-------------------------------------------------------------------------
  */
 
-#ifndef _OGR_FDW_COMMON_H
-#define _OGR_FDW_COMMON_H 1
+#pragma once
 
 #include <string.h>
 #include <ctype.h>
@@ -26,8 +25,7 @@
 void ogrStringLaunder(char *str);
 
 OGRErr ogrLayerToSQL (const OGRLayerH ogr_lyr, const char *fwd_server,
-                      int launder_table_names, int launder_column_names,
-                      const char *fdw_table_name,
-                      int use_postgis_geometry, stringbuffer_t *buf);
+                                         int launder_table_names, int 
launder_column_names,
+                                         const char *fdw_table_name,
+                                         int use_postgis_geometry, 
stringbuffer_t *buf);
 
-#endif /* _OGR_FDW_COMMON_H */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pgsql-ogr-fdw-1.1.7/ogr_fdw_deparse.c 
new/pgsql-ogr-fdw-1.1.9/ogr_fdw_deparse.c
--- old/pgsql-ogr-fdw-1.1.7/ogr_fdw_deparse.c   2025-05-20 19:06:38.000000000 
+0200
+++ new/pgsql-ogr-fdw-1.1.9/ogr_fdw_deparse.c   2026-07-09 19:16:02.000000000 
+0200
@@ -176,7 +176,7 @@
                OGR_G_CreateFromWkb((unsigned char*)wkb, NULL, &ogrgeom, 
wkb_size);
                OGR_G_ExportToWkt(ogrgeom, &wkt);
                elog(DEBUG1, "ogrDeparseConst got a geometry: %s", wkt);
-               free(wkt);
+               CPLFree(wkt);
                OGR_G_DestroyGeometry(ogrgeom);
 
                /*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pgsql-ogr-fdw-1.1.7/ogr_fdw_func.c 
new/pgsql-ogr-fdw-1.1.9/ogr_fdw_func.c
--- old/pgsql-ogr-fdw-1.1.7/ogr_fdw_func.c      2025-05-20 19:06:38.000000000 
+0200
+++ new/pgsql-ogr-fdw-1.1.9/ogr_fdw_func.c      2026-07-09 19:16:02.000000000 
+0200
@@ -79,7 +79,7 @@
 Datum ogr_fdw_version(PG_FUNCTION_ARGS)
 {
        const char *gdal_ver = GDAL_RELEASE_NAME;
-       const char *ogr_fdw_ver = OGR_FDW_RELEASE_NAME;
+       const char *ogr_fdw_ver = OGR_FDW_VERSION;
        char ver_str[256];
        snprintf(ver_str, sizeof(ver_str), "OGR_FDW=\"%s\" GDAL=\"%s\"", 
ogr_fdw_ver, gdal_ver);
        PG_RETURN_TEXT_P(cstring_to_text(ver_str));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pgsql-ogr-fdw-1.1.7/ogr_fdw_gdal.h 
new/pgsql-ogr-fdw-1.1.9/ogr_fdw_gdal.h
--- old/pgsql-ogr-fdw-1.1.7/ogr_fdw_gdal.h      2025-05-20 19:06:38.000000000 
+0200
+++ new/pgsql-ogr-fdw-1.1.9/ogr_fdw_gdal.h      2026-07-09 19:16:02.000000000 
+0200
@@ -1,6 +1,5 @@
 
-#ifndef _OGR_FDW_GDAL_H
-#define _OGR_FDW_GDAL_H 1
+#pragma once
 
 /*
  * Quiet warnings due to double use of
@@ -67,4 +66,3 @@
 
 #endif /* GDAL 1 support */
 
-#endif /* _OGR_FDW_GDAL_H */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pgsql-ogr-fdw-1.1.7/ogr_fdw_info.c 
new/pgsql-ogr-fdw-1.1.9/ogr_fdw_info.c
--- old/pgsql-ogr-fdw-1.1.7/ogr_fdw_info.c      2025-05-20 19:06:38.000000000 
+0200
+++ new/pgsql-ogr-fdw-1.1.9/ogr_fdw_info.c      2026-07-09 19:16:02.000000000 
+0200
@@ -21,7 +21,7 @@
 #include "ogr_fdw_gdal.h"
 #include "ogr_fdw_common.h"
 
-static void usage();
+static void usage(void);
 static OGRErr ogrListLayers(const char* source);
 static OGRErr ogrFindLayer(const char* source, int layerno, const char** 
layer);
 static OGRErr ogrGenerateSQL(const char* server, const char* layer, const 
char* table, const char* source, const char* options);
@@ -64,15 +64,19 @@
 const char*
 quote_identifier(const char* ident)
 {
+#if GDAL_VERSION_NUM >= GDAL_COMPUTE_VERSION(3, 13, 0)
+       int len = (int)CPL_MIN(strlen(ident), NAMEDATALEN - 1);
+#else
        int len = (int)MIN(strlen(ident), NAMEDATALEN - 1);
+#endif
 
        if (reserved_word(ident))
        {
-               sprintf(identifier,"\"%*s\"", len, ident);
+               snprintf(identifier, sizeof(identifier), "\"%.*s\"", len, 
ident);
        }
        else
        {
-               sprintf(identifier,"%*s", len, ident);
+               snprintf(identifier, sizeof(identifier), "%.*s", len, ident);
        }
   return identifier;
 }
@@ -81,7 +85,7 @@
 
 
 static void
-formats()
+formats(void)
 {
        int i;
 
@@ -125,7 +129,7 @@
 }
 
 static void
-usage()
+usage(void)
 {
        printf(
                "usage: ogr_fdw_info -s <ogr datasource> -l <ogr layer name> -i 
<ogr layer index (numeric)> -t <output table name> -n <output server name> -o 
<config options>\n"
@@ -294,7 +298,7 @@
        if (! ogr_dr)
                ogr_dr = GDALGetDatasetDriver(ogr_ds);
 
-       strcpy(server_name, server == NULL ? "myserver" : server);
+       strncpy(server_name, server == NULL ? "myserver" : server, 
sizeof(server_name));
 
        if (options != NULL) {
                char *p;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pgsql-ogr-fdw-1.1.7/stringbuffer.h 
new/pgsql-ogr-fdw-1.1.9/stringbuffer.h
--- old/pgsql-ogr-fdw-1.1.7/stringbuffer.h      2025-05-20 19:06:38.000000000 
+0200
+++ new/pgsql-ogr-fdw-1.1.9/stringbuffer.h      2026-07-09 19:16:02.000000000 
+0200
@@ -9,8 +9,7 @@
  *-------------------------------------------------------------------------
  */
 
-#ifndef _STRINGBUFFER_H
-#define _STRINGBUFFER_H 1
+#pragma once
 
 #include <stdlib.h>
 #include <stdarg.h>
@@ -45,4 +44,3 @@
 extern int stringbuffer_trim_trailing_white(stringbuffer_t *s);
 extern int stringbuffer_trim_trailing_zeroes(stringbuffer_t *s);
 
-#endif /* _STRINGBUFFER_H */

Reply via email to