From 504806403858e705ce94928b82bebb1284e3e725 Mon Sep 17 00:00:00 2001 From: Craig Comstock Date: Fri, 6 Sep 2024 13:40:11 -0500 Subject: [PATCH 01/12] Updated apr from 1.7.4 to 1.7.5 --- deps-packaging/apr/cfbuild-apr.spec | 2 +- deps-packaging/apr/distfiles | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/deps-packaging/apr/cfbuild-apr.spec b/deps-packaging/apr/cfbuild-apr.spec index e10060e2a..20eac404d 100644 --- a/deps-packaging/apr/cfbuild-apr.spec +++ b/deps-packaging/apr/cfbuild-apr.spec @@ -1,4 +1,4 @@ -%define apr_version 1.7.4 +%define apr_version 1.7.5 Summary: CFEngine Build Automation -- apr Name: cfbuild-apr diff --git a/deps-packaging/apr/distfiles b/deps-packaging/apr/distfiles index 0e8006a85..8c8a5b9a4 100644 --- a/deps-packaging/apr/distfiles +++ b/deps-packaging/apr/distfiles @@ -1 +1 @@ -a4137dd82a185076fa50ba54232d920a17c6469c30b0876569e1c2a05ff311d9 apr-1.7.4.tar.gz +3375fa365d67bcf945e52b52cba07abea57ef530f40b281ffbe977a9251361db apr-1.7.5.tar.gz From 098dd786f510695a6c3bb20ea399096be4028d2d Mon Sep 17 00:00:00 2001 From: Craig Comstock Date: Fri, 6 Sep 2024 13:40:14 -0500 Subject: [PATCH 02/12] Updated apache from 2.4.59 to 2.4.62 --- deps-packaging/apache/cfbuild-apache.spec | 2 +- deps-packaging/apache/distfiles | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/deps-packaging/apache/cfbuild-apache.spec b/deps-packaging/apache/cfbuild-apache.spec index 8fd727d13..be143048e 100644 --- a/deps-packaging/apache/cfbuild-apache.spec +++ b/deps-packaging/apache/cfbuild-apache.spec @@ -1,4 +1,4 @@ -%define apache_version 2.4.59 +%define apache_version 2.4.62 %global __os_install_post %{nil} Summary: CFEngine Build Automation -- apache diff --git a/deps-packaging/apache/distfiles b/deps-packaging/apache/distfiles index d6e0cca05..e70cb4427 100644 --- a/deps-packaging/apache/distfiles +++ b/deps-packaging/apache/distfiles @@ -1 +1 @@ -e4ec4ce12c6c8f5a794dc2263d126cb1d6ef667f034c4678ec945d61286e8b0f httpd-2.4.59.tar.gz +3e2404d762a2da03560d7ada379ba1599d32f04a0d70ad6ff86f44325f2f062d httpd-2.4.62.tar.gz From b822344fc7f06df54341e100388ce829b897dced Mon Sep 17 00:00:00 2001 From: Craig Comstock Date: Fri, 6 Sep 2024 13:43:14 -0500 Subject: [PATCH 03/12] Updated libexpat from 2.5.0 to 2.6.3 --- deps-packaging/libexpat/cfbuild-libexpat.spec | 2 +- deps-packaging/libexpat/distfiles | 2 +- deps-packaging/libexpat/source | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/deps-packaging/libexpat/cfbuild-libexpat.spec b/deps-packaging/libexpat/cfbuild-libexpat.spec index 642798338..16d28f7ee 100644 --- a/deps-packaging/libexpat/cfbuild-libexpat.spec +++ b/deps-packaging/libexpat/cfbuild-libexpat.spec @@ -1,4 +1,4 @@ -%define expat_version 2.5.0 +%define expat_version 2.6.3 Summary: CFEngine Build Automation -- libexpat Name: cfbuild-libexpat diff --git a/deps-packaging/libexpat/distfiles b/deps-packaging/libexpat/distfiles index e79b10501..964db7d6b 100644 --- a/deps-packaging/libexpat/distfiles +++ b/deps-packaging/libexpat/distfiles @@ -1 +1 @@ -ef2420f0232c087801abf705e89ae65f6257df6b7931d37846a193ef2e8cdcbe expat-2.5.0.tar.xz +274db254a6979bde5aad404763a704956940e465843f2a9bd9ed7af22e2c0efc expat-2.6.3.tar.xz diff --git a/deps-packaging/libexpat/source b/deps-packaging/libexpat/source index 5889d1c58..095f933a4 100644 --- a/deps-packaging/libexpat/source +++ b/deps-packaging/libexpat/source @@ -1 +1 @@ -https://github.com/libexpat/libexpat/releases/download/R_2_5_0/ +https://github.com/libexpat/libexpat/releases/download/R_2_6_3/ From 290d13be8c631d04ced3f4940a38873da6728ce1 Mon Sep 17 00:00:00 2001 From: Craig Comstock Date: Fri, 6 Sep 2024 13:43:39 -0500 Subject: [PATCH 04/12] Updated openssl from 3.3.1 to 3.3.2 Location of source tarballs has changed from www.openssl.org/source to github.com/openssl/openssl/releases/download. openssl 3.3.2 requires perl List::Utils which exports pairs so change test in install-dependencies and build newer perl if needed. fixup openssl windows patch, 0007 for openssl 3.3.2 Fixed openssl patch 0010 for openssl 3.3.2 Ticket: ENT-12140 Changelog: none --- build-scripts/install-dependencies | 13 ++++++-- ...ing-Interlocked-64-Windows-functions.patch | 30 +++++++++---------- ...-Add-exemplar-use-case-for-rcu-locks.patch | 9 +++--- deps-packaging/openssl/cfbuild-openssl.spec | 2 +- deps-packaging/openssl/distfiles | 2 +- deps-packaging/openssl/source | 2 +- 6 files changed, 33 insertions(+), 25 deletions(-) diff --git a/build-scripts/install-dependencies b/build-scripts/install-dependencies index cbc7a8a70..8f97d8970 100755 --- a/build-scripts/install-dependencies +++ b/build-scripts/install-dependencies @@ -40,13 +40,20 @@ check_and_install_perl() && PERL="$HOME/perl-my/bin/perl" \ || PERL=`func_whereis perl` + PERL_OK=yes PERL_MINOR_VERSION=`$PERL -e 'print "$]"."\n"' | cut -d. -f2` if [ "$PERL_MINOR_VERSION" -lt 013004 ] then echo "$PERL version is $PERL_MINOR_VERSION," \ - "too old, installing new one from source" - - ### BUILD PERL + "too old" + PERL_OK="no" + fi + if ! perl -e 'use List::Util qw(pairs);'; then + echo "$PERL has List::Util that does not export pairs. Needs to be at least version 1.29 for OpenSSL version 3.3.2." + PERL_OK="no" + fi + if [ "$PERL_OK" != "yes" ]; then + echo "$PERL is too old or modules are missing, building new one from source..." # -fno-stack-protector: Ensure built perl will not depend on libssp.so if echo | gcc -E -fno-stack-protector - >/dev/null 2>&1 diff --git a/deps-packaging/openssl/0007-Avoid-using-Interlocked-64-Windows-functions.patch b/deps-packaging/openssl/0007-Avoid-using-Interlocked-64-Windows-functions.patch index 14481be8e..fc1ac18e3 100644 --- a/deps-packaging/openssl/0007-Avoid-using-Interlocked-64-Windows-functions.patch +++ b/deps-packaging/openssl/0007-Avoid-using-Interlocked-64-Windows-functions.patch @@ -9,7 +9,7 @@ x86. There are already implementations of replacements for other functions, such as InterlockedOr64(). Apply the same approach to fix the errors. -Inspired by openssl/openssl#24326. +Inspired by https://github.com/openssl/openssl/pull/24326. (cherry picked from commit 03111c77b640febbfaefc9ab6519e85f8b595100) --- @@ -17,7 +17,7 @@ Inspired by openssl/openssl#24326. 1 file changed, 71 insertions(+), 10 deletions(-) diff --git a/crypto/threads_win.c b/crypto/threads_win.c -index 64354dc42f..62b63a4aad 100644 +index bc430ef..30ca914 100644 --- a/crypto/threads_win.c +++ b/crypto/threads_win.c @@ -23,7 +23,7 @@ @@ -29,7 +29,7 @@ index 64354dc42f..62b63a4aad 100644 # define NO_INTERLOCKEDOR64 #endif -@@ -104,8 +104,15 @@ struct rcu_lock_st { +@@ -103,8 +103,15 @@ CRYPTO_CONDVAR *alloc_signal; CRYPTO_MUTEX *prior_lock; CRYPTO_CONDVAR *prior_signal; @@ -42,18 +42,18 @@ index 64354dc42f..62b63a4aad 100644 +static int CRYPTO_atomic_and(uint64_t *val, uint64_t op, uint64_t *ret, + CRYPTO_RWLOCK *lock); + - /* - * Called on thread exit to free the pthread key - * associated with this thread, if any -@@ -154,6 +161,7 @@ CRYPTO_RCU_LOCK *ossl_rcu_lock_new(int num_writers) - return NULL; + static struct rcu_qp *allocate_new_qp_group(struct rcu_lock_st *lock, + int count) + { +@@ -133,6 +140,7 @@ + new->ctx = ctx; new->write_lock = ossl_crypto_mutex_new(); + new->rw_lock = CRYPTO_THREAD_lock_new(); new->alloc_signal = ossl_crypto_condvar_new(); new->prior_signal = ossl_crypto_condvar_new(); new->alloc_lock = ossl_crypto_mutex_new(); -@@ -164,13 +172,15 @@ CRYPTO_RCU_LOCK *ossl_rcu_lock_new(int num_writers) +@@ -143,13 +151,15 @@ || new->prior_signal == NULL || new->write_lock == NULL || new->alloc_lock == NULL @@ -70,7 +70,7 @@ index 64354dc42f..62b63a4aad 100644 OPENSSL_free(new); new = NULL; } -@@ -186,20 +196,27 @@ void ossl_rcu_lock_free(CRYPTO_RCU_LOCK *lock) +@@ -165,20 +175,27 @@ ossl_crypto_mutex_free(&lock->alloc_lock); ossl_crypto_mutex_free(&lock->prior_lock); ossl_crypto_mutex_free(&lock->write_lock); @@ -102,7 +102,7 @@ index 64354dc42f..62b63a4aad 100644 } return &lock->qp_group[qp_idx]; -@@ -263,7 +280,9 @@ void ossl_rcu_read_unlock(CRYPTO_RCU_LOCK *lock) +@@ -254,7 +271,9 @@ if (data->thread_qps[i].lock == lock) { data->thread_qps[i].depth--; if (data->thread_qps[i].depth == 0) { @@ -113,7 +113,7 @@ index 64354dc42f..62b63a4aad 100644 OPENSSL_assert(ret >= 0); data->thread_qps[i].qp = NULL; data->thread_qps[i].lock = NULL; -@@ -278,6 +297,7 @@ static struct rcu_qp *update_qp(CRYPTO_RCU_LOCK *lock) +@@ -269,6 +288,7 @@ uint64_t new_id; uint32_t current_idx; uint32_t tmp; @@ -121,7 +121,7 @@ index 64354dc42f..62b63a4aad 100644 ossl_crypto_mutex_lock(lock->alloc_lock); /* -@@ -301,8 +321,10 @@ static struct rcu_qp *update_qp(CRYPTO_RCU_LOCK *lock) +@@ -292,8 +312,10 @@ lock->id_ctr++; new_id = VAL_ID(new_id); @@ -134,7 +134,7 @@ index 64354dc42f..62b63a4aad 100644 /* update the reader index to be the prior qp */ tmp = lock->current_alloc_idx; -@@ -337,7 +359,7 @@ void ossl_synchronize_rcu(CRYPTO_RCU_LOCK *lock) +@@ -328,7 +350,7 @@ /* wait for the reader count to reach zero */ do { @@ -143,7 +143,7 @@ index 64354dc42f..62b63a4aad 100644 } while (READER_COUNT(count) != 0); /* retire in order */ -@@ -565,6 +587,45 @@ int CRYPTO_THREAD_compare_id(CRYPTO_THREAD_ID a, CRYPTO_THREAD_ID b) +@@ -556,6 +578,45 @@ return (a == b); } diff --git a/deps-packaging/openssl/0010-Revert-Add-exemplar-use-case-for-rcu-locks.patch b/deps-packaging/openssl/0010-Revert-Add-exemplar-use-case-for-rcu-locks.patch index f199eff09..830d4b2ca 100644 --- a/deps-packaging/openssl/0010-Revert-Add-exemplar-use-case-for-rcu-locks.patch +++ b/deps-packaging/openssl/0010-Revert-Add-exemplar-use-case-for-rcu-locks.patch @@ -46,7 +46,7 @@ index a19575af37..4f339f4175 100644 DEFINE_RUN_ONCE_STATIC(do_init_module_list_lock) { -- module_list_lock = ossl_rcu_lock_new(1); +- module_list_lock = ossl_rcu_lock_new(1, NULL); + module_list_lock = CRYPTO_THREAD_lock_new(); if (module_list_lock == NULL) { ERR_raise(ERR_LIB_CONF, ERR_R_CRYPTO_LIB); @@ -199,7 +199,7 @@ index a19575af37..4f339f4175 100644 return ret; err: -@@ -507,46 +482,30 @@ void CONF_modules_unload(int all) +@@ -507,47 +482,31 @@ void CONF_modules_unload(int all) { int i; CONF_MODULE *md; @@ -214,7 +214,6 @@ index a19575af37..4f339f4175 100644 - - old_modules = ossl_rcu_deref(&supported_modules); - new_modules = sk_CONF_MODULE_dup(old_modules); -- to_delete = sk_CONF_MODULE_new_null(); - - if (new_modules == NULL) { - ossl_rcu_write_unlock(module_list_lock); @@ -222,6 +221,8 @@ index a19575af37..4f339f4175 100644 return; - } +- to_delete = sk_CONF_MODULE_new_null(); + /* unload modules in reverse order */ - for (i = sk_CONF_MODULE_num(new_modules) - 1; i >= 0; i--) { - md = sk_CONF_MODULE_value(new_modules, i); @@ -255,7 +256,7 @@ index a19575af37..4f339f4175 100644 } /* unload a single module */ -@@ -562,27 +521,23 @@ static void module_free(CONF_MODULE *md) +@@ -563,27 +522,23 @@ static void module_free(CONF_MODULE *md) static int conf_modules_finish_int(void) { CONF_IMODULE *imod; diff --git a/deps-packaging/openssl/cfbuild-openssl.spec b/deps-packaging/openssl/cfbuild-openssl.spec index 01b660c95..42e21411d 100644 --- a/deps-packaging/openssl/cfbuild-openssl.spec +++ b/deps-packaging/openssl/cfbuild-openssl.spec @@ -1,4 +1,4 @@ -%define openssl_version 3.3.1 +%define openssl_version 3.3.2 Summary: CFEngine Build Automation -- openssl Name: cfbuild-openssl diff --git a/deps-packaging/openssl/distfiles b/deps-packaging/openssl/distfiles index 1fdc84437..7b4d50570 100644 --- a/deps-packaging/openssl/distfiles +++ b/deps-packaging/openssl/distfiles @@ -1 +1 @@ -777cd596284c883375a2a7a11bf5d2786fc5413255efab20c50d6ffe6d020b7e openssl-3.3.1.tar.gz +2e8a40b01979afe8be0bbfb3de5dc1c6709fedb46d6c89c10da114ab5fc3d281 openssl-3.3.2.tar.gz diff --git a/deps-packaging/openssl/source b/deps-packaging/openssl/source index c68bf3030..13676b6f2 100644 --- a/deps-packaging/openssl/source +++ b/deps-packaging/openssl/source @@ -1 +1 @@ -https://www.openssl.org/source/ +https://github.com/openssl/openssl/releases/download/openssl-3.3.2/ From ebf8cf1db3e88b0bf1148571ff4c4bc82b317526 Mon Sep 17 00:00:00 2001 From: Craig Comstock Date: Wed, 2 Oct 2024 10:27:49 -0500 Subject: [PATCH 05/12] Sort postgresql binaries in cfengine-nova-hub package configs Preparation for changes needed in bumping postgresql from 16.3 to 17.0 Ticket: ENT-12140 --- .../cfengine-nova-hub.spec.in | 29 +++++++++--------- .../debian/cfengine-nova-hub.install | 30 +++++++++---------- 2 files changed, 29 insertions(+), 30 deletions(-) diff --git a/packaging/cfengine-nova-hub/cfengine-nova-hub.spec.in b/packaging/cfengine-nova-hub/cfengine-nova-hub.spec.in index d72ee91ee..29acde02d 100644 --- a/packaging/cfengine-nova-hub/cfengine-nova-hub.spec.in +++ b/packaging/cfengine-nova-hub/cfengine-nova-hub.spec.in @@ -256,35 +256,34 @@ exit 0 %{prefix}/bin/createuser %{prefix}/bin/dropdb %{prefix}/bin/dropuser +%{prefix}/bin/initdb +%{prefix}/bin/oid2name +%{prefix}/bin/pg_amcheck +%{prefix}/bin/pg_archivecleanup %{prefix}/bin/pg_basebackup +%{prefix}/bin/pgbench +%{prefix}/bin/pg_checksums %{prefix}/bin/pg_config +%{prefix}/bin/pg_controldata +%{prefix}/bin/pg_ctl %{prefix}/bin/pg_dump %{prefix}/bin/pg_dumpall %{prefix}/bin/pg_isready %{prefix}/bin/pg_receivewal %{prefix}/bin/pg_recvlogical +%{prefix}/bin/pg_resetwal %{prefix}/bin/pg_restore %{prefix}/bin/pg_rewind +%{prefix}/bin/pg_test_fsync +%{prefix}/bin/pg_test_timing +%{prefix}/bin/pg_upgrade %{prefix}/bin/pg_verifybackup +%{prefix}/bin/pg_waldump +%{prefix}/bin/postgres %{prefix}/bin/psql %{prefix}/bin/reindexdb %{prefix}/bin/vacuumdb -#postgresql server -%{prefix}/bin/initdb -%{prefix}/bin/pg_controldata -%{prefix}/bin/pg_ctl -%{prefix}/bin/pg_resetwal -%{prefix}/bin/postgres -%{prefix}/bin/pg_test_timing -%{prefix}/bin/pg_archivecleanup -%{prefix}/bin/pg_amcheck -%{prefix}/bin/oid2name -%{prefix}/bin/pg_upgrade -%{prefix}/bin/pg_checksums -%{prefix}/bin/pg_waldump -%{prefix}/bin/pgbench %{prefix}/bin/vacuumlo -%{prefix}/bin/pg_test_fsync # LMDB %prefix/bin/lmdump %prefix/bin/lmmgr diff --git a/packaging/cfengine-nova-hub/debian/cfengine-nova-hub.install b/packaging/cfengine-nova-hub/debian/cfengine-nova-hub.install index 99e204845..57e160f22 100644 --- a/packaging/cfengine-nova-hub/debian/cfengine-nova-hub.install +++ b/packaging/cfengine-nova-hub/debian/cfengine-nova-hub.install @@ -70,34 +70,34 @@ /var/cfengine/bin/createuser /var/cfengine/bin/dropdb /var/cfengine/bin/dropuser +/var/cfengine/bin/initdb +/var/cfengine/bin/oid2name +/var/cfengine/bin/pg_amcheck +/var/cfengine/bin/pg_archivecleanup /var/cfengine/bin/pg_basebackup +/var/cfengine/bin/pgbench +/var/cfengine/bin/pg_checksums /var/cfengine/bin/pg_config +/var/cfengine/bin/pg_controldata +/var/cfengine/bin/pg_ctl /var/cfengine/bin/pg_dump /var/cfengine/bin/pg_dumpall /var/cfengine/bin/pg_isready /var/cfengine/bin/pg_receivewal -/var/cfengine/bin/pg_restore -/var/cfengine/bin/pg_verifybackup -/var/cfengine/bin/psql -/var/cfengine/bin/reindexdb -/var/cfengine/bin/vacuumdb -/var/cfengine/bin/initdb -/var/cfengine/bin/pg_controldata -/var/cfengine/bin/pg_ctl /var/cfengine/bin/pg_recvlogical /var/cfengine/bin/pg_resetwal +/var/cfengine/bin/pg_restore /var/cfengine/bin/pg_rewind -/var/cfengine/bin/postgres +/var/cfengine/bin/pg_test_fsync /var/cfengine/bin/pg_test_timing -/var/cfengine/bin/pg_archivecleanup -/var/cfengine/bin/pg_amcheck -/var/cfengine/bin/oid2name /var/cfengine/bin/pg_upgrade -/var/cfengine/bin/pg_checksums +/var/cfengine/bin/pg_verifybackup /var/cfengine/bin/pg_waldump -/var/cfengine/bin/pgbench +/var/cfengine/bin/postgres +/var/cfengine/bin/psql +/var/cfengine/bin/reindexdb +/var/cfengine/bin/vacuumdb /var/cfengine/bin/vacuumlo -/var/cfengine/bin/pg_test_fsync /var/cfengine/lib/postgresql/* /var/cfengine/share/postgresql/* /var/cfengine/share/doc/postgresql/extension/* From 3b4b5ae2fcf35a88db5f4388d2dddd8590d7824c Mon Sep 17 00:00:00 2001 From: Craig Comstock Date: Thu, 12 Sep 2024 08:12:51 -0500 Subject: [PATCH 06/12] Upgrade Perl version to latest for platforms like centos-7 that have insufficient version available --- build-scripts/install-dependencies | 11 +++--- build-scripts/perl-488307ffa6.patch | 57 ----------------------------- 2 files changed, 6 insertions(+), 62 deletions(-) delete mode 100644 build-scripts/perl-488307ffa6.patch diff --git a/build-scripts/install-dependencies b/build-scripts/install-dependencies index 8f97d8970..9daa041d4 100755 --- a/build-scripts/install-dependencies +++ b/build-scripts/install-dependencies @@ -78,12 +78,13 @@ check_and_install_perl() PERL_EXTRA_FLAGS='-Ud_nexttoward' fi - wget http://www.cpan.org/src/5.0/perl-5.26.1.tar.gz - [ `func_md5 perl-5.26.1.tar.gz` != "a7e5c531ee1719c53ec086656582ea86" ] \ + PERL_VERSION=5.40.0 + PERL_MD5=8da78b1f54b99e97954066d0aaad88bc + wget http://www.cpan.org/src/5.0/perl-${PERL_VERSION}.tar.gz + [ `func_md5 perl-${PERL_VERSION}.tar.gz` != "${PERL_MD5}" ] \ && fatal "perl checksum error" - gzip -dc perl-5.26.1.tar.gz | tar xf - - cd perl-5.26.1 - $PATCH -p1 < $BASEDIR/buildscripts/build-scripts/perl-488307ffa6.patch + gzip -dc perl-${PERL_VERSION}.tar.gz | tar xf - + cd perl-${PERL_VERSION} ./Configure -des -Dprefix=$HOME/perl-my -Dcc=gcc -Dmake=$MAKE \ $PERL_EXTRA_FLAGS $PERL_CFLAGS $PERL_LDFLAGS $PERL_LDDLFLAGS $MAKE diff --git a/build-scripts/perl-488307ffa6.patch b/build-scripts/perl-488307ffa6.patch deleted file mode 100644 index bbb38ca07..000000000 --- a/build-scripts/perl-488307ffa6.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 488307ffa67ce70fc9755e560a74dac04bdcb0e4 Mon Sep 17 00:00:00 2001 -From: Sawyer X -Date: Thu, 28 Sep 2017 22:34:39 +0200 -Subject: [PATCH] Revert "Revert "Fallbacks for Perl_fp_class_denorm()."" - -This reverts commit 2749d0395cc1e21d69af38cde41490699fc6e3ab. - -The original commit: - - commit e77299d3416e7e737523afdc0642734205e46d59 - Author: Jarkko Hietaniemi - Date: Mon May 29 09:28:30 2017 +0300 - - Fallbacks for Perl_fp_class_denorm(). - - These may be needed if the compiler doesn't expose the C99 math - without some special switches. - -This provides a fix for CentOS 5. ---- - perl.h | 20 ++++++++++++++++++++ - 1 file changed, 20 insertions(+) - -diff --git a/perl.h b/perl.h -index 504caa911c..6ac9390384 100644 ---- a/perl.h -+++ b/perl.h -@@ -6892,6 +6892,26 @@ extern void moncontrol(int); - # endif - #endif - -+/* We have somehow managed not to define the denormal/subnormal -+ * detection. -+ * -+ * This may happen if the compiler doesn't expose the C99 math like -+ * the fpclassify() without some special switches. Perl tries to -+ * stay C89, so for example -std=c99 is not an option. -+ * -+ * The Perl_isinf() and Perl_isnan() should have been defined even if -+ * the C99 isinf() and isnan() are unavailable, and the NV_MIN becomes -+ * from the C89 DBL_MIN or moral equivalent. */ -+#if !defined(Perl_fp_class_denorm) && defined(Perl_isinf) && defined(Perl_isnan) && defined(NV_MIN) -+# define Perl_fp_class_denorm(x) ((x) != 0.0 && !Perl_isinf(x) && !Perl_isnan(x) && PERL_ABS(x) < NV_MIN) -+#endif -+ -+/* This is not a great fallback: subnormals tests will fail, -+ * but at least Perl will link and 99.999% of tests will work. */ -+#if !defined(Perl_fp_class_denorm) -+# define Perl_fp_class_denorm(x) FALSE -+#endif -+ - #ifdef DOUBLE_IS_IEEE_FORMAT - # define DOUBLE_HAS_INF - # define DOUBLE_HAS_NAN --- -2.15.0-rc1-301-g0bcaefb - From e1de675e7685d9b212e327e0736d2c58f20f08eb Mon Sep 17 00:00:00 2001 From: Craig Comstock Date: Fri, 6 Sep 2024 13:40:20 -0500 Subject: [PATCH 07/12] Updated postgresql from 16.3 to 17.0 Adjusted postgresql release-monitoring ID to reflect current supported version 16.x 301832 was 15.x and we already upgraded to 16.3 recently on master. https://release-monitoring.org/project/5601/ (PostgreSQL~current) was returning an RC version: 17 currently. We didn't want that. But now 17.0 is release so we will take it. 369409 pointed to 17 when it was an RC so also not helpful. Adjusted postgresql.conf.cfengine.patch to work with changed postgresql.conf.sample. Added new applications: - The new application pg_combinebackup allows manipulation of base and incremental file system backups. - Add application pg_walsummary to dump WAL summary files (Robert Haas) - pg_createsubscriber, a utility that creates logical replicas from physical standbys --- deps-packaging/postgresql/cfbuild-postgresql.spec | 11 +++++++---- .../postgresql/debian/cfbuild-postgresql.install | 7 +++++-- deps-packaging/postgresql/distfiles | 2 +- .../postgresql/postgresql.conf.cfengine.patch | 6 +++--- deps-packaging/postgresql/source | 2 +- deps-packaging/release-monitoring.json | 2 +- packaging/cfengine-nova-hub/cfengine-nova-hub.spec.in | 3 +++ .../debian/cfengine-nova-hub.install | 3 +++ 8 files changed, 24 insertions(+), 12 deletions(-) diff --git a/deps-packaging/postgresql/cfbuild-postgresql.spec b/deps-packaging/postgresql/cfbuild-postgresql.spec index f7dce4ae2..2d3b5155d 100644 --- a/deps-packaging/postgresql/cfbuild-postgresql.spec +++ b/deps-packaging/postgresql/cfbuild-postgresql.spec @@ -1,4 +1,4 @@ -%define postgresql_version 16.3 +%define postgresql_version 17.0 Summary: CFEngine Build Automation -- postgresql Name: cfbuild-postgresql @@ -69,12 +69,14 @@ CFEngine Build Automation -- postgresql -- dev files %{prefix}/bin/dropuser %{prefix}/bin/initdb %{prefix}/bin/oid2name -%{prefix}/bin/pg_archivecleanup %{prefix}/bin/pg_amcheck +%{prefix}/bin/pg_archivecleanup %{prefix}/bin/pg_basebackup -%{prefix}/bin/pg_verifybackup +%{prefix}/bin/pg_checksums +%{prefix}/bin/pg_combinebackup %{prefix}/bin/pg_config %{prefix}/bin/pg_controldata +%{prefix}/bin/pg_createsubscriber %{prefix}/bin/pg_ctl %{prefix}/bin/pg_dump %{prefix}/bin/pg_dumpall @@ -87,8 +89,9 @@ CFEngine Build Automation -- postgresql -- dev files %{prefix}/bin/pg_test_fsync %{prefix}/bin/pg_test_timing %{prefix}/bin/pg_upgrade -%{prefix}/bin/pg_checksums +%{prefix}/bin/pg_verifybackup %{prefix}/bin/pg_waldump +%{prefix}/bin/pg_walsummary %{prefix}/bin/pgbench %{prefix}/bin/postgres %{prefix}/bin/psql diff --git a/deps-packaging/postgresql/debian/cfbuild-postgresql.install b/deps-packaging/postgresql/debian/cfbuild-postgresql.install index 9689825ed..e31ee698c 100644 --- a/deps-packaging/postgresql/debian/cfbuild-postgresql.install +++ b/deps-packaging/postgresql/debian/cfbuild-postgresql.install @@ -8,9 +8,11 @@ /var/cfengine/bin/pg_archivecleanup /var/cfengine/bin/pg_amcheck /var/cfengine/bin/pg_basebackup -/var/cfengine/bin/pg_verifybackup +/var/cfengine/bin/pg_checksums +/var/cfengine/bin/pg_combinebackup /var/cfengine/bin/pg_config /var/cfengine/bin/pg_controldata +/var/cfengine/bin/pg_createsubscriber /var/cfengine/bin/pg_ctl /var/cfengine/bin/pg_dump /var/cfengine/bin/pg_dumpall @@ -23,8 +25,9 @@ /var/cfengine/bin/pg_test_fsync /var/cfengine/bin/pg_test_timing /var/cfengine/bin/pg_upgrade -/var/cfengine/bin/pg_checksums +/var/cfengine/bin/pg_verifybackup /var/cfengine/bin/pg_waldump +/var/cfengine/bin/pg_walsummary /var/cfengine/bin/pgbench /var/cfengine/bin/postgres /var/cfengine/bin/psql diff --git a/deps-packaging/postgresql/distfiles b/deps-packaging/postgresql/distfiles index d0b5e1762..6bf2b3b8b 100644 --- a/deps-packaging/postgresql/distfiles +++ b/deps-packaging/postgresql/distfiles @@ -1 +1 @@ -331963d5d3dc4caf4216a049fa40b66d6bcb8c730615859411b9518764e60585 postgresql-16.3.tar.bz2 +7e276131c0fdd6b62588dbad9b3bb24b8c3498d5009328dba59af16e819109de postgresql-17.0.tar.bz2 diff --git a/deps-packaging/postgresql/postgresql.conf.cfengine.patch b/deps-packaging/postgresql/postgresql.conf.cfengine.patch index 967d67244..391b2d98a 100644 --- a/deps-packaging/postgresql/postgresql.conf.cfengine.patch +++ b/deps-packaging/postgresql/postgresql.conf.cfengine.patch @@ -50,9 +50,9 @@ +# actively intend to use prepared transactions. +work_mem = 48MB # min 64kB #hash_mem_multiplier = 2.0 # 1-1000.0 multiplier on hash table work_mem --#maintenance_work_mem = 64MB # min 1MB -+maintenance_work_mem = 512MB # min 1MB - #autovacuum_work_mem = -1 # min 1MB, or -1 to use maintenance_work_mem +-#maintenance_work_mem = 64MB # min 64kB ++maintenance_work_mem = 512MB # min 64kB + #autovacuum_work_mem = -1 # min 64kB, or -1 to use maintenance_work_mem -#logical_decoding_work_mem = 64MB # min 64kB -#max_stack_depth = 2MB # min 100kB +#logical_decoding_work_mem = 128MB # min 64kB diff --git a/deps-packaging/postgresql/source b/deps-packaging/postgresql/source index 5b1c60e6f..eeae2b3aa 100644 --- a/deps-packaging/postgresql/source +++ b/deps-packaging/postgresql/source @@ -1 +1 @@ -https://ftp.postgresql.org/pub/source/v16.3/ +https://ftp.postgresql.org/pub/source/v17.0/ diff --git a/deps-packaging/release-monitoring.json b/deps-packaging/release-monitoring.json index e9749b68e..29a79f3a7 100644 --- a/deps-packaging/release-monitoring.json +++ b/deps-packaging/release-monitoring.json @@ -18,7 +18,7 @@ "openssl":"2566", "pcre2":"5832", "php":"3627", - "postgresql":"301832", + "postgresql":"5601", "pthreads-w32":"17517", "rsync":"4217", "sasl2":"13280", diff --git a/packaging/cfengine-nova-hub/cfengine-nova-hub.spec.in b/packaging/cfengine-nova-hub/cfengine-nova-hub.spec.in index 29acde02d..137cbae82 100644 --- a/packaging/cfengine-nova-hub/cfengine-nova-hub.spec.in +++ b/packaging/cfengine-nova-hub/cfengine-nova-hub.spec.in @@ -263,8 +263,10 @@ exit 0 %{prefix}/bin/pg_basebackup %{prefix}/bin/pgbench %{prefix}/bin/pg_checksums +%{prefix}/bin/pg_combinebackup %{prefix}/bin/pg_config %{prefix}/bin/pg_controldata +%{prefix}/bin/pg_createsubscriber %{prefix}/bin/pg_ctl %{prefix}/bin/pg_dump %{prefix}/bin/pg_dumpall @@ -279,6 +281,7 @@ exit 0 %{prefix}/bin/pg_upgrade %{prefix}/bin/pg_verifybackup %{prefix}/bin/pg_waldump +%{prefix}/bin/pg_walsummary %{prefix}/bin/postgres %{prefix}/bin/psql %{prefix}/bin/reindexdb diff --git a/packaging/cfengine-nova-hub/debian/cfengine-nova-hub.install b/packaging/cfengine-nova-hub/debian/cfengine-nova-hub.install index 57e160f22..88944de45 100644 --- a/packaging/cfengine-nova-hub/debian/cfengine-nova-hub.install +++ b/packaging/cfengine-nova-hub/debian/cfengine-nova-hub.install @@ -77,8 +77,10 @@ /var/cfengine/bin/pg_basebackup /var/cfengine/bin/pgbench /var/cfengine/bin/pg_checksums +/var/cfengine/bin/pg_combinebackup /var/cfengine/bin/pg_config /var/cfengine/bin/pg_controldata +/var/cfengine/bin/pg_createsubscriber /var/cfengine/bin/pg_ctl /var/cfengine/bin/pg_dump /var/cfengine/bin/pg_dumpall @@ -93,6 +95,7 @@ /var/cfengine/bin/pg_upgrade /var/cfengine/bin/pg_verifybackup /var/cfengine/bin/pg_waldump +/var/cfengine/bin/pg_walsummary /var/cfengine/bin/postgres /var/cfengine/bin/psql /var/cfengine/bin/reindexdb From a3fdd1edde732af21e39aa275ca7706f4b68ad6f Mon Sep 17 00:00:00 2001 From: Craig Comstock Date: Fri, 6 Sep 2024 13:39:41 -0500 Subject: [PATCH 08/12] Updated libcurl from 8.8.0 to 8.10.1 added --without-psl per information at: Adjusted for libcurl 8.10.0 change: configure: fail if PSL is not disabled but not found. https://github.com/curl/curl/issues/14373 https://github.com/curl/curl/pull/14379 --- deps-packaging/libcurl/cfbuild-libcurl.spec | 3 ++- deps-packaging/libcurl/debian/rules | 1 + deps-packaging/libcurl/distfiles | 2 +- deps-packaging/libcurl/hpux/build | 1 + deps-packaging/libcurl/solaris/build | 1 + 5 files changed, 6 insertions(+), 2 deletions(-) diff --git a/deps-packaging/libcurl/cfbuild-libcurl.spec b/deps-packaging/libcurl/cfbuild-libcurl.spec index 4053d4442..e378e8b2f 100644 --- a/deps-packaging/libcurl/cfbuild-libcurl.spec +++ b/deps-packaging/libcurl/cfbuild-libcurl.spec @@ -1,4 +1,4 @@ -%define curl_version 8.8.0 +%define curl_version 8.10.1 Summary: CFEngine Build Automation -- libcurl Name: cfbuild-libcurl @@ -38,6 +38,7 @@ mkdir -p %{_builddir} --without-gnutls \ --without-gssapi \ --without-libidn \ + --without-libpsl \ --without-librtmp \ --without-libssh2 \ --without-nghttp2 \ diff --git a/deps-packaging/libcurl/debian/rules b/deps-packaging/libcurl/debian/rules index 19fea40c6..2edf98d80 100755 --- a/deps-packaging/libcurl/debian/rules +++ b/deps-packaging/libcurl/debian/rules @@ -41,6 +41,7 @@ build-stamp: --without-gnutls \ --without-gssapi \ --without-libidn \ + --without-libpsl \ --without-librtmp \ --without-libssh2 \ --without-nghttp2 \ diff --git a/deps-packaging/libcurl/distfiles b/deps-packaging/libcurl/distfiles index fe0ec3d15..804afe139 100644 --- a/deps-packaging/libcurl/distfiles +++ b/deps-packaging/libcurl/distfiles @@ -1 +1 @@ -77c0e1cd35ab5b45b659645a93b46d660224d0024f1185e8a95cdb27ae3d787d curl-8.8.0.tar.gz +d15ebab765d793e2e96db090f0e172d127859d78ca6f6391d7eafecfd894bbc0 curl-8.10.1.tar.gz diff --git a/deps-packaging/libcurl/hpux/build b/deps-packaging/libcurl/hpux/build index d5e21d401..6ddcfcc7c 100755 --- a/deps-packaging/libcurl/hpux/build +++ b/deps-packaging/libcurl/hpux/build @@ -24,6 +24,7 @@ TTD=${BUILD_ROOT}/cfbuild-libcurl-devel${PREFIX} --without-gnutls \ --without-gssapi \ --without-libidn \ + --without-libpsl \ --without-librtmp \ --without-libssh2 \ --without-nghttp2 \ diff --git a/deps-packaging/libcurl/solaris/build b/deps-packaging/libcurl/solaris/build index 834ddce6b..bcf5cb2e8 100755 --- a/deps-packaging/libcurl/solaris/build +++ b/deps-packaging/libcurl/solaris/build @@ -21,6 +21,7 @@ TTD=${BUILD_ROOT}/cfbuild-libcurl-devel${PREFIX} --without-gnutls \ --without-gssapi \ --without-libidn \ + --without-libpsl \ --without-librtmp \ --without-libssh2 \ --without-nghttp2 \ From f88ea7708fd1eae80e4d58fcf5e0ae83e44ebf1a Mon Sep 17 00:00:00 2001 From: Craig Comstock Date: Fri, 6 Sep 2024 13:39:25 -0500 Subject: [PATCH 09/12] Updated libcurl-hub from 8.8.0 to 8.10.1 Adjusted for libcurl 8.10.0 change: configure: fail if PSL is not disabled but not found. added --without-psl per information at: https://github.com/curl/curl/issues/14373 https://github.com/curl/curl/pull/14379 --- deps-packaging/libcurl-hub/cfbuild-libcurl-hub.spec | 3 ++- deps-packaging/libcurl-hub/debian/rules | 1 + deps-packaging/libcurl-hub/distfiles | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/deps-packaging/libcurl-hub/cfbuild-libcurl-hub.spec b/deps-packaging/libcurl-hub/cfbuild-libcurl-hub.spec index 18ba32de7..1cf808649 100644 --- a/deps-packaging/libcurl-hub/cfbuild-libcurl-hub.spec +++ b/deps-packaging/libcurl-hub/cfbuild-libcurl-hub.spec @@ -1,4 +1,4 @@ -%define curl_version 8.8.0 +%define curl_version 8.10.1 Summary: CFEngine Build Automation -- libcurl Name: cfbuild-libcurl-hub @@ -38,6 +38,7 @@ mkdir -p %{_builddir} --without-gnutls \ --without-gssapi \ --without-libidn \ + --without-libpsl \ --without-librtmp \ --without-libssh2 \ --without-nghttp2 \ diff --git a/deps-packaging/libcurl-hub/debian/rules b/deps-packaging/libcurl-hub/debian/rules index 946666807..770855841 100755 --- a/deps-packaging/libcurl-hub/debian/rules +++ b/deps-packaging/libcurl-hub/debian/rules @@ -33,6 +33,7 @@ build-stamp: --without-gnutls \ --without-gssapi \ --without-libidn \ + --without-libpsl \ --without-librtmp \ --without-libssh2 \ --without-nghttp2 \ diff --git a/deps-packaging/libcurl-hub/distfiles b/deps-packaging/libcurl-hub/distfiles index fe0ec3d15..804afe139 100644 --- a/deps-packaging/libcurl-hub/distfiles +++ b/deps-packaging/libcurl-hub/distfiles @@ -1 +1 @@ -77c0e1cd35ab5b45b659645a93b46d660224d0024f1185e8a95cdb27ae3d787d curl-8.8.0.tar.gz +d15ebab765d793e2e96db090f0e172d127859d78ca6f6391d7eafecfd894bbc0 curl-8.10.1.tar.gz From 0df0cb3ad2213305550de814fc284b7df820d4e3 Mon Sep 17 00:00:00 2001 From: Craig Comstock Date: Fri, 6 Sep 2024 13:39:20 -0500 Subject: [PATCH 10/12] Updated libxml2 from 2.13.1 to 2.13.4 --- deps-packaging/libxml2/cfbuild-libxml2.spec | 2 +- deps-packaging/libxml2/distfiles | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/deps-packaging/libxml2/cfbuild-libxml2.spec b/deps-packaging/libxml2/cfbuild-libxml2.spec index 63d07b40e..c2af0262b 100644 --- a/deps-packaging/libxml2/cfbuild-libxml2.spec +++ b/deps-packaging/libxml2/cfbuild-libxml2.spec @@ -1,4 +1,4 @@ -%define libxml_version 2.13.1 +%define libxml_version 2.13.4 Summary: CFEngine Build Automation -- libxml2 Name: cfbuild-libxml2 diff --git a/deps-packaging/libxml2/distfiles b/deps-packaging/libxml2/distfiles index 6ab163e02..3652aa490 100644 --- a/deps-packaging/libxml2/distfiles +++ b/deps-packaging/libxml2/distfiles @@ -1 +1 @@ -25239263dc37f5f55a5393eff27b35f0b7d9ea4b2a7653310598ea8299e3b741 libxml2-2.13.1.tar.xz +65d042e1c8010243e617efb02afda20b85c2160acdbfbcb5b26b80cec6515650 libxml2-2.13.4.tar.xz From 3f9d4d4251b8d23b128fdaafb0c3d573e7c6a2c9 Mon Sep 17 00:00:00 2001 From: Craig Comstock Date: Mon, 7 Oct 2024 09:43:36 -0500 Subject: [PATCH 11/12] Updated php from 8.3.8 to 8.3.12 --- deps-packaging/php/cfbuild-php.spec | 2 +- deps-packaging/php/distfiles | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/deps-packaging/php/cfbuild-php.spec b/deps-packaging/php/cfbuild-php.spec index 25d0bcedd..4761e0fe6 100644 --- a/deps-packaging/php/cfbuild-php.spec +++ b/deps-packaging/php/cfbuild-php.spec @@ -1,4 +1,4 @@ -%define php_version 8.3.8 +%define php_version 8.3.12 Summary: CFEngine Build Automation -- php Name: cfbuild-php diff --git a/deps-packaging/php/distfiles b/deps-packaging/php/distfiles index ac31da4cc..b3a5a9626 100644 --- a/deps-packaging/php/distfiles +++ b/deps-packaging/php/distfiles @@ -1 +1 @@ -0ebed9f1471871cf131e504629f3947f2acd38a655cc31b036f99efd0e3dbdeb php-8.3.8.tar.gz +7090e551e05b26384546345d6a162c71b74550febf75bdfd16dfd1f0cfa8647c php-8.3.12.tar.gz From de704e5748e6f92972420cba8ad492eacb26eb7d Mon Sep 17 00:00:00 2001 From: Craig Comstock Date: Tue, 8 Oct 2024 09:24:23 -0500 Subject: [PATCH 12/12] Updated git from 2.46.2 to 2.47.0 --- deps-packaging/git/cfbuild-git.spec | 5 +++- ...top-passing-timezone-to-gettimeofday.patch | 28 +++++++++++++++++++ deps-packaging/git/debian/rules | 2 ++ deps-packaging/git/distfiles | 2 +- 4 files changed, 35 insertions(+), 2 deletions(-) create mode 100644 deps-packaging/git/clar-stop-passing-timezone-to-gettimeofday.patch diff --git a/deps-packaging/git/cfbuild-git.spec b/deps-packaging/git/cfbuild-git.spec index 745f6c430..30ee850c0 100644 --- a/deps-packaging/git/cfbuild-git.spec +++ b/deps-packaging/git/cfbuild-git.spec @@ -1,10 +1,11 @@ -%define git_version 2.45.2 +%define git_version 2.47.0 Summary: CFEngine Build Automation -- git Name: cfbuild-git Version: %{version} Release: 1 Source0: git-%{git_version}.tar.gz +Patch0: clar-stop-passing-timezone-to-gettimeofday.patch License: MIT Group: Other Url: http://example.com/ @@ -18,6 +19,8 @@ AutoReqProv: no mkdir -p %{_builddir} %setup -q -n git-%{git_version} +%patch0 -p0 + ./configure --prefix=%{prefix} --with-openssl=%{prefix} --without-iconv --with-gitconfig=%{prefix}/config/gitconfig --with-gitattributes=%{prefix}/config/gitattributes --with-zlib=%{prefix} --with-curl=%{prefix} --libexecdir=%{prefix}/lib --with-python=%{prefix}/bin/python %build diff --git a/deps-packaging/git/clar-stop-passing-timezone-to-gettimeofday.patch b/deps-packaging/git/clar-stop-passing-timezone-to-gettimeofday.patch new file mode 100644 index 000000000..0c5da058a --- /dev/null +++ b/deps-packaging/git/clar-stop-passing-timezone-to-gettimeofday.patch @@ -0,0 +1,28 @@ +commit ca41a29b8bb19f0240eac0f872a7b958fb1f5f19 +Author: Patrick Steinhardt +Date: Thu Sep 5 08:04:37 2024 +0200 + + clar: stop passing a timezone to gettimeofday(3P) + + According to gettimeofday(3P), passing a non-NULL timezone pointer to + the function is unspecified behaviour. This is also being warned about + by compilers when compiling with strict C90 standard and without most of + the extensions. + + Adapt the code accordingly. + +diff --git t/unit-tests/clar.c t/unit-tests/clar.c +index cef0f02..e593bb1 100644 +--- t/unit-tests/clar/clar.c ++++ t/unit-tests/clar/clar.c +@@ -271,9 +271,7 @@ static double clar_time_diff(clar_time *start, clar_time *end) + + static void clar_time_now(clar_time *out) + { +- struct timezone tz; +- +- gettimeofday(out, &tz); ++ gettimeofday(out, NULL); + } + + static double clar_time_diff(clar_time *start, clar_time *end) diff --git a/deps-packaging/git/debian/rules b/deps-packaging/git/debian/rules index a69615d76..cf03d7206 100755 --- a/deps-packaging/git/debian/rules +++ b/deps-packaging/git/debian/rules @@ -12,6 +12,8 @@ build: build-stamp build-stamp: dh_testdir + patch -p0 -i clar-stop-passing-timezone-to-gettimeofday.patch + ./configure --prefix=$(PREFIX) --with-openssl=$(PREFIX) --without-iconv --with-gitconfig=$(PREFIX)/config/gitconfig --with-gitattributes=$(PREFIX)/config/gitattributes --with-zlib=$(PREFIX) --with-curl=$(PREFIX) --libexecdir=$(PREFIX)/lib make CURL_LDFLAGS="-lcurl" diff --git a/deps-packaging/git/distfiles b/deps-packaging/git/distfiles index ea9513f0e..843306091 100644 --- a/deps-packaging/git/distfiles +++ b/deps-packaging/git/distfiles @@ -1 +1 @@ -98b26090ed667099a3691b93698d1e213e1ded73d36a2fde7e9125fce28ba234 git-2.45.2.tar.gz +a84a7917e0ab608312834413f01fc01edc7844f9f9002ba69f3b4f4bcb8d937a git-2.47.0.tar.gz