Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package pg_rrule for openSUSE:Factory 
checked in at 2025-12-20 21:47:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/pg_rrule (Old)
 and      /work/SRC/openSUSE:Factory/.pg_rrule.new.1928 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "pg_rrule"

Sat Dec 20 21:47:18 2025 rev:2 rq:1323816 version:0.3.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/pg_rrule/pg_rrule.changes        2025-09-16 
18:19:52.506825591 +0200
+++ /work/SRC/openSUSE:Factory/.pg_rrule.new.1928/pg_rrule.changes      
2025-12-20 21:50:04.500093764 +0100
@@ -1,0 +2,20 @@
+Sat Dec 20 15:59:52 UTC 2025 - Dominik George <[email protected]>
+
+- Update to new upstream version 0.3.1
+  + Fixes a SEGFAULT when storing RRULE types.
+  + remove test-create-extension.patch, applied upstream
+  + remove fix_testsuite.patch, applied upstream
+  + remove fix_make_install.patch, applied upstream
+  + remove fix_regress_opts.patch, applied upstream
+
+-------------------------------------------------------------------
+Thu Sep 25 16:18:03 UTC 2025 - Marcus Rueckert <[email protected]>
+
+- enable pg 18
+
+-------------------------------------------------------------------
+Thu Sep 18 10:06:44 UTC 2025 - Dominik George <[email protected]>
+
+- Fix typo in description
+
+-------------------------------------------------------------------

Old:
----
  fix_make_install.patch
  fix_regress_opts.patch
  fix_testsuite.patch
  pg-rrule_0.2.0+git20211101.d7d10f2.orig.tar.gz
  test-create-extension.patch

New:
----
  0.3.1.tar.gz

----------(Old B)----------
  Old:  + remove fix_testsuite.patch, applied upstream
  + remove fix_make_install.patch, applied upstream
  + remove fix_regress_opts.patch, applied upstream
  Old:  + remove fix_make_install.patch, applied upstream
  + remove fix_regress_opts.patch, applied upstream
  Old:  + remove test-create-extension.patch, applied upstream
  + remove fix_testsuite.patch, applied upstream
  + remove fix_make_install.patch, applied upstream
  Old:  + Fixes a SEGFAULT when storing RRULE types.
  + remove test-create-extension.patch, applied upstream
  + remove fix_testsuite.patch, applied upstream
----------(Old E)----------

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

Other differences:
------------------
++++++ pg_rrule.spec ++++++
--- /var/tmp/diff_new_pack.Jao3SL/_old  2025-12-20 21:50:05.192122414 +0100
+++ /var/tmp/diff_new_pack.Jao3SL/_new  2025-12-20 21:50:05.192122414 +0100
@@ -35,17 +35,13 @@
 %pg_server_requires
 %endif
 BuildRequires:  libical-devel
-Version:        0.2.0+git20211101.d7d10f2
+Version:        0.3.1
 Release:        0
-Summary:        RULE data type for PostgreSQL
+Summary:        RRULE data type for PostgreSQL
 License:        MIT
 Group:          Productivity/Databases/Tools
-URL:            https://github.com/petropavel13/pg_rrule
-Source:         
https://deb.debian.org/debian/pool/main/p/pg-rrule/pg-rrule_0.2.0+git20211101.d7d10f2.orig.tar.gz
-Patch0:         
https://sources.debian.org/data/main/p/pg-rrule/0.2.0%2Bgit20211101.d7d10f2-3/debian/patches/fix_make_install.patch
-Patch1:         
https://sources.debian.org/data/main/p/pg-rrule/0.2.0%2Bgit20211101.d7d10f2-3/debian/patches/fix_regress_opts.patch
-Patch2:         
https://sources.debian.org/data/main/p/pg-rrule/0.2.0%2Bgit20211101.d7d10f2-3/debian/patches/fix_testsuite.patch
-Patch3:         
https://sources.debian.org/data/main/p/pg-rrule/0.2.0%2Bgit20211101.d7d10f2-3/debian/patches/test-create-extension.patch
+URL:            https://github.com/Natureshadow/pg_rrule
+Source:         
https://github.com/Natureshadow/pg_rrule/archive/refs/tags/%{version}.tar.gz
 
 %description
 pg-rrule can expand recurrence rules (RRULE) as defined in the
@@ -54,7 +50,7 @@
 against.
 
 %prep
-%autosetup -p1 -n %{ext_name}-master
+%autosetup -p1 -n %{ext_name}-%{version}
 
 %build
 %make_pgxs

++++++ pg-rrule_0.2.0+git20211101.d7d10f2.orig.tar.gz -> 0.3.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pg_rrule-master/Makefile new/pg_rrule-0.3.1/Makefile
--- old/pg_rrule-master/Makefile        2021-11-01 14:49:51.000000000 +0100
+++ new/pg_rrule-0.3.1/Makefile 2025-12-20 17:07:27.000000000 +0100
@@ -5,7 +5,7 @@
 DOCS         = $(wildcard doc/*.md)
 TESTS        = $(wildcard test/sql/*.sql)
 REGRESS      = $(patsubst test/sql/%.sql,%,$(TESTS))
-REGRESS_OPTS = --inputdir=test --load-language=plpgsql
+REGRESS_OPTS = --inputdir=test
 #
 # Uncoment the MODULES line if you are adding C files
 # to your extention.
@@ -21,15 +21,18 @@
 sql/$(EXTENSION)--$(EXTVERSION).sql: sql/$(EXTENSION).sql
        cp $< $@
 
-DATA = $(wildcard sql/*--*.sql) sql/$(EXTENSION)--$(EXTVERSION).sql
+DATA = sql/$(EXTENSION)--$(EXTVERSION).sql
 EXTRA_CLEAN = sql/$(EXTENSION)--$(EXTVERSION).sql
 endif
 
 PGXS := $(shell $(PG_CONFIG) --pgxs)
 include $(PGXS)
 
-src/pg_rrule.o: CFLAGS += $(shell pkg-config --cflags libical)
+src/pg_rrule.o: CFLAGS += $(shell pkg-config --cflags libical) # for debug: 
-g3 -ggdb3
 pg_rrule.so: SHLIB_LINK += $(shell pkg-config --libs libical)
 
+# Avoid copying the same file twice
+DATA := $(sort $(DATA))
+
 sql/pg_rrule.sql: sql/pg_rrule.sql.in
        sed 's,MODULE_PATHNAME,$$libdir/$(@:sql/%.sql=%),g' $< >$@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pg_rrule-master/pg_rrule.control 
new/pg_rrule-0.3.1/pg_rrule.control
--- old/pg_rrule-master/pg_rrule.control        2021-11-01 14:49:51.000000000 
+0100
+++ new/pg_rrule-0.3.1/pg_rrule.control 2025-12-20 17:07:27.000000000 +0100
@@ -1,5 +1,5 @@
 # pg_rrule extension
 comment = 'RRULE field type for PostgreSQL'
-default_version = '0.2.0'
+default_version = '0.3.0'
 relocatable = true
 module_pathname = '$libdir/pg_rrule'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pg_rrule-master/sql/pg_rrule.sql.in 
new/pg_rrule-0.3.1/sql/pg_rrule.sql.in
--- old/pg_rrule-master/sql/pg_rrule.sql.in     2021-11-01 14:49:51.000000000 
+0100
+++ new/pg_rrule-0.3.1/sql/pg_rrule.sql.in      2025-12-20 17:07:27.000000000 
+0100
@@ -26,7 +26,7 @@
 CREATE TYPE rrule (
    input = rrule_in,
    output = rrule_out,
-   internallength = 2760 -- TODO: check sizeof(icalrecurrencetype) on 32-bit 
machine
+   internallength = 2896 -- CRITICAL: Must match the size of 
'icalrecurrencetype' in the current version of libical. cf ASSERT in pg_rrule.c
 );
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pg_rrule-master/src/pg_rrule.c 
new/pg_rrule-0.3.1/src/pg_rrule.c
--- old/pg_rrule-master/src/pg_rrule.c  2021-11-01 14:49:51.000000000 +0100
+++ new/pg_rrule-0.3.1/src/pg_rrule.c   2025-12-20 17:07:27.000000000 +0100
@@ -32,9 +32,39 @@
                  errmsg("Invalid RRULE frequency. RRULE \"%s\".", rrule_str)));
     }
 
+    // Need to copy result to palloc'd memory
     struct icalrecurrencetype* recurrence_ref = palloc(sizeof(struct 
icalrecurrencetype));
-
-    (*recurrence_ref) = recurrence;
+    memcpy(recurrence_ref, &recurrence, sizeof(struct icalrecurrencetype));
+    
+    // Be sure to copy the strings using the pstrdup function
+    if (recurrence.rscale) {
+        recurrence_ref->rscale = pstrdup(recurrence.rscale);
+    }
+
+    // TODO: do we also need to copy the zone? 
+    // Tried the below but 'icaltimezone' is an opaque type and we can't 
access the size
+    //
+    // if (recurrence.until.zone) {
+    //     struct icaltimezone* cloned_zone = palloc(sizeof(struct 
icaltimezone));
+    //     memcpy(cloned_zone, recurrence.until.zone, sizeof(struct 
icaltimezone));
+    //     recurrence_ref->until.zone = cloned_zone;
+    // }
+
+    // log_recurrence(recurrence_ref);
+
+    // Below is a critical assert, 
+    // to be sure the size of icalrecurrencetype in the current version of 
libical 
+    // matches the size of the custom RRULE type defined in 
pg_rrule/sql/pg_rrule.sql.in
+    //
+    // CREATE TYPE rrule (
+    //    input = rrule_in,
+    //    output = rrule_out,
+    //    internallength = 2896 
+    // );
+    //
+    // If a new version of libical changes the size of icalrecurrencetype, we 
need to fail here
+    // so that we are aware of the change. 
+    assert(sizeof(struct icalrecurrencetype)==2896);
 
     PG_RETURN_POINTER(recurrence_ref);
 }
@@ -127,8 +157,9 @@
 
 Datum pg_rrule_get_occurrences_dtstart_until(PG_FUNCTION_ARGS) {
     struct icalrecurrencetype* recurrence_ref = (struct 
icalrecurrencetype*)PG_GETARG_POINTER(0);
+
     Timestamp dtstart_ts = PG_GETARG_TIMESTAMP(1);
-    Timestamp until_ts = PG_GETARG_TIMESTAMPTZ(2);
+    Timestamp until_ts = PG_GETARG_TIMESTAMP(2);
 
     pg_time_t dtstart_ts_pg_time_t = timestamptz_to_time_t(dtstart_ts);
     pg_time_t until_ts_pg_time_t = timestamptz_to_time_t(until_ts);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pg_rrule-master/test/expected/base.out 
new/pg_rrule-0.3.1/test/expected/base.out
--- old/pg_rrule-master/test/expected/base.out  2021-11-01 14:49:51.000000000 
+0100
+++ new/pg_rrule-0.3.1/test/expected/base.out   2025-12-20 17:07:27.000000000 
+0100
@@ -1,19 +1,18 @@
-\set ECHO 0
-
+\set ECHO errors
 SELECT 'FREQ=WEEKLY;INTERVAL=1;WKST=MO;UNTIL=20200101T045102Z'::rrule;
-              rrule
+               rrule                
 ------------------------------------
  FREQ=WEEKLY;UNTIL=20200101T045102Z
 (1 row)
 
 SELECT 
get_byday('FREQ=WEEKLY;INTERVAL=1;WKST=MO;UNTIL=20200101T045102Z;BYDAY=MO,TH,SU'::rrule);
- get_byday
+ get_byday 
 -----------
  {2,5,1}
 (1 row)
 
 SELECT 
get_freq('FREQ=WEEKLY;INTERVAL=1;WKST=MO;UNTIL=20200101T045102Z'::rrule);
- get_freq
+ get_freq 
 ----------
  WEEKLY
 (1 row)
@@ -23,12 +22,13 @@
         
get_occurrences('FREQ=WEEKLY;INTERVAL=1;WKST=MO;UNTIL=20200101T045102Z;BYDAY=SA;BYHOUR=10;BYMINUTE=51;BYSECOND=2'::rrule,
             '2019-12-07 10:51:02+00'::timestamp with time zone)
     );
-         unnest
-------------------------
- 2019-12-07 10:51:02+00
- 2019-12-14 10:51:02+00
- 2019-12-21 10:51:02+00
- 2019-12-28 10:51:02+00
+WARNING:  Can't get timezone from current session! Fallback to UTC.
+            unnest            
+------------------------------
+ Sat Dec 07 02:51:02 2019 PST
+ Sat Dec 14 02:51:02 2019 PST
+ Sat Dec 21 02:51:02 2019 PST
+ Sat Dec 28 02:51:02 2019 PST
 (4 rows)
 
 SELECT * FROM
@@ -36,12 +36,28 @@
         
get_occurrences('FREQ=WEEKLY;INTERVAL=1;WKST=MO;UNTIL=20200101T045102Z;BYDAY=SA;BYHOUR=10;BYMINUTE=51;BYSECOND=2'::rrule,
             '2019-12-07 10:51:02'::timestamp)
     );
-       unnest
----------------------
- 2019-12-07 10:51:02
- 2019-12-14 10:51:02
- 2019-12-21 10:51:02
- 2019-12-28 10:51:02
+          unnest          
+--------------------------
+ Sat Dec 07 10:51:02 2019
+ Sat Dec 14 10:51:02 2019
+ Sat Dec 21 10:51:02 2019
+ Sat Dec 28 10:51:02 2019
 (4 rows)
 
+WITH occurrences AS (
+    SELECT unnest(
+        get_occurrences(
+           'FREQ=DAILY;BYHOUR=09;'::rrule,
+            '2024-05-25 00:00:00'::timestamp,
+            '2024-05-27 00:00:00'::timestamp
+        )
+    ) as occ
+)
+SELECT * FROM occurrences;
+           occ            
+--------------------------
+ Sat May 25 09:00:00 2024
+ Sun May 26 09:00:00 2024
+(2 rows)
+
 ROLLBACK;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pg_rrule-master/test/sql/base.sql 
new/pg_rrule-0.3.1/test/sql/base.sql
--- old/pg_rrule-master/test/sql/base.sql       2021-11-01 14:49:51.000000000 
+0100
+++ new/pg_rrule-0.3.1/test/sql/base.sql        2025-12-20 17:07:27.000000000 
+0100
@@ -1,6 +1,6 @@
-\set ECHO 0
+\set ECHO errors
 BEGIN;
-\i sql/pg_rrule.sql
+CREATE EXTENSION pg_rrule;
 \set ECHO all
 
 SELECT 'FREQ=WEEKLY;INTERVAL=1;WKST=MO;UNTIL=20200101T045102Z'::rrule;
@@ -21,4 +21,15 @@
             '2019-12-07 10:51:02'::timestamp)
     );
 
+WITH occurrences AS (
+    SELECT unnest(
+        get_occurrences(
+           'FREQ=DAILY;BYHOUR=09;'::rrule,
+            '2024-05-25 00:00:00'::timestamp,
+            '2024-05-27 00:00:00'::timestamp
+        )
+    ) as occ
+)
+SELECT * FROM occurrences;
+
 ROLLBACK;

++++++ _multibuild ++++++
--- /var/tmp/diff_new_pack.Jao3SL/_old  2025-12-20 21:50:05.356129203 +0100
+++ /var/tmp/diff_new_pack.Jao3SL/_new  2025-12-20 21:50:05.368129700 +0100
@@ -4,5 +4,6 @@
   <package>postgresql15</package>
   <package>postgresql16</package>
   <package>postgresql17</package>
+  <package>postgresql18</package>
 </multibuild>
 

Reply via email to