diff --git a/.fmf/version b/.fmf/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/ci.fmf b/ci.fmf new file mode 100644 index 0000000..95aa67d --- /dev/null +++ b/ci.fmf @@ -0,0 +1,8 @@ +summary: Tier tests +discover: + how: fmf + repository: https://src.fedoraproject.org/tests/postgresql.git + ref: main + filter: 'tag:libecpg' +execute: + how: tmt diff --git a/libecpg-10.5-external-libpq.patch b/libecpg-10.5-external-libpq.patch deleted file mode 100644 index 71dc609..0000000 --- a/libecpg-10.5-external-libpq.patch +++ /dev/null @@ -1,40 +0,0 @@ -We don't build/install interfaces by upstream's implicit rules. - -This patch is used on two places; postgresql.spec and libecpg.spec -- keep those -in sync! - -Related: rhbz#1618698 - -diff --git a/src/Makefile b/src/Makefile -index bcdbd95..4bea236 100644 ---- a/src/Makefile -+++ b/src/Makefile -@@ -20,7 +20,6 @@ SUBDIRS = \ - backend/utils/mb/conversion_procs \ - backend/snowball \ - include \ -- interfaces \ - backend/replication/libpqwalreceiver \ - backend/replication/pgoutput \ - fe_utils \ -diff --git a/src/Makefile.global.in b/src/Makefile.global.in -index 9a4a8a3..2bdfb77 100644 ---- a/src/Makefile.global.in -+++ b/src/Makefile.global.in -@@ -513,7 +513,7 @@ endif - - # This macro is for use by libraries linking to libpq. (Because libpgport - # isn't created with the same link flags as libpq, it can't be used.) --libpq = -L$(libpq_builddir) -lpq -+libpq = -lpq - - # This macro is for use by client executables (not libraries) that use libpq. - # We force clients to pull symbols from the non-shared libraries libpgport -@@ -539,7 +539,6 @@ endif - # Commonly used submake targets - - submake-libpq: | submake-generated-headers -- $(MAKE) -C $(libpq_builddir) all - - submake-libpgport: | submake-generated-headers - $(MAKE) -C $(top_builddir)/src/port all diff --git a/libecpg-10.5-no-compat-lib.patch b/libecpg-10.5-no-compat-lib.patch index d1d64e0..8976a99 100644 --- a/libecpg-10.5-no-compat-lib.patch +++ b/libecpg-10.5-no-compat-lib.patch @@ -1,11 +1,10 @@ Nothing ever depended on libecpg_compat.so.3 in Fedora, so don't build it now, at least till somebody explicitly requests that. -diff --git a/src/interfaces/ecpg/Makefile b/src/interfaces/ecpg/Makefile -index 41460a1..cc3dd37 100644 ---- a/src/interfaces/ecpg/Makefile -+++ b/src/interfaces/ecpg/Makefile -@@ -2,7 +2,7 @@ subdir = src/interfaces/ecpg +diff -ur postgresql-14.2_original/src/interfaces/ecpg/Makefile postgresql-14.2/src/interfaces/ecpg/Makefile +--- postgresql-14.2_original/src/interfaces/ecpg/Makefile 2022-02-23 09:31:24.000000000 +0100 ++++ postgresql-14.2/src/interfaces/ecpg/Makefile 2022-02-23 10:30:19.000000000 +0100 +@@ -2,7 +2,7 @@ top_builddir = ../../.. include $(top_builddir)/src/Makefile.global @@ -13,4 +12,4 @@ index 41460a1..cc3dd37 100644 +SUBDIRS = include pgtypeslib ecpglib preproc # Suppress parallel build of subdirectories to avoid a bug in GNU make 3.82, cf - # http://savannah.gnu.org/bugs/?30653 + # https://savannah.gnu.org/bugs/?30653 diff --git a/libecpg-10.5-var-run-socket.patch b/libecpg-10.5-var-run-socket.patch index 8e3b193..f3e3dff 100644 --- a/libecpg-10.5-var-run-socket.patch +++ b/libecpg-10.5-var-run-socket.patch @@ -12,42 +12,15 @@ server package update, without requiring any existing postgresql.conf to be updated. (Of course, a user who dislikes this behavior can still override it via postgresql.conf.) -diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c -index 9481f2d..75532c7 100644 ---- a/src/backend/utils/misc/guc.c -+++ b/src/backend/utils/misc/guc.c -@@ -3196,7 +3196,7 @@ static struct config_string ConfigureNamesString[] = - }, - &Unix_socket_directories, - #ifdef HAVE_UNIX_SOCKETS -- DEFAULT_PGSOCKET_DIR, -+ DEFAULT_PGSOCKET_DIR ", /tmp", - #else - "", - #endif -diff --git a/src/bin/initdb/initdb.c b/src/bin/initdb/initdb.c -index feeff9e..3e3d784 100644 ---- a/src/bin/initdb/initdb.c -+++ b/src/bin/initdb/initdb.c -@@ -1234,7 +1234,7 @@ setup_config(void) - - #ifdef HAVE_UNIX_SOCKETS - snprintf(repltok, sizeof(repltok), "#unix_socket_directories = '%s'", -- DEFAULT_PGSOCKET_DIR); -+ DEFAULT_PGSOCKET_DIR ", /tmp"); - #else - snprintf(repltok, sizeof(repltok), "#unix_socket_directories = ''"); - #endif -diff --git a/src/include/pg_config_manual.h b/src/include/pg_config_manual.h -index e278fa0..9ee15d4 100644 ---- a/src/include/pg_config_manual.h -+++ b/src/include/pg_config_manual.h -@@ -169,7 +169,7 @@ - * here's where to twiddle it. You can also override this at runtime - * with the postmaster's -k switch. +diff -up postgresql-13.0/src/include/pg_config_manual.h.patch1 postgresql-13.0/src/include/pg_config_manual.h +--- postgresql-13.0/src/include/pg_config_manual.h.patch1 2020-10-23 10:18:12.204959024 +0200 ++++ postgresql-13.0/src/include/pg_config_manual.h 2020-10-23 10:18:39.391208931 +0200 +@@ -201,7 +201,7 @@ + * support them yet. */ + #ifndef WIN32 -#define DEFAULT_PGSOCKET_DIR "/tmp" +#define DEFAULT_PGSOCKET_DIR "/var/run/postgresql" - - /* - * This is the default event source for Windows event log. + #else + #define DEFAULT_PGSOCKET_DIR "" + #endif diff --git a/libecpg-12.2-dependency-build.patch b/libecpg-12.2-dependency-build.patch new file mode 100644 index 0000000..ff2b36c --- /dev/null +++ b/libecpg-12.2-dependency-build.patch @@ -0,0 +1,12 @@ +diff -ur postgresql-14.4_original/src/interfaces/libpq/Makefile postgresql-14.4/src/interfaces/libpq/Makefile +--- postgresql-14.4_original/src/interfaces/libpq/Makefile 2022-06-22 12:24:56.506658251 +0200 ++++ postgresql-14.4/src/interfaces/libpq/Makefile 2022-06-22 12:25:46.222779323 +0200 +@@ -98,8 +98,6 @@ + PKG_CONFIG_REQUIRES_PRIVATE = libssl, libcrypto + endif + +-all: all-lib libpq-refs-stamp +- + # Shared library stuff + include $(top_srcdir)/src/Makefile.shlib + backend_src = $(top_srcdir)/src/backend diff --git a/libecpg-12.2-external-libpq.patch b/libecpg-12.2-external-libpq.patch new file mode 100644 index 0000000..04ffb2a --- /dev/null +++ b/libecpg-12.2-external-libpq.patch @@ -0,0 +1,35 @@ +We don't build/install interfaces by upstream's implicit rules. +This patch is used on two places; postgresql.spec and libecpg.spec -- keep those +in sync! +Related: rhbz#1618698 +diff -ur postgresql-12.2/src/Makefile postgresql-12.2_patch/src/Makefile +--- postgresql-12.2/src/Makefile 2020-02-10 23:14:51.000000000 +0100 ++++ postgresql-12.2_patch/src/Makefile 2020-03-02 12:49:45.530666894 +0100 +@@ -20,7 +20,6 @@ + backend/utils/mb/conversion_procs \ + backend/snowball \ + include \ +- interfaces \ + backend/replication/libpqwalreceiver \ + backend/replication/pgoutput \ + fe_utils \ +diff -ur postgresql-12.2/src/Makefile.global.in postgresql-12.2_patch/src/Makefile.global.in +--- postgresql-12.2/src/Makefile.global.in 2020-02-10 23:14:51.000000000 +0100 ++++ postgresql-12.2_patch/src/Makefile.global.in 2020-03-02 12:47:40.970583609 +0100 +@@ -550,7 +550,7 @@ + # How to link to libpq. (This macro may be used as-is by backend extensions. + # Client-side code should go through libpq_pgport or libpq_pgport_shlib, + # instead.) +-libpq = -L$(libpq_builddir) -lpq ++libpq = -lpq + + # libpq_pgport is for use by client executables (not libraries) that use libpq. + # We want clients to pull symbols from the non-shared libraries libpgport +@@ -580,7 +580,6 @@ + # Commonly used submake targets + + submake-libpq: | submake-generated-headers +- $(MAKE) -C $(libpq_builddir) all + + submake-libpgport: | submake-generated-headers + $(MAKE) -C $(top_builddir)/src/port all diff --git a/libecpg.spec b/libecpg.spec index 8311ba2..21f6b1d 100644 --- a/libecpg.spec +++ b/libecpg.spec @@ -1,9 +1,9 @@ -%global majorversion 11 +%global majorversion 16 Summary: ECPG - Embedded SQL in C Name: libecpg -Version: %majorversion.2 -Release: 1%{?dist} +Version: %majorversion.4 +Release: 3%{?dist} License: PostgreSQL Url: http://www.postgresql.org/ @@ -15,8 +15,9 @@ Source1: https://ftp.postgresql.org/pub/source/v%version/postgresql-%version.tar # Comments for these patches are in the patch files. Patch1: libecpg-10.5-rpm-pgsql.patch Patch2: libecpg-10.5-var-run-socket.patch -Patch3: libecpg-10.5-external-libpq.patch +Patch3: libecpg-12.2-external-libpq.patch Patch4: libecpg-10.5-no-compat-lib.patch +Patch5: libecpg-12.2-dependency-build.patch BuildRequires: gcc BuildRequires: glibc-devel bison flex gawk @@ -27,6 +28,10 @@ BuildRequires: openldap-devel BuildRequires: libpq-devel BuildRequires: gettext BuildRequires: multilib-rpm-config +BuildRequires: make +BuildRequires: libicu-devel + +Requires: libpgtypes = %{version}-%{release} %description An embedded SQL program consists of code written in an ordinary programming @@ -49,6 +54,7 @@ package or any clients that use the ECPG to connect to a PostgreSQL server. %package -n libpgtypes Summary: Map PostgreSQL database types to C equivalents + %description -n libpgtypes The pgtypes library maps PostgreSQL database types to C equivalents that can be used in C programs. It also offers functions to do basic calculations with those @@ -64,6 +70,7 @@ find . -type f -name .gitignore | xargs rm %build +export CFLAGS="$CFLAGS -std=c17" # We don't build server nor client (e.g. /bin/psql) binaries in this package, so # we can disable some configure options. %configure \ @@ -75,7 +82,7 @@ find . -type f -name .gitignore | xargs rm --without-readline \ --datadir=%_datadir/pgsql -%make_build -C "src/interfaces/ecpg" +%make_build -C "src/interfaces/ecpg" -j1 %install @@ -126,6 +133,101 @@ find_lang_bins %name-devel.lst ecpg %changelog +* Thu Jul 24 2025 Fedora Release Engineering - 16.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Fri Jan 17 2025 Fedora Release Engineering - 16.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Thu Aug 29 2024 Ales Nezbeda - 16.4-1 +- Update to 16.4 +- Fix compilation sometimes failing due to race condition in makefile +- Resolves: BZ:2290330 + +* Thu Jul 18 2024 Fedora Release Engineering - 16.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Mon May 27 2024 Ales Nezbeda - 16.3-1 +- Update to 16.3 + +* Thu Jan 25 2024 Fedora Release Engineering - 16.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Yaakov Selkowitz - 16.1-1 +- Update to 16.1 + +* Sun Jan 21 2024 Fedora Release Engineering - 15.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Tue Aug 22 2023 Ondrej Sloup - 15.4-1 +- Rebase to the latest upstream version +- Update dependency patch file to match the rebase + +* Thu Jul 20 2023 Fedora Release Engineering - 14.4-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Thu Jan 19 2023 Fedora Release Engineering - 14.4-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Thu Sep 1 2022 Ondřej Sloup - 14.4-3 +- Raise the release number as dependencies change enabled a new build + +* Thu Jul 21 2022 Fedora Release Engineering - 14.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Wed Jun 22 2022 Ondřej Sloup - 14.4-1 +- Update to 14.4 +- Update libecpg-12.2-dependency-build.patch file + +* Tue Feb 22 2022 Filip Januš - 14.2-1 +- Update to 14.2 + +* Thu Jan 20 2022 Fedora Release Engineering - 13.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Tue Jul 27 2021 Filip Januš - 13.3-1 +- Update to 13.3 + +* Thu Jul 22 2021 Fedora Release Engineering - 13.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Mon Feb 08 2021 Pavel Raiskup - 13.1-5 +- rebuild for libpq ABI fix rhbz#1908268 + +* Tue Jan 26 2021 Fedora Release Engineering - 13.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Thu Dec 03 2020 Honza Horak - 13.1-3 +- Add Requires: libpgtypes to avoid the need to test interoperability + between the various combinations of old and new subpackages + +* Wed Nov 18 2020 Honza Horak - 13.1-1 +- Rebase to upstream release 13.0 + +* Fri Oct 23 2020 Honza Horak - 13.0-1 +- Rebase to upstream release 13.0 + +* Tue Aug 25 2020 Patrik Novotný - 12.4-1 +- Rebase to upstream release 12.4 + +* Tue Jul 28 2020 Fedora Release Engineering - 12.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon May 18 2020 Patrik Novotný - 12.3-1 +- Rebase to upstream release 12.3 + +* Mon Mar 2 2020 Filip Januš - 12.2-1 +- Rebase onto: 12.2 +- update of patch(libecpg-10.5-external-libpq.patch) was needed +- add upstream patch libecpg-12.2-dependency-build.patch + https://www.postgresql.org/message-id/20200321221303.GA17979%40momjian.us + +* Wed Jan 29 2020 Fedora Release Engineering - 11.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Jul 25 2019 Fedora Release Engineering - 11.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + * Thu Feb 14 2019 Pavel Raiskup - 11.2-1 - latest upstream release, per release notes: https://www.postgresql.org/docs/11/static/release-11-1.html diff --git a/sources b/sources index ece0ed2..04b03aa 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (postgresql-11.2.tar.bz2) = dae00a543fdeed36bc338abd4ccfd9fe9a8b6b2b7eaa00b1078e4f27802de75a461c27da2800bc9dd64e658681e5787bd03764bde79940656cae1e8c8716f011 -SHA512 (postgresql-11.2.tar.bz2.sha256) = 06b019d8b722f45711d4c957e004e96dc6fc12f9c5b0ecc597e6cf01014f1071d262d4be9206b81f8296a0956dde4d176020cbfa8582027700031a73c895aa16 +SHA512 (postgresql-16.4.tar.bz2) = f2070299f0857a270317ac984f8393374cf00d4f32a082fe3c5481e36c560595ea711fed95e40d1bc90c5089edf8f165649d443d8b9c68614e1c83fc91268e96 +SHA512 (postgresql-16.4.tar.bz2.sha256) = f5a33591b4a0810e2f90d21df471ba086acbd1f97099e38aed46e4d3b45ee72037ef5958c7f155dd9fb7969152599fb6946b792a12d92575bfbc595049b74674