diff --git a/.github/images/card.svg b/.github/images/card.svg
new file mode 100644
index 000000000..e4b128943
--- /dev/null
+++ b/.github/images/card.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 343e9e13d..b394608d0 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -10,7 +10,7 @@ jobs:
Perfecto:
strategy:
matrix:
- image: [ 'ol7', 'ol8', 'ol9']
+ image: [ 'ol8', 'ol9']
uses: ./.github/workflows/perfecto.yml
with:
image: ${{ matrix.image }}
diff --git a/.github/workflows/perfecto.yml b/.github/workflows/perfecto.yml
index c8988c8a8..d1ba9a5f9 100644
--- a/.github/workflows/perfecto.yml
+++ b/.github/workflows/perfecto.yml
@@ -31,7 +31,7 @@ jobs:
- name: Show verion of Perfecto in docker image
run: |
- docker run ghcr.io/essentialkaos/perfecto:${{inputs.image}} --version
+ docker run ghcr.io/essentialkaos/perfecto:${{inputs.image}} -vv
- name: Install perfecto-container
run: |
diff --git a/README.md b/README.md
index 98a1ee0bb..8f1f47560 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-

+
Installation • Contributing Guidelines • Deletion Policy • EoS Schedule • CI status • License
@@ -9,16 +9,12 @@ This repository contains spec files and patches used for building RPM packages f
### Installation
```bash
-sudo yum install -y https://pkgs.kaos.st/kaos-repo-latest.el$(grep 'CPE_NAME' /etc/os-release | tr -d '"' | cut -d':' -f5).noarch.rpm
+sudo dnf install -y https://pkgs.kaos.st/kaos-repo-latest.el$(grep 'CPE_NAME' /etc/os-release | tr -d '"' | cut -d':' -f5).noarch.rpm
```
Some packages have dependencies from [EPEL](https://fedoraproject.org/wiki/EPEL) repository. You could add this repository by following commands:
```bash
-# CentOS 7 / Alma / Rocky
-sudo yum install -y epel-release
-# Oracle Linux 7
-sudo yum install -y oracle-epel-release-el7
# Oracle Linux 8
sudo dnf install -y oracle-epel-release-el8
# Oracle Linux 9
@@ -36,12 +32,6 @@ sudo dnf config-manager --set-enabled ol8_codeready_builder
sudo dnf config-manager --set-enabled ol9_codeready_builder
```
-Building some packages for EL 7 requires [Software Collection](https://wiki.centos.org/SpecialInterestGroup/SCLo) repository. You could add this repository by following command:
-
-```bash
-sudo yum install -y centos-release-scl
-```
-
### Contributing Guidelines
If you want to add a new package to the repository, be ready to look after it. It's physically impossible to maintain and keep fresh a large number of packages, especially if you don't use them somewhere.
@@ -54,6 +44,8 @@ Please find a minute to check out our main [Contributing Guidelines](https://kao
Security is our first priority. We can't keep an outdated package in our repository for a long time. If a package spec were not updated for the several latest releases (_especially with known vulnerabilities_) of software, it would be deleted from the repository.
+We keep at least the last 5 minor versions (_with all releases_) of each package. In some cases (_e.g. programming languages_) we keep more versions of packages. If a version has a critical security vulnerability it may be removed from the repository at any time.
+
### End-of-Support Schedule
| EL version | Updates | Repository removal |
diff --git a/specs/7zip.spec b/specs/7zip.spec
index b5cc0e659..d7943613a 100644
--- a/specs/7zip.spec
+++ b/specs/7zip.spec
@@ -4,8 +4,8 @@
################################################################################
-%define major_ver 22
-%define minor_ver 01
+%define major_ver 24
+%define minor_ver 08
%define shortname 7z
@@ -26,12 +26,7 @@ Source100: checksum.sha512
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-BuildRequires: make dos2unix
-%if 0%{?rhel} <= 7
-BuildRequires: devtoolset-9-gcc-c++
-%else
-BuildRequires: gcc-c++
-%endif
+BuildRequires: make gcc-c++ dos2unix
Provides: %{name} = %{version}-%{release}
Provides: %{shortname} = %{version}-%{release}
@@ -44,15 +39,19 @@ Provides: %{shortname} = %{version}-%{release}
################################################################################
%prep
-%{crc_check}
+%crc_check
+%autosetup -cn 7z%{major_ver}%{minor_ver}-linux
-%setup -qcn 7z%{major_ver}%{minor_ver}-linux
dos2unix DOC/*.txt
+
+# perfecto:ignore
chmod -x DOC/*.txt
# Install asmc to deps directory
mkdir deps
cp %{SOURCE1} deps/asmc
+
+# perfecto:ignore
chmod +x deps/asmc
%if 0%{?rhel} < 9
@@ -64,11 +63,6 @@ sed -i 's#LFLAGS_ALL = -s#LFLAGS_ALL =#' CPP/7zip/7zip_gcc.mak
sed -i 's/$(CXX) -o $(PROGPATH)/$(CXX) -Wl,-z,noexecstack -o $(PROGPATH)/' CPP/7zip/7zip_gcc.mak
%build
-%if 0%{?rhel} <= 7
-# Use gcc and gcc-c++ from DevToolSet 9
-export PATH="/opt/rh/devtoolset-9/root/usr/bin:$PATH"
-%endif
-
# Add directory with asmc to PATH
export PATH="$(pwd)/deps:$PATH"
@@ -86,11 +80,6 @@ ln -sf %{_bindir}/7zz %{buildroot}%{_bindir}/%{shortname}
################################################################################
-%clean
-rm -rf %{buildroot}
-
-################################################################################
-
%files
%defattr(-,root,root,-)
%doc DOC/*.txt
@@ -100,6 +89,9 @@ rm -rf %{buildroot}
################################################################################
%changelog
+* Fri Sep 06 2024 Anton Novojilov - 24.08-0
+- https://sourceforge.net/p/sevenzip/discussion/45797/thread/f162d68dcd/
+
* Fri Dec 16 2022 Anton Novojilov - 22.01-0
- UDF support was improved to UDF version 2.60.
- HFS and APFS support was improved.
diff --git a/specs/GeoIP.spec b/specs/GeoIP.spec
index 8752ae92b..b362072f2 100644
--- a/specs/GeoIP.spec
+++ b/specs/GeoIP.spec
@@ -8,7 +8,7 @@
################################################################################
-Summary: Library for country/city/organization to IP address or hostname mapping
+Summary: Library to find the country that any IP address originates from
Name: GeoIP
Version: 1.6.12
Release: 1%{?dist}
diff --git a/specs/adoptium/jdk11.spec b/specs/adoptium/jdk11.spec
index dfe69adb9..fa4f5decc 100644
--- a/specs/adoptium/jdk11.spec
+++ b/specs/adoptium/jdk11.spec
@@ -8,15 +8,15 @@
################################################################################
-%define jdk_major 11.0.22
-%define jdk_minor 7
-%define jdk_patch .1
+%define jdk_major 11.0.24
+%define jdk_minor 8
+%define jdk_patch %{nil}
%define install_dir %{_prefix}/java/%{name}-%{version}
%define jdk_bin_dir %{install_dir}/bin
%define jdk_man_dir %{install_dir}/man/man1
-%define alt_priority 1168
+%define alt_priority 1169
################################################################################
@@ -111,6 +111,9 @@ deps="$deps --slave %{_sysconfdir}/profile.d/java.sh java-profile %{install_dir}
################################################################################
%changelog
+* Sat Aug 17 2024 Anton Novojilov - 11.0.24-8
+- https://adoptium.net/en-GB/temurin/release-notes/?version=jdk-11.0.24+8
+
* Fri Mar 22 2024 Anton Novojilov - 11.0.22-7.1
- https://adoptium.net/en-GB/temurin/release-notes/?version=jdk-11.0.22+7
diff --git a/specs/adoptium/jdk17.spec b/specs/adoptium/jdk17.spec
index 31e492f6f..7d73ad1d8 100644
--- a/specs/adoptium/jdk17.spec
+++ b/specs/adoptium/jdk17.spec
@@ -8,7 +8,7 @@
################################################################################
-%define jdk_major 17.0.10
+%define jdk_major 17.0.12
%define jdk_minor 7
%define jdk_patch %{nil}
@@ -16,7 +16,7 @@
%define jdk_bin_dir %{install_dir}/bin
%define jdk_man_dir %{install_dir}/man/man1
-%define alt_priority 1756
+%define alt_priority 1757
################################################################################
@@ -111,6 +111,9 @@ deps="$deps --slave %{_sysconfdir}/profile.d/java.sh java-profile %{install_dir}
################################################################################
%changelog
+* Sat Aug 17 2024 Anton Novojilov - 17.0.12-7
+- https://adoptium.net/en-GB/temurin/release-notes/?version=jdk-17.0.12+7
+
* Fri Mar 22 2024 Anton Novojilov - 17.0.10-7
- https://adoptium.net/en-GB/temurin/release-notes/?version=jdk-17.0.10+7
diff --git a/specs/adoptium/jdk21.spec b/specs/adoptium/jdk21.spec
index 51f0981ec..ec0ce7ec1 100644
--- a/specs/adoptium/jdk21.spec
+++ b/specs/adoptium/jdk21.spec
@@ -8,15 +8,15 @@
################################################################################
-%define jdk_major 21.0.2
-%define jdk_minor 13
+%define jdk_major 21.0.4
+%define jdk_minor 7
%define jdk_patch %{nil}
%define install_dir %{_prefix}/java/%{name}-%{version}
%define jdk_bin_dir %{install_dir}/bin
%define jdk_man_dir %{install_dir}/man/man1
-%define alt_priority 2156
+%define alt_priority 2152
################################################################################
@@ -111,6 +111,9 @@ deps="$deps --slave %{_sysconfdir}/profile.d/java.sh java-profile %{install_dir}
################################################################################
%changelog
+* Sat Aug 17 2024 Anton Novojilov - 21.0.4-7
+- https://adoptium.net/en-GB/temurin/release-notes/?version=jdk-21.0.4+7
+
* Fri Mar 22 2024 Anton Novojilov - 21.0.2-13
- https://adoptium.net/en-GB/temurin/release-notes/?version=jdk-21.0.2+13
diff --git a/specs/adoptium/jdk8.spec b/specs/adoptium/jdk8.spec
index 795b99411..9db708bf6 100644
--- a/specs/adoptium/jdk8.spec
+++ b/specs/adoptium/jdk8.spec
@@ -8,15 +8,15 @@
################################################################################
-%define jdk_major 402
-%define jdk_minor b06
+%define jdk_major 422
+%define jdk_minor b05
%define jdk_patch %{nil}
%define install_dir %{_prefix}/java/%{name}-%{version}
%define jdk_bin_dir %{install_dir}/bin
%define jdk_man_dir %{install_dir}/man/man1
-%define alt_priority 866
+%define alt_priority 867
################################################################################
@@ -112,6 +112,9 @@ deps="$deps --slave %{_sysconfdir}/profile.d/java.sh java-profile %{install_dir}
################################################################################
%changelog
+* Sat Aug 17 2024 Anton Novojilov - 1.8.0.422-b05
+- https://adoptium.net/en-GB/temurin/release-notes/?version=jdk8u422-b05
+
* Fri Mar 22 2024 Anton Novojilov - 1.8.0.402-b06
- https://adoptium.net/en-GB/temurin/release-notes/?version=jdk8u402-b06
diff --git a/specs/adoptium/jre11.spec b/specs/adoptium/jre11.spec
index 86a2f6ab7..d345cbfb5 100644
--- a/specs/adoptium/jre11.spec
+++ b/specs/adoptium/jre11.spec
@@ -8,15 +8,15 @@
################################################################################
-%define jdk_major 11.0.22
-%define jdk_minor 7
-%define jdk_patch .1
+%define jdk_major 11.0.24
+%define jdk_minor 8
+%define jdk_patch %{nil}
%define install_dir %{_prefix}/java/%{name}-%{version}
%define jdk_bin_dir %{install_dir}/bin
%define jdk_man_dir %{install_dir}/man/man1
-%define alt_priority 1118
+%define alt_priority 1119
################################################################################
@@ -111,6 +111,9 @@ deps="$deps --slave %{_sysconfdir}/profile.d/java.sh java-profile %{install_dir}
################################################################################
%changelog
+* Sat Aug 17 2024 Anton Novojilov - 11.0.24-8
+- https://adoptium.net/en-GB/temurin/release-notes/?version=jdk-11.0.24+8
+
* Fri Mar 22 2024 Anton Novojilov - 11.0.22-7.1
- https://adoptium.net/en-GB/temurin/release-notes/?version=jdk-11.0.22+7
diff --git a/specs/adoptium/jre17.spec b/specs/adoptium/jre17.spec
index 2c6df07ea..50c3a85de 100644
--- a/specs/adoptium/jre17.spec
+++ b/specs/adoptium/jre17.spec
@@ -8,7 +8,7 @@
################################################################################
-%define jdk_major 17.0.10
+%define jdk_major 17.0.12
%define jdk_minor 7
%define jdk_patch %{nil}
@@ -16,7 +16,7 @@
%define jdk_bin_dir %{install_dir}/bin
%define jdk_man_dir %{install_dir}/man/man1
-%define alt_priority 1706
+%define alt_priority 1707
################################################################################
@@ -111,6 +111,9 @@ deps="$deps --slave %{_sysconfdir}/profile.d/java.sh java-profile %{install_dir}
################################################################################
%changelog
+* Sat Aug 17 2024 Anton Novojilov - 17.0.12-7
+- https://adoptium.net/en-GB/temurin/release-notes/?version=jdk-17.0.12+7
+
* Fri Mar 22 2024 Anton Novojilov - 17.0.10-7
- https://adoptium.net/en-GB/temurin/release-notes/?version=jdk-17.0.10+7
diff --git a/specs/adoptium/jre21.spec b/specs/adoptium/jre21.spec
index 07e669d1e..7b39d7477 100644
--- a/specs/adoptium/jre21.spec
+++ b/specs/adoptium/jre21.spec
@@ -8,15 +8,15 @@
################################################################################
-%define jdk_major 21.0.2
-%define jdk_minor 13
+%define jdk_major 21.0.4
+%define jdk_minor 7
%define jdk_patch %{nil}
%define install_dir %{_prefix}/java/%{name}-%{version}
%define jdk_bin_dir %{install_dir}/bin
%define jdk_man_dir %{install_dir}/man/man1
-%define alt_priority 2101
+%define alt_priority 2102
################################################################################
@@ -111,6 +111,9 @@ deps="$deps --slave %{_sysconfdir}/profile.d/java.sh java-profile %{install_dir}
################################################################################
%changelog
+* Sat Aug 17 2024 Anton Novojilov - 21.0.4-7
+- https://adoptium.net/en-GB/temurin/release-notes/?version=jdk-21.0.4+7
+
* Fri Mar 22 2024 Anton Novojilov - 21.0.2-13
- https://adoptium.net/en-GB/temurin/release-notes/?version=jdk-21.0.2+13
diff --git a/specs/adoptium/jre8.spec b/specs/adoptium/jre8.spec
index 72ecea15f..8f8a84189 100644
--- a/specs/adoptium/jre8.spec
+++ b/specs/adoptium/jre8.spec
@@ -8,15 +8,15 @@
################################################################################
-%define jdk_major 402
-%define jdk_minor b06
+%define jdk_major 422
+%define jdk_minor b05
%define jdk_patch %{nil}
%define install_dir %{_prefix}/java/%{name}-%{version}
%define jdk_bin_dir %{install_dir}/bin
%define jdk_man_dir %{install_dir}/man/man1
-%define alt_priority 816
+%define alt_priority 817
################################################################################
@@ -112,6 +112,9 @@ deps="$deps --slave %{_sysconfdir}/profile.d/java.sh java-profile %{install_dir}
################################################################################
%changelog
+* Sat Aug 17 2024 Anton Novojilov - 1.8.0.422-b05
+- https://adoptium.net/en-GB/temurin/release-notes/?version=jdk8u422-b05
+
* Fri Mar 22 2024 Anton Novojilov - 1.8.0.402-b06
- https://adoptium.net/en-GB/temurin/release-notes/?version=jdk8u402-b06
diff --git a/specs/atop/SOURCES/atop-newer-gcc.patch b/specs/atop/SOURCES/atop-newer-gcc.patch
deleted file mode 100644
index efa185813..000000000
--- a/specs/atop/SOURCES/atop-newer-gcc.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 7bf30c52a37118ff4f211e67e1736099f3d1dcb3 Mon Sep 17 00:00:00 2001
-From: Gerlof Langeveld
-Date: Sat, 22 Sep 2018 11:50:50 +0200
-Subject: [PATCH] Own macro's added to determine major/minor of logical volume.
- The standard 'minor' and 'major' macro's are not available any more in gcc8.
-
----
- photosyst.c | 7 +++++--
- 1 file changed, 5 insertions(+), 2 deletions(-)
-
-diff --git a/photosyst.c b/photosyst.c
-index 19cbbe1..019b9e0 100644
---- a/photosyst.c
-+++ b/photosyst.c
-@@ -184,6 +184,9 @@ static const char rcsid[] = "$Id: photosyst.c,v 1.38 2010/11/19 07:40:40 gerlof
-
- #define MAXCNT 64
-
-+#define MAJOR(x) ((((unsigned long long)x>>8)&0xfff)|((unsigned int)((unsigned long long)x>>32)&~0xfff))
-+#define MINOR(x) ((x&0xff)|((unsigned int)((unsigned long long)x>>12)&~0xff))
-+
- /* return value of isdisk() */
- #define NONTYPE 0
- #define DSKTYPE 1
-@@ -1479,8 +1482,8 @@ lvmmapname(unsigned int major, unsigned int minor,
- */
- strncpy(dmp->name, dentry->d_name, MAXDKNAM);
- dmp->name[MAXDKNAM-1] = 0;
-- dmp->major = major(statbuf.st_rdev);
-- dmp->minor = minor(statbuf.st_rdev);
-+ dmp->major = MAJOR(statbuf.st_rdev);
-+ dmp->minor = MINOR(statbuf.st_rdev);
-
- hashix = DMHASH(dmp->major, dmp->minor);
-
diff --git a/specs/atop/atop.spec b/specs/atop/atop.spec
index fc29e34c8..b6aeec1e4 100644
--- a/specs/atop/atop.spec
+++ b/specs/atop/atop.spec
@@ -6,7 +6,7 @@
Summary: Advanced System and Process Monitor
Name: atop
-Version: 2.10.0
+Version: 2.11.0
Release: 0%{?dist}
License: GPLv2+
Group: Development/System
@@ -15,13 +15,11 @@ URL: https://www.atoptool.nl
Source0: https://www.atoptool.nl/download/%{name}-%{version}.tar.gz
Source1: atopd
-Patch0: atop-newer-gcc.patch
-
Source100: checksum.sha512
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-BuildRequires: gcc make zlib-devel ncurses-devel systemd
+BuildRequires: gcc make zlib-devel ncurses-devel systemd glib2-devel
Requires: zlib ncurses systemd
@@ -49,8 +47,6 @@ as reports.
%setup -qn %{name}-%{version}
-%patch0 -p1
-
# Set path to sysconfig file
sed -i 's#/etc/default/atop#/etc/sysconfig/atop#' atop.daily
sed -i 's#/etc/default/atop#/etc/sysconfig/atop#' atop.service
@@ -153,6 +149,36 @@ fi
################################################################################
%changelog
+* Sat Aug 17 2024 Anton Novojilov - 2.11.0-0
+- Cgroups (version 2) support.
+- Show the hierarchical structure of cgroups and the related metrics with
+ key/option 'G', and define the cgroup depth with the keys/options 2 till 7.
+ Key/option 8 also shows the processes per cgroup level, except the kernel
+ processes in the root cgroup. Key/option 9 shows the related processes per
+ cgroup level including the kernel processes in the root cgroup. With
+ key/option 'C' the output is sorted on CPU consumption (default), with
+ key/option 'M' on memory consumption, and with key/option 'D' (requires
+ root privileges) on disk utilization.
+- Note: The collection of cgroup information per process is not supported any
+ more.
+- Twin mode: live measurement with review option.
+- In twin mode atop spawns into a lower level process that gathers the counters
+ and writes them to a temporary raw file, and an upper level process that reads
+ the counters from the temporary raw file and presents them to the user.
+- The reading of the upper level process keeps in pace with the written samples
+ of the lower level process for live measurements. However, when pressing the
+ 'r' (reset to measurement begin), the 'b' (branch to time stamp), or the 'T'
+ (previous sample), the upper level process implicitly pauses with the
+ possibility to review previous samples. The 'z' (explicit pause) can also be
+ used to pause the live measurement. When pressing the 'z' again (continue
+ after pause) viewing of the live measurement will be continued.
+- Various corrections related to JSON output.
+- Improved gathering of current CPU frequency.
+- Support more than 500 CPUs.
+- The format of the raw file is incompatible with previous versions. Raw files
+ from previous versions can be converted to the new layout with the atopconvert
+ command.
+
* Wed Jan 17 2024 Anton Novojilov - 2.10.0-0
- Additional memory statistics on system level: amount of available memory,
amount of memory used for Transparant Huge Pages, amount of memory used by two
diff --git a/specs/createrepo_c.spec b/specs/createrepo_c.spec
index 0b82860f5..47f332c08 100644
--- a/specs/createrepo_c.spec
+++ b/specs/createrepo_c.spec
@@ -21,7 +21,7 @@
Summary: Creates a common metadata repository
Name: createrepo_c
-Version: 1.1.0
+Version: 1.1.4
Release: 0%{?dist}
License: GPLv2
Group: Development/Tools
@@ -188,6 +188,18 @@ rm -rf %{buildroot}
################################################################################
%changelog
+* Thu Aug 15 2024 Anton Novojilov - 1.1.4-0
+- https://github.com/rpm-software-management/createrepo_c/compare/1.1.3...1.1.4
+
+* Thu Aug 15 2024 Anton Novojilov - 1.1.3-0
+- https://github.com/rpm-software-management/createrepo_c/compare/1.1.2...1.1.3
+
+* Thu Aug 15 2024 Anton Novojilov - 1.1.2-0
+- https://github.com/rpm-software-management/createrepo_c/compare/1.1.1...1.1.2
+
+* Thu Aug 15 2024 Anton Novojilov - 1.1.1-0
+- https://github.com/rpm-software-management/createrepo_c/compare/1.1.0...1.1.1
+
* Thu Apr 18 2024 Anton Novojilov - 1.1.0-0
- https://github.com/rpm-software-management/createrepo_c/compare/1.0.2...1.1.0
diff --git a/specs/curl.spec b/specs/curl.spec
index f80981604..2fa37ddfe 100644
--- a/specs/curl.spec
+++ b/specs/curl.spec
@@ -10,7 +10,7 @@
Summary: Utility for getting files from remote servers
Name: curl
-Version: 8.7.1
+Version: 8.9.1
Release: 0%{?dist}
License: MIT
Group: Applications/Internet
@@ -156,14 +156,23 @@ rm -rf %{buildroot}
%{_includedir}/curl/
%{_libdir}/*.so
%{_libdir}/pkgconfig/libcurl.pc
-%{_mandir}/man1/curl-config.1*
%{_mandir}/man3/*
+%{_mandir}/man1/curl-config.1*
%{_datadir}/aclocal/libcurl.m4
%exclude %{_libdir}/libcurl.la
################################################################################
%changelog
+* Thu Aug 15 2024 Anton Novojilov - 8.9.1-0
+- https://curl.se/ch/8.9.1.html
+
+* Thu Aug 15 2024 Anton Novojilov - 8.9.0-0
+- https://curl.se/ch/8.9.0.html
+
+* Wed May 29 2024 Anton Novojilov - 8.8.0-0
+- https://curl.se/changes.html#8_8_0
+
* Tue Apr 16 2024 Anton Novojilov - 8.7.1-0
- https://curl.se/changes.html#8_7_1
diff --git a/specs/elixir.spec b/specs/elixir.spec
index 058d7da44..ae1c39726 100644
--- a/specs/elixir.spec
+++ b/specs/elixir.spec
@@ -10,7 +10,7 @@
Summary: A modern approach to programming for the Erlang VM
Name: elixir
-Version: 1.16.2
+Version: 1.17.2
Release: 0%{?dist}
License: ASL 2.0 and ERPL
Group: Development/Tools
@@ -22,9 +22,9 @@ Source100: checksum.sha512
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-BuildRequires: erlang24 git
+BuildRequires: erlang25 git
-Requires: erlang >= 24
+Requires: erlang >= 25
Provides: %{name} = %{version}-%{release}
Provides: %{name}-lang = %{version}-%{release}
@@ -82,6 +82,15 @@ rm -rf %{buildroot}
################################################################################
%changelog
+* Thu Aug 15 2024 Anton Novojilov - 1.17.2-0
+- https://github.com/elixir-lang/elixir/releases/tag/v1.17.2
+
+* Thu Aug 15 2024 Anton Novojilov - 1.17.1-0
+- https://github.com/elixir-lang/elixir/releases/tag/v1.17.1
+
+* Fri Jun 14 2024 Anton Novojilov - 1.17.0-0
+- https://github.com/elixir-lang/elixir/releases/tag/v1.17.0
+
* Fri Mar 22 2024 Anton Novojilov - 1.16.2-0
- https://github.com/elixir-lang/elixir/releases/tag/v1.16.2
diff --git a/specs/erlang/erlang22.spec b/specs/erlang/erlang22.spec
index ae66b03c0..cd0c3ae46 100644
--- a/specs/erlang/erlang22.spec
+++ b/specs/erlang/erlang22.spec
@@ -59,13 +59,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: ncurses-devel unixODBC-devel tcl-devel make
BuildRequires: tk-devel flex bison gd-devel gd-devel libxslt
BuildRequires: valgrind-devel java-1.8.0-openjdk-devel
-BuildRequires: lksctp-tools-devel autoconf
-
-%if 0%{?rhel} <= 7
-BuildRequires: devtoolset-11-gcc-c++ devtoolset-11-binutils
-%else
-BuildRequires: gcc-c++
-%endif
+BuildRequires: lksctp-tools-devel autoconf gcc-c++
Requires: tk tcl
@@ -483,14 +477,14 @@ a Web server.
################################################################################
%package -n %{name}-megaco
-Summary: Framework for building applications on top of the Megaco/H.248 protocol
+Summary: Framework for building applications on top of the H.248 protocol
License: MPL
Group: Development/Tools
Requires: %{name}-base = %{version}-%{release}
%description -n %{name}-megaco
-Megaco/H.248 is a protocol for control of elements in a physically decomposed
+H.248 is a protocol for control of elements in a physically decomposed
multimedia gateway, enabling separation of call control from media conversion.
################################################################################
@@ -722,24 +716,16 @@ a few bugs in the scanner, and improves HTML export.
################################################################################
%prep
-%{crc_check}
-
-%setup -qn otp-OTP-%{ver_string}
+%crc_check
+%autosetup -p1 -n otp-OTP-%{ver_string}
tar xzvf %{SOURCE10}
-%patch0 -p1
-
%build
export CFLAGS="%{optflags} -fPIC"
export CXXLAGS=$CFLAGS
export BUILDDIR=$(pwd)
-%if 0%{?rhel} <= 7
-# Use gcc and gcc-c++ from DevToolSet 11
-export PATH="/opt/rh/devtoolset-11/root/usr/bin:$PATH"
-%endif
-
### Static LibreSSL build start ###
pushd libressl-%{libre_ver}
@@ -858,9 +844,6 @@ if [[ $1 -ge 1 ]] ; then
%{__sysctl} daemon-reload &>/dev/null || :
fi
-%clean
-rm -rf %{buildroot}
-
################################################################################
%files
diff --git a/specs/erlang/erlang23.spec b/specs/erlang/erlang23.spec
index fb6a614b4..3cac2a807 100644
--- a/specs/erlang/erlang23.spec
+++ b/specs/erlang/erlang23.spec
@@ -59,13 +59,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: ncurses-devel unixODBC-devel tcl-devel make
BuildRequires: tk-devel flex bison gd-devel gd-devel libxslt
BuildRequires: valgrind-devel java-1.8.0-openjdk-devel
-BuildRequires: lksctp-tools-devel autoconf
-
-%if 0%{?rhel} <= 7
-BuildRequires: devtoolset-11-gcc-c++ devtoolset-11-binutils
-%else
-BuildRequires: gcc-c++
-%endif
+BuildRequires: lksctp-tools-devel autoconf gcc-c++
Requires: tk tcl
@@ -483,14 +477,14 @@ a Web server.
################################################################################
%package -n %{name}-megaco
-Summary: Framework for building applications on top of the Megaco/H.248 protocol
+Summary: Framework for building applications on top of the H.248 protocol
License: MPL
Group: Development/Tools
Requires: %{name}-base = %{version}-%{release}
%description -n %{name}-megaco
-Megaco/H.248 is a protocol for control of elements in a physically decomposed
+H.248 is a protocol for control of elements in a physically decomposed
multimedia gateway, enabling separation of call control from media conversion.
################################################################################
@@ -722,24 +716,18 @@ a few bugs in the scanner, and improves HTML export.
################################################################################
%prep
-%{crc_check}
+%crc_check
+%autosetup -p1 -n otp-OTP-%{ver_string}
%setup -qn otp-OTP-%{ver_string}
tar xzvf %{SOURCE10}
-%patch0 -p1
-
%build
export CFLAGS="%{optflags} -fPIC"
export CXXLAGS=$CFLAGS
export BUILDDIR=$(pwd)
-%if 0%{?rhel} <= 7
-# Use gcc and gcc-c++ from DevToolSet 11
-export PATH="/opt/rh/devtoolset-11/root/usr/bin:$PATH"
-%endif
-
### Static LibreSSL build start ###
pushd libressl-%{libre_ver}
@@ -858,9 +846,6 @@ if [[ $1 -ge 1 ]] ; then
%{__sysctl} daemon-reload &>/dev/null || :
fi
-%clean
-rm -rf %{buildroot}
-
################################################################################
%files
diff --git a/specs/erlang/erlang24.spec b/specs/erlang/erlang24.spec
index 9b3976a94..70981e72d 100644
--- a/specs/erlang/erlang24.spec
+++ b/specs/erlang/erlang24.spec
@@ -59,13 +59,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: ncurses-devel unixODBC-devel tcl-devel make
BuildRequires: tk-devel flex bison gd-devel gd-devel libxslt
BuildRequires: valgrind-devel java-1.8.0-openjdk-devel
-BuildRequires: lksctp-tools-devel autoconf
-
-%if 0%{?rhel} <= 7
-BuildRequires: devtoolset-11-gcc-c++ devtoolset-11-binutils
-%else
-BuildRequires: gcc-c++
-%endif
+BuildRequires: lksctp-tools-devel autoconf gcc-c++
Requires: tk tcl
@@ -468,14 +462,14 @@ a Web server.
################################################################################
%package -n %{name}-megaco
-Summary: Framework for building applications on top of the Megaco/H.248 protocol
+Summary: Framework for building applications on top of the H.248 protocol
License: MPL
Group: Development/Tools
Requires: %{name}-base = %{version}-%{release}
%description -n %{name}-megaco
-Megaco/H.248 is a protocol for control of elements in a physically decomposed
+H.248 is a protocol for control of elements in a physically decomposed
multimedia gateway, enabling separation of call control from media conversion.
################################################################################
@@ -704,24 +698,16 @@ a few bugs in the scanner, and improves HTML export.
################################################################################
%prep
-%{crc_check}
-
-%setup -qn otp-OTP-%{ver_string}
+%crc_check
+%autosetup -p1 -n otp-OTP-%{ver_string}
tar xzvf %{SOURCE10}
-%patch0 -p1
-
%build
export CFLAGS="%{optflags} -fPIC"
export CXXLAGS=$CFLAGS
export BUILDDIR=$(pwd)
-%if 0%{?rhel} <= 7
-# Use gcc and gcc-c++ from DevToolSet 11
-export PATH="/opt/rh/devtoolset-11/root/usr/bin:$PATH"
-%endif
-
### Static LibreSSL build start ###
pushd libressl-%{libre_ver}
@@ -839,9 +825,6 @@ if [[ $1 -ge 1 ]] ; then
%{__sysctl} daemon-reload &>/dev/null || :
fi
-%clean
-rm -rf %{buildroot}
-
################################################################################
%files
diff --git a/specs/erlang/erlang25.spec b/specs/erlang/erlang25.spec
index b6f5edcc5..4e2dbc9e0 100644
--- a/specs/erlang/erlang25.spec
+++ b/specs/erlang/erlang25.spec
@@ -23,12 +23,12 @@
%define eprefix %{_prefix}%{_lib32}
%define ver_maj 25
%define ver_min 3
-%define ver_patch 2.11
+%define ver_patch 2.13
%define ver_suffix %{ver_min}.%{ver_patch}
%define ver_string %{ver_maj}.%{ver_suffix}
%define realname erlang
-%define libre_ver 3.8.4
+%define libre_ver 3.9.2
################################################################################
@@ -466,14 +466,14 @@ a Web server.
################################################################################
%package -n %{name}-megaco
-Summary: Framework for building applications on top of the Megaco/H.248 protocol
+Summary: Framework for building applications on top of the H.248 protocol
License: MPL
Group: Development/Tools
Requires: %{name}-base = %{version}-%{release}
%description -n %{name}-megaco
-Megaco/H.248 is a protocol for control of elements in a physically decomposed
+H.248 is a protocol for control of elements in a physically decomposed
multimedia gateway, enabling separation of call control from media conversion.
################################################################################
@@ -1033,6 +1033,13 @@ rm -rf %{buildroot}
################################################################################
%changelog
+* Sun Aug 04 2024 Anton Novojilov - 25.3.2.13-0
+- https://github.com/erlang/otp/releases/tag/OTP-25.3.2.13
+
+* Wed May 22 2024 Anton Novojilov - 25.3.2.12-0
+- https://github.com/erlang/otp/releases/tag/OTP-25.3.2.12
+- LibreSSL updated to 3.9.2
+
* Tue Apr 16 2024 Anton Novojilov - 25.3.2.11-0
- https://github.com/erlang/otp/releases/tag/OTP-25.3.2.11
- LibreSSL updated to 3.8.4
diff --git a/specs/erlang/erlang26.spec b/specs/erlang/erlang26.spec
index f555b7331..6cdb5ff28 100644
--- a/specs/erlang/erlang26.spec
+++ b/specs/erlang/erlang26.spec
@@ -23,12 +23,12 @@
%define eprefix %{_prefix}%{_lib32}
%define ver_maj 26
%define ver_min 2
-%define ver_patch 4
+%define ver_patch 5.2
%define ver_suffix %{ver_min}.%{ver_patch}
%define ver_string %{ver_maj}.%{ver_suffix}
%define realname erlang
-%define libre_ver 3.8.4
+%define libre_ver 3.9.2
################################################################################
@@ -466,14 +466,14 @@ a Web server.
################################################################################
%package -n %{name}-megaco
-Summary: Framework for building applications on top of the Megaco/H.248 protocol
+Summary: Framework for building applications on top of the H.248 protocol
License: MPL
Group: Development/Tools
Requires: %{name}-base = %{version}-%{release}
%description -n %{name}-megaco
-Megaco/H.248 is a protocol for control of elements in a physically decomposed
+H.248 is a protocol for control of elements in a physically decomposed
multimedia gateway, enabling separation of call control from media conversion.
################################################################################
@@ -1033,6 +1033,13 @@ rm -rf %{buildroot}
################################################################################
%changelog
+* Sun Aug 04 2024 Anton Novojilov - 26.2.5.2-0
+- https://github.com/erlang/otp/releases/tag/OTP-26.2.5.2
+
+* Wed May 22 2024 Anton Novojilov - 26.2.5-0
+- https://github.com/erlang/otp/releases/tag/OTP-26.2.5
+- LibreSSL updated to 3.9.2
+
* Tue Apr 16 2024 Anton Novojilov - 26.2.4-0
- https://github.com/erlang/otp/releases/tag/OTP-26.2.4
- LibreSSL updated to 3.8.4
diff --git a/specs/erlang/erlang27.spec b/specs/erlang/erlang27.spec
new file mode 100644
index 000000000..24211708e
--- /dev/null
+++ b/specs/erlang/erlang27.spec
@@ -0,0 +1,1022 @@
+################################################################################
+
+# rpmbuilder:qa-rpaths 0x0001,0x0002
+# rpmbuilder:exclude-package jre* jdk*
+
+################################################################################
+
+%global crc_check pushd ../SOURCES ; sha512sum -c %{SOURCE100} ; popd
+
+################################################################################
+
+%define _posixroot /
+%define _lib32 %{_posixroot}lib
+%define __sysctl %{_bindir}/systemctl
+
+################################################################################
+
+%define _disable_ld_no_undefined 1
+
+################################################################################
+
+%define elibdir %{_libdir}/erlang/lib
+%define eprefix %{_prefix}%{_lib32}
+%define ver_maj 27
+%define ver_min 0
+%define ver_patch 1
+%define ver_suffix %{ver_min}%{?ver_patch:.%{ver_patch}}
+%define ver_string %{ver_maj}.%{ver_suffix}
+%define realname erlang
+
+%define libre_ver 3.9.2
+
+################################################################################
+
+Summary: General-purpose programming language and runtime environment
+Name: %{realname}%{ver_maj}
+Version: %{ver_suffix}
+Release: 0%{?dist}
+Group: Development/Tools
+License: MPL
+URL: https://www.erlang.org
+
+Source0: https://github.com/erlang/otp/archive/OTP-%{ver_string}.tar.gz
+Source1: https://github.com/erlang/otp/releases/download/OTP-%{ver_string}/otp_doc_html_%{ver_string}.tar.gz
+Source2: https://github.com/erlang/otp/releases/download/OTP-%{ver_string}/otp_doc_man_%{ver_string}.tar.gz
+Source3: epmd.service
+Source4: epmd.socket
+Source5: epmd@.service
+Source6: epmd@.socket
+
+Source10: https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-%{libre_ver}.tar.gz
+
+Source100: checksum.sha512
+
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+
+BuildRequires: ncurses-devel unixODBC-devel tcl-devel make
+BuildRequires: tk-devel flex bison gd-devel gd-devel libxslt
+BuildRequires: valgrind-devel java-1.8.0-openjdk-devel
+BuildRequires: lksctp-tools-devel autoconf
+
+%if 0%{?rhel} <= 7
+BuildRequires: devtoolset-11-gcc-c++ devtoolset-11-binutils
+%else
+BuildRequires: gcc-c++
+%endif
+
+Requires: tk tcl
+
+Requires: %{name}-base = %{version}-%{release}
+Requires: %{name}-common_test = %{version}
+Requires: %{name}-compiler = %{version}
+Requires: %{name}-crypto = %{version}
+Requires: %{name}-debugger = %{version}
+Requires: %{name}-dialyzer = %{version}
+Requires: %{name}-diameter = %{version}
+Requires: %{name}-edoc = %{version}
+Requires: %{name}-eldap = %{version}
+Requires: %{name}-erl_interface = %{version}
+Requires: %{name}-et = %{version}
+Requires: %{name}-eunit = %{version}
+Requires: %{name}-ftp = %{version}
+Requires: %{name}-inets = %{version}
+Requires: %{name}-mnesia = %{version}
+Requires: %{name}-observer = %{version}
+Requires: %{name}-os_mon = %{version}
+Requires: %{name}-parsetools = %{version}
+Requires: %{name}-public_key = %{version}
+Requires: %{name}-reltool = %{version}
+Requires: %{name}-runtime_tools = %{version}
+Requires: %{name}-snmp = %{version}
+Requires: %{name}-ssh = %{version}
+Requires: %{name}-ssl = %{version}
+Requires: %{name}-syntax_tools = %{version}
+Requires: %{name}-tools = %{version}
+Requires: %{name}-tftp = %{version}
+Requires: %{name}-typer = %{version}
+Requires: %{name}-xmerl = %{version}
+
+Provides: %{name} = %{version}-%{release}
+Provides: %{realname} = %{ver_string}-%{release}
+
+Conflicts: erlang erlangR15 erlangR16 erlang17 erlang18 erlang19
+Conflicts: erlang20 erlang21 erlang22 erlang23 erlang24 erlang25
+
+################################################################################
+
+%description
+Erlang is a general-purpose programming language and runtime
+environment. Erlang has built-in support for concurrency, distribution
+and fault tolerance. Erlang is used in several large telecommunication
+systems from Ericsson.
+
+################################################################################
+
+%package -n %{name}-stack
+Summary: Erlang bundle
+License: MPL
+Group: Development/Tools
+
+Requires: %{name} = %{version}-%{release}
+Requires: %{name}-base = %{version}-%{release}
+Requires: %{name}-asn1 = %{version}
+Requires: %{name}-common_test = %{version}
+Requires: %{name}-compiler = %{version}
+Requires: %{name}-crypto = %{version}
+Requires: %{name}-debugger = %{version}
+Requires: %{name}-dialyzer = %{version}
+Requires: %{name}-diameter = %{version}
+Requires: %{name}-edoc = %{version}
+Requires: %{name}-eldap = %{version}
+Requires: %{name}-emacs = %{version}
+Requires: %{name}-erl_interface = %{version}
+Requires: %{name}-et = %{version}
+Requires: %{name}-eunit = %{version}
+Requires: %{name}-ftp = %{version}
+Requires: %{name}-inets = %{version}
+Requires: %{name}-jinterface = %{version}
+Requires: %{name}-megaco = %{version}
+Requires: %{name}-mnesia = %{version}
+Requires: %{name}-observer = %{version}
+Requires: %{name}-odbc = %{version}
+Requires: %{name}-os_mon = %{version}
+Requires: %{name}-parsetools = %{version}
+Requires: %{name}-public_key = %{version}
+Requires: %{name}-reltool = %{version}
+Requires: %{name}-runtime_tools = %{version}
+Requires: %{name}-snmp = %{version}
+Requires: %{name}-ssh = %{version}
+Requires: %{name}-ssl = %{version}
+Requires: %{name}-syntax_tools = %{version}
+Requires: %{name}-tftp = %{version}
+Requires: %{name}-tools = %{version}
+Requires: %{name}-typer = %{version}
+Requires: %{name}-wx = %{version}
+Requires: %{name}-xmerl = %{version}
+
+Obsoletes: %{name}-mnesia_session = %{version}-%{release}
+Obsoletes: %{name}-mnemosyne = %{version}-%{release}
+
+%description -n %{name}-stack
+Full Erlang bundle.
+
+The Erlang/OTP system --- Erlang is a programming language which
+has many features more commonly associated with an operating system
+than with a programming language: concurrent processes, scheduling,
+memory management, distribution, networking, etc. The development package
+in addition contains the Erlang sources for all base libraries.
+Includes the Erlang/OTP graphical libraries.
+
+################################################################################
+
+%package -n %{name}-base
+Summary: Erlang architecture independent files
+License: MPL
+Group: Development/Tools
+
+Requires: lksctp-tools
+Provides: %{name}-base = %{version}-%{release}
+Obsoletes: %{name}_otp = %{version}-%{release}
+Obsoletes: %{name}-gs_apps = %{version}-%{release}
+Obsoletes: %{name}-otp_libs = %{version}-%{release}
+
+BuildRequires: systemd systemd-devel
+
+Requires(post): systemd
+Requires(preun): systemd
+Requires(postun): systemd
+
+%description -n %{name}-base
+Erlang architecture independent files
+
+The Erlang/OTP system --- Erlang is a programming language which
+has many features more commonly associated with an operating system
+than with a programming language: concurrent processes, scheduling,
+memory management, distribution, networking, etc. The development package
+in addition contains the Erlang sources for all base libraries.
+Includes the Erlang/OTP graphical libraries.
+
+################################################################################
+
+%package -n %{name}-devel
+Summary: Erlang header
+License: MPL
+Group: Development/Tools
+
+Requires: %{name}-base = %{version}-%{release}
+Provides: %{name}-devel = %{version}-%{release}
+
+%description -n %{name}-devel
+Erlang headers.
+This package is used to build some library.
+
+################################################################################
+
+%package -n %{name}-manpages
+Summary: Erlang man pages
+License: MPL
+Group: Development/Tools
+
+Requires: %{name}-base = %{version}-%{release}
+
+%description -n %{name}-manpages
+Documentation for the Erlang programming language in `man` format. This
+documentation can be read using the command `erl -man mod`, where 'mod' is
+the name of the module you want documentation on.
+
+################################################################################
+
+%package -n %{name}-dialyzer
+Summary: Static analysis tool
+License: MPL
+Group: Development/Tools
+
+Requires: %{name}-base = %{version}-%{release}
+
+%description -n %{name}-dialyzer
+Dialyzer is a static analysis tool that identifies software discrepancies
+such as type errors, unreachable code, unnecessary tests, etc in single
+Erlang modules or entire (sets of) applications.
+
+################################################################################
+
+%package -n %{name}-diameter
+Summary: An implementation of the Diameter protocol as defined by RFC 3588
+License: MPL
+Group: Development/Tools
+
+Requires: %{name}-base = %{version}-%{release}
+
+%description -n %{name}-diameter
+An implementation of the Diameter protocol as defined by RFC 3588.
+
+################################################################################
+
+%package -n %{name}-edoc
+Summary: The Erlang program documentation generator
+License: MPL
+Group: Development/Tools
+
+Requires: %{name}-base = %{version}-%{release}
+Requires: %{name}-syntax_tools
+Requires: %{name}-xmerl
+
+%description -n %{name}-edoc
+This module provides the main user interface to EDoc.
+
+################################################################################
+
+%package -n %{name}-eldap
+Summary: The Erlang LDAP library
+License: MPL
+Group: Development/Tools
+
+Requires: %{name}-asn1 = %{version}-%{release}
+Requires: %{name}-base = %{version}-%{release}
+Requires: %{name}-ssl = %{version}-%{release}
+
+%description -n %{name}-eldap
+Eldap is a module which provides a client API to the Lightweight Directory
+Access Protocol (LDAP).
+
+################################################################################
+
+%package -n %{name}-emacs
+Summary: Emacs support for The Erlang language
+License: GPL
+Group: Development/Tools
+
+Requires: %{name}-base = %{version}-%{release}
+Requires: emacs
+
+%description -n %{name}-emacs
+This module provides Erlang support to Emacs.
+
+################################################################################
+
+%package -n %{name}-jinterface
+Summary: Low level interface to Java
+License: MPL
+Group: Development/Tools
+
+Requires: %{name}-base = %{version}-%{release}
+
+%description -n %{name}-jinterface
+The Jinterface package provides a set of tools for communication with
+Erlang processes. It can also be used for communication with other Java
+processes using the same package, as well as C processes using the
+Erl_Interface library.
+
+################################################################################
+
+%package -n %{name}-asn1
+Summary: Provides support for Abstract Syntax Notation One
+License: MPL
+Group: Development/Tools
+
+Requires: %{name}-base = %{version}-%{release}
+
+%description -n %{name}-asn1
+Asn1 application contains modules with compile-time and run-time support for
+ASN.1.
+
+################################################################################
+
+%package -n %{name}-common_test
+Summary: Portable framework for automatic testing
+License: MPL
+Group: Development/Tools
+
+Requires: %{name}-base = %{version}-%{release}
+
+%description -n %{name}-common_test
+A portable Erlang framework for automatic testing.
+
+################################################################################
+
+%package -n %{name}-compiler
+Summary: Byte code compiler for Erlang which produces highly compact code
+License: MPL
+Group: Development/Tools
+
+Requires: %{name}-base = %{version}-%{release}
+
+%description -n %{name}-compiler
+Compiler application compiles Erlang code to byte-code. The highly compact
+byte-code is executed by the Erlang emulator.
+
+################################################################################
+
+%package -n %{name}-crypto
+Summary: Cryptographical support
+License: MPL
+Group: Development/Tools
+
+Requires: %{name}-base = %{version}-%{release}
+
+%description -n %{name}-crypto
+Cryptographical support for erlang.
+
+################################################################################
+
+%package -n %{name}-debugger
+Summary: Debugger for debugging and testing of Erlang programs
+License: MPL
+Group: Development/Tools
+
+Requires: %{name}-base = %{version}-%{release}
+
+%description -n %{name}-debugger
+Debugger is a graphical tool which can be used for debugging and testing
+of Erlang programs. For example, breakpoints can be set, code can be single
+stepped and variable values can be displayed and changed.
+
+################################################################################
+
+%package -n %{name}-erl_interface
+Summary: Low level interface to C
+License: MPL
+Group: Development/Tools
+
+Requires: %{name}-base = %{version}-%{release}
+
+%description -n %{name}-erl_interface
+Low level interface to C for erlang.
+
+################################################################################
+
+%package -n %{name}-et
+Summary: Event Tracer
+License: MPL
+Group: Development/Tools
+
+Requires: %{name}-base = %{version}-%{release}
+
+%description -n %{name}-et
+The Event Tracer (ET) uses the built-in trace mechanism in Erlang and
+provides tools for collection and graphical viewing of trace data.
+
+################################################################################
+
+%package -n %{name}-eunit
+Summary: Erlang support for unit testing
+License: MPL
+Group: Development/Tools
+
+Requires: %{name}-base = %{version}-%{release}
+
+%description -n %{name}-eunit
+Erlang support for unit testing.
+
+################################################################################
+
+%package -n %{name}-ftp
+Summary: A File Transfer Protocol client
+License: MPL
+Group: Development/Tools
+
+Requires: %{name}-base = %{version}-%{release}
+
+%description -n %{name}-ftp
+This module implements a client for file transfer according to a subset of the
+File Transfer Protocol (FTP).
+
+################################################################################
+
+%package -n %{name}-inviso
+Summary: Erlang trace tool
+License: MPL
+Group: Development/Tools
+
+Requires: %{name}-base = %{version}-%{release}
+
+%description -n %{name}-inviso
+An Erlang trace tool.
+
+################################################################################
+
+%package -n %{name}-inets
+Summary: Set of services such as a Web server and a ftp client etc
+License: MPL
+Group: Development/Tools
+
+Requires: %{name}-base = %{version}-%{release}
+
+%description -n %{name}-inets
+Inets is a container for Internet clients and servers. Currently a HTTP
+server and a FTP client has been incorporated in Inets. The HTTP server
+is an efficient implementation of HTTP 1.1 as defined in RFC 2616, i.e.
+a Web server.
+
+################################################################################
+
+%package -n %{name}-megaco
+Summary: Framework for building applications on top of the H.248 protocol
+License: MPL
+Group: Development/Tools
+
+Requires: %{name}-base = %{version}-%{release}
+
+%description -n %{name}-megaco
+H.248 is a protocol for control of elements in a physically decomposed
+multimedia gateway, enabling separation of call control from media conversion.
+
+################################################################################
+
+%package -n %{name}-mnesia
+Summary: Heavy duty real-time distributed database
+License: MPL
+Group: Development/Tools
+
+Requires: %{name}-base = %{version}-%{release}
+
+%description -n %{name}-mnesia
+Mnesia is a distributed DataBase Management System (DBMS), appropriate for
+telecommunications applications and other Erlang applications which require
+continuous operation and exhibit soft real-time properties.
+
+################################################################################
+
+%package -n %{name}-observer
+Summary: Observer, tools for tracing and investigation of distributed systems
+License: MPL
+Group: Development/Tools
+
+Requires: %{name}-base = %{version}-%{release}
+
+%description -n %{name}-observer
+The OBSERVER application contains tools for tracing and investigation of
+distributed systems.
+
+################################################################################
+
+%package -n %{name}-odbc
+Summary: Interface to relational SQL-databases built on ODBC
+License: MPL
+Requires: %{name}-base = %{version}-%{release}
+Group: Development/Tools
+
+%description -n %{name}-odbc
+The ODBC application is an interface to relational SQL-databases built
+on ODBC (Open Database).
+
+################################################################################
+
+%package -n %{name}-os_mon
+Summary: Monitor which allows inspection of the underlying operating system
+License: MPL
+Group: Development/Tools
+
+Requires: %{name}-base = %{version}-%{release}
+
+%description -n %{name}-os_mon
+The operating system monitor OS_Mon monitors operating system disk and memory
+usage etc.
+
+################################################################################
+
+%package -n %{name}-parsetools
+Summary: Set of parsing and lexical analysis tools
+License: MPL
+Group: Development/Tools
+
+Requires: %{name}-base = %{version}-%{release}
+
+%description -n %{name}-parsetools
+The Parsetools application contains utilities for parsing, e.g. the yecc
+module. Yecc is an LALR-1 parser generator for Erlang, similar to yacc.
+Yecc takes a BNF grammar definition as input, and produces Erlang code for
+a parser as output.
+
+################################################################################
+
+%package -n %{name}-public_key
+Summary: Erlang API to public key infrastructure
+License: MPL
+Group: Development/Tools
+
+Requires: %{name}-base = %{version}-%{release}
+
+%description -n %{name}-public_key
+Erlang API to public key infrastructure.
+
+################################################################################
+
+%package -n %{name}-reltool
+Summary: A release management tool for Erlang
+License: MPL
+Group: Development/Tools
+Requires: %{name}-base = %{version}-%{release}
+
+%description -n %{name}-reltool
+It analyses a given Erlang/OTP installation and determines various
+dependencies between applications. The graphical frontend depicts
+the dependencies and enables interactive customization of a
+target system. The backend provides a batch interface for
+generation of customized target systems.
+
+################################################################################
+
+%package -n %{name}-runtime_tools
+Summary: Runtime tools, tools to include in a production system
+License: MPL
+Group: Development/Tools
+
+Requires: %{name}-base = %{version}-%{release}
+
+%description -n %{name}-runtime_tools
+Runtime tools, tools to include in a production system.
+
+################################################################################
+
+%package -n %{name}-snmp
+Summary: Simple Network Management Protocol (SNMP) support
+License: MPL
+Group: Development/Tools
+
+Requires: %{name}-base = %{version}-%{release}
+
+%description -n %{name}-snmp
+A multilingual Simple Network Management Protocol Extensible Agent, featuring
+a MIB compiler and facilities for implementing SNMP MIBs etc.
+
+################################################################################
+
+%package -n %{name}-ssh
+Summary: Secure Shell application with ssh and sftp support
+License: MPL
+Group: Development/Tools
+
+Requires: %{name}-base = %{version}-%{release}
+
+%description -n %{name}-ssh
+Secure Shell application with ssh and sftp support.
+
+################################################################################
+
+%package -n %{name}-ssl
+Summary: Interface to UNIX BSD sockets with Secure Sockets Layer
+License: MPL
+Group: Development/Tools
+
+Requires: %{name}-base = %{version}-%{release}
+
+%description -n %{name}-ssl
+The SSL application provides secure communication over sockets.
+
+################################################################################
+
+%package -n %{name}-syntax_tools
+Summary: Set of modules for working with Erlang source code
+License: MPL
+Group: Development/Tools
+Requires: %{name}-base = %{version}-%{release}
+
+%description -n %{name}-syntax_tools
+This package defines an abstract datatype that is compatible with the
+erl_parse data structures, and provides modules for analysis and
+manipulation, flexible pretty printing, and preservation of source-code
+comments. Now includes erl_tidy: automatic code tidying and checking.
+
+################################################################################
+
+%package -n %{name}-tftp
+Summary: Trivial FTP
+License: MPL
+Group: Development/Tools
+Requires: %{name}-base = %{version}-%{release}
+
+%description -n %{name}-tftp
+Trivial FTP.
+
+################################################################################
+
+%package -n %{name}-tools
+Summary: Set of programming tools including a coverage analyzer etc
+License: MPL
+Group: Development/Tools
+Requires: %{name}-base = %{version}-%{release}
+
+%description -n %{name}-tools
+The Tools application contains a number of stand-alone tools, which are
+useful when developing Erlang programs.
+
+################################################################################
+
+%package -n %{name}-typer
+Summary: Type annotator of Erlang code
+License: MPL
+Group: Development/Tools
+Requires: %{name}-base = %{version}-%{release}
+
+%description -n %{name}-typer
+A type annotator of Erlang code.
+
+################################################################################
+
+%package -n %{name}-wx
+Summary: Graphic system for Erlang
+License: MPL
+Group: Development/Tools
+Requires: %{name}-base = %{version}-%{release}
+
+%description -n %{name}-wx
+A Graphics System used to write platform independent user interfaces
+for Erlang.
+
+################################################################################
+
+%package -n %{name}-xmerl
+Summary: XML processing tools
+License: MPL
+Group: Development/Tools
+Requires: %{name}-base = %{version}-%{release}
+
+%description -n %{name}-xmerl
+Implements a set of tools for processing XML documents, as well as working
+with XML-like structures in Erlang. The main attraction so far is a
+single-pass, highly customizable XML processor. Other components are an
+export/translation facility and an XPATH query engine. This version fixes
+a few bugs in the scanner, and improves HTML export.
+
+################################################################################
+
+%prep
+%{crc_check}
+
+%setup -qn otp-OTP-%{ver_string}
+
+tar xzvf %{SOURCE10}
+
+%build
+export CFLAGS="%{optflags} -fPIC"
+export CXXLAGS=$CFLAGS
+export BUILDDIR=$(pwd)
+
+%if 0%{?rhel} <= 7
+# Use gcc and gcc-c++ from DevToolSet 11
+export PATH="/opt/rh/devtoolset-11/root/usr/bin:$PATH"
+%endif
+
+### Static LibreSSL build start ###
+
+pushd libressl-%{libre_ver}
+ mkdir build
+ # perfecto:ignore
+ ./configure --prefix=$(pwd)/build --enable-shared=no
+ %{__make} %{?_smp_mflags}
+ %{__make} install
+popd
+
+### Static LibreSSL build complete ###
+
+export CFLAGS="%{optflags} -fno-strict-aliasing"
+export CXXLAGS=$CFLAGS
+ERL_TOP=`pwd`; export ERL_TOP
+
+./otp_build autoconf
+
+%configure \
+ --prefix=%{_prefix} \
+ --exec-prefix=%{_prefix} \
+ --bindir=%{_bindir} \
+ --libdir=%{_libdir} \
+ --mandir=%{_mandir} \
+ --datadir=%{_datadir} \
+ %ifarch x86_64
+ --enable-m64-build \
+ %endif
+ --enable-threads \
+ --enable-kernel-poll \
+ --enable-smp-support \
+ --enable-builtin-zlib \
+ --enable-sctp \
+ --enable-systemd \
+ --with-ssl \
+ --disable-erlang-mandir \
+ --disable-dynamic-ssl-lib \
+ --with-ssl=$BUILDDIR/libressl-%{libre_ver}/build \
+ --with-ssl-rpath=no
+
+%{__make} %{?_smp_mflags}
+
+%install
+rm -rf %{buildroot}
+
+%{make_install} INSTALL_PREFIX=%{buildroot}
+
+install -d %{buildroot}%{_unitdir}
+install -pm 644 %{SOURCE3} %{buildroot}%{_unitdir}/epmd.service
+install -pm 644 %{SOURCE4} %{buildroot}%{_unitdir}/epmd.socket
+install -pm 644 %{SOURCE5} %{buildroot}%{_unitdir}/epmd@.service
+install -pm 644 %{SOURCE6} %{buildroot}%{_unitdir}/epmd@.socket
+
+# clean up
+find %{buildroot}%{_libdir}/erlang -perm 0775 | xargs chmod 755
+find %{buildroot}%{_libdir}/erlang -name Makefile | xargs chmod 644
+find %{buildroot}%{_libdir}/erlang -name \*.bat | xargs rm -f
+find %{buildroot}%{_libdir}/erlang -name index.txt.old | xargs rm -f
+
+# doc
+mkdir -p erlang_doc
+mkdir -p %{buildroot}%{_mandir}/erlang
+tar -C erlang_doc -xf %{SOURCE1}
+tar -C %{buildroot}%{_datadir} -xf %{SOURCE2}
+
+# make links to binaries
+mkdir -p %{buildroot}%{_bindir}
+pushd %{buildroot}%{_bindir}
+for file in erl erlc escript run_erl ; do
+ ln -sf ../%{_lib}/erlang/bin/$file .
+done
+popd
+
+# (tpg) fixes bug #32318
+mkdir -p %{buildroot}%{_sysconfdir}/emacs/site-start.d
+cat > %{buildroot}%{_sysconfdir}/emacs/site-start.d/erlang.el << EOF
+(setq load-path (cons "%{_libdir}/%{name}/lib/tools-*/emacs" load-path))
+(add-to-list 'load-path "%{_datadir}/emacs/site-lisp/ess")
+(load-library "erlang-start")
+EOF
+
+# remove buildroot from installed files
+pushd %{buildroot}%{_libdir}/erlang
+sed -i "s|%{buildroot}||" erts*/bin/{erl,start} releases/RELEASES bin/{erl,start}
+popd
+
+# (tpg) remove not needed files
+rm -rf %{buildroot}%{_datadir}/COPYRIGHT
+rm -rf %{buildroot}%{_datadir}/PR.template
+rm -rf %{buildroot}%{_datadir}/README.md
+
+# (tpg) remove this manpages as they conflicts with openssl
+rm -rf %{buildroot}%{_mandir}/man3/ssl.3.*
+rm -rf %{buildroot}%{_mandir}/man3/crypto.3.*
+rm -rf %{buildroot}%{_mandir}/man3/zlib.3.*
+
+%pre -n %{name}-base
+getent group epmd &> /dev/null || groupadd -r epmd &>/dev/null || :
+getent passwd epmd &> /dev/null || \
+ useradd -r -g epmd -d /dev/null -s /sbin/nologin \
+ -c "Erlang Port Mapper Daemon" epmd &>/dev/null || :
+
+%post -n %{name}-base
+%{_libdir}/erlang/Install -minimal %{_libdir}/erlang &>/dev/null || :
+%{__sysctl} enable epmd.service &>/dev/null || :
+
+%preun -n %{name}-base
+if [[ $1 -eq 0 ]] ; then
+ %{__sysctl} --no-reload disable epmd.service &>/dev/null || :
+ %{__sysctl} stop epmd.service &>/dev/null || :
+fi
+
+%postun -n %{name}-base
+if [[ $1 -ge 1 ]] ; then
+ %{__sysctl} daemon-reload &>/dev/null || :
+fi
+
+%clean
+rm -rf %{buildroot}
+
+################################################################################
+
+%files
+%defattr(-,root,root,-)
+%doc AUTHORS README.md
+
+%files -n %{name}-stack
+%defattr(-,root,root,-)
+%doc LICENSE.txt
+
+%files -n %{name}-base
+%defattr(-,root,root,-)
+%dir %{_libdir}/erlang
+%dir %{_libdir}/erlang/bin
+%dir %{_libdir}/erlang/lib
+%dir %{_libdir}/erlang/misc
+%{_unitdir}/epmd.service
+%{_unitdir}/epmd.socket
+%{_unitdir}/epmd@.service
+%{_unitdir}/epmd@.socket
+%{_bindir}/*
+%{_libdir}/erlang/Install
+%{_libdir}/erlang/bin/ct_run
+%{_libdir}/erlang/bin/epmd
+%{_libdir}/erlang/bin/erl
+%{_libdir}/erlang/bin/erl_call
+%{_libdir}/erlang/bin/erlc
+%{_libdir}/erlang/bin/escript
+%{_libdir}/erlang/bin/no_dot_erlang.boot
+%{_libdir}/erlang/bin/start.boot
+%{_libdir}/erlang/bin/start.script
+%{_libdir}/erlang/bin/start_clean.boot
+%{_libdir}/erlang/bin/start_sasl.boot
+%{_libdir}/erlang/erts-*
+%{_libdir}/erlang/misc/format_man_pages
+%{_libdir}/erlang/releases
+%{_libdir}/erlang/bin/run_erl
+%{_libdir}/erlang/bin/start
+%{_libdir}/erlang/bin/start_erl
+%{_libdir}/erlang/bin/to_erl
+%{elibdir}/erts-*
+%{elibdir}/kernel-*
+%{elibdir}/stdlib-*
+%{elibdir}/sasl-*
+
+%files -n %{name}-devel
+%defattr(-,root,root,-)
+%dir %{_libdir}/%{realname}/%{_includedir}
+%dir %{_libdir}/%{realname}/%{eprefix}
+%{_libdir}/%{realname}/%{_includedir}/*
+%{_libdir}/%{realname}/%{eprefix}/*
+
+%files -n %{name}-asn1
+%defattr(-,root,root,-)
+%{elibdir}/asn1-*
+
+%files -n %{name}-compiler
+%defattr(-,root,root,-)
+%{elibdir}/compiler-*
+
+%files -n %{name}-common_test
+%defattr(-,root,root,-)
+%{elibdir}/common_test-*
+
+%files -n %{name}-crypto
+%defattr(-,root,root,-)
+%{elibdir}/crypto-*
+
+%files -n %{name}-debugger
+%defattr(-,root,root,-)
+%{elibdir}/debugger-*
+
+%files -n %{name}-dialyzer
+%defattr(-,root,root,-)
+%{elibdir}/dialyzer-*
+%{_libdir}/%{realname}/bin/dialyzer
+
+%files -n %{name}-diameter
+%defattr(-,root,root,-)
+%{elibdir}/diameter-*
+
+%files -n %{name}-edoc
+%defattr(-,root,root,-)
+%{elibdir}/edoc-*
+
+%files -n %{name}-eldap
+%defattr(-,root,root,-)
+%{elibdir}/eldap-*
+
+%files -n %{name}-emacs
+%defattr(-,root,root,-)
+%{_sysconfdir}/emacs/site-start.d/erlang.el
+
+%files -n %{name}-erl_interface
+%defattr(-,root,root,-)
+%{elibdir}/erl_interface-*
+
+%files -n %{name}-et
+%defattr(-,root,root,-)
+%{elibdir}/et-*
+
+%files -n %{name}-eunit
+%defattr(-,root,root,-)
+%{elibdir}/eunit-*
+
+%files -n %{name}-ftp
+%defattr(-,root,root,-)
+%{elibdir}/ftp-*
+
+%files -n %{name}-inets
+%defattr(-,root,root,-)
+%{elibdir}/inets-*
+
+%files -n %{name}-jinterface
+%defattr(-,root,root,-)
+%{elibdir}/jinterface-*
+
+%files -n %{name}-manpages
+%defattr(-,root,root,-)
+%{_mandir}/*/*
+
+%files -n %{name}-megaco
+%defattr(-,root,root,-)
+%{elibdir}/megaco-*
+
+%files -n %{name}-mnesia
+%defattr(-,root,root,-)
+%{elibdir}/mnesia-*
+
+%files -n %{name}-observer
+%defattr(-,root,root,-)
+%{elibdir}/observer-*
+
+%files -n %{name}-odbc
+%defattr(-,root,root,-)
+%{elibdir}/odbc-*
+
+%files -n %{name}-os_mon
+%defattr(-,root,root,-)
+%{elibdir}/os_mon-*
+
+%files -n %{name}-parsetools
+%defattr(-,root,root,-)
+%{elibdir}/parsetools-*
+
+%files -n %{name}-public_key
+%defattr(-,root,root,-)
+%{elibdir}/public_key-*
+
+%files -n %{name}-reltool
+%defattr(-,root,root,-)
+%{elibdir}/reltool-*
+
+%files -n %{name}-runtime_tools
+%defattr(-,root,root,-)
+%{elibdir}/runtime_tools-*
+
+%files -n %{name}-snmp
+%defattr(-,root,root,-)
+%{elibdir}/snmp-*
+
+%files -n %{name}-ssh
+%defattr(-,root,root,-)
+%{elibdir}/ssh-*
+
+%files -n %{name}-ssl
+%defattr(-,root,root,-)
+%{elibdir}/ssl-*
+
+%files -n %{name}-syntax_tools
+%defattr(-,root,root,-)
+%{elibdir}/syntax_tools-*
+
+%files -n %{name}-tftp
+%defattr(-,root,root,-)
+%{elibdir}/tftp-*
+
+%files -n %{name}-tools
+%defattr(-,root,root,-)
+%{elibdir}/tools-*
+
+%files -n %{name}-typer
+%defattr(-,root,root,-)
+%{_libdir}/%{realname}/bin/typer
+
+%files -n %{name}-wx
+%defattr(-,root,root,-)
+%{elibdir}/wx-*
+
+%files -n %{name}-xmerl
+%defattr(-,root,root,-)
+%{elibdir}/xmerl-*
+
+################################################################################
+
+%changelog
+* Sun Aug 04 2024 Anton Novojilov - 27.0.1-0
+- https://github.com/erlang/otp/releases/tag/OTP-27.0.1
+
+* Wed May 22 2024 Anton Novojilov - 27.0-0
+- https://github.com/erlang/otp/releases/tag/OTP-27.0
diff --git a/specs/etcd.spec b/specs/etcd.spec
index 8dcd7e38f..dd7f17385 100644
--- a/specs/etcd.spec
+++ b/specs/etcd.spec
@@ -8,9 +8,9 @@
################################################################################
-Summary: Distributed reliable key-value store for the most critical data of a distributed system
+Summary: A highly-available key value store for shared configuration
Name: etcd
-Version: 3.5.13
+Version: 3.5.15
Release: 0%{?dist}
Group: Applications/Internet
License: APLv2
@@ -22,7 +22,7 @@ Source100: checksum.sha512
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-BuildRequires: git golang >= 1.20
+BuildRequires: git golang >= 1.21
Provides: %{name} = %{version}-%{release}
@@ -91,6 +91,12 @@ rm -rf %{buildroot}
################################################################################
%changelog
+* Thu Aug 15 2024 Anton Novojilov - 3.5.15-0
+- https://github.com/etcd-io/etcd/releases/tag/v3.5.15
+
+* Wed May 29 2024 Anton Novojilov - 3.5.14-0
+- https://github.com/etcd-io/etcd/releases/tag/v3.5.14
+
* Thu Apr 18 2024 Anton Novojilov - 3.5.13-0
- https://github.com/etcd-io/etcd/releases/tag/v3.5.13
diff --git a/specs/eza.spec b/specs/eza.spec
new file mode 100644
index 000000000..bd50a0f0c
--- /dev/null
+++ b/specs/eza.spec
@@ -0,0 +1,87 @@
+################################################################################
+
+%define checksum 2198529bf8fbabf069dc232f106c2c474e29b9d7571611f64e04299e0899b33b
+
+################################################################################
+
+Summary: A modern alternative to ls
+Name: eza
+Version: 0.19.2
+Release: 0%{?dist}
+Group: Development/Tools
+License: MIT
+URL: https://eza.rocks
+
+Source0: https://github.com/eza-community/eza/releases/download/v%{version}/eza_x86_64-unknown-linux-gnu.tar.gz
+Source1: https://github.com/eza-community/eza/releases/download/v%{version}/completions-%{version}.tar.gz
+Source2: https://github.com/eza-community/eza/releases/download/v%{version}/man-%{version}.tar.gz
+
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+
+Provides: %{name} = %{version}-%{release}
+
+################################################################################
+
+%description
+eza is a modern, maintained replacement for the venerable file-listing
+command-line program ls that ships with Unix and Linux operating systems, giving
+it more features and better defaults. It uses colours to distinguish file types
+and metadata. It knows about symlinks, extended attributes, and Git. And it’s
+small, fast, and just one single binary.
+
+By deliberately making some decisions differently, eza attempts to be a more
+featureful, more user-friendly version of ls.
+
+################################################################################
+
+%prep
+if [[ $(sha256sum -b %{SOURCE0} | cut -f1 -d' ') != "%{checksum}" ]] ; then
+ echo "Invalid source checksum"
+ exit 1
+fi
+
+%autosetup -c
+
+tar xzf %{SOURCE1}
+tar xzf %{SOURCE2}
+
+%build
+%install
+rm -rf %{buildroot}
+
+install -dm 755 %{buildroot}%{_bindir}
+
+install -pm 755 %{name} %{buildroot}%{_bindir}/
+
+install -pDm 644 target/completions-%{version}/%{name} \
+ %{buildroot}%{_datadir}/bash-completion/completions/%{name}
+install -pDm 644 target/completions-%{version}/%{name}.fish \
+ %{buildroot}%{_datarootdir}/fish/vendor_completions.d/%{name}.fish
+install -pDm 644 target/completions-%{version}/_%{name} \
+ %{buildroot}%{_datadir}/zsh/site-functions/_%{name}
+
+install -pDm 644 target/man-%{version}/%{name}.1 \
+ %{buildroot}%{_mandir}/man1/%{name}.1
+install -pDm 644 target/man-%{version}/%{name}_colors-explanation.5 \
+ %{buildroot}%{_mandir}/man5/%{name}_colors-explanation.5
+install -pDm 644 target/man-%{version}/%{name}_colors.5 \
+ %{buildroot}%{_mandir}/man5/%{name}_colors.5
+
+ln -s %{name} %{buildroot}%{_bindir}/exa
+
+################################################################################
+
+%files
+%defattr(-,root,root,-)
+%{_bindir}/%{name}
+%{_bindir}/exa
+%{_datadir}/bash-completion/completions/%{name}
+%{_datarootdir}/fish/vendor_completions.d/%{name}.fish
+%{_datadir}/zsh/site-functions/_%{name}
+%{_mandir}/*
+
+################################################################################
+
+%changelog
+* Wed Sep 11 2024 Anton Novojilov - 0.19.2-0
+- Initial build for kaos repository
diff --git a/specs/freexl.spec b/specs/freexl.spec
index 8e06e3fa7..545100af4 100644
--- a/specs/freexl.spec
+++ b/specs/freexl.spec
@@ -8,23 +8,23 @@
################################################################################
-Summary: Library to extract data from within an Excel spreadsheet
-Name: freexl
-Version: 1.0.6
-Release: 0%{?dist}
-License: MIT
-Group: System Environment/Libraries
-URL: https://www.gaia-gis.it/FreeXL
+Summary: Library to extract data from within an Excel spreadsheet
+Name: freexl
+Version: 2.0.0
+Release: 0%{?dist}
+License: MIT
+Group: System Environment/Libraries
+URL: https://www.gaia-gis.it/fossil/freexl/index
-Source0: https://www.gaia-gis.it/gaia-sins/freexl-sources/%{name}-%{version}.tar.gz
+Source0: https://www.gaia-gis.it/gaia-sins/freexl-sources/%{name}-%{version}.tar.gz
-Source100: checksum.sha512
+Source100: checksum.sha512
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-BuildRequires: make gcc doxygen
+BuildRequires: make gcc minizip-devel expat-devel
-Provides: %{name} = %{version}-%{release}
+Provides: %{name} = %{version}-%{release}
################################################################################
@@ -41,11 +41,11 @@ Design goals:
################################################################################
%package devel
-Summary: Development Libraries for FreeXL
-Group: Development/Libraries
+Summary: Development Libraries for FreeXL
+Group: Development/Libraries
-Requires: %{name} = %{version}-%{release}
-Requires: pkgconfig
+Requires: %{name} = %{version}-%{release}
+Requires: pkgconfig
%description devel
The %{name}-devel package contains libraries and header files for
@@ -64,21 +64,11 @@ developing applications that use %{name}.
%{__make} %{?_smp_mflags}
-# Mailed the author on Dec 5th 2011
-# Preserve date of header file
-sed -i 's/^INSTALL_HEADER = \$(INSTALL_DATA)/& -p/' headers/Makefile.in
-
-# Generate HTML documentation and clean unused installdox script
-doxygen
-
-rm -f html/installdox
-
%install
rm -rf %{buildroot}
%{make_install}
-# Delete undesired libtool archives
rm -f %{buildroot}%{_libdir}/lib%{name}.la
%check
@@ -86,11 +76,6 @@ rm -f %{buildroot}%{_libdir}/lib%{name}.la
%{__make} check
%endif
-# Clean up
-pushd examples
- %{__make} clean
-popd
-
%clean
rm -rf %{buildroot}
@@ -109,7 +94,7 @@ rm -rf %{buildroot}
%files devel
%defattr(-,root,root,-)
-%doc examples html
+%doc examples
%{_includedir}/freexl.h
%{_libdir}/lib%{name}.so
%{_libdir}/pkgconfig/freexl.pc
@@ -117,6 +102,9 @@ rm -rf %{buildroot}
################################################################################
%changelog
+* Thu Aug 15 2024 Anton Novojilov - 2.0.0-0
+- https://www.gaia-gis.it/gaia-sins/freexl-2.0.0-doxy-doc/html/index.html
+
* Sun Dec 11 2022 Anton Novojilov - 1.0.6-0
- Updated to the latest stable release
diff --git a/specs/gdal3.spec b/specs/gdal3.spec
index 6f0a6c7a1..ea2941883 100644
--- a/specs/gdal3.spec
+++ b/specs/gdal3.spec
@@ -10,40 +10,27 @@
################################################################################
-%define realname gdal
-
-%if 0%{?rhel} <= 7
-%define fullname %{realname}3
-%else
-%define fullname %{realname}
-%endif
-
# The oldest supported PG version
-%define pg_short_ver 10
+%define pg_short_ver 12
%define pg_lib_dir %{_prefix}/pgsql-%{pg_short_ver}/lib
################################################################################
Summary: A translator library for raster and vector geospatial data formats
-Name: %{fullname}
-Version: 3.7.3
+Name: gdal
+Version: 3.9.1
Release: 0%{?dist}
License: MIT
Group: Development/Libraries
URL: https://www.gdal.org
-Source0: https://download.osgeo.org/%{realname}/%{version}/%{realname}-%{version}.tar.gz
+Source0: https://download.osgeo.org/%{name}/%{version}/%{name}-%{version}.tar.gz
Source100: checksum.sha512
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-%if 0%{?rhel} <= 7
-BuildRequires: cmake3
-%else
BuildRequires: cmake swig
-%endif
-
BuildRequires: gcc-c++ bison expat-devel freexl-devel geos-devel hdf-devel
BuildRequires: libgeotiff-devel libjpeg-turbo-devel libpng-devel
BuildRequires: libtiff-devel libzstd-devel libwebp-devel netcdf-devel
@@ -53,7 +40,7 @@ BuildRequires: postgresql%{pg_short_ver}-devel
BuildRequires: sqlite-devel >= %{sqlite_ver}
BuildRequires: libcurl-devel >= %{libcurl_ver}
-BuildRequires: hdf5-devel = %{hdf5_ver}
+BuildRequires: hdf5-devel >= %{hdf5_ver}
Requires: libcurl >= %{libcurl_ver}
Requires: sqlite-libs >= %{sqlite_ver}
@@ -100,12 +87,15 @@ Development Libraries for the GDAL file format library.
%prep
%{crc_check}
-%setup -qn %{realname}-%{version}
+%setup -qn %{name}-%{version}
%build
%{cmake3} \
- -DCMAKE_INSTALL_INCLUDEDIR=include/%{realname} \
+ -DCMAKE_INSTALL_INCLUDEDIR=include/%{name} \
+ -DGDAL_USE_TIFF_INTERNAL=ON \
+ -DGDAL_USE_GEOTIFF_INTERNAL=ON \
-DGDAL_USE_JPEG12_INTERNAL=OFF \
+ -DGDAL_USE_OPENEXR=OFF \
-DBUILD_PYTHON_BINDINGS=OFF \
-DENABLE_DEFLATE64=OFF
@@ -130,8 +120,8 @@ rm -rf %{buildroot}
%files
%defattr(-,root,root)
%doc README.md NEWS.md PROVENANCE.TXT LICENSE.TXT SECURITY.md CODE_OF_CONDUCT.md
-%exclude %{_mandir}/man1/%{realname}-config.1*
-%exclude %{_bindir}/%{realname}-config*
+%exclude %{_mandir}/man1/%{name}-config.1*
+%exclude %{_bindir}/%{name}-config*
%exclude %{_datadir}/bash-completion/completions/*.py
%{_bindir}/*
%{_mandir}/man1/*
@@ -139,22 +129,25 @@ rm -rf %{buildroot}
%files libs
%defattr(-,root,root)
-%{_libdir}/lib%{realname}.so.*
-%{_datadir}/%{realname}/
-%{_libdir}/%{realname}plugins/
+%{_libdir}/lib%{name}.so.*
+%{_datadir}/%{name}/
+%{_libdir}/%{name}plugins/
%files devel
%defattr(-,root,root)
-%{_bindir}/%{realname}-config*
-%{_includedir}/%{realname}/
-%{_libdir}/lib%{realname}.so
-%{_libdir}/cmake/%{realname}/
-%{_libdir}/pkgconfig/%{realname}.pc
-%{_mandir}/man1/%{realname}-config.1*
+%{_bindir}/%{name}-config*
+%{_includedir}/%{name}/
+%{_libdir}/lib%{name}.so
+%{_libdir}/cmake/%{name}/
+%{_libdir}/pkgconfig/%{name}.pc
+%{_mandir}/man1/%{name}-config.1*
################################################################################
%changelog
+* Thu Aug 15 2024 Anton Novojilov - 3.9.1-0
+- https://github.com/OSGeo/gdal/blob/v3.9.1/NEWS.md
+
* Sat Dec 09 2023 Anton Novojilov - 3.7.3-0
- https://github.com/OSGeo/gdal/blob/v3.7.3/NEWS.md
diff --git a/specs/geos.spec b/specs/geos.spec
index 226f6b32a..6ae2c55bc 100644
--- a/specs/geos.spec
+++ b/specs/geos.spec
@@ -10,7 +10,7 @@
Summary: GEOS is a C++ port of the Java Topology Suite
Name: geos
-Version: 3.12.0
+Version: 3.12.2
Release: 0%{?dist}
License: LGPLv2
Group: Applications/Engineering
@@ -87,10 +87,10 @@ popd
%endif
%post
-%{_sbindir}/ldconfig
+/sbin/ldconfig
%postun
-%{_sbindir}/ldconfig
+/sbin/ldconfig
%clean
rm -rf %{buildroot}
@@ -118,6 +118,9 @@ rm -rf %{buildroot}
################################################################################
%changelog
+* Fri Aug 16 2024 Anton Novojilov - 3.12.2-0
+- https://github.com/libgeos/geos/blob/3.12.2/NEWS.md
+
* Tue Sep 19 2023 Anton Novojilov - 3.12.0-0
- https://github.com/libgeos/geos/blob/3.12.0/NEWS.md
diff --git a/specs/git.spec b/specs/git.spec
index 5628063fb..5b494a1a2 100644
--- a/specs/git.spec
+++ b/specs/git.spec
@@ -15,7 +15,7 @@
Summary: Core git tools
Name: git
-Version: 2.44.0
+Version: 2.46.0
Release: 0%{?dist}
License: GPL
Group: Development/Tools
@@ -176,11 +176,7 @@ Perl interface to Git
%setup -qn %{name}-%{version}
%build
-%if 0%{?rhel} <= 7
- export CFLAGS="%{optflags} -std=gnu99"
-%else
- export CFLAGS="%{optflags}"
-%endif
+export CFLAGS="%{optflags}"
%{__make} %{?_smp_mflags} CFLAGS="$CFLAGS" \
%{path_settings} \
@@ -189,11 +185,7 @@ Perl interface to Git
%install
rm -rf %{buildroot}
-%if 0%{?rhel} <= 7
- export CFLAGS="%{optflags} -std=gnu99"
-%else
- export CFLAGS="%{optflags}"
-%endif
+export CFLAGS="%{optflags}"
%{__make} %{?_smp_mflags} CFLAGS="$CFLAGS" DESTDIR=%{buildroot} \
%{path_settings} \
@@ -283,6 +275,21 @@ rm -rf %{buildroot}
################################################################################
%changelog
+* Thu Aug 15 2024 Anton Novojilov - 2.46.0-0
+- https://github.com/git/git/blob/master/Documentation/RelNotes/2.46.0.txt
+
+* Thu Aug 15 2024 Anton Novojilov - 2.45.2-0
+- https://github.com/git/git/blob/master/Documentation/RelNotes/2.45.2.txt
+
+* Wed May 29 2024 Anton Novojilov - 2.45.1-0
+- https://github.com/git/git/blob/master/Documentation/RelNotes/2.45.1.txt
+
+* Wed May 29 2024 Anton Novojilov - 2.45.0-0
+- https://github.com/git/git/blob/master/Documentation/RelNotes/2.45.0.txt
+
+* Wed May 29 2024 Anton Novojilov - 2.44.1-0
+- https://github.com/git/git/blob/master/Documentation/RelNotes/2.44.1.txt
+
* Thu Apr 18 2024 Anton Novojilov - 2.44.0-0
- https://github.com/git/git/blob/master/Documentation/RelNotes/2.44.0.txt
diff --git a/specs/goaccess/SOURCES/extra-browsers.list b/specs/goaccess/SOURCES/extra-browsers.list
new file mode 100644
index 000000000..4c262ff94
--- /dev/null
+++ b/specs/goaccess/SOURCES/extra-browsers.list
@@ -0,0 +1,12 @@
+# Extra Crawlers
+ClaudeBot Crawlers
+
+# Package managers
+libdnf PkgManager
+urlgrabber PkgManager
+Nexus PkgManager
+bundler PkgManager
+RubyGems PkgManager
+
+# Status check services
+updown.io StatusCheck
diff --git a/specs/goaccess/goaccess.spec b/specs/goaccess/goaccess.spec
index 0bde29ca8..39ab1758b 100644
--- a/specs/goaccess/goaccess.spec
+++ b/specs/goaccess/goaccess.spec
@@ -6,13 +6,14 @@
Summary: Real-time web log analyzer and interactive viewer
Name: goaccess
-Version: 1.9.2
+Version: 1.9.3
Release: 0%{?dist}
Group: Development/Tools
License: GPLv2+
URL: https://goaccess.io
Source0: https://tar.goaccess.io/goaccess-%{version}.tar.gz
+Source1: extra-browsers.list
Source100: checksum.sha512
Patch1: webkaos-formats.patch
@@ -36,11 +37,8 @@ for system administrators that require a visual server report on the fly.
################################################################################
%prep
-%{crc_check}
-
-%setup -q
-
-%patch1 -p1
+%crc_check
+%autosetup -p1
%build
%configure --enable-utf8 \
@@ -54,6 +52,8 @@ for system administrators that require a visual server report on the fly.
rm -rf %{buildroot}
%{make_install}
+cat %{SOURCE1} >> %{buildroot}%{_sysconfdir}/%{name}/browsers.list
+
%clean
rm -rf %{buildroot}
@@ -72,6 +72,12 @@ rm -rf %{buildroot}
################################################################################
%changelog
+* Sat Aug 17 2024 Anton Novojilov - 1.9.3-0
+- https://goaccess.io/release-notes#release-1.9.3
+
+* Wed May 08 2024 Anton Novojilov - 1.9.2-0
+- Added extra user-agents for package managers and status check services
+
* Thu Apr 18 2024 Anton Novojilov - 1.9.2-0
- https://goaccess.io/release-notes#release-1.9.2
diff --git a/specs/golang/golang.spec b/specs/golang/golang.spec
index adef06cf0..4ba1980b2 100644
--- a/specs/golang/golang.spec
+++ b/specs/golang/golang.spec
@@ -25,13 +25,13 @@
%global gohostarch 386
%endif
-%global go_api 1.22
+%global go_api 1.23
################################################################################
Summary: The Go Programming Language
Name: golang
-Version: 1.22.2
+Version: 1.23.1
Release: 0%{?dist}
License: BSD
Group: Development/Languages
@@ -47,7 +47,7 @@ Patch0: disable-google.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-BuildRequires: golang >= 1.20
+BuildRequires: golang >= 1.22
Requires: %{name}-bin = %{version}-%{release}
Requires: %{name}-src = %{version}-%{release}
@@ -127,11 +127,8 @@ for _,d in pairs({"api", "doc", "include", "lib", "src"}) do
end
%prep
-%{crc_check}
-
-%setup -qn go
-
-%patch0 -p1
+%crc_check
+%autosetup -p1 -n go
%build
export CC="gcc"
@@ -237,6 +234,24 @@ rm -rf %{buildroot}
################################################################################
%changelog
+* Fri Sep 06 2024 Anton Novojilov - 1.23.1-0
+- https://github.com/golang/go/issues?q=milestone:Go1.23.1+label:CherryPickApproved
+
+* Thu Aug 15 2024 Anton Novojilov - 1.23.0-0
+- https://go.dev/doc/go1.23
+
+* Sun Aug 11 2024 Anton Novojilov - 1.22.6-0
+- https://github.com/golang/go/issues?q=milestone:Go1.22.6+label:CherryPickApproved
+
+* Wed Jul 03 2024 Anton Novojilov - 1.22.5-0
+- https://github.com/golang/go/issues?q=milestone:Go1.22.5+label:CherryPickApproved
+
+* Wed Jun 05 2024 Anton Novojilov - 1.22.4-0
+- https://github.com/golang/go/issues?q=milestone:Go1.22.4+label:CherryPickApproved
+
+* Sun May 12 2024 Anton Novojilov - 1.22.3-0
+- https://github.com/golang/go/issues?q=milestone:Go1.22.3+label:CherryPickApproved
+
* Thu Apr 04 2024 Anton Novojilov - 1.22.2-0
- https://github.com/golang/go/issues?q=milestone:Go1.22.2+label:CherryPickApproved
diff --git a/specs/gradle.spec b/specs/gradle.spec
index 009307993..76974d9cc 100644
--- a/specs/gradle.spec
+++ b/specs/gradle.spec
@@ -14,7 +14,7 @@
Summary: A powerful build system for the JVM
Name: gradle
-Version: 8.7
+Version: 8.10
Release: 0%{?dist}
License: ASL 2.0
Group: Development/Tools
@@ -77,6 +77,9 @@ rm -rf %{buildroot}
################################################################################
%changelog
+* Fri Aug 16 2024 Anton Novojilov - 8.10-0
+- https://docs.gradle.org/8.10/release-notes.html
+
* Thu Apr 18 2024 Anton Novojilov - 8.7-0
- https://docs.gradle.org/8.7/release-notes.html
diff --git a/specs/haproxy/haproxy.spec b/specs/haproxy/haproxy.spec
index af198032d..6057b1a72 100644
--- a/specs/haproxy/haproxy.spec
+++ b/specs/haproxy/haproxy.spec
@@ -12,9 +12,9 @@
%define hp_confdir %{_sysconfdir}/%{name}
%define hp_datadir %{_datadir}/%{name}
-%define lua_ver 5.4.6
-%define pcre_ver 10.43
-%define openssl_ver 3.1.5
+%define lua_ver 5.4.7
+%define pcre_ver 10.44
+%define openssl_ver 3.2.2
%define ncurses_ver 6.4
%define readline_ver 8.2
@@ -22,13 +22,13 @@
Name: haproxy
Summary: TCP/HTTP reverse proxy for high availability environments
-Version: 2.8.9
+Version: 3.0.3
Release: 0%{?dist}
License: GPLv2+
URL: https://haproxy.1wt.eu
Group: System Environment/Daemons
-Source0: https://www.haproxy.org/download/2.8/src/%{name}-%{version}.tar.gz
+Source0: https://www.haproxy.org/download/3.0/src/%{name}-%{version}.tar.gz
Source1: %{name}.cfg
Source2: %{name}.logrotate
@@ -42,13 +42,9 @@ Source100: checksum.sha512
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-BuildRequires: make zlib-devel systemd-devel perl perl-IPC-Cmd
+BuildRequires: make gcc-c++ zlib-devel systemd-devel perl perl-IPC-Cmd
-%if 0%{?rhel} <= 7
-BuildRequires: devtoolset-11-gcc-c++ devtoolset-11-binutils
-%else
-BuildRequires: gcc-c++
-%endif
+Conflicts: haproxy22 haproxy24 haproxy26 haproxy28 haproxy30
Provides: %{name} = %{version}-%{release}
@@ -69,7 +65,7 @@ possibility not to expose fragile web servers to the net.
%prep
%{crc_check}
-%setup -q
+%setup -qn %{name}-%{version}
tar xzvf %{SOURCE10}
tar xzvf %{SOURCE11}
@@ -79,11 +75,6 @@ tar xzvf %{SOURCE14}
%build
-%if 0%{?rhel} <= 7
-# Use gcc and gcc-c++ from DevToolSet 11
-export PATH="/opt/rh/devtoolset-11/root/usr/bin:$PATH"
-%endif
-
### DEPS BUILD START ###
export BUILDDIR=$(pwd)
@@ -170,10 +161,6 @@ rm -rf %{buildroot}
%{__make} install-bin DESTDIR=%{buildroot} PREFIX=%{_prefix}
%{__make} install-man DESTDIR=%{buildroot} PREFIX=%{_prefix}
-pushd admin/systemd
- %{__make}
-popd
-
install -pDm 0644 %{SOURCE1} %{buildroot}%{hp_confdir}/%{name}.cfg
install -pDm 0644 %{SOURCE2} %{buildroot}%{_sysconfdir}/logrotate.d/%{name}
@@ -229,577 +216,101 @@ fi
################################################################################
%changelog
-* Tue Apr 16 2024 Anton Novojilov - 2.8.9-0
-- BUILD: proxy: Replace free_logformat_list() to manually release log-format
-
-* Tue Apr 16 2024 Anton Novojilov - 2.8.8-0
-- MINOR: mux-h2: add a counter of "glitches" on a connection
-- BUG/MINOR: mux-h2: count rejected DATA frames against the connection's flow
- control
-- MINOR: mux-h2: count excess of CONTINUATION frames as a glitch
-- MINOR: mux-h2: count late reduction of INITIAL_WINDOW_SIZE as a glitch
-- MINOR: mux-h2: always use h2c_report_glitch()
-- MEDIUM: mux-h2: allow to set the glitches threshold to kill a connection
-- MINOR: connection: add a new mux_ctl to report number of connection glitches
-- MINOR: mux-h2: implement MUX_CTL_GET_GLITCHES
-- MINOR: connection: add sample fetches to report per-connection glitches
-- BUG/MAJOR: promex: fix crash on deleted server
-- BUG/MINOR: quic: reject unknown frame type
-- BUG/MINOR: quic: reject HANDSHAKE_DONE as server
-- BUG/MINOR: qpack: reject invalid increment count decoding
-- BUG/MINOR: qpack: reject invalid dynamic table capacity
-- DOC: quic: Missing tuning setting in "Global parameters"
-- BUG/MEDIUM: applet: Immediately free appctx on early error
-- BUG/MEDIUM: hlua: Be able to garbage collect uninitialized lua sockets
-- BUG/MEDIUM: hlua: Don't loop if a lua socket does not consume received data
-- BUG/MEDIUM: quic: fix transient send error with listener socket
-- DOC: quic: fix recommandation for bind on multiple address
-- MINOR: quic: warn on bind on multiple addresses if no IP_PKTINFO support
-- BUG/MINOR: ist: allocate nul byte on istdup
-- BUG/MINOR: stats: drop srv refcount on early release
-- BUG/MAJOR: server: fix stream crash due to deleted server
-- BUG/MINOR: quic: fix output of show quic
-- BUG/MINOR: ist: only store NUL byte on succeeded alloc
-- BUG/MINOR: ssl/cli: duplicate cleaning code in cli_parse_del_crtlist
-- LICENSE: event_hdl: fix GPL license version
-- LICENSE: http_ext: fix GPL license version
-- DOC: configuration: clarify ciphersuites usage
-- BUG/MINOR: config/quic: Alert about PROXY protocol use on a QUIC listener
-- BUG/MINOR: hlua: Fix log level to the right value when set via
- TXN:set_loglevel
-- MINOR: hlua: Be able to disable logging from lua
-- BUG/MINOR: tools: seed the statistical PRNG slightly better
-- BUG/MINOR: hlua: fix unsafe lua_tostring() usage with empty stack
-- BUG/MINOR: hlua: don't use lua_tostring() from unprotected contexts
-- BUG/MINOR: hlua: fix possible crash in hlua_filter_new() under load
-- BUG/MINOR: hlua: improper lock usage in hlua_filter_callback()
-- BUG/MINOR: hlua: improper lock usage in hlua_filter_new()
-- BUG/MEDIUM: hlua: improper lock usage with SET_SAFE_LJMP()
-- BUG/MAJOR: hlua: improper lock usage with hlua_ctx_resume()
-- BUG/MINOR: hlua: don't call ha_alert() in hlua_event_subscribe()
-- BUG/MINOR: sink: fix a race condition in the TCP log forwarding code
-- CI: skip scheduled builds on forks
-- BUG/MINOR: ssl/cli: typo in new ssl crl-file CLI description
-- BUG/MINOR: cfgparse: report proper location for log-format-sd errors
-- BUILD: solaris: fix compilation errors
-- DOC: configuration: clarify ciphersuites usage (V2)
-- BUG/MINOR: ssl: fix possible ctx memory leak in sample_conv_aes_gcm()
-- BUG/MINOR: hlua: segfault when loading the same filter from different contexts
-- BUG/MINOR: hlua: missing lock in hlua_filter_new()
-- BUG/MINOR: hlua: fix missing lock in hlua_filter_delete()
-- DEBUG: lua: precisely identify if stream is stuck inside lua or not
-- MINOR: hlua: use accessors for stream hlua ctx
-- BUG/MEDIUM: hlua: streams don't support mixing lua-load with
- lua-load-per-thread (2nd try)
-- BUG/MINOR: listener: Wake proxy's mngmt task up if necessary on session
- release
-- BUG/MINOR: listener: Don't schedule frontend without task in
- listener_release()
-- BUG/MEDIUM: spoe: Don't rely on stream's expiration to detect processing
- timeout
-- BUG/MINOR: spoe: Be sure to be able to quickly close IDLE applets on soft-stop
-- CI: temporarily adjust kernel entropy to work with ASAN/clang
-- BUG/MEDIUM: spoe: Return an invalid frame on recv if size is too small
-- BUG/MINOR: session: ensure conn owner is set after insert into session
-- BUG/MEDIUM: ssl: Fix crash in ocsp-update log function
-- BUG/MINOR: mux-quic: close all QCS before freeing QCC tasklet
-- BUG/MEDIUM: mux-fcgi: Properly handle EOM flag on end-of-trailers HTX block
-- OPTIM: http_ext: avoid useless copy in http_7239_extract_{ipv4,ipv6}
-- BUG/MINOR: server: 'source' interface ignored from 'default-server' directive
-- BUG/MINOR: ssl: Wrong ocsp-update "incompatibility" error message
-- BUG/MINOR: ssl: Detect more 'ocsp-update' incompatibilities
-- BUG/MINOR: server: fix persistence cookie for dynamic servers
-- MINOR: server: allow cookie for dynamic servers
-- MINOR: cli: Remove useless loop on commands to find unescaped semi-colon
-- BUG/MEDIUM: cli: Warn if pipelined commands are delimited by a \n
-- BUG/MINOR: server: ignore 'enabled' for dynamic servers
-- BUG/MINOR: backend: properly handle redispatch 0
-- BUG/MINOR: proxy: fix logformat expression leak in use_backend rules
-
-* Fri Mar 22 2024 Anton Novojilov - 2.8.7-0
-- BUG/MAJOR: ssl/ocsp: crash with ocsp when old process exit or using ocsp CLI
-
-* Thu Mar 21 2024 Anton Novojilov - 2.8.6-0
-- DOC: configuration: typo req.ssl_hello_type
-- BUG/MINOR: mworker/cli: fix set severity-output support
-- BUG/MEDIUM: quic: Possible buffer overflow when building TLS records
-- BUG/MEDIUM: quic: QUIC CID removed from tree without locking
-- BUG/MEDIUM: mux-h2: Report too large HEADERS frame only when rxbuf is empty
-- BUG/MINOR: resolvers: default resolvers fails when network not configured
-- DOC: config: Update documentation about local haproxy response
-- MINOR: stats: store the parent proxy in stats ctx (http)
-- BUG/MEDIUM: stats: unhandled switching rules with TCP frontend
-- BUG/MINOR: mux-quic: always report error to SC on RESET_STREAM emission
-- BUG/MINOR: quic: Wrong keylog callback setting.
-- BUG/MINOR: quic: Missing call to TLS message callbacks
-- MINOR: h3: check connection error during sending
-- BUG/MINOR: h3: close connection on header list too big
-- BUG/MINOR: h3: properly handle alloc failure on finalize
-- BUG/MINOR: h3: close connection on sending alloc errors
-- CLEANUP: quic: Remaining useless code into server part
-- BUG/MEDIUM: h3: fix incorrect snd_buf return value
-- BUG/MEDIUM: stconn: Forward shutdown on write timeout only if it is
- forwardable
-- BUG/MEDIUM: spoe: Never create new spoe applet if there is no server up
-- MINOR: mux-h2: support limiting the total number of H2 streams per connection
-- DOC: configuration: corrected description of keyword
- tune.ssl.ocsp-update.mindelay
-- BUG/MINOR: mux-quic: do not prevent non-STREAM sending on flow control
-- BUG/MINOR: mux-h2: also count streams for refused ones
-- BUG/MEDIUM: quic: keylog callback not called (USE_OPENSSL_COMPAT)
-- MINOR: compiler: add a new DO_NOT_FOLD() macro to prevent code folding
-- MINOR: debug: make sure calls to ha_crash_now() are never merged
-- MINOR: debug: make ABORT_NOW() store the caller's line number when using abort
-- MINOR: debug: make BUG_ON() catch build errors even without DEBUG_STRICT
-- MINOR: mux-h2/traces: also suggest invalid header upon parsing error
-- MINOR: mux-h2/traces: explicitly show the error/refused stream states
-- MINOR: mux-h2/traces: clarify the "rejected H2 request" event
-- BUG/MEDIUM: mux-h2: refine connection vs stream error on headers
-- MINOR: mux-h2/traces: add a missing trace on connection WU with negative inc
-- REGTESTS: add a test to ensure map-ordering is preserved
-- BUG/MEDIUM: cli: some err/warn msg dumps add LR into CSV output on stat's CLI
-- BUG/MINOR: vars/cli: fix missing LF after "get var" output
-- BUG/MEDIUM: cli: fix once for all the problem of missing trailing LFs
-- BUG/MINOR: jwt: fix jwt_verify crash on 32-bit archs
-- BUG/MEDIUM: pool: fix rare risk of deadlock in pool_flush()
-- BUG/MEDIUM: stconn: Allow expiration update when READ/WRITE event is pending
-- BUG/MEDIUM: stconn: Don't check pending shutdown to wake an applet up
-- BUG/MINOR: h1: Don't support LF only at the end of chunks
-- BUG/MEDIUM: h1: Don't support LF only to mark the end of a chunk size
-- BUG/MINOR: h1-htx: properly initialize the err_pos field
-- BUG/MEDIUM: h1: always reject the NUL character in header values
-- BUG/MAJOR: ssl_sock: Always clear retry flags in read/write functions
-- BUG/MINOR: ssl: Fix error message after ssl_sock_load_ocsp call
-- BUG/MINOR: ssl: Duplicate ocsp update mode when dup'ing ckch
-- BUG/MINOR: ssl: Clear the ckch instance when deleting a crt-list line
-- MINOR: ssl: Use OCSP_CERTID instead of ckch_store in ckch_store_build_certid
-- BUG/MEDIUM: ocsp: Separate refcount per instance and per store
-- BUG/MINOR: ssl: Destroy ckch instances before the store during deinit
-- BUG/MINOR: ssl: Reenable ocsp auto-update after an "add ssl crt-list"
-- REGTESTS: ssl: Fix empty line in cli command input
-- REGTESTS: ssl: Add OCSP related tests
-- BUG/MEDIUM: ssl: Fix crash when calling "update ssl ocsp-response" when an
- update is ongoing
-- BUG/MINOR: h3: fix checking on NULL Tx buffer
-- BUG/MEDIUM: mux-quic: report early error on stream
-- CLEANUP: quic: Remove unused CUBIC_BETA_SCALE_FACTOR_SHIFT macro.
-- MINOR: quic: Stop hardcoding a scale shifting value
- (CUBIC_BETA_SCALE_FACTOR_SHIFT)
-- MINOR: quic: extract qc_stream_buf free in a dedicated function
-- BUG/MEDIUM: quic: remove unsent data from qc_stream_desc buf
-- MINOR: h3: add traces for stream sending function
-- BUG/MEDIUM: h3: do not crash on invalid response status code
-- BUG/MEDIUM: qpack: allow 6xx..9xx status codes
-- BUG/MEDIUM: quic: fix crash on invalid qc_stream_buf_free() BUG_ON
-- BUG/MINOR: quic: Wrong ack ranges handling when reaching the limit.
-- CLEANUP: quic: Code clarifications for QUIC CUBIC (RFC 9438)
-- BUG/MINOR: quic: fix possible integer wrap around in cubic window calculation
-- MINOR: quic: Stop using 1024th of a second.
-- BUG/MEDIUM: quic: Wrong K CUBIC calculation.
-- MINOR: quic: Update K CUBIC calculation (RFC 9438)
-- MINOR: quic: Dynamic packet reordering threshold
-- MINOR: quic: Add a counter for reordered packets
-- MINOR: errors: ha_alert() and ha_warning() uses warn_exec_path()
-- BUG/MINOR: diag: always show the version before dumping a diag warning
-- BUG/MINOR: diag: run the final diags before quitting when using -c
-- MINOR: ext-check: add an option to preserve environment variables
-- BUG/MINOR: ext-check: cannot use without preserve-env
-- BUILD: address a few remaining calloc(size, n) cases
-- DOC: configuration: clarify http-request wait-for-body
-- DOC: httpclient: add dedicated httpclient section
-- DOC: install: recommend pcre2
-- DOC: internal: update missing data types in peers-v2.0.txt
-- CI: Update to actions/cache@v4
-- DEV: makefile: add a new "range" target to iteratively build all commits
-- DEV: makefile: fix POSIX compatibility for "range" target
-
-* Wed Jan 17 2024 Anton Novojilov - 2.8.5-0
-- BUG/MAJOR: quic: complete thread migration before tcp-rules
-- BUG/MEDIUM: mux-h2: fail earlier on malloc in takeover()
-- BUG/MEDIUM: mux-h1: fail earlier on malloc in takeover()
-- BUG/MEDIUM: mux-fcgi: fail earlier on malloc in takeover()
-- BUG/MINOR: stream/cli: report correct stream age in "show sess"
-- MINOR: stktable: add stktable_deinit function
-- BUG/MINOR: proxy/stktable: missing frees on proxy cleanup
-- REGTESTS: http: add a test to validate chunked responses delivery
-- BUG/MINOR: startup: set GTUNE_SOCKET_TRANSFER correctly
-- BUG/MINOR: sock: mark abns sockets as non-suspendable and always unbind them
-- BUG/MEDIUM: quic: Possible crash for connections to be killed
-- BUG/MINOR: quic: Possible RX packet memory leak under heavy load
-- BUG/MINOR: server: do not leak default-server in defaults sections
-- DOC: 51d: updated 51Degrees repo URL for v3.2.10
-- DOC: config: fix timeout check inheritance restrictions
-- REGTESTS: connection: disable http_reuse_be_transparent.vtc if !TPROXY
-- DOC: lua: add sticktable class reference from Proxy.stktable
-- DOC: lua: fix Proxy.get_mode() output
-- BUG/MINOR: quic: fix CONNECTION_CLOSE_APP encoding
-- BUG/MINOR: compression: possible NULL dereferences in
- comp_prepare_compress_request()
-- BUG/MEDIUM: master/cli: Properly pin the master CLI on thread 1 / group 1
-- BUG/MINOR: h3: fix TRAILERS encoding
-- BUG/MINOR: h3: always reject PUSH_PROMISE
-- DOC: config: fix missing characters in set-spoe-group action
-- BUG/MINOR: quic_tp: fix preferred_address decoding
-- BUG/MINOR: config: Stopped parsing upon unmatched environment variables
-- BUG/MINOR: cfgparse-listen: fix warning being reported as an alert
-- DOC: config: specify supported sections for "max-session-srv-conns"
-- DOC: config: add matrix entry for "max-session-srv-conns"
-- DOC: config: fix monitor-fail typo
-- REGTESTS: sample: Test the behavior of consecutive delimiters for the field
- converter
-- BUG/MINOR: sample: Make the `word` converter compatible with `-m found`
-- DOC: Clarify the differences between field() and word()
-- BUG/MEDIUM: peers: fix partial message decoding
-- BUG/MINOR: cache: Remove incomplete entries from the cache when stream
- is closed
-- BUG/MEDIUM: quic: Possible crash during retransmissions and heavy load
-- BUG/MINOR: quic: Possible leak of TX packets under heavy load
-- BUG/MINOR: quic: Missing QUIC connection path member initialization
-- BUG/MINOR: quic: Packet number spaces too lately initialized
-- BUG/MINOR: ssl: Double free of OCSP Certificate ID
-- MINOR: ssl/cli: Add ha_(warning|alert) msgs to CLI ckch callback
-- BUG/MINOR: ssl: Wrong OCSP CID after modifying an SSL certficate
-- BUG/MINOR: lua: Wrong OCSP CID after modifying an SSL certficate (LUA)
-- BUG/MEDIUM: proxy: always initialize the default settings after init
-
-* Wed Dec 06 2023 Anton Novojilov - 2.8.4-0
-- BUILD: bug: make BUG_ON() void to avoid a rare warning
-- BUG/MINOR: quic: Leak of frames to send.
-- BUG/MINOR: quic: Wrong cluster secret initialization
-- MINOR: quic: QUIC openssl wrapper implementation
-- MINOR: quic: Include QUIC opensssl wrapper header from TLS stacks
- compatibility header
-- MINOR: quic: Do not enable O-RTT with USE_QUIC_OPENSSL_COMPAT
-- MINOR: quic: Set the QUIC connection as extra data before calling
- SSL_set_quic_method()
-- MINOR: quic: Do not enable 0RTT with SSL_set_quic_early_data_enabled()
-- MINOR: quic: Add a compilation option for the QUIC OpenSSL wrapper
-- MINOR: quic: Export some KDF functions (QUIC-TLS)
-- MINOR: quic: Initialize TLS contexts for QUIC openssl wrapper
-- MINOR: quic: Call the keylog callback for QUIC openssl wrapper from
- SSL_CTX_keylog()
-- MINOR: quic: Add a quic_openssl_compat struct to quic_conn struct
-- MINOR: quic: SSL context initialization with QUIC OpenSSL wrapper.
-- MINOR: quic: Add "limited-quic" new tuning setting
-- DOC: quic: Add "limited-quic" new tuning setting
-- BUG/MINOR: quic+openssl_compat: Non initialized TLS encryption levels
-- MINOR: quic: Warning for OpenSSL wrapper QUIC bindings without "limited-quic"
-- MINOR: quic+openssl_compat: Do not start without "limited-quic"
-- MINOR: quic+openssl_compat: Emit an alert for "allow-0rtt" option
-- BUILD: Makefile: add USE_QUIC_OPENSSL_COMPAT to make help
-- BUG/MINOR: quic: allow-0rtt warning must only be emitted with quic bind
-- BUG/MINOR: quic: ssl_quic_initial_ctx() uses error count not error code
-- BUILD: quic: fix build on centos 8 and USE_QUIC_OPENSSL_COMPAT
-- MINOR: hlua: add hlua_stream_ctx_prepare helper function
-- BUG/MEDIUM: hlua: streams don't support mixing lua-load with
- lua-load-per-thread
-- Revert "BUG/MEDIUM: quic: missing check of dcid for init pkt including
- a token"
-- CI: musl: highlight section if there are coredumps
-- CI: musl: drop shopt in workflow invocation
-- BUG/MEDIUM: hlua: don't pass stale nargs argument to lua_resume()
-- BUG/MINOR: hlua/init: coroutine may not resume itself
-- BUG/MEDIUM: mux-fcgi: Don't swap trash and dbuf when handling STDERR records
-- BUG/MINOR: promex: fix backend_agg_check_status
-- BUG/MEDIUM: master/cli: Pin the master CLI on the first thread of the group 1
-- BUG/MINOR: freq_ctr: fix possible negative rate with the scaled API
-- BUG/MAJOR: mux-h2: Report a protocol error for any DATA frame before headers
-- BUG/MINOR: server: add missing free for server->rdr_pfx
-- MINOR: pattern: fix pat_{parse,match}_ip() function comments
-- BUG/MEDIUM: server/cli: don't delete a dynamic server that has streams
-- BUG/MINOR: mux-quic: remove full demux flag on ncbuf release
-- BUG/MEDIUM: actions: always apply a longest match on prefix lookup
-- BUG/MEDIUM: quic_conn: let the scheduler kill the task when needed
-- BUG/MEDIUM: http-ana: Try to handle response before handling server abort
-- MINOR: hlua: Set context's appctx when the lua socket is created
-- MINOR: hlua: Don't preform operations on a not connected socket
-- MINOR: hlua: Save the lua socket's timeout in its context
-- MINOR: hlua: Save the lua socket's server in its context
-- MINOR: hlua: Test the hlua struct first when the lua socket is connecting
-- BUG/MEDIUM: hlua: Initialize appctx used by a lua socket on connect only
-- BUG/MINOR: mux-h1: Handle read0 in rcv_pipe() only when data receipt was tried
-- BUG/MINOR: mux-h1: Ignore C-L when sending H1 messages if T-E is also set
-- BUG/MEDIUM: h1: Ignore C-L value in the H1 parser if T-E is also set
-- BUG/MINOR: hq-interop: simplify parser requirement
-- BUG/MEDIUM: stconn: Fix comparison sign in sc_need_room()
-- BUG/MINOR: quic: Avoid crashing with unsupported cryptographic algos
-- BUG/MINOR: quic: reject packet with no frame
-- BUG/MEDIUM: mux-quic: fix RESET_STREAM on send-only stream
-- BUG/MINOR: mux-quic: support initial 0 max-stream-data
-- BUG/MINOR: h3: strengthen host/authority header parsing
-- BUG/MINOR: mux-quic: fix free on qcs-new fail alloc
-- BUG/MEDIUM: quic-conn: free unsent frames on retransmit to prevent crash
-- BUG/MINOR: mux-h1: Send a 400-bad-request on shutdown before the first request
-- BUG/MINOR: mux-h2: make up other blocked streams upon removal from list
-- BUG/MEDIUM: mux-h2: Don't report an error on shutr if a shutw is pending
-- BUG/MINOR: mux-h2: fix http-request and http-keep-alive timeouts again
-- BUG/MINOR: trace: fix trace parser error reporting
-- BUG/MEDIUM: peers: Be sure to always refresh recconnect timer in sync task
-- BUG/MEDIUM: peers: Fix synchro for huge number of tables
-- BUG/MINOR: mux-h2: commit the current stream ID even on reject
-- BUG/MINOR: mux-h2: update tracked counters with req cnt/req err
-- DOC: internal: filters: fix reference to entities.pdf
-- BUG/MINOR: ssl: load correctly @system-ca when ca-base is define
-- MINOR: lua: Add flags to configure logging behaviour
-- DEBUG: mux-h2/flags: fix list of h2c flags used by the flags decoder
-- MINOR: connection: add conn_pr_mode_to_proto_mode() helper func
-- BUG/MEDIUM: server: "proto" not working for dynamic servers
-- BUG/MINOR: quic: do not consider idle timeout on CLOSING state
-- BUG/MINOR: ssl: use a thread-safe sslconns increment
-- MINOR: frontend: implement a dedicated actconn increment function
-- MEDIUM: quic: count quic_conn instance for maxconn
-- MEDIUM: quic: count quic_conn for global sslconns
-- BUG/MINOR: ssl: suboptimal certificate selection with TLSv1.3 and dual
- ECDSA/RSA
-- BUG/MINOR: mux-quic: fix early close if unset client timeout
-- BUG/MEDIUM: ssl: segfault when cipher is NULL
-- BUG/MINOR: tcpcheck: Report hexstring instead of binary one on check failure
-- BUG/MINOR: stktable: missing free in parse_stick_table()
-- BUG/MINOR: cfgparse/stktable: fix error message on stktable_init() failure
-- BUG/MEDIUM: pattern: don't trim pools under lock in pat_ref_purge_range()
-- BUG/MEDIUM: stconn: Don't report rcv/snd expiration date if SC cannot epxire
-- BUG/MEDIUM: Don't apply a max value on room_needed in sc_need_room()
-- BUG/MINOR: stconn: Sanitize report for read activity
-- CLEANUP: htx: Properly indent htx_reserve_max_data() function
-- BUG/MEDIUM: quic: fix actconn on quic_conn alloc failure
-- BUG/MEDIUM: quic: fix sslconns on quic_conn alloc failure
-- BUG/MINOR: stick-table/cli: Check for invalid ipv4 key
-- BUG/MINOR: mux-h1: Properly handle http-request and http-keep-alive timeouts
-- BUG/MEDIUM: freq-ctr: Don't report overshoot for long inactivity period
-- BUG/MEDIUM: pool: fix releasable pool calculation when overloaded
-- BUG/MINOR: quic: idle timer task requeued in the past
-- BUG/MEDIUM: quic: Avoid trying to send ACK frames from an empty ack ranges
- tree
-- BUG/MEDIUM: quic: Possible crashes when sending too short Initial packets
-- BUG/MEDIUM: quic: Avoid some crashes upon TX packet allocation failures
-- BUG/MEDIUM: stconn: Don't update stream expiration date if already expired
-- DOC: management: -q is quiet all the time
-- BUG/MINOR: quic: fix retry token check inconsistency
-- DOC: config: use the word 'backend' instead of 'proxy' in 'track' description
-- BUG/MEDIUM: applet: Remove appctx from buffer wait list on release
-- BUG/MINOR: sink: don't learn srv port from srv addr
-- DOC: quic: Wrong syntax for "quic-cc-algo" keyword.
-- BUG/MEDIUM: connection: report connection errors even when no mux is installed
-- BUG/MINOR: stconn: Handle abortonclose if backend connection was already
- set up
-- MINOR: connection: Add a CTL flag to notify mux it should wait for reads again
-- MEDIUM: mux-h1: Handle MUX_SUBS_RECV flag in h1_ctl() and susbscribe for reads
-- BUG/MEDIUM: stream: Properly handle abortonclose when set on backend only
-- REGTESTS: http: Improve script testing abortonclose option
-- BUG/MEDIUM: stconn: Report a send activity everytime data were sent
-- BUG/MEDIUM: applet: Report a send activity everytime data were sent
-- BUG/MEDIUM: mworker: set the master variable earlier
-- BUG/MEDIUM: stream: Don't call mux .ctl() callback if not implemented
-- BUG/MEDIUM: stconn: Update fsb date on partial sends
-- MINOR: htx: Use a macro for overhead induced by HTX
-- MINOR: channel: Add functions to get info on buffers and deal with HTX streams
-- BUG/MINOR: stconn: Fix streamer detection for HTX streams
-- BUG/MINOR: stconn: Use HTX-aware channel's functions to get info on buffer
-- BUG/MINOR: stconn/applet: Report send activity only if there was output data
-- BUG/MINOR: stconn: Report read activity on non-indep streams for partial sends
-
-* Wed Oct 04 2023 Anton Novojilov - 2.8.3-0
-- CI: do not use "groupinstall" for Fedora Rawhide builds
-- CI: get rid of travis-ci wrapper for Coverity scan
-- BUG/MEDIUM: quic: fix tasklet_wakeup loop on connection closing
-- BUG/MINOR: hlua: fix invalid use of lua_pop on error paths
-- DEV: flags/show-sess-to-flags: properly decode fd.state
-- BUG/MINOR: stktable: allow sc-set-gpt(0) from tcp-request connection
-- BUG/MINOR: stktable: allow sc-add-gpc from tcp-request connection
-- DOC: typo: fix sc-set-gpt references
-- SCRIPTS: git-show-backports: automatic ref and base detection with -m
-- REGTESTS: Do not use REQUIRE_VERSION for HAProxy 2.5+ (3)
-- DOC: jwt: Add explicit list of supported algorithms
-- BUILD: Makefile: add the USE_QUIC option to make help
-- IMPORT: plock: also support inlining the int code
-- MINOR: threads: inline the wait function for pthread_rwlock emulation
-- MINOR: atomic: make sure to always relax after a failed CAS
-- IMPORT: xxhash: update xxHash to version 0.8.2
-- CI: fedora: fix "dnf" invocation syntax
-- BUG/MINOR: hlua_fcn: potentially unsafe stktable_data_ptr usage
-- DOC: lua: fix core.register_action typo
-- BUG/MINOR: ssl_sock: fix possible memory leak on OOM
-- BUILD: import: guard plock.h against multiple inclusion
-- BUG/MINOR: ssl/cli: can't find ".crt" files when replacing a certificate
-- BUG/MINOR: stream: protect stream_dump() against incomplete streams
-- DOC: config: mention uid dependency on the tune.quic.socket-owner option
-- BUG/MINOR: checks: do not queue/wake a bounced check
-- DEBUG: applet: Properly report opposite SC expiration dates in traces
-- BUG/MEDIUM: stconn: Update stream expiration date on blocked sends
-- BUG/MINOR: stconn: Don't report blocked sends during connection establishment
-- BUG/MEDIUM: stconn: Wake applets on sending path if there is a pending
- shutdown
-- BUG/MEDIUM: stconn: Don't block sends if there is a pending shutdown
-- BUG/MINOR: quic: Possible skipped RTT sampling
-- BUG/MAJOR: quic: Really ignore malformed ACK frames.
-- BUG/MEDIUM: h1-htx: Ensure chunked parsing with full output buffer
-- BUG/MINOR: stream: further protect stream_dump() against incomplete sessions
-- DOC: configuration: update examples for req.ver
-- MINOR: httpclient: allow to configure the retries
-- MINOR: httpclient: allow to configure the timeout.connect
-- BUG/MINOR: quic: Wrong RTT adjusments
-- BUG/MINOR: quic: Wrong RTT computation (srtt and rrt_var)
-- BUG/MEDIUM: applet: Fix API for function to push new data in channels buffer
-- BUG/MEDIUM: stconn: Report read activity when a stream is attached to front SC
-- BUG/MEDIUM: applet: Report an error if applet request more room on aborted SC
-- BUG/MEDIUM: stconn/stream: Forward shutdown on write timeout
-- NUG/MEDIUM: stconn: Always update stream's expiration date after I/O
-- BUG/MINOR: applet: Always expect data when CLI is waiting for a new command
-- BUG/MINOR: ring/cli: Don't expect input data when showing events
-- BUG/MINOR: hlua/action: incorrect message on E_YIELD error
-- MEDIUM: capabilities: enable support for Linux capabilities
-- CI: Update to actions/checkout@v4
-
-* Wed Oct 04 2023 Anton Novojilov - 2.8.2-0
-- DOC: ssl: Fix typo in 'ocsp-update' option
-- DOC: ssl: Add ocsp-update troubleshooting clues and emphasize on crt-list
- only aspect
-- BUG/MINOR: tcp_sample: bc_{dst,src} return IP not INT
-- BUG/MINOR: cache: A 'max-age=0' cache-control directive can be overriden
- by a s-maxage
-- BUG/MEDIUM: sink: invalid server list in sink_new_from_logsrv()
-- BUG/MINOR: http_ext: unhandled ERR_ABORT in proxy_http_parse_7239()
-- BUG/MINOR: sink: missing sft free in sink_deinit()
-- BUG/MINOR: ring: size warning incorrectly reported as fatal error
-- BUG/MINOR: ring: maxlen warning reported as alert
-- BUG/MINOR: log: LF upsets maxlen for UDP targets
-- MINOR: sink/api: pass explicit maxlen parameter to sink_write()
-- BUG/MEDIUM: log: improper use of logsrv->maxlen for buffer targets
-- BUG/MINOR: log: fix missing name error message in cfg_parse_log_forward()
-- BUG/MINOR: log: fix multiple error paths in cfg_parse_log_forward()
-- BUG/MINOR: log: free errmsg on error in cfg_parse_log_forward()
-- BUG/MINOR: sink: invalid sft free in sink_deinit()
-- BUG/MINOR: sink: fix errors handling in cfg_post_parse_ring()
-- BUG/MINOR: server: set rid default value in new_server()
-- MINOR: hlua_fcn/mailers: handle timeout mail from mailers section
-- BUG/MINOR: sink/log: properly deinit srv in sink_new_from_logsrv()
-- EXAMPLES: maintain haproxy 2.8 retrocompatibility for lua mailers script
-- BUG/MINOR: hlua_fcn/queue: use atomic load to fetch queue size
-- BUG/MINOR: config: Remove final '\n' in error messages
-- BUG/MEDIUM: quic: token IV was not computed using a strong secret
-- BUG/MINOR: quic: retry token remove one useless intermediate expand
-- BUG/MEDIUM: quic: missing check of dcid for init pkt including a token
-- BUG/MEDIUM: quic: timestamp shared in token was using internal time clock
-- CLEANUP: quic: remove useless parameter 'key' from quic_packet_encrypt
-- BUG/MINOR: hlua: hlua_yieldk ctx argument should support pointers
-- BUG/MEDIUM: hlua_fcn/queue: bad pop_wait sequencing
-- DOC: config: Fix fc_src description to state the source address is returned
-- BUG/MINOR: sample: Fix wrong overflow detection in add/sub conveters
-- BUG/MINOR: http: Return the right reason for 302
-- CI: add naming convention documentation
-- CI: explicitely highlight VTest result section if there's something
-- BUILD: quic: fix warning during compilation using gcc-6.5
-- BUG/MINOR: hlua: add check for lua_newstate
-- BUG/MINOR: h1-htx: Return the right reason for 302 FCGI responses
-- MINOR: cpuset: add cpu_map_configured() to know if a cpu-map was found
-- BUG/MINOR: config: do not detect NUMA topology when cpu-map is configured
-- BUG/MINOR: cpuset: remove the bogus "proc" from the cpu_map struct
-- BUG/MINOR: init: set process' affinity even in foreground
-- BUG/MINOR: server: Don't warn on server resolution failure with init-addr none
-- BUG/MINOR: quic: Missing parentheses around PTO probe variable.
-- BUG/MINOR: server-state: Ignore empty files
-- BUG/MINOR: server-state: Avoid warning on 'file not found'
-- BUG/MEDIUM: listener: Acquire proxy's lock in relax_listener() if necessary
-- MINOR: quic: Make ->set_encryption_secrets() be callable two times
-- MINOR: quic: Useless call to SSL_CTX_set_quic_method()
-- BUG/MINOR: ssl: OCSP callback only registered for first SSL_CTX
-- BUG/MEDIUM: h3: Properly report a C-L header was found to the HTX start-line
-- DOC: configuration: describe Td in Timing events
-- BUG/MINOR: chunk: fix chunk_appendf() to not write a zero if buffer is full
-- BUG/MEDIUM: h3: Be sure to handle fin bit on the last DATA frame
-- BUG/MEDIUM: bwlim: Reset analyse expiration date when then channel analyse
- ends
-- BUG/MEDIUM: quic: consume contig space on requeue datagram
-- BUG/MINOR: http-client: Don't forget to commit changes on HTX message
-- BUG/MINOR: quic: reappend rxbuf buffer on fake dgram alloc error
-- BUILD: quic: fix wrong potential NULL dereference
-- BUG/MAJOR: http-ana: Get a fresh trash buffer for each header value
- replacement
-- REORG: http: move has_forbidden_char() from h2.c to http.h
-- BUG/MAJOR: h3: reject header values containing invalid chars
-- BUG/MAJOR: http: reject any empty content-length header value
-- MINOR: ist: add new function ist_find_range() to find a character range
-- MINOR: http: add new function http_path_has_forbidden_char()
-- MINOR: h2: pass accept-invalid-http-request down the request parser
-- REGTESTS: http-rules: add accept-invalid-http-request for normalize-uri tests
-- BUG/MINOR: h1: do not accept '#' as part of the URI component
-- BUG/MINOR: h2: reject more chars from the :path pseudo header
-- BUG/MINOR: h3: reject more chars from the :path pseudo header
-- REGTESTS: http-rules: verify that we block '#' by default for normalize-uri
-- DOC: clarify the handling of URL fragments in requests
-- BUG/MINOR: http: skip leading zeroes in content-length values
-
-* Fri Jul 14 2023 Anton Novojilov - 2.8.1-0
-- BUG/MINOR: stats: Fix Lua's `get_stats` function
-- BUG/MINOR: stream: do not use client-fin/server-fin with HTX
-- BUG/MINOR: quic: Possible crash when SSL session init fails
-- CONTRIB: Add vi file extensions to .gitignore
-- BUG/MINOR: spoe: Only skip sending new frame after a receive attempt
-- DOC: quic: fix misspelled tune.quic.socket-owner
-- DOC: config: fix jwt_verify() example using var()
-- DOC: config: fix rfc7239 converter examples (again)
-- BUG/MINOR: cfgparse-tcp: leak when re-declaring interface from bind line
-- BUG/MINOR: proxy: add missing interface bind free in free_proxy
-- BUG/MINOR: proxy/server: free default-server on deinit
-- BUG/MEDIUM: hlua: Use front SC to detect EOI in HTTP applets' receive
- functions
-- BUG/MINOR: peers: Improve detection of config errors in peers sections
-- REG-TESTS: stickiness: Delay haproxys start to properly resolv variables
-- BUG/MINOR: ssl: log message non thread safe in SSL Hanshake failure
-- BUG/MINOR: quic: Wrong encryption level flags checking
-- BUG/MINOR: quic: Address inversion in "show quic full"
-- BUG/MINOR: server: inherit from netns in srv_settings_cpy()
-- BUG/MINOR: namespace: missing free in netns_sig_stop()
-- BUG/MINOR: quic: Missing initialization (packet number space probing)
-- BUG/MINOR: quic: Possible crash in quic_conn_prx_cntrs_update()
-- BUG/MINOR: quic: Possible endless loop in quic_lstnr_dghdlr()
-- BUG/MEDIUM: mworker: increase maxsock with each new worker
-- BUG/MINOR: quic: ticks comparison without ticks API use
-- DOC: Add tune.h2.be.* and tune.h2.fe.* options to table of contents
-- DOC: Add tune.h2.max-frame-size option to table of contents
-- REGTESTS: h1_host_normalization : Add a barrier to not mix up log messages
-- DOC: Attempt to fix dconv parsing error for tune.h2.fe.initial-window-size
-- BUG/MINOR: http_ext: fix if-none regression in forwardfor option
-- BUG/MINOR: mworker: leak of a socketpair during startup failure
-- BUG/MINOR: quic: Prevent deadlock with CID tree lock
-- BUG/MEDIUM: quic: error checking buffer large enought to receive the retry tag
-- BUG/MINOR: config: fix stick table duplicate name check
-- BUG/MINOR: quic: Missing random bits in Retry packet header
-- BUG/MINOR: quic: Wrong Retry paquet version field endianess
-- BUG/MINOR: quic: Wrong endianess for version field in Retry token
-- IMPORT: slz: implement a synchronous flush() operation
-- MINOR: compression/slz: add support for a pure flush of pending bytes
-- BUILD: debug: avoid a build warning related to epoll_wait() in debug code
-- MINOR: quic: Move QUIC encryption level structure definition
-- MINOR: quic: Move packet number space related functions
-- MINOR: quic: Reduce the maximum length of TLS secrets
-- CLEANUP: quic: Remove server specific about Initial packet number space
-
-* Mon Jul 10 2023 Anton Novojilov - 2.8.0-0
-- MINOR: compression: Improve the way Vary header is added
-- BUILD: makefile: search for SSL_INC/wolfssl before SSL_INC
-- MINOR: init: pre-allocate kernel data structures on init
-- DOC: install: add details about WolfSSL
-- BUG/MINOR: ssl_sock: add check for ha_meth
-- BUG/MINOR: thread: add a check for pthread_create
-- BUILD: init: print rlim_cur as regular integer
-- DOC: install: specify the minimum openssl version recommended
-- CLEANUP: mux-quic: remove unneeded fields in qcc
-- MINOR: mux-quic: remove nb_streams from qcc
-- MINOR: quic: fix stats naming for flow control BLOCKED frames
-- BUG/MEDIUM: mux-quic: only set EOI on FIN
-- BUG/MEDIUM: threads: fix a tiny race in thread_isolate()
-- DOC: config: fix rfc7239 converter examples
-- DOC: quic: remove experimental status for QUIC
-- CLEANUP: mux-quic: rename functions for mux_ops
-- CLEANUP: mux-quic: rename internal functions
-- BUG/MINOR: mux-h2: refresh the idle_timer when the mux is empty
-- DOC: config: Fix bind/server/peer documentation in the peers section
-- BUILD: Makefile: use -pthread not -lpthread when threads are enabled
-- CLEANUP: doc: remove 21 totally obsolete docs
-- DOC: install: mention the common strict-aliasing warning on older compilers
-- DOC: install: clarify a few points on the wolfSSL build method
-- MINOR: quic: Add QUIC connection statistical counters values to "show quic"
-- EXAMPLES: update the basic-config-edge file for 2.8
-- MINOR: quic/cli: clarify the "show quic" help message
-- MINOR: version: mention that it's LTS now.
+* Sat Aug 17 2024 Anton Novojilov - 3.0.3-0
+- BUG/MINOR: log: fix broken '+bin' logformat node option
+- DEBUG: hlua: distinguish burst timeout errors from exec timeout errors
+- REGTESTS: ssl: fix some regtests 'feature cmd' start condition
+- BUG/MEDIUM: proxy: fix email-alert invalid free
+- DOC: configuration: fix alphabetical order of bind options
+- DOC: management: document ptr lookup for table commands
+- BUG/MAJOR: quic: fix padding with short packets
+- SCRIPTS: git-show-backports: do not truncate git-show output
+- DOC: api/event_hdl: small updates, fix an example and add some precisions
+- BUG/MINOR: h3: fix crash on STOP_SENDING receive after GOAWAY emission
+- BUG/MINOR: mux-quic: fix crash on qcs SD alloc failure
+- BUG/MINOR: h3: fix BUG_ON() crash on control stream alloc failure
+- BUG/MINOR: quic: fix BUG_ON() on Tx pkt alloc failure
+- DEV: flags/show-fd-to-flags: adapt to recent versions
+- BUG/MINOR: hlua: report proper context upon error in hlua_cli_io_handler_fct()
+- BUG/MEDIUM: stick-table: Decrement the ref count inside lock to kill a session
+- DOC: configuration: add details about crt-store in bind "crt" keyword
+- BUG/MINOR: server: fix first server template name lookup UAF
+- MINOR: activity: make the memory profiling hash size configurable at build
+ time
+- BUG/MEDIUM: server/dns: prevent DOWN/UP flap upon resolution timeout or error
+- BUG/MEDIUM: h3: ensure the ":method" pseudo header is totally valid
+- BUG/MEDIUM: h3: ensure the ":scheme" pseudo header is totally valid
+- BUG/MEDIUM: quic: fix race-condition in quic_get_cid_tid()
+- BUG/MINOR: quic: fix race condition in qc_check_dcid()
+- BUG/MINOR: quic: fix race-condition on trace for CID retrieval
+- BUG/MEDIUM: quic: fix possible exit from qc_check_dcid() without unlocking
+- BUG/MINOR: promex: Remove Help prefix repeated twice for each metric
+- BUG/MEDIUM: hlua/cli: Fix lua CLI commands to work with applet's buffers
+- DOC: configuration: more details about the master-worker mode
+- BUG/MEDIUM: server: fix race on server_atomic_sync()
+- BUG/MINOR: jwt: don't try to load files with HMAC algorithm
+- MEDIUM: init: set default for fd_hard_limit via DEFAULT_MAXFD
+- DOC: configuration: update maxconn description
+- BUG/MEDIUM: peers: Fix crash when syncing learn state of a peer without appctx
+- Revert "MEDIUM: init: set default for fd_hard_limit via DEFAULT_MAXFD"
+- BUG/MINOR: jwt: fix variable initialisation
+- BUG/MINOR: h1: Fail to parse empty transfer coding names
+- BUG/MINOR: h1: Reject empty coding name as last transfer-encoding value
+- BUG/MEDIUM: h1: Reject empty Transfer-encoding header
+- BUG/MEDIUM: spoe: Be sure to create a SPOE applet if none on the current
+ thread
+- DEV: flags/quic: decode quic_conn flags
+- BUG/MEDIUM: bwlim: Be sure to never set the analyze expiration date in past
+
+* Sat Aug 17 2024 Anton Novojilov - 3.0.2-0
+- MINOR: log: fix "http-send-name-header" ignore warning message
+- BUG/MINOR: proxy: fix server_id_hdr_name leak on deinit()
+- BUG/MINOR: proxy: fix log_tag leak on deinit()
+- BUG/MINOR: proxy: fix email-alert leak on deinit()
+- BUG/MINOR: proxy: fix check_{command,path} leak on deinit()
+- BUG/MINOR: proxy: fix dyncookie_key leak on deinit()
+- BUG/MINOR: proxy: fix source interface and usesrc leaks on deinit()
+- BUG/MINOR: proxy: fix header_unique_id leak on deinit()
+- BUG/MEDIUM: log: fix lf_expr_postcheck() behavior with default section
+- DOC: config: move "hash-key" from proxy to server options
+- DOC: config: add missing section hint for "guid" proxy keyword
+- DOC: config: add missing context hint for new server and proxy keywords
+- BUG/MINOR: promex: Skip resolvers metrics when there is no resolver section
+- MINOR: proxy: add proxy_free_common() helper function
+- BUG/MEDIUM: proxy: fix UAF with {tcp,http}checks logformat expressions
+- CLEANUP: log/proxy: fix comment in proxy_free_common()
+- BUG/MAJOR: mux-h1: Prevent any UAF on H1 connection after draining a request
+- BUG/MINOR: quic: fix padding of INITIAL packets
+- DOC/MINOR: management: add missed -dR and -dv options
+- DOC/MINOR: management: add -dZ option
+- DOC: management: rename show stats domain cli "dns" to "resolvers"
+
+* Sat Aug 17 2024 Anton Novojilov - 3.0.1-0
+- BUG/MINOR: cfgparse: remove the correct option on httpcheck send-state warning
+- BUG/MINOR: tcpcheck: report correct error in tcp-check rule parser
+- BUG/MINOR: tools: fix possible null-deref in env_expand() on out-of-memory
+- DOC: configuration: add an example for keywords from crt-store
+- BUG/MINOR: hlua: use CertCache.set() from various hlua contexts
+- BUG/MEDIUM: h1-htx: Don't state interim responses are bodyless
+- MEDIUM: stconn: Be able to unblock zero-copy data forwarding from done_fastfwd
+- BUG/MEDIUM: mux-quic: Unblock zero-copy forwarding if the txbuf can be
+ released
+- BUG/MINOR: quic: prevent crash on qc_kill_conn()
+- CLEANUP: hlua: use hlua_pusherror() where relevant
+- BUG/MINOR: hlua: don't use lua_pushfstring() when we don't expect LJMP
+- BUG/MINOR: hlua: fix unsafe hlua_pusherror() usage
+- BUG/MINOR: hlua: prevent LJMP in hlua_traceback()
+- BUG/MINOR: hlua: fix leak in hlua_ckch_set() error path
+- CLEANUP: hlua: simplify ambiguous lua_insert() usage in hlua_ctx_resume()
+- BUG/MEDIUM: mux-quic: Don't unblock zero-copy fwding if blocked during nego
+- BUG/MEDIUM: ssl: wrong priority whem limiting ECDSA ciphers in ECDSA+RSA
+ configuration
+- BUG/MEDIUM: ssl: bad auth selection with TLS1.2 and WolfSSL
+- BUG/MINOR: quic: fix computed length of emitted STREAM frames
+- BUG/MINOR: quic: ensure Tx buf is always purged
+- BUG/MEDIUM: stconn/mux-h1: Fix suspect change causing timeouts
+- BUG/MAJOR: mux-h1: Properly copy chunked input data during zero-copy nego
+- BUG/MINOR: mux-h1: Use the right variable to set NEGO_FF_FL_EXACT_SIZE flag
+
+* Sat Aug 17 2024 Anton Novojilov - 3.0.0-0
+- Switched to 3.0.x version
diff --git a/specs/haproxy/haproxy24.spec b/specs/haproxy/haproxy24.spec
index b3b11880c..2edbe529e 100644
--- a/specs/haproxy/haproxy24.spec
+++ b/specs/haproxy/haproxy24.spec
@@ -16,8 +16,8 @@
%define hp_confdir %{_sysconfdir}/%{orig_name}
%define hp_datadir %{_datadir}/%{orig_name}
-%define lua_ver 5.4.6
-%define pcre_ver 10.43
+%define lua_ver 5.4.7
+%define pcre_ver 10.44
%define openssl_ver 1.1.1w
%define ncurses_ver 6.4
%define readline_ver 8.2
@@ -26,7 +26,7 @@
Name: haproxy%{comp_ver}
Summary: TCP/HTTP reverse proxy for high availability environments
-Version: 2.4.26
+Version: 2.4.27
Release: 0%{?dist}
License: GPLv2+
URL: https://haproxy.1wt.eu
@@ -46,15 +46,9 @@ Source100: checksum.sha512
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-BuildRequires: make zlib-devel systemd-devel perl perl-IPC-Cmd
+BuildRequires: make gcc-c++ zlib-devel systemd-devel perl perl-IPC-Cmd
-%if 0%{?rhel} <= 7
-BuildRequires: devtoolset-11-gcc-c++ devtoolset-11-binutils
-%else
-BuildRequires: gcc-c++
-%endif
-
-Conflicts: haproxy haproxy22 haproxy26 haproxy28
+Conflicts: haproxy haproxy22 haproxy26 haproxy28 haproxy30
Provides: %{name} = %{version}-%{release}
@@ -85,11 +79,6 @@ tar xzvf %{SOURCE14}
%build
-%if 0%{?rhel} <= 7
-# Use gcc and gcc-c++ from DevToolSet 11
-export PATH="/opt/rh/devtoolset-11/root/usr/bin:$PATH"
-%endif
-
### DEPS BUILD START ###
export BUILDDIR=$(pwd)
@@ -99,7 +88,7 @@ pushd openssl-%{openssl_ver}
mkdir build
# perfecto:ignore
./config --prefix=$(pwd)/build no-shared no-threads
- %{__make}
+ %{__make} %{?_smp_mflags}
%{__make} install_sw
popd
@@ -231,6 +220,54 @@ fi
################################################################################
%changelog
+* Sat Aug 17 2024 Anton Novojilov - 2.4.27-0
+- BUG/MEDIUM: thread/sched: set proper scheduling context upon ha_set_tid()
+- BUG/MEDIUM: cli: fix once for all the problem of missing trailing LFs
+- MINOR: cli: Remove useless loop on commands to find unescaped semi-colon
+- BUG/MEDIUM: cli: Warn if pipelined commands are delimited by a \n
+- BUG/MINOR: log: fix lf_text_len() truncate inconsistency
+- BUG/MINOR: tools/log: invalid encode_{chunk,string} usage
+- BUG/MINOR: log: invalid snprintf() usage in sess_build_logline()
+- BUG/MEDIUM: http-ana: Deliver 502 on keep-alive for fressh server connection
+- BUG/MEDIUM: peers/trace: fix crash when listing event types
+- CI: revert kernel addr randomization introduced in 3a0fc864
+- BUG/MEDIUM: stconn: Don't forward channel data if input data must be filtered
+- BUG/MEDIUM: evports: do not clear returned events list on signal
+- BUG/MEDIUM: cache: Vary not working properly on anything other than
+ accept-encoding
+- BUG/MINOR: sock: handle a weird condition with connect()
+- BUG/MINOR: fd: my_closefrom() on Linux could skip contiguous series of sockets
+- BUG/MINOR: backend: use cum_sess counters instead of cum_conn
+- BUG/MINOR: h1: fix detection of upper bytes in the URI
+- BUG/MEDIUM: htx: mark htx_sl as packed since it may be realigned
+- BUG/MEDIUM: stick-tables: properly mark stktable_data as packed
+- BUILD: stick-tables: better mark the stktable_data as 32-bit aligned
+- BUG/MEDIUM: fd: prevent memory waste in fdtab array
+- BUG/MINOR: htpp-ana/stats: Specify that HTX redirect messages have
+ a C-L header
+- BUG/MINOR: stats: Don't state the 303 redirect response is chunked
+- CLEANUP: ssl/cli: remove unused code in dump_crtlist_conf
+- BUG/MINOR: connection: parse PROXY TLV for LOCAL mode
+- BUG/MINOR: server: Don't reset resolver options on a new default-server line
+- BUILD: fd: errno is also needed without poll()
+- BUG/MINOR: ssl/ocsp: init callback func ptr as NULL
+- BUG/MINOR: activity: fix Delta_calls and Delta_bytes count
+- BUG/MINOR: tcpcheck: report correct error in tcp-check rule parser
+- BUG/MINOR: tools: fix possible null-deref in env_expand() on out-of-memory
+- CLEANUP: hlua: use hlua_pusherror() where relevant
+- BUG/MINOR: hlua: don't use lua_pushfstring() when we don't expect LJMP
+- BUG/MINOR: hlua: fix unsafe hlua_pusherror() usage
+- MINOR: hlua: don't dump empty entries in hlua_traceback()
+- BUG/MINOR: hlua: prevent LJMP in hlua_traceback()
+- CLEANUP: hlua: simplify ambiguous lua_insert() usage in hlua_ctx_resume()
+- BUG/MEDIUM: ssl: wrong priority whem limiting ECDSA ciphers in ECDSA+RSA
+ configuration
+- BUG/MEDIUM: http_ana: ignore NTLM for reuse aggressive/always and no H1
+- BUG/MAJOR: connection: fix server used_conns with H2 + reuse safe
+- BUG/MINOR: haproxy: only tid 0 must not sleep if got signal
+- CI: introduce scripts/build-vtest.sh for installing VTest
+- CI: scripts: fix build of vtest regarding option -C
+
* Tue Apr 16 2024 Anton Novojilov - 2.4.26-0
- BUG/MINOR: sock: mark abns sockets as non-suspendable and always unbind them
- BUG/MEDIUM: connection: report connection errors even when no mux is installed
diff --git a/specs/haproxy/haproxy26.spec b/specs/haproxy/haproxy26.spec
index b24d0b7c3..8671a7638 100644
--- a/specs/haproxy/haproxy26.spec
+++ b/specs/haproxy/haproxy26.spec
@@ -16,9 +16,9 @@
%define hp_confdir %{_sysconfdir}/%{orig_name}
%define hp_datadir %{_datadir}/%{orig_name}
-%define lua_ver 5.4.6
-%define pcre_ver 10.43
-%define openssl_ver 3.0.13
+%define lua_ver 5.4.7
+%define pcre_ver 10.44
+%define openssl_ver 3.0.14
%define ncurses_ver 6.4
%define readline_ver 8.2
@@ -26,7 +26,7 @@
Name: haproxy%{comp_ver}
Summary: TCP/HTTP reverse proxy for high availability environments
-Version: 2.6.17
+Version: 2.6.18
Release: 0%{?dist}
License: GPLv2+
URL: https://haproxy.1wt.eu
@@ -46,15 +46,9 @@ Source100: checksum.sha512
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-BuildRequires: make zlib-devel systemd-devel perl perl-IPC-Cmd
+BuildRequires: make gcc-c++ zlib-devel systemd-devel perl perl-IPC-Cmd
-%if 0%{?rhel} <= 7
-BuildRequires: devtoolset-11-gcc-c++ devtoolset-11-binutils
-%else
-BuildRequires: gcc-c++
-%endif
-
-Conflicts: haproxy haproxy22 haproxy24 haproxy28
+Conflicts: haproxy haproxy22 haproxy24 haproxy28 haproxy30
Provides: %{name} = %{version}-%{release}
@@ -85,11 +79,6 @@ tar xzvf %{SOURCE14}
%build
-%if 0%{?rhel} <= 7
-# Use gcc and gcc-c++ from DevToolSet 11
-export PATH="/opt/rh/devtoolset-11/root/usr/bin:$PATH"
-%endif
-
### DEPS BUILD START ###
export BUILDDIR=$(pwd)
@@ -231,6 +220,96 @@ fi
################################################################################
%changelog
+* Sat Aug 17 2024 Anton Novojilov - 2.6.18-0
+- BUG/MEDIUM: cli: fix once for all the problem of missing trailing LFs
+- BUG/MEDIUM: mux-quic: report early error on stream
+- BUG/MEDIUM: quic: remove unsent data from qc_stream_desc buf
+- MINOR: ext-check: add an option to preserve environment variables
+- BUG/MINOR: ext-check: cannot use without preserve-env
+- MINOR: server: allow cookie for dynamic servers
+- MINOR: cli: Remove useless loop on commands to find unescaped semi-colon
+- BUG/MEDIUM: cli: Warn if pipelined commands are delimited by a \n
+- BUG/MINOR: log: fix lf_text_len() truncate inconsistency
+- BUG/MINOR: tools/log: invalid encode_{chunk,string} usage
+- BUG/MINOR: log: invalid snprintf() usage in sess_build_logline()
+- CLEANUP: log: lf_text_len() returns a pointer not an integer
+- BUG/MEDIUM: http-ana: Deliver 502 on keep-alive for fressh server connection
+- BUG/MINOR: http-ana: Fix TX_L7_RETRY and TX_D_L7_RETRY values
+- BUG/MINOR: debug: make sure DEBUG_STRICT=0 does work as documented
+- BUG/MEDIUM: peers/trace: fix crash when listing event types
+- CI: revert kernel addr randomization introduced in 3a0fc864
+- MINOR: net_helper: Add support for floats/doubles.
+- BUG/MEDIUM: grpc: Fix several unaligned 32/64 bits accesses
+- BUG/MEDIUM: stconn: Don't forward channel data if input data must be filtered
+- BUG/MEDIUM: evports: do not clear returned events list on signal
+- BUG/MEDIUM: peers: Fix exit condition when max-updates-at-once is reached
+- BUG/MINOR: server: fix slowstart behavior
+- BUG/MEDIUM: cache: Vary not working properly on anything other than
+ accept-encoding
+- BUG/MINOR: stconn: Fix sc_mux_strm() return value
+- BUG/MINOR: sock: handle a weird condition with connect()
+- BUG/MINOR: fd: my_closefrom() on Linux could skip contiguous series of sockets
+- BUG/MINOR: backend: use cum_sess counters instead of cum_conn
+- BUG/MINOR: h1: fix detection of upper bytes in the URI
+- BUG/MINOR: mworker: reintroduce way to disable seamless reload with
+ -x /dev/null
+- BUILD: clock: improve check for pthread_getcpuclockid()
+- DOC: lua: fix filters.txt file location
+- MINOR: log: add dup_logsrv() helper function
+- BUG/MINOR: log: keep the ref in dup_logger()
+- BUG/MINOR: log: smp_rgs array issues with inherited global log directives
+- BUG/MINOR: mux-quic: fix error code on shutdown for non HTTP/3
+- BUG/MINOR: qpack: fix error code reported on QPACK decoding failure
+- BUG/MEDIUM: htx: mark htx_sl as packed since it may be realigned
+- BUG/MEDIUM: stick-tables: properly mark stktable_data as packed
+- BUG/MINOR: h1: Check authority for non-CONNECT methods only if a scheme
+ is found
+- BUG/MEDIUM: h1: Reject CONNECT request if the target has a scheme
+- BUILD: stick-tables: better mark the stktable_data as 32-bit aligned
+- BUG/MEDIUM: fd: prevent memory waste in fdtab array
+- BUG/MINOR: htpp-ana/stats: Specify that HTX redirect messages have
+ a C-L header
+- BUG/MINOR: stats: Don't state the 303 redirect response is chunked
+- CLEANUP: ssl/cli: remove unused code in dump_crtlist_conf
+- BUG/MINOR: connection: parse PROXY TLV for LOCAL mode
+- BUG/MAJOR: quic: Crash with TLS_AES_128_CCM_SHA256 (libressl only)
+- BUG/MEDIUM: quic_tls: prevent LibreSSL < 4.0 from negotiating
+ CHACHA20_POLY1305
+- BUG/MEDIUM: mux-quic: Create sedesc in same time of the QUIC stream
+- MEDIUM: config: prevent communication with privileged ports
+- BUG/MINOR: quic: adjust restriction for stateless reset emission
+- BUG/MINOR: http-htx: Support default path during scheme based normalization
+- BUG/MINOR: server: Don't reset resolver options on a new default-server line
+- DOC: quic: specify that connection migration is not supported
+- DOC: config: fix incorrect section reference about custom log format
+- REGTESTS: acl_cli_spaces: avoid a warning caused by undefined logs
+- CI: scripts: fix build of vtest regarding option -C
+- BUILD: fd: errno is also needed without poll()
+- BUG/MINOR: ssl/ocsp: init callback func ptr as NULL
+- BUG/MINOR: activity: fix Delta_calls and Delta_bytes count
+- BUG/MINOR: cfgparse: remove the correct option on httpcheck send-state warning
+- BUG/MINOR: tcpcheck: report correct error in tcp-check rule parser
+- BUG/MINOR: tools: fix possible null-deref in env_expand() on out-of-memory
+- BUG/MINOR: hlua: use CertCache.set() from various hlua contexts
+- BUG/MINOR: quic: prevent crash on qc_kill_conn()
+- CLEANUP: hlua: use hlua_pusherror() where relevant
+- BUG/MINOR: hlua: don't use lua_pushfstring() when we don't expect LJMP
+- BUG/MINOR: hlua: fix unsafe hlua_pusherror() usage
+- MINOR: hlua: don't dump empty entries in hlua_traceback()
+- BUG/MINOR: hlua: prevent LJMP in hlua_traceback()
+- BUG/MINOR: hlua: fix leak in hlua_ckch_set() error path
+- CLEANUP: hlua: simplify ambiguous lua_insert() usage in hlua_ctx_resume()
+- BUG/MEDIUM: ssl: wrong priority whem limiting ECDSA ciphers in ECDSA+RSA
+ configuration
+- BUG/MEDIUM: server: fix dynamic servers initial settings
+- BUG/MEDIUM: quic: fix connection freeze on post handshake
+- MINOR: session: rename private conns elements
+- BUG/MAJOR: server: do not delete srv referenced by session
+- BUG/MEDIUM: http_ana: ignore NTLM for reuse aggressive/always and no H1
+- BUG/MAJOR: connection: fix server used_conns with H2 + reuse safe
+- BUG/MEDIUM: quic: don't blindly rely on unaligned accesses
+- BUG/MINOR: haproxy: only tid 0 must not sleep if got signal
+
* Tue Apr 16 2024 Anton Novojilov - 2.6.17-0
- BUG/MEDIUM: connection: report connection errors even when no mux is installed
- BUG/MEDIUM: mworker: set the master variable earlier
diff --git a/specs/haproxy/haproxy28.spec b/specs/haproxy/haproxy28.spec
index a2d5b8641..c65d7e3fc 100644
--- a/specs/haproxy/haproxy28.spec
+++ b/specs/haproxy/haproxy28.spec
@@ -16,9 +16,9 @@
%define hp_confdir %{_sysconfdir}/%{orig_name}
%define hp_datadir %{_datadir}/%{orig_name}
-%define lua_ver 5.4.6
-%define pcre_ver 10.43
-%define openssl_ver 3.1.5
+%define lua_ver 5.4.7
+%define pcre_ver 10.44
+%define openssl_ver 3.1.6
%define ncurses_ver 6.4
%define readline_ver 8.2
@@ -26,7 +26,7 @@
Name: haproxy%{comp_ver}
Summary: TCP/HTTP reverse proxy for high availability environments
-Version: 2.8.9
+Version: 2.8.10
Release: 0%{?dist}
License: GPLv2+
URL: https://haproxy.1wt.eu
@@ -46,15 +46,9 @@ Source100: checksum.sha512
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-BuildRequires: make zlib-devel systemd-devel perl perl-IPC-Cmd
+BuildRequires: make gcc-c++ zlib-devel systemd-devel perl perl-IPC-Cmd
-%if 0%{?rhel} <= 7
-BuildRequires: devtoolset-11-gcc-c++ devtoolset-11-binutils
-%else
-BuildRequires: gcc-c++
-%endif
-
-Conflicts: haproxy haproxy22 haproxy24 haproxy26
+Conflicts: haproxy haproxy22 haproxy24 haproxy26 haproxy30
Provides: %{name} = %{version}-%{release}
@@ -85,11 +79,6 @@ tar xzvf %{SOURCE14}
%build
-%if 0%{?rhel} <= 7
-# Use gcc and gcc-c++ from DevToolSet 11
-export PATH="/opt/rh/devtoolset-11/root/usr/bin:$PATH"
-%endif
-
### DEPS BUILD START ###
export BUILDDIR=$(pwd)
@@ -231,6 +220,94 @@ fi
################################################################################
%changelog
+* Sat Aug 17 2024 Anton Novojilov - 2.8.10-0
+- BUG/MINOR: cli: Report an error to user if command or payload is too big
+- BUG/MINOR: listener: always assign distinct IDs to shards
+- BUG/MINOR: log: fix lf_text_len() truncate inconsistency
+- BUG/MINOR: tools/log: invalid encode_{chunk,string} usage
+- BUG/MINOR: log: invalid snprintf() usage in sess_build_logline()
+- CLEANUP: log: lf_text_len() returns a pointer not an integer
+- BUG/MEDIUM: http-ana: Deliver 502 on keep-alive for fressh server connection
+- BUG/MINOR: http-ana: Fix TX_L7_RETRY and TX_D_L7_RETRY values
+- BUG/MINOR: debug: make sure DEBUG_STRICT=0 does work as documented
+- BUG/MEDIUM: peers/trace: fix crash when listing event types
+- CI: revert kernel addr randomization introduced in 3a0fc864
+- MINOR: net_helper: Add support for floats/doubles.
+- BUG/MEDIUM: grpc: Fix several unaligned 32/64 bits accesses
+- BUG/MEDIUM: stconn: Don't forward channel data if input data must be filtered
+- BUG/MEDIUM: evports: do not clear returned events list on signal
+- BUG/MEDIUM: applet: Fix applet API to put input data in a buffer
+- BUG/MEDIUM: spoe: Always retry when an applet fails to send a frame
+- BUG/MEDIUM: peers: Fix exit condition when max-updates-at-once is reached
+- BUG/MINOR: server: fix slowstart behavior
+- BUG/MEDIUM: cache: Vary not working properly on anything other than
+ accept-encoding
+- BUG/MINOR: stconn: Fix sc_mux_strm() return value
+- BUG/MINOR: sock: handle a weird condition with connect()
+- BUG/MINOR: fd: my_closefrom() on Linux could skip contiguous series of sockets
+- BUG/MINOR: backend: use cum_sess counters instead of cum_conn
+- BUG/MINOR: h1: fix detection of upper bytes in the URI
+- BUG/MINOR: mworker: reintroduce way to disable seamless reload with
+ -x /dev/null
+- BUILD: clock: improve check for pthread_getcpuclockid()
+- BUG/MINOR: haproxy: only tid 0 must not sleep if got signal
+- DOC: lua: fix filters.txt file location
+- MINOR: log: add dup_logsrv() helper function
+- BUG/MINOR: log: keep the ref in dup_logger()
+- BUG/MINOR: log: smp_rgs array issues with inherited global log directives
+- BUG/MINOR: mux-quic: fix error code on shutdown for non HTTP/3
+- BUG/MINOR: qpack: fix error code reported on QPACK decoding failure
+- BUG/MEDIUM: htx: mark htx_sl as packed since it may be realigned
+- BUG/MEDIUM: stick-tables: properly mark stktable_data as packed
+- BUG/MINOR: h1: Check authority for non-CONNECT methods only if a scheme
+ is found
+- BUG/MEDIUM: h1: Reject CONNECT request if the target has a scheme
+- BUILD: stick-tables: better mark the stktable_data as 32-bit aligned
+- BUG/MEDIUM: fd: prevent memory waste in fdtab array
+- BUG/MINOR: htpp-ana/stats: Specify that HTX redirect messages have
+ a C-L header
+- BUG/MINOR: stats: Don't state the 303 redirect response is chunked
+- CLEANUP: ssl/cli: remove unused code in dump_crtlist_conf
+- DOC: configuration: update the crt-list documentation
+- BUG/MINOR: connection: parse PROXY TLV for LOCAL mode
+- BUG/MAJOR: quic: Crash with TLS_AES_128_CCM_SHA256 (libressl only)
+- BUG/MEDIUM: quic_tls: prevent LibreSSL < 4.0 from negotiating
+ CHACHA20_POLY1305
+- BUG/MEDIUM: mux-quic: Create sedesc in same time of the QUIC stream
+- BUILD: quic: fix unused variable warning when threads are disabled
+- MEDIUM: config: prevent communication with privileged ports
+- BUG/MINOR: quic: adjust restriction for stateless reset emission
+- BUG/MINOR: http-htx: Support default path during scheme based normalization
+- BUG/MINOR: server: Don't reset resolver options on a new default-server line
+- DOC: quic: specify that connection migration is not supported
+- DOC: config: fix incorrect section reference about custom log format
+- REGTESTS: acl_cli_spaces: avoid a warning caused by undefined logs
+- CI: scripts: fix build of vtest regarding option -C
+- BUILD: fd: errno is also needed without poll()
+- CLEANUP: ssl/ocsp: readable ifdef in ssl_sock_load_ocsp
+- BUG/MINOR: ssl/ocsp: init callback func ptr as NULL
+- BUG/MINOR: activity: fix Delta_calls and Delta_bytes count
+- BUG/MINOR: cfgparse: remove the correct option on httpcheck send-state warning
+- BUG/MINOR: tcpcheck: report correct error in tcp-check rule parser
+- BUG/MINOR: tools: fix possible null-deref in env_expand() on out-of-memory
+- BUG/MINOR: hlua: use CertCache.set() from various hlua contexts
+- BUG/MINOR: quic: prevent crash on qc_kill_conn()
+- CLEANUP: hlua: use hlua_pusherror() where relevant
+- BUG/MINOR: hlua: don't use lua_pushfstring() when we don't expect LJMP
+- BUG/MINOR: hlua: fix unsafe hlua_pusherror() usage
+- BUG/MINOR: hlua: prevent LJMP in hlua_traceback()
+- BUG/MINOR: hlua: fix leak in hlua_ckch_set() error path
+- CLEANUP: hlua: simplify ambiguous lua_insert() usage in hlua_ctx_resume()
+- BUG/MEDIUM: ssl: wrong priority whem limiting ECDSA ciphers in ECDSA+RSA
+ configuration
+- BUG/MEDIUM: server: fix dynamic servers initial settings
+- BUG/MEDIUM: quic: fix connection freeze on post handshake
+- MINOR: session: rename private conns elements
+- BUG/MAJOR: server: do not delete srv referenced by session
+- BUG/MEDIUM: http_ana: ignore NTLM for reuse aggressive/always and no H1
+- BUG/MAJOR: connection: fix server used_conns with H2 + reuse safe
+- BUG/MEDIUM: quic: don't blindly rely on unaligned accesses
+
* Tue Apr 16 2024 Anton Novojilov - 2.8.9-0
- BUILD: proxy: Replace free_logformat_list() to manually release log-format
diff --git a/specs/haproxy/haproxy30.spec b/specs/haproxy/haproxy30.spec
new file mode 100644
index 000000000..6ced9ac45
--- /dev/null
+++ b/specs/haproxy/haproxy30.spec
@@ -0,0 +1,320 @@
+################################################################################
+
+%global crc_check pushd ../SOURCES ; sha512sum -c %{SOURCE100} ; popd
+
+################################################################################
+
+%define orig_name haproxy
+%define major_ver 3.0
+%define comp_ver 30
+
+%define hp_user %{orig_name}
+%define hp_group %{orig_name}
+%define hp_user_id 188
+%define hp_group_id 188
+%define hp_homedir %{_localstatedir}/lib/%{orig_name}
+%define hp_confdir %{_sysconfdir}/%{orig_name}
+%define hp_datadir %{_datadir}/%{orig_name}
+
+%define lua_ver 5.4.7
+%define pcre_ver 10.44
+%define openssl_ver 3.2.2
+%define ncurses_ver 6.4
+%define readline_ver 8.2
+
+################################################################################
+
+Name: haproxy%{comp_ver}
+Summary: TCP/HTTP reverse proxy for high availability environments
+Version: 3.0.3
+Release: 0%{?dist}
+License: GPLv2+
+URL: https://haproxy.1wt.eu
+Group: System Environment/Daemons
+
+Source0: https://www.haproxy.org/download/%{major_ver}/src/%{orig_name}-%{version}.tar.gz
+Source1: %{orig_name}.cfg
+Source2: %{orig_name}.logrotate
+
+Source10: https://www.lua.org/ftp/lua-%{lua_ver}.tar.gz
+Source11: https://github.com/PCRE2Project/pcre2/releases/download/pcre2-%{pcre_ver}/pcre2-%{pcre_ver}.tar.gz
+Source12: https://www.openssl.org/source/openssl-%{openssl_ver}.tar.gz
+Source13: https://ftp.gnu.org/pub/gnu/ncurses/ncurses-%{ncurses_ver}.tar.gz
+Source14: https://ftp.gnu.org/gnu/readline/readline-%{readline_ver}.tar.gz
+
+Source100: checksum.sha512
+
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+
+BuildRequires: make gcc-c++ zlib-devel systemd-devel perl perl-IPC-Cmd
+
+Conflicts: haproxy haproxy22 haproxy24 haproxy26 haproxy28
+
+Provides: %{name} = %{version}-%{release}
+
+################################################################################
+
+%description
+HAProxy is a free, fast and reliable solution offering high
+availability, load balancing, and proxying for TCP and HTTP-based
+applications. It is particularly suited for web sites crawling under
+very high loads while needing persistence or Layer7 processing.
+Supporting tens of thousands of connections is clearly realistic with
+modern hardware. Its mode of operation makes integration with existing
+architectures very easy and riskless, while still offering the
+possibility not to expose fragile web servers to the net.
+
+################################################################################
+
+%prep
+%{crc_check}
+
+%setup -qn %{orig_name}-%{version}
+
+tar xzvf %{SOURCE10}
+tar xzvf %{SOURCE11}
+tar xzvf %{SOURCE12}
+tar xzvf %{SOURCE13}
+tar xzvf %{SOURCE14}
+
+%build
+
+### DEPS BUILD START ###
+
+export BUILDDIR=$(pwd)
+
+# Static OpenSSL build
+pushd openssl-%{openssl_ver}
+ mkdir build
+ # perfecto:ignore
+ ./config --prefix=$(pwd)/build no-shared no-threads
+ %{__make} %{?_smp_mflags}
+ %{__make} install_sw
+popd
+
+# Static NCurses build
+pushd ncurses-%{ncurses_ver}
+ mkdir build
+ # perfecto:ignore
+ ./configure --prefix=$(pwd)/build --enable-shared=no
+ %{__make} %{?_smp_mflags}
+ %{__make} install
+popd
+
+# Static readline build
+pushd readline-%{readline_ver}
+ mkdir build
+ # perfecto:ignore
+ ./configure --prefix=$(pwd)/build --enable-static=true
+ %{__make} %{?_smp_mflags}
+ %{__make} install
+popd
+
+# Static Lua build
+pushd lua-%{lua_ver}
+ mkdir build
+ %{__make} %{?_smp_mflags} \
+ MYCFLAGS="-I$BUILDDIR/readline-%{readline_ver}/build/include" \
+ MYLDFLAGS="-L$BUILDDIR/readline-%{readline_ver}/build/lib -L$BUILDDIR/ncurses-%{ncurses_ver}/build/lib -lreadline -lncurses" \
+ linux
+ %{__make} %{?_smp_mflags} INSTALL_TOP=$(pwd)/build install
+popd
+
+# Static PCRE build
+pushd pcre2-%{pcre_ver}
+ mkdir build
+ # perfecto:ignore
+ ./configure --prefix=$(pwd)/build \
+ --enable-shared=no \
+ --enable-jit
+ %{__make} %{?_smp_mflags}
+ %{__make} install
+popd
+
+### DEPS BUILD END ###
+
+%ifarch %ix86 x86_64
+use_regparm="USE_REGPARM=1"
+%endif
+
+%{__make} %{?_smp_mflags} CPU="generic" \
+ TARGET="linux-glibc" \
+ USE_OPENSSL=1 \
+ SSL_INC=openssl-%{openssl_ver}/build/include \
+ SSL_LIB=openssl-%{openssl_ver}/build/%{_lib} \
+ USE_PCRE2_JIT=1 \
+ USE_STATIC_PCRE2=1 \
+ PCRE2_INC=pcre2-%{pcre_ver}/build/include \
+ PCRE2_LIB=pcre2-%{pcre_ver}/build/lib \
+ USE_LUA=1 \
+ LUA_INC=lua-%{lua_ver}/build/include \
+ LUA_LIB=lua-%{lua_ver}/build/lib \
+ USE_ZLIB=1 \
+ USE_SYSTEMD=1 \
+ ADDLIB="-ldl -lrt -lpthread" \
+ ${use_regparm}
+
+%{__make} admin/halog/halog
+
+sed "s#@SBINDIR@#%{_sbindir}#g" admin/systemd/%{orig_name}.service.in > \
+ admin/systemd/%{orig_name}.service
+
+%install
+rm -rf %{buildroot}
+
+%{__make} install-bin DESTDIR=%{buildroot} PREFIX=%{_prefix}
+%{__make} install-man DESTDIR=%{buildroot} PREFIX=%{_prefix}
+
+install -pDm 0644 %{SOURCE1} %{buildroot}%{hp_confdir}/%{orig_name}.cfg
+install -pDm 0644 %{SOURCE2} %{buildroot}%{_sysconfdir}/logrotate.d/%{orig_name}
+
+install -dm 0755 %{buildroot}%{hp_homedir}
+install -dm 0755 %{buildroot}%{hp_datadir}
+install -dm 0755 %{buildroot}%{_bindir}
+
+install -dm 755 %{buildroot}%{_unitdir}
+install -pm 644 admin/systemd/%{orig_name}.service %{buildroot}%{_unitdir}/
+
+install -pm 0755 ./admin/halog/halog %{buildroot}%{_bindir}/halog
+install -pm 0644 ./examples/errorfiles/* %{buildroot}%{hp_datadir}
+
+%clean
+rm -rf %{buildroot}
+
+%pre
+if [[ $1 -eq 1 ]] ; then
+ getent group %{hp_group} >/dev/null || groupadd -g %{hp_group_id} -r %{hp_group} 2>/dev/null
+ getent passwd %{hp_user} >/dev/null || useradd -r -u %{hp_user_id} -g %{hp_group} -d %{hp_homedir} -s /sbin/nologin %{hp_user} 2>/dev/null
+fi
+
+%post
+if [[ $1 -eq 1 ]] ; then
+ systemctl enable %{orig_name}.service &>/dev/null || :
+fi
+
+%preun
+if [[ $1 -eq 0 ]]; then
+ systemctl --no-reload disable %{orig_name}.service &>/dev/null || :
+ systemctl stop %{orig_name}.service &>/dev/null || :
+fi
+
+%postun
+if [[ $1 -ge 1 ]] ; then
+ systemctl daemon-reload &>/dev/null || :
+fi
+
+################################################################################
+
+%files
+%defattr(-, root, root, -)
+%doc CHANGELOG LICENSE README doc/* examples/*.cfg
+%attr(0755, %{hp_user}, %{hp_group}) %dir %{hp_homedir}
+%config(noreplace) %{hp_confdir}/%{orig_name}.cfg
+%config(noreplace) %{_sysconfdir}/logrotate.d/%{orig_name}
+%{hp_datadir}/*
+%{_unitdir}/%{orig_name}.service
+%{_sbindir}/%{orig_name}
+%{_bindir}/halog
+%{_mandir}/man1/%{orig_name}.1.gz
+
+################################################################################
+
+%changelog
+* Sat Aug 17 2024 Anton Novojilov - 3.0.3-0
+- BUG/MINOR: log: fix broken '+bin' logformat node option
+- DEBUG: hlua: distinguish burst timeout errors from exec timeout errors
+- REGTESTS: ssl: fix some regtests 'feature cmd' start condition
+- BUG/MEDIUM: proxy: fix email-alert invalid free
+- DOC: configuration: fix alphabetical order of bind options
+- DOC: management: document ptr lookup for table commands
+- BUG/MAJOR: quic: fix padding with short packets
+- SCRIPTS: git-show-backports: do not truncate git-show output
+- DOC: api/event_hdl: small updates, fix an example and add some precisions
+- BUG/MINOR: h3: fix crash on STOP_SENDING receive after GOAWAY emission
+- BUG/MINOR: mux-quic: fix crash on qcs SD alloc failure
+- BUG/MINOR: h3: fix BUG_ON() crash on control stream alloc failure
+- BUG/MINOR: quic: fix BUG_ON() on Tx pkt alloc failure
+- DEV: flags/show-fd-to-flags: adapt to recent versions
+- BUG/MINOR: hlua: report proper context upon error in hlua_cli_io_handler_fct()
+- BUG/MEDIUM: stick-table: Decrement the ref count inside lock to kill a session
+- DOC: configuration: add details about crt-store in bind "crt" keyword
+- BUG/MINOR: server: fix first server template name lookup UAF
+- MINOR: activity: make the memory profiling hash size configurable at build
+ time
+- BUG/MEDIUM: server/dns: prevent DOWN/UP flap upon resolution timeout or error
+- BUG/MEDIUM: h3: ensure the ":method" pseudo header is totally valid
+- BUG/MEDIUM: h3: ensure the ":scheme" pseudo header is totally valid
+- BUG/MEDIUM: quic: fix race-condition in quic_get_cid_tid()
+- BUG/MINOR: quic: fix race condition in qc_check_dcid()
+- BUG/MINOR: quic: fix race-condition on trace for CID retrieval
+- BUG/MEDIUM: quic: fix possible exit from qc_check_dcid() without unlocking
+- BUG/MINOR: promex: Remove Help prefix repeated twice for each metric
+- BUG/MEDIUM: hlua/cli: Fix lua CLI commands to work with applet's buffers
+- DOC: configuration: more details about the master-worker mode
+- BUG/MEDIUM: server: fix race on server_atomic_sync()
+- BUG/MINOR: jwt: don't try to load files with HMAC algorithm
+- MEDIUM: init: set default for fd_hard_limit via DEFAULT_MAXFD
+- DOC: configuration: update maxconn description
+- BUG/MEDIUM: peers: Fix crash when syncing learn state of a peer without appctx
+- Revert "MEDIUM: init: set default for fd_hard_limit via DEFAULT_MAXFD"
+- BUG/MINOR: jwt: fix variable initialisation
+- BUG/MINOR: h1: Fail to parse empty transfer coding names
+- BUG/MINOR: h1: Reject empty coding name as last transfer-encoding value
+- BUG/MEDIUM: h1: Reject empty Transfer-encoding header
+- BUG/MEDIUM: spoe: Be sure to create a SPOE applet if none on the current
+ thread
+- DEV: flags/quic: decode quic_conn flags
+- BUG/MEDIUM: bwlim: Be sure to never set the analyze expiration date in past
+
+* Sat Aug 17 2024 Anton Novojilov - 3.0.2-0
+- MINOR: log: fix "http-send-name-header" ignore warning message
+- BUG/MINOR: proxy: fix server_id_hdr_name leak on deinit()
+- BUG/MINOR: proxy: fix log_tag leak on deinit()
+- BUG/MINOR: proxy: fix email-alert leak on deinit()
+- BUG/MINOR: proxy: fix check_{command,path} leak on deinit()
+- BUG/MINOR: proxy: fix dyncookie_key leak on deinit()
+- BUG/MINOR: proxy: fix source interface and usesrc leaks on deinit()
+- BUG/MINOR: proxy: fix header_unique_id leak on deinit()
+- BUG/MEDIUM: log: fix lf_expr_postcheck() behavior with default section
+- DOC: config: move "hash-key" from proxy to server options
+- DOC: config: add missing section hint for "guid" proxy keyword
+- DOC: config: add missing context hint for new server and proxy keywords
+- BUG/MINOR: promex: Skip resolvers metrics when there is no resolver section
+- MINOR: proxy: add proxy_free_common() helper function
+- BUG/MEDIUM: proxy: fix UAF with {tcp,http}checks logformat expressions
+- CLEANUP: log/proxy: fix comment in proxy_free_common()
+- BUG/MAJOR: mux-h1: Prevent any UAF on H1 connection after draining a request
+- BUG/MINOR: quic: fix padding of INITIAL packets
+- DOC/MINOR: management: add missed -dR and -dv options
+- DOC/MINOR: management: add -dZ option
+- DOC: management: rename show stats domain cli "dns" to "resolvers"
+
+* Sat Aug 17 2024 Anton Novojilov - 3.0.1-0
+- BUG/MINOR: cfgparse: remove the correct option on httpcheck send-state warning
+- BUG/MINOR: tcpcheck: report correct error in tcp-check rule parser
+- BUG/MINOR: tools: fix possible null-deref in env_expand() on out-of-memory
+- DOC: configuration: add an example for keywords from crt-store
+- BUG/MINOR: hlua: use CertCache.set() from various hlua contexts
+- BUG/MEDIUM: h1-htx: Don't state interim responses are bodyless
+- MEDIUM: stconn: Be able to unblock zero-copy data forwarding from done_fastfwd
+- BUG/MEDIUM: mux-quic: Unblock zero-copy forwarding if the txbuf can be
+ released
+- BUG/MINOR: quic: prevent crash on qc_kill_conn()
+- CLEANUP: hlua: use hlua_pusherror() where relevant
+- BUG/MINOR: hlua: don't use lua_pushfstring() when we don't expect LJMP
+- BUG/MINOR: hlua: fix unsafe hlua_pusherror() usage
+- BUG/MINOR: hlua: prevent LJMP in hlua_traceback()
+- BUG/MINOR: hlua: fix leak in hlua_ckch_set() error path
+- CLEANUP: hlua: simplify ambiguous lua_insert() usage in hlua_ctx_resume()
+- BUG/MEDIUM: mux-quic: Don't unblock zero-copy fwding if blocked during nego
+- BUG/MEDIUM: ssl: wrong priority whem limiting ECDSA ciphers in ECDSA+RSA
+ configuration
+- BUG/MEDIUM: ssl: bad auth selection with TLS1.2 and WolfSSL
+- BUG/MINOR: quic: fix computed length of emitted STREAM frames
+- BUG/MINOR: quic: ensure Tx buf is always purged
+- BUG/MEDIUM: stconn/mux-h1: Fix suspect change causing timeouts
+- BUG/MAJOR: mux-h1: Properly copy chunked input data during zero-copy nego
+- BUG/MINOR: mux-h1: Use the right variable to set NEGO_FF_FL_EXACT_SIZE flag
+
+* Sat Aug 17 2024 Anton Novojilov - 3.0.0-0
+- Initial build for kaos repository
diff --git a/specs/hdf/hdf.spec b/specs/hdf/hdf.spec
index dd2c6142a..10964cc52 100644
--- a/specs/hdf/hdf.spec
+++ b/specs/hdf/hdf.spec
@@ -77,12 +77,10 @@ HDF4 static libraries.
################################################################################
%prep
-%{crc_check}
-
-%setup -q
-
-%patch0 -p1 -b .maxavailfiles
+%crc_check
+%autosetup -p1
+# perfecto:ignore
chmod a-x *hdf/*/*.c hdf/*/*.h
%build
diff --git a/specs/hyperfine.spec b/specs/hyperfine.spec
index a967d0226..279cb4c93 100644
--- a/specs/hyperfine.spec
+++ b/specs/hyperfine.spec
@@ -8,23 +8,23 @@
################################################################################
-Summary: Command-line benchmarking tool
-Name: hyperfine
-Version: 1.18.0
-Release: 0%{?dist}
-Group: Applications/Text
-License: MIT or Unlicense
-URL: https://github.com/sharkdp/hyperfine
+Summary: Command-line benchmarking tool
+Name: hyperfine
+Version: 1.18.0
+Release: 0%{?dist}
+Group: Applications/Text
+License: MIT or Unlicense
+URL: https://github.com/sharkdp/hyperfine
-Source0: https://github.com/sharkdp/%{name}/archive/refs/tags/v%{version}.tar.gz
+Source0: https://github.com/sharkdp/%{name}/archive/refs/tags/v%{version}.tar.gz
-Source100: checksum.sha512
+Source100: checksum.sha512
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-BuildRequires: cargo
+BuildRequires: cargo
-Provides: %{name} = %{version}-%{release}
+Provides: %{name} = %{version}-%{release}
################################################################################
diff --git a/specs/id3lib/id3lib.spec b/specs/id3lib/id3lib.spec
index e509ac0f6..74e88e591 100644
--- a/specs/id3lib/id3lib.spec
+++ b/specs/id3lib/id3lib.spec
@@ -23,15 +23,15 @@ Source2: id3.pc
Source100: checksum.sha512
Patch0: %{name}-dox.patch
-Patch1: %{name}-%{version}-autoreconf.patch
-Patch2: %{name}-%{version}-io_helpers-163101.patch
-Patch3: %{name}-%{version}-mkstemp.patch
-Patch4: %{name}-%{version}-includes.patch
-Patch5: %{name}-vbr_buffer_overflow.diff
-Patch6: 20-create-manpages.patch
-Patch7: 60-fix_make_check.patch
-Patch8: 60-%{name}-missing-nullpointer-check.patch
-Patch9: %{name}-%{version}-fix-utf16-stringlists.patch
+Patch11: %{name}-%{version}-autoreconf.patch
+Patch12: %{name}-%{version}-io_helpers-163101.patch
+Patch13: %{name}-%{version}-mkstemp.patch
+Patch14: %{name}-%{version}-includes.patch
+Patch15: %{name}-vbr_buffer_overflow.diff
+Patch16: 20-create-manpages.patch
+Patch17: 60-fix_make_check.patch
+Patch18: 60-%{name}-missing-nullpointer-check.patch
+Patch19: %{name}-%{version}-fix-utf16-stringlists.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -54,11 +54,11 @@ tell mp3 header info, like bitrate etc.
%package devel
-Summary: Development tools for the id3lib library
-Group: Development/Libraries
+Summary: Development tools for the id3lib library
+Group: Development/Libraries
-Requires: %{name} = %{version}-%{release}
-Requires: zlib-devel
+Requires: %{name} = %{version}-%{release}
+Requires: zlib-devel
%description devel
This package provides files needed to develop with the id3lib library.
@@ -66,21 +66,12 @@ This package provides files needed to develop with the id3lib library.
################################################################################
%prep
-%{crc_check}
-
-%setup -q
-
-%patch0 -p0
-%patch1 -p1 -b .autoreconf
-%patch2 -p1 -b .io_helpers-163101
-%patch3 -p1 -b .mkstemp
-%patch4 -p1 -b .gcc43
-%patch5 -p1
-%patch6 -p1
-%patch7 -p1
-%patch8 -p1
-%patch9 -p1
+%crc_check
+%autosetup -N
+%autopatch -p0 -M 9
+%autopatch -p1 -m 10
+# perfecto:ignore
chmod -x src/*.h src/*.cpp include/id3/*.h
sed -i -e 's/\r//' doc/id3v2.3.0.*
@@ -132,9 +123,6 @@ install -pm 644 %{SOURCE2} %{buildroot}%{_libdir}/pkgconfig/id3.pc
%postun
/sbin/ldconfig
-%clean
-rm -rf %{buildroot}
-
################################################################################
%files
diff --git a/specs/imlib2.spec b/specs/imlib2.spec
index 281fb1c62..92e963b37 100644
--- a/specs/imlib2.spec
+++ b/specs/imlib2.spec
@@ -4,25 +4,25 @@
################################################################################
-Summary: Powerful image loading and rendering library
-Name: imlib2
-Version: 1.9.1
-Release: 0%{?dist}
-License: BSD
-Group: System Environment/Libraries
-URL: https://docs.enlightenment.org/api/imlib2/html
+Summary: Powerful image loading and rendering library
+Name: imlib2
+Version: 1.12.3
+Release: 0%{?dist}
+License: BSD
+Group: System Environment/Libraries
+URL: https://docs.enlightenment.org/api/imlib2/html
-Source0: https://prdownloads.sourceforge.net/enlightenment/%{name}-%{version}.tar.xz
+Source0: https://prdownloads.sourceforge.net/enlightenment/%{name}-%{version}.tar.xz
-Source100: checksum.sha512
+Source100: checksum.sha512
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-BuildRequires: make gcc gcc-c++ zlib-devel freetype-devel
+BuildRequires: make gcc gcc-c++ zlib-devel freetype-devel
-Requires: zlib
+Requires: zlib
-Provides: %{name} = %{version}-%{release}
+Provides: %{name} = %{version}-%{release}
################################################################################
@@ -35,11 +35,11 @@ rendering and blending, dynamic binary filters, scripting, and more.
################################################################################
%package devel
-Summary: Imlib2 headers, static libraries and documentation
-Group: Development/Libraries
+Summary: Imlib2 headers, static libraries and documentation
+Group: Development/Libraries
-Requires: %{name} = %{version}
-Requires: pkgconfig(x11)
+Requires: %{name} = %{version}
+Requires: pkgconfig(x11)
%description devel
Headers, static libraries and documentation for Imlib2.
@@ -47,10 +47,10 @@ Headers, static libraries and documentation for Imlib2.
################################################################################
%package filters
-Summary: Imlib2 basic plugin filters set
-Group: System Environment/Libraries
+Summary: Imlib2 basic plugin filters set
+Group: System Environment/Libraries
-Requires: %{name} = %{version}
+Requires: %{name} = %{version}
%description filters
Basic set of plugin filters that come with Imlib2.
@@ -58,10 +58,10 @@ Basic set of plugin filters that come with Imlib2.
################################################################################
%package loader_lbm
-Summary: Imlib2 LBM loader
-Group: System Environment/Libraries
+Summary: Imlib2 LBM loader
+Group: System Environment/Libraries
-Requires: %{name} = %{version}
+Requires: %{name} = %{version}
%description loader_lbm
LBM image loader/saver for Imlib2.
@@ -69,13 +69,13 @@ LBM image loader/saver for Imlib2.
################################################################################
%package loader_jpeg
-Summary: Imlib2 JPEG loader
-Group: System Environment/Libraries
+Summary: Imlib2 JPEG loader
+Group: System Environment/Libraries
-Requires: %{name} = %{version}
-Requires: libjpeg-turbo
+Requires: %{name} = %{version}
+Requires: libjpeg-turbo
-BuildRequires: libjpeg-turbo-devel
+BuildRequires: libjpeg-turbo-devel
%description loader_jpeg
JPEG image loader/saver for Imlib2.
@@ -83,13 +83,13 @@ JPEG image loader/saver for Imlib2.
################################################################################
%package loader_png
-Summary: Imlib2 PNG loader
-Group: System Environment/Libraries
+Summary: Imlib2 PNG loader
+Group: System Environment/Libraries
-Requires: %{name} = %{version}
-Requires: libpng zlib
+Requires: %{name} = %{version}
+Requires: libpng zlib
-BuildRequires: libpng-devel zlib-devel
+BuildRequires: libpng-devel zlib-devel
%description loader_png
PNG image loader/saver for Imlib2.
@@ -97,10 +97,10 @@ PNG image loader/saver for Imlib2.
################################################################################
%package loader_argb
-Summary: Imlib2 ARGB loader
-Group: System Environment/Libraries
+Summary: Imlib2 ARGB loader
+Group: System Environment/Libraries
-Requires: %{name} = %{version}
+Requires: %{name} = %{version}
%description loader_argb
ARGB image loader/saver for Imlib2.
@@ -108,10 +108,10 @@ ARGB image loader/saver for Imlib2.
################################################################################
%package loader_bmp
-Summary: Imlib2 BMP loader
-Group: System Environment/Libraries
+Summary: Imlib2 BMP loader
+Group: System Environment/Libraries
-Requires: %{name} = %{version}
+Requires: %{name} = %{version}
%description loader_bmp
BMP image loader/saver for Imlib2.
@@ -119,10 +119,10 @@ BMP image loader/saver for Imlib2.
################################################################################
%package loader_ff
-Summary: Imlib2 Farbfeld loader
-Group: System Environment/Libraries
+Summary: Imlib2 Farbfeld loader
+Group: System Environment/Libraries
-Requires: %{name} = %{version}
+Requires: %{name} = %{version}
%description loader_ff
Farbfeld image loader/saver for Imlib2.
@@ -130,13 +130,13 @@ Farbfeld image loader/saver for Imlib2.
################################################################################
%package loader_gif
-Summary: Imlib2 GIF loader
-Group: System Environment/Libraries
+Summary: Imlib2 GIF loader
+Group: System Environment/Libraries
-Requires: %{name} = %{version}
-Requires: giflib
+Requires: %{name} = %{version}
+Requires: giflib
-BuildRequires: giflib-devel
+BuildRequires: giflib-devel
%description loader_gif
GIF image loader for Imlib2.
@@ -144,10 +144,10 @@ GIF image loader for Imlib2.
################################################################################
%package loader_ico
-Summary: Imlib2 ICO loader
-Group: System Environment/Libraries
+Summary: Imlib2 ICO loader
+Group: System Environment/Libraries
-Requires: %{name} = %{version}
+Requires: %{name} = %{version}
%description loader_ico
ICO image loader for Imlib2.
@@ -155,10 +155,10 @@ ICO image loader for Imlib2.
################################################################################
%package loader_pnm
-Summary: Imlib2 PNM loader
-Group: System Environment/Libraries
+Summary: Imlib2 PNM loader
+Group: System Environment/Libraries
-Requires: %{name} = %{version}
+Requires: %{name} = %{version}
%description loader_pnm
PNM image loader/saver for Imlib2.
@@ -166,10 +166,10 @@ PNM image loader/saver for Imlib2.
################################################################################
%package loader_tga
-Summary: Imlib2 TGA loader
-Group: System Environment/Libraries
+Summary: Imlib2 TGA loader
+Group: System Environment/Libraries
-Requires: %{name} = %{version}
+Requires: %{name} = %{version}
%description loader_tga
TGA image loader/saver for Imlib2.
@@ -177,13 +177,13 @@ TGA image loader/saver for Imlib2.
################################################################################
%package loader_tiff
-Summary: Imlib2 TIFF loader
-Group: System Environment/Libraries
+Summary: Imlib2 TIFF loader
+Group: System Environment/Libraries
-Requires: %{name} = %{version}
-Requires: libtiff
+Requires: %{name} = %{version}
+Requires: libtiff
-BuildRequires: libtiff-devel
+BuildRequires: libtiff-devel
%description loader_tiff
TIFF image loader/saver for Imlib2.
@@ -191,10 +191,10 @@ TIFF image loader/saver for Imlib2.
################################################################################
%package loader_xpm
-Summary: Imlib2 XPM loader
-Group: System Environment/Libraries
+Summary: Imlib2 XPM loader
+Group: System Environment/Libraries
-Requires: %{name} = %{version}
+Requires: %{name} = %{version}
%description loader_xpm
XPM image loader/saver for Imlib2.
@@ -202,10 +202,10 @@ XPM image loader/saver for Imlib2.
################################################################################
%package loader_xbm
-Summary: Imlib2 XBM loader
-Group: System Environment/Libraries
+Summary: Imlib2 XBM loader
+Group: System Environment/Libraries
-Requires: %{name} = %{version}
+Requires: %{name} = %{version}
%description loader_xbm
XBM image loader/saver for Imlib2.
@@ -213,12 +213,12 @@ XBM image loader/saver for Imlib2.
################################################################################
%package loader_bz2
-Summary: Imlib2 .bz2 loader
-Group: System Environment/Libraries
+Summary: Imlib2 .bz2 loader
+Group: System Environment/Libraries
-Requires: %{name} = %{version}
+Requires: %{name} = %{version}
-BuildRequires: bzip2-devel
+BuildRequires: bzip2-devel
%description loader_bz2
Bzip2 compressed image loader/saver for Imlib2.
@@ -226,10 +226,10 @@ Bzip2 compressed image loader/saver for Imlib2.
################################################################################
%package loader_gz
-Summary: Imlib2 .gz loader
-Group: System Environment/Libraries
+Summary: Imlib2 .gz loader
+Group: System Environment/Libraries
-Requires: %{name} = %{version}
+Requires: %{name} = %{version}
%description loader_gz
gz compressed image loader/saver for Imlib2.
@@ -237,19 +237,41 @@ gz compressed image loader/saver for Imlib2.
################################################################################
%package loader_id3
-Summary: Imlib2 .id3 loader
-Group: System Environment/Libraries
+Summary: Imlib2 .id3 loader
+Group: System Environment/Libraries
-Requires: %{name} = %{version}
-Requires: libid3tag
+Requires: %{name} = %{version}
+Requires: libid3tag
-BuildRequires: libid3tag-devel
+BuildRequires: libid3tag-devel
%description loader_id3
id3 tag image loader/saver for Imlib2.
################################################################################
+%package loader_ani
+Summary: Imlib2 .ani loader
+Group: System Environment/Libraries
+
+Requires: %{name} = %{version}
+
+%description loader_ani
+Animated Windows cursors loader/saver for Imlib2.
+
+################################################################################
+
+%package loader_qoi
+Summary: Imlib2 .qoi loader
+Group: System Environment/Libraries
+
+Requires: %{name} = %{version}
+
+%description loader_qoi
+Quite OK Image Format loader/saver for Imlib2.
+
+################################################################################
+
%prep
%{crc_check}
@@ -373,162 +395,31 @@ rm -rf %{buildroot}
%defattr(-,root,root,-)
%attr(755,root,root) %{_libdir}/%{name}/loaders/id3.so
+%files loader_ani
+%defattr(-,root,root,-)
+%attr(755,root,root) %{_libdir}/%{name}/loaders/ani.so
+
+%files loader_qoi
+%defattr(-,root,root,-)
+%attr(755,root,root) %{_libdir}/%{name}/loaders/qoi.so
+
################################################################################
%changelog
+* Fri Aug 16 2024 Anton Novojilov - 1.12.3-0
+- Updated to version 1.12.3
+
* Sat Sep 24 2022 Anton Novojilov - 1.9.1-0
-- x11_color: Simplify and fix error paths
-- JPEG loader: Use mmap'ed file access
-- modules: Eliminate __imlib_TrimLoaderList()
-- Introduce strsplit()
-- modules: Cosmetics, mostly
-- modules: Enable setting multiple loader/filter paths
-- test: Add test_misc
-- modules: Fix signdness warning
-- TIFF loader: Change default save compression type
-- imlib2_load: Remove unused macro
-- imlib2_conv: Cosmetic changes
-- imlib2_conv: Drop obsolete .db stuff, simplify
-- imlib2_conv: Enable passing attached data to saver v1.9.1
-- check for some alloc failures
-- check for alloc failures some more
-- modules: check for filepath truncation
+- Updated to version 1.9.1
* Tue Aug 11 2020 Anton Novojilov - 1.7.0-0
-- GIF loader: Don't close file descriptor twice
-- Introduce imlib_load_image_from_fd()
-- Don't rescan loaders
-- XPM loader: Major speedup for cpp > 2
-- imlib2_load: Properly check non-full loads (load data too)
-- imlib2_load: Use getopt()
-- imlib2_load: Add repeated load option
-- Simplify __imlib_FileExtension()
-- Refactor many __imlib_File...() functions to use common __imlib_FileStat()
-- Drop the __imlib_IsRealFile() file check in __imlib_File...() functions
-- image.c: Add some space for readability
-- image.c: Remove some unnecessary clearing of calloc'ed structs
-- image.c: Rework some obscure file name stuff in __imlib_SaveImage()
-- image.c: Don't strdup() real_name when not necessary in __imlib_LoadImage()
-- image.c: Use real_file to get file time
-- image.c: Introduce __imlib_ErrorFromErrno()
-- image.c: Use loader return value, not im->w to determine load success
-- Loader cleanups
-- Saver cleanups
-- image.c/h: Cleanups
-- image.c: Move image tag functions to separate file
-- image.c: Move loader functions to separate file
-- image.c: Enable non-dirty pixmap cache cleaning
-- image.c: Minor refactoring of pixmap cache cleaners
-- image.c: Move data_memory_func assignment to better place
-- imlib2_view: Various tweaks
-- Fix loader cleanup breakage (gif)
-- image.c: Remove redundant pixmap unref
-- image.c: Add infrastructure to simplify progress handling
-- Loaders: Simplify/fix progress handling
-- Savers: Simplify progress handling
-- Introduce __imlib_LoadEmbedded()
-- Introduce __imlib_LoaderSetFormats()
-- Make ImlibLoader struct opaque
-- autogen.sh: Add -n as alternative to NOCONFIGURE
-- Fix enum conversion warnings (gcc10)
-- JPG, PNG loaders: Avoid clobber warnings
-- Add a couple of consts
-- TIFF loader: Minor speedup
-- ID3 loader: Some mostly cosmetic rearrangements
-- GZ, BZ2 loaders: Accept more file names
-- __imlib_FileExtension: Use basename if there are no dots
-- Revert "JPG, PNG loaders: Avoid clobber warnings"
-- JPG, PNG loaders: Avoid clobber warnings - Take N+1
-- Add infrastructure for new loader entry - load2()
-- Move loaders to load2()
-- Reduce number of stat() calls during load
-- configure.ac: Drop initial config.cache removal
-- imlib2_load: Optionally use imlib_load_image_fd()
-- Fix build without X11
-- Remove a couple of unused includes
-- ICO loader: Do not crash on invalid files
-- ICO loader: Handle malloc failures
+- Updated to version 1.7.0
* Sat Dec 14 2019 Anton Novojilov - 1.6.1-0
-- gz loader: Use FILE, not fd
-- gz, bz2 loaders: Fix recent breakage when file name has more than two dots
-- Quit on 'q' or 'esc' key press in all imlib2_... test utilities
-- Rename imlib2_test_load to imlib2_load
-- imlib2_load: Optionally write to stderr instead of stdout
-- imlib2_view: Add progress debug options
-- Enable specifying loader/filter paths with environment variables
-- BMP loader: Remove some bogus conditions
-- XPM loader: Minor optimization for cpp > 2
-- LBM loader: Fix header-only loading
-- BMP loader: Fix size calculation when saving files
+- Updated to version 1.6.1
* Sat Dec 14 2019 Anton Novojilov - 1.6.0-0
-- Allow to use custom memory management functions for loaded images
-- Add __imlib_LoadImageWrapper() handling all load() calls
-- imlib2_conv: Report error on save failure
-- Autofoo cosmetics
-- Trivial cleanups in imlib2_... test programs
-- Add imlib2_test_load program
-- Cleanups in load() functions
-- Centralize handling of im->format
-- Sort loaders in Makefile.am
-- Remove obsolete dmalloc stuff
-- Move SWAP.. macro definitions to common.h
-- Use common PIXEL_ARGB() macro to compose pixels
-- Add new ICO loader
-- Spec file simlifications and cleanups
-- Fix memory leak in imlib_list_fonts()
-- XPM loader: Refactor exit cleanup handling
-- XPM loader: Fix potentially uninitialized pixel data
-- XPM loader: Fixup after "Refactor exit cleanup handling"
-- Revert "XPM loader: Fix potentially uninitialized pixel data"
-- XPM loader: Cosmetics (reduce indent level)
-- XPM loader: Fix several colormap issues
-- XPM loader: Simplify pixel value handling
-- XPM loader: Add missing pixels (malformed xpm)
-- XPM loader: More simplifications
-- JPG loader: Refactor
-- JPG loader: Do proper CMYK conversion
-- Add new WebP loader
-- Remove pointless im->data checks in loaders
-- WepP loader: Fix memory leak in error path
-- JPG loader: Fix memory leaks in error paths
-- Fix ABI break
-- ICO loader: Add binary flag to fopen()
-- JPG loader: Refactor error handling
-- Rename/add byte swap macros
-- BMP loader: Major makeover - numerous bug fixes and feature enhancements
-- Miscellaneous imlib_test_load tweaks
-- GZIP loader: Check filename before uncompress
-- imlib2_test_load: Fixup after recent change
-- Re-indent everything using indent-2.2.12
-- TGA loader: Refactor
-- Eliminate WRITE_RGBA()
-- Simplify autogen.sh
-- Simplify pixel color handling in api.c
-- Use pixel instead of r,b,g,a in __imlib_render_str()
-- Use macro for pixel color access in savers
-- Eliminate READ_RGBA()
-- XPM loader: Accept signature not at the very start of the file
-- Simplify loader lookup functions
-- imlib2_view: Enable selecting next/prev using keys too
-- imlib2_view: Fix event processing bug
-- imlib2_test_load: Fixup recent breakage for real
-- imlib2_test_load: Check progress conditionally
-- imlib2_view: Add verbose option, quit on Escape too
-- TGA loader - Mostly cosmetic refactoring
-- TGA loader: More mostly cosmetic changes
-- TGA loader: Support horiontal flip
-- TGA loader: Add simple 16 bpp handling
-- TGA loader: Tweak error handling
-- ICO loader: Fix non-immediate loading
-- Remove __imlib_AllocateData() w,h args
-- imlib2_view: Fix next/prev selection if last/first image is bad
-- ICO loader: Fix memory leak in error path
-- XPM loader: Correct signature check (avoid accessing unset data)
-- gz, bz2 loaders: Simplify, eliminate unnecessary strdups, cosmetics
-- Check filename before opening archive file.
-- tga loader: implement handling of palette
+- Updated to version 1.6.0
* Tue Apr 12 2016 Gleb Goncharov - 1.4.8-0
- Initial build for kaos repo
diff --git a/specs/keepalived.spec b/specs/keepalived.spec
index 50a946179..5e302d963 100644
--- a/specs/keepalived.spec
+++ b/specs/keepalived.spec
@@ -13,7 +13,7 @@
Name: keepalived
Summary: High Availability monitor built upon LVS, VRRP and service pollers
-Version: 2.2.8
+Version: 2.3.1
Release: 0%{?dist}
License: GPLv2+
URL: https://www.keepalived.org
@@ -27,12 +27,8 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: gcc make openssl-devel kernel-devel popt-devel
BuildRequires: libnfnetlink-devel
-
-%if 0%{?rhel} <= 7
-BuildRequires: libnl-devel
-%else
BuildRequires: libnl3-devel
-%endif
+
%if %{with snmp}
BuildRequires: net-snmp-devel
@@ -132,6 +128,12 @@ fi
################################################################################
%changelog
+* Fri Aug 16 2024 Anton Novojilov - 2.3.1-0
+- https://www.keepalived.org/release-notes/Release-2.3.1.html
+
+* Fri Aug 16 2024 Anton Novojilov - 2.3.0-0
+- https://www.keepalived.org/release-notes/Release-2.3.0.html
+
* Sat Jul 08 2023 Anton Novojilov - 2.2.8-0
- https://www.keepalived.org/release-notes/Release-2.2.8.html
diff --git a/specs/libbsd.spec b/specs/libbsd.spec
index 0893770fa..b982e302d 100644
--- a/specs/libbsd.spec
+++ b/specs/libbsd.spec
@@ -4,25 +4,25 @@
################################################################################
-Summary: Library providing BSD-compatible functions for portability
-Name: libbsd
-Version: 0.11.7
-Release: 0%{?dist}
-License: MIT
-Group: System Environment/Libraries
-URL: https://libbsd.freedesktop.org
+Summary: Library providing BSD-compatible functions for portability
+Name: libbsd
+Version: 0.12.2
+Release: 0%{?dist}
+License: MIT
+Group: System Environment/Libraries
+URL: https://libbsd.freedesktop.org
-Source0: https://libbsd.freedesktop.org/releases/%{name}-%{version}.tar.xz
+Source0: https://libbsd.freedesktop.org/releases/%{name}-%{version}.tar.xz
-Source100: checksum.sha512
+Source100: checksum.sha512
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-BuildRequires: make gcc gcc-c++ automake libtool autoconf >= 2.67 libmd-devel
+BuildRequires: make gcc gcc-c++ automake libtool autoconf >= 2.67 libmd-devel
-Requires: libmd
+Requires: libmd
-Provides: %{name} = %{version}-%{release}
+Provides: %{name} = %{version}-%{release}
################################################################################
@@ -35,11 +35,11 @@ code over and over again on each project.
################################################################################
%package devel
-Summary: Header files for libbsd package
-Group: Development/Libraries
+Summary: Header files for libbsd package
+Group: Development/Libraries
-Requires: %{name} = %{version}
-Requires: libmd-devel
+Requires: %{name} = %{version}
+Requires: libmd-devel
%description devel
Header files and package configs for libbsd package.
@@ -47,11 +47,11 @@ Header files and package configs for libbsd package.
################################################################################
%package ctor-static
-Summary: Development files for libbsd
-Group: Development/Libraries
+Summary: Development files for libbsd
+Group: Development/Libraries
-Requires: %{name} = %{version}
-Requires: %{name}-devel = %{version}
+Requires: %{name} = %{version}
+Requires: %{name}-devel = %{version}
%description ctor-static
The libbsd-ctor static library is required if setproctitle() is to be used
@@ -118,6 +118,9 @@ rm -rf %{buildroot}
################################################################################
%changelog
+* Fri Aug 16 2024 Anton Novojilov - 0.12.2-0
+- https://gitlab.freedesktop.org/libbsd/libbsd/-/compare/0.11.7...0.12.2
+
* Sun Dec 11 2022 Anton Novojilov - 0.11.7-0
- https://gitlab.freedesktop.org/libbsd/libbsd/-/compare/0.11.6...0.11.7
diff --git a/specs/libevent.spec b/specs/libevent.spec
deleted file mode 100644
index 0c37dd963..000000000
--- a/specs/libevent.spec
+++ /dev/null
@@ -1,144 +0,0 @@
-################################################################################
-
-Summary: Abstract asynchronous event notification library
-Name: libevent
-Version: 1.4.15
-Release: 0%{?dist}
-License: BSD
-Group: System Environment/Libraries
-URL: http://libevent.org/
-
-Source: https://github.com/libevent/libevent/archive/release-%{version}-stable.tar.gz
-
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-
-BuildRequires: gcc make automake libtool doxygen openssl-devel
-
-################################################################################
-
-%description
-The libevent API provides a mechanism to execute a callback function
-when a specific event occurs on a file descriptor or after a timeout
-has been reached. libevent is meant to replace the asynchronous event
-loop found in event driven network servers. An application just needs
-to call event_dispatch() and can then add or remove events dynamically
-without having to change the event loop.
-
-################################################################################
-
-%package devel
-Summary: Header files, libraries and development documentation for %{name}
-Group: Development/Libraries
-Requires: %{name} = %{version}-%{release}
-
-%description devel
-This package contains the header files, static libraries and development
-documentation for %{name}. If you like to develop programs using %{name},
-you will need to install %{name}-devel.
-
-################################################################################
-
-%package doc
-Summary: Development documentation for %{name}
-Group: Development/Libraries
-Requires: %{name}-devel = %{version}-%{release}
-BuildArch: noarch
-
-%description doc
-This package contains the development documentation for %{name}.
-If you like to develop programs using %{name}-devel, you will
-need to install %{name}-doc.
-
-################################################################################
-
-%prep
-%setup -qn %{name}-release-%{version}-stable
-
-%build
-./autogen.sh
-
-%configure --disable-dependency-tracking --disable-static
-
-%{__make} %{?_smp_mflags} all
-
-%{__make} doxygen
-
-%install
-rm -rf %{buildroot}
-
-%{make_install}
-
-rm -f %{buildroot}%{_libdir}/*.la
-
-install -dm 755 %{buildroot}%{_docdir}/%{name}-devel-%{version}/html
-install -dm 755 %{buildroot}%{_docdir}/%{name}-devel-%{version}/sample
-
-chmod +x doxygen/html
-
-cp -r doxygen/html/* %{buildroot}%{_docdir}/%{name}-devel-%{version}/html/
-cp -r sample/*.c %{buildroot}%{_docdir}/%{name}-devel-%{version}/sample/
-cp -r sample/Makefile* %{buildroot}%{_docdir}/%{name}-devel-%{version}/sample/
-
-%post -p /sbin/ldconfig
-%postun -p /sbin/ldconfig
-
-%clean
-rm -rf %{buildroot}
-
-################################################################################
-
-%files
-%defattr(-,root,root,0755)
-%doc README
-%{_libdir}/%{name}-*.so.*
-%{_libdir}/%{name}_core-*.so.*
-%{_libdir}/%{name}_extra-*.so.*
-
-%files devel
-%defattr(-,root,root,0755)
-%{_includedir}/event.h
-%{_includedir}/evdns.h
-%{_includedir}/evhttp.h
-%{_includedir}/evrpc.h
-%{_includedir}/evutil.h
-%{_libdir}/%{name}.so
-%{_libdir}/%{name}_core.so
-%{_libdir}/%{name}_extra.so
-%{_includedir}/event-config.h
-%{_mandir}/man3/evdns.3.gz
-%{_mandir}/man3/event.3.gz
-%{_bindir}/event_rpcgen.*
-
-%files doc
-%defattr(-,root,root,0644)
-%{_docdir}/%{name}-devel-%{version}/html/*
-%{_docdir}/%{name}-devel-%{version}/sample/*
-
-################################################################################
-
-%changelog
-* Tue Jan 27 2015 Anton Novojilov - 1.4.15-0
-- Avoid integer overflow bugs in evbuffer_add() and related functions.
- See CVE-2014-6272 advisory for more information.
-- Pass flags to fcntl(F_SETFL) as int, not long
-- Backport and tweak the LICENSE file for 1.4
-- set close-on-exec bit for filedescriptors created by dns subsystem
-- Replace unused case of FD_CLOSEONEXEC with a proper null statement.
-- Fix kqueue correctness test on x84_64
-- Avoid deadlock when activating signals.
-- Backport doc fix for evhttp_bind_socket.
-- Fix an issue with forking and signal socketpairs in select/poll backends
-- Fix compilation on Visual Studio 2010
-- Defensive programming to prevent (hopefully impossible) stack-stomping
-- Check for POLLERR, POLLHUP and POLLNVAL for Solaris event ports
-- Fix a bug that could allow dns requests with duplicate tx ids
-- Avoid truncating huge values for content-length
-- Take generated files out of git; add correct m4 magic for libtool to
- auto* files
-- Prefer autoregen -ivf to manual autogen.sh
-
-* Tue Feb 11 2014 Anton Novojilov - 1.4.14b-1
-- Rebuild with github releases url
-
-* Sun Jul 21 2013 Anton Novojilov - 1.4.14b-0
-- Created spec
diff --git a/specs/libevent2.spec b/specs/libevent2.spec
index ae230e93c..a790ea20e 100644
--- a/specs/libevent2.spec
+++ b/specs/libevent2.spec
@@ -4,23 +4,23 @@
################################################################################
-Summary: Abstract asynchronous event notification library
-Name: libevent
-Version: 2.1.12
-Release: 0%{?dist}
-License: BSD
-Group: System Environment/Libraries
-URL: https://libevent.org
+Summary: Abstract asynchronous event notification library
+Name: libevent
+Version: 2.1.12
+Release: 0%{?dist}
+License: BSD
+Group: System Environment/Libraries
+URL: https://libevent.org
-Source0: https://github.com/%{name}/%{name}/archive/release-%{version}-stable.tar.gz
+Source0: https://github.com/%{name}/%{name}/archive/release-%{version}-stable.tar.gz
-Source100: checksum.sha512
+Source100: checksum.sha512
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-BuildRequires: gcc make automake libtool openssl-devel zlib-devel
+BuildRequires: gcc make automake libtool openssl-devel zlib-devel
-Provides: %{name} = %{version}-%{release}
+Provides: %{name} = %{version}-%{release}
################################################################################
@@ -33,11 +33,12 @@ timeouts.
################################################################################
%package devel
-Group: System Environment/Libraries
-Summary: Development files for %{name}
-Requires: %{name} = %{version}
+Group: System Environment/Libraries
+Summary: Development files for %{name}
-Provides: %{name}-devel = %{version}-%{release}
+Requires: %{name} = %{version}
+
+Provides: %{name}-devel = %{version}-%{release}
%description devel
Development files for %{name}
diff --git a/specs/libgeotiff.spec b/specs/libgeotiff.spec
index 17f790094..aa401e53f 100644
--- a/specs/libgeotiff.spec
+++ b/specs/libgeotiff.spec
@@ -6,7 +6,7 @@
Summary: GeoTIFF format library
Name: libgeotiff
-Version: 1.7.1
+Version: 1.7.3
Release: 0%{?dist}
License: MIT
Group: System Environment/Libraries
@@ -134,6 +134,9 @@ rm -rf %{buildroot}
################################################################################
%changelog
+* Fri Aug 16 2024 Anton Novojilov - 1.7.3-0
+- https://github.com/OSGeo/libgeotiff/releases/tag/1.7.3
+
* Sat Sep 24 2022 Anton Novojilov - 1.7.1-0
- https://github.com/OSGeo/libgeotiff/releases/tag/1.7.1
diff --git a/specs/libmaxminddb.spec b/specs/libmaxminddb.spec
index af7ab4987..eb4a322b4 100644
--- a/specs/libmaxminddb.spec
+++ b/specs/libmaxminddb.spec
@@ -10,7 +10,7 @@
Summary: C library for the MaxMind DB file format
Name: libmaxminddb
-Version: 1.9.1
+Version: 1.10.0
Release: 0%{?dist}
License: Apache-2.0
Group: Development/Libraries
@@ -108,6 +108,9 @@ rm -rf %{buildroot}
################################################################################
%changelog
+* Fri Aug 16 2024 Anton Novojilov - 1.10.0-0
+- https://github.com/maxmind/libmaxminddb/releases/tag/1.10.0
+
* Wed Jan 17 2024 Anton Novojilov - 1.9.1-0
- https://github.com/maxmind/libmaxminddb/releases/tag/1.9.1
diff --git a/specs/libmetalink/SOURCES/0001-fix-covscan-issues.patch b/specs/libmetalink/SOURCES/0001-fix-covscan-issues.patch
new file mode 100644
index 000000000..c5d28249e
--- /dev/null
+++ b/specs/libmetalink/SOURCES/0001-fix-covscan-issues.patch
@@ -0,0 +1,54 @@
+From 204c580643f7c52364520926b9df3a621fab6df7 Mon Sep 17 00:00:00 2001
+From: Martin Sehnoutka
+Date: Tue, 24 Jul 2018 15:10:40 +0200
+Subject: [PATCH] fix covscan issues
+
+---
+ lib/libexpat_metalink_parser.c | 3 +++
+ lib/metalink_pctrl.c | 2 ++
+ 2 files changed, 5 insertions(+)
+
+diff --git a/lib/libexpat_metalink_parser.c b/lib/libexpat_metalink_parser.c
+index 4e73aef..79b091c 100644
+--- a/lib/libexpat_metalink_parser.c
++++ b/lib/libexpat_metalink_parser.c
+@@ -29,6 +29,7 @@
+
+ #include
+ #include
++#include
+ #include
+ #include
+
+@@ -56,6 +57,8 @@ static void split_ns_name(const char** localname,
+ *localname = sep+1;
+ len = sep-src;
+ temp = malloc((len+1) * sizeof **ns_uri);
++ if (temp == NULL)
++ exit(EXIT_FAILURE);
+ memcpy(temp, src, len);
+ temp[len] = '\0';
+ *ns_uri = temp;
+diff --git a/lib/metalink_pctrl.c b/lib/metalink_pctrl.c
+index c25989b..e6fb8f8 100644
+--- a/lib/metalink_pctrl.c
++++ b/lib/metalink_pctrl.c
+@@ -469,6 +469,7 @@ metalink_error_t metalink_pctrl_file_set_language(metalink_pctrl_t* ctrl, const
+ l = strdup(language);
+ ctrl->languages = metalink_list_new();
+ if(!ctrl->languages || !l || metalink_list_append(ctrl->languages, l) != 0) {
++ if (l) free(l);
+ return METALINK_ERR_BAD_ALLOC;
+ }
+
+@@ -486,6 +487,7 @@ metalink_error_t metalink_pctrl_file_set_os(metalink_pctrl_t* ctrl, const char*
+ o = strdup(os);
+ ctrl->oses = metalink_list_new();
+ if(!ctrl->oses || !o || metalink_list_append(ctrl->oses, o) != 0) {
++ if (o) free(o);
+ return METALINK_ERR_BAD_ALLOC;
+ }
+
+--
+2.17.1
+
diff --git a/specs/libmetalink.spec b/specs/libmetalink/libmetalink.spec
similarity index 67%
rename from specs/libmetalink.spec
rename to specs/libmetalink/libmetalink.spec
index 84e7f70be..227afd8f3 100644
--- a/specs/libmetalink.spec
+++ b/specs/libmetalink/libmetalink.spec
@@ -4,25 +4,25 @@
################################################################################
-Summary: Metalink library written in C
-Name: libmetalink
-Version: 0.1.3
-Release: 1%{?dist}
-Group: System Environment/Libraries
-License: MIT
-URL: https://launchpad.net/libmetalink
+Summary: Metalink library written in C
+Name: libmetalink
+Version: 0.1.3
+Release: 1%{?dist}
+Group: System Environment/Libraries
+License: MIT
+URL: https://launchpad.net/libmetalink
-Source0: https://launchpad.net/libmetalink/trunk/%{name}-%{version}/+download/%{name}-%{version}.tar.bz2
+Source0: https://launchpad.net/libmetalink/trunk/%{name}-%{version}/+download/%{name}-%{version}.tar.bz2
-Patch0: https://launchpadlibrarian.net/380798344/0001-fix-covscan-issues.patch
+Patch0: https://launchpadlibrarian.net/380798344/0001-fix-covscan-issues.patch
-Source100: checksum.sha512
+Source100: checksum.sha512
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-BuildRequires: make gcc expat-devel
+BuildRequires: make gcc expat-devel
-Provides: %{name} = %{version}-%{release}
+Provides: %{name} = %{version}-%{release}
################################################################################
@@ -34,9 +34,10 @@ parsing Metalink XML files to programs written in C.
%package devel
-Summary: Files needed for developing with %{name}
-Group: Development/Libraries
-Requires: %{name}%{?_isa} = %{version}-%{release}
+Summary: Files needed for developing with %{name}
+Group: Development/Libraries
+
+Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
Files needed for building applications with libmetalink.
@@ -44,11 +45,8 @@ Files needed for building applications with libmetalink.
################################################################################
%prep
-%{crc_check}
-
-%setup -q
-
-%patch0 -p1
+%crc_check
+%autosetup -p1
%build
%configure --disable-static
@@ -61,9 +59,6 @@ rm -rf %{buildroot}
find %{buildroot} -name *.la -delete
-%clean
-rm -rf %{buildroot}
-
%post
/sbin/ldconfig
diff --git a/specs/libuv/libuv.spec b/specs/libuv/libuv.spec
index ce37653ed..c7fd29b0f 100644
--- a/specs/libuv/libuv.spec
+++ b/specs/libuv/libuv.spec
@@ -6,7 +6,7 @@
Summary: Cross-platform asychronous I/O
Name: libuv
-Version: 1.47.0
+Version: 1.48.0
Release: 0%{?dist}
License: MIT, BSD and ISC
Group: Development/Tools
@@ -102,6 +102,9 @@ rm -rf %{buildroot}
################################################################################
%changelog
+* Fri Aug 16 2024 Anton Novojilov - 1.48.0-0
+- https://github.com/libuv/libuv/releases/tag/v1.48.0
+
* Wed Dec 06 2023 Anton Novojilov - 1.47.0-0
- https://github.com/libuv/libuv/releases/tag/v1.47.0
diff --git a/specs/litestream.spec b/specs/litestream.spec
new file mode 100644
index 000000000..d3564d1d3
--- /dev/null
+++ b/specs/litestream.spec
@@ -0,0 +1,86 @@
+################################################################################
+
+# rpmbuilder:gopack github.com/benbjohnson/litestream
+# rpmbuilder:tag v0.3.13
+
+################################################################################
+
+%global crc_check pushd ../SOURCES ; sha512sum -c %{SOURCE100} ; popd
+
+################################################################################
+
+%define debug_package %{nil}
+
+################################################################################
+
+Summary: Tool for real-time replication of SQLite databases
+Name: litestream
+Version: 0.3.13
+Release: 0%{?dist}
+Group: Development/Tools
+License: Apache-2.0
+URL: https://litestream.io
+
+Source0: %{name}-%{version}.tar.bz2
+
+Source100: checksum.sha512
+
+BuildRequires: golang >= 1.22
+
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+
+Provides: %{name} = %{version}-%{release}
+
+################################################################################
+
+%description
+Litestream is a standalone disaster recovery tool for SQLite. It runs as a
+background process and safely replicates changes incrementally to another file
+or S3. Litestream only communicates with SQLite through the SQLite API so it
+will not corrupt your database.
+
+################################################################################
+
+%prep
+%{crc_check}
+
+%setup -q
+
+%build
+pushd github.com/benbjohnson/%{name}/cmd/%{name}
+ go build -ldflags="-X 'main.Version=%{version}'" -o ../../%{name}
+popd
+
+%install
+rm -rf %{buildroot}
+
+install -dm 755 %{buildroot}%{_bindir}
+install -dm 755 %{buildroot}%{_sysconfdir}
+install -dm 755 %{buildroot}%{_unitdir}
+
+install -pm 755 github.com/benbjohnson/%{name}/%{name} \
+ %{buildroot}%{_bindir}/
+
+# perfecto:ignore 5
+install -pm 640 github.com/benbjohnson/%{name}/etc/%{name}.yml \
+ %{buildroot}%{_sysconfdir}/
+
+install -pm 644 github.com/benbjohnson/%{name}/etc/%{name}.service \
+ %{buildroot}%{_unitdir}/
+
+%clean
+rm -rf %{buildroot}
+
+################################################################################
+
+%files
+%defattr(-,root,root,-)
+%config(noreplace) %{_sysconfdir}/%{name}.yml
+%config(noreplace) %{_unitdir}/%{name}.service
+%{_bindir}/%{name}
+
+################################################################################
+
+%changelog
+* Mon May 27 2024 Anton Novojilov - 0.3.13-0
+- Initial build for kaos-repo
diff --git a/specs/lsyncd/SOURCES/lsyncd.service b/specs/lsyncd/SOURCES/lsyncd.service
index 1679f916f..a6431e97e 100644
--- a/specs/lsyncd/SOURCES/lsyncd.service
+++ b/specs/lsyncd/SOURCES/lsyncd.service
@@ -6,7 +6,10 @@ After=network.target
Type=simple
Nice=19
EnvironmentFile=-/etc/sysconfig/lsyncd
-ExecStart=/usr/bin/sh -c 'eval `/usr/local/bin/lsyncd -nodaemon $LSYNCD_OPTIONS /etc/lsyncd.conf`'
+ExecStart=/usr/bin/lsyncd -nodaemon $LSYNCD_OPTIONS
+ExecReload=/bin/kill -HUP $MAINPID
+Restart=always
+SuccessExitStatus=143
[Install]
WantedBy=multi-user.target
diff --git a/specs/lsyncd/SOURCES/lsyncd.sysconfig b/specs/lsyncd/SOURCES/lsyncd.sysconfig
index 9acabe545..2e8196ab5 100644
--- a/specs/lsyncd/SOURCES/lsyncd.sysconfig
+++ b/specs/lsyncd/SOURCES/lsyncd.sysconfig
@@ -1,6 +1 @@
-# Keep the space there for systemd. Don't nest variables without
-# changing the systemd service file to use: /usr/bin/sh -c 'eval XXXX'
-#
-#LSYNCD_OPTIONS="-pidfile /var/run/lsyncd.pid /etc/lsyncd.conf"
-
-#LSYNCD_OPTIONS=" "
+LSYNCD_OPTIONS="/etc/lsyncd.conf"
diff --git a/specs/lsyncd/SOURCES/lsyncd.sysctl b/specs/lsyncd/SOURCES/lsyncd.sysctl
new file mode 100644
index 000000000..d72e9fcb6
--- /dev/null
+++ b/specs/lsyncd/SOURCES/lsyncd.sysctl
@@ -0,0 +1 @@
+fs.inotify.max_user_watches=262144
diff --git a/specs/lsyncd/lsyncd.spec b/specs/lsyncd/lsyncd.spec
index 1ab0118fb..513d169d0 100644
--- a/specs/lsyncd/lsyncd.spec
+++ b/specs/lsyncd/lsyncd.spec
@@ -11,8 +11,8 @@
Summary: File change monitoring and synchronization daemon
Name: lsyncd
Version: 2.3.1
-Release: 0%{?dist}
-License: GPLv2+
+Release: 1%{?dist}
+License: GPL-2.0-or-later AND CC-BY-3.0
Group: Applications/Internet
URL: https://github.com/axkibe/lsyncd
@@ -21,12 +21,13 @@ Source1: %{name}.service
Source2: %{name}.sysconfig
Source3: %{name}.logrotate
Source4: %{name}.conf
+Source5: %{name}.sysctl
Source100: checksum.sha512
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-BuildRequires: make gcc gcc-c++ lua-devel >= 5.1.3 asciidoc
+BuildRequires: make gcc gcc-c++ asciidoc
%if 0%{?rhel} <= 7
BuildRequires: cmake3
@@ -34,6 +35,12 @@ BuildRequires: cmake3
BuildRequires: cmake
%endif
+%if 0%{?rhel} >= 9
+BuildRequires: lua-devel <= 5.4.2
+%else
+BuildRequires: lua-devel
+%endif
+
Requires: lua rsync >= 3.1.0 systemd
Provides: %{name} = %{version}-%{release}
@@ -77,6 +84,7 @@ install -pm 644 docs/manpage/%{name}.1 %{buildroot}%{_mandir}/man1/
install -pDm 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/sysconfig/%{name}
install -pDm 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/logrotate.d/%{name}
install -pDm 644 %{SOURCE4} %{buildroot}%{_sysconfdir}/
+install -pDm 644 %{SOURCE5} %{buildroot}%{_sysctldir}/50-lsyncd.conf
install -pDm 644 %{SOURCE1} %{buildroot}%{_unitdir}/%{name}.service
@@ -111,6 +119,7 @@ fi
%config(noreplace) %{_sysconfdir}/%{name}.conf
%config(noreplace) %{_sysconfdir}/sysconfig/%{name}
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
+%config(noreplace) %{_sysctldir}/50-lsyncd.conf
%{_bindir}/%{name}
%{_mandir}/man1/%{name}.1*
%{_unitdir}/%{name}.service
@@ -118,6 +127,11 @@ fi
################################################################################
%changelog
+* Wed May 08 2024 Anton Novojilov - 2.3.1-1
+- Fixed path to binary in service file
+- Added sysctl configuration
+- Updated sysconfig
+
* Wed Dec 14 2022 Anton Novojilov - 2.3.1-0
- https://github.com/lsyncd/lsyncd/releases/tag/v2.3.1
diff --git a/specs/memcached.spec b/specs/memcached.spec
index d5fd0d1a6..bef15dafd 100644
--- a/specs/memcached.spec
+++ b/specs/memcached.spec
@@ -11,7 +11,7 @@
Summary: High Performance, Distributed Memory Object Cache
Name: memcached
-Version: 1.6.26
+Version: 1.6.29
Release: 0%{?dist}
Group: System Environment/Daemons
License: BSD
@@ -138,6 +138,15 @@ fi
################################################################################
%changelog
+* Thu Aug 15 2024 Anton Novojilov - 1.6.29-0
+- https://github.com/memcached/memcached/wiki/ReleaseNotes1629
+
+* Thu Aug 15 2024 Anton Novojilov - 1.6.28-0
+- https://github.com/memcached/memcached/wiki/ReleaseNotes1628
+
+* Thu May 30 2024 Anton Novojilov - 1.6.27-0
+- https://github.com/memcached/memcached/wiki/ReleaseNotes1627
+
* Tue Apr 16 2024 Anton Novojilov - 1.6.26-0
- https://github.com/memcached/memcached/wiki/ReleaseNotes1626
diff --git a/specs/meson.spec b/specs/meson.spec
index 8e645c719..7d625ba6d 100644
--- a/specs/meson.spec
+++ b/specs/meson.spec
@@ -26,7 +26,7 @@
Summary: High productivity build system
Name: meson
-Version: 1.4.0
+Version: 1.5.1
Release: 0%{?dist}
License: ASL 2.0
Group: Development/Tools
@@ -91,6 +91,9 @@ rm -rf %{buildroot}
################################################################################
%changelog
+* Thu Aug 15 2024 Anton Novojilov - 1.5.1-0
+- https://github.com/mesonbuild/meson/compare/1.4.0...1.5.1
+
* Tue Apr 16 2024 Anton Novojilov - 1.4.0-0
- https://github.com/mesonbuild/meson/compare/1.3.1...1.4.0
diff --git a/specs/nano/nano.spec b/specs/nano/nano.spec
index d4503b34e..284a8cf21 100644
--- a/specs/nano/nano.spec
+++ b/specs/nano/nano.spec
@@ -14,13 +14,13 @@
Summary: A small text editor
Name: nano
-Version: 7.2
+Version: 8.1
Release: 0%{?dist}
License: GPLv3+
Group: Applications/Editors
URL: https://www.nano-editor.org
-Source0: https://www.nano-editor.org/dist/v7/%{name}-%{version}.tar.xz
+Source0: https://www.nano-editor.org/dist/v8/%{name}-%{version}.tar.xz
Source1: https://kaos.sh/blackhole-theme-nano/%{ek_theme_version}.tar.gz
Source100: checksum.sha512
@@ -44,14 +44,11 @@ GNU nano is a small and friendly text editor.
################################################################################
%prep
-%{crc_check}
-
-%setup -q
+%crc_check
+%autosetup -p1
tar xzvf %{SOURCE1}
-%patch0 -p1
-
%build
%configure
@@ -81,9 +78,6 @@ rm -f %{buildroot}%{_infodir}/dir
%find_lang %{name}
-%clean
-rm -rf %{buildroot}
-
%post
if [[ -f %{_infodir}/%{name}.info.gz ]] ; then
/sbin/install-info %{_infodir}/%{name}.info.gz %{_infodir}/dir &>/dev/null || :
@@ -116,6 +110,42 @@ fi
################################################################################
%changelog
+* Sat Aug 17 2024 Anton Novojilov - 8.1-0
+- The idiom nano filename:linenumber is understood only when
+ the option --colonparsing (or 'set colonparsing') is used.
+- Modern bindings are not activated when nano's invocation name
+ starts with "e", as it jars with Debian's alternatives system.
+- New bindable function 'cycle' first centers the current row,
+ then moves it to the top of the viewport, then to the bottom.
+ It is bound by default to ^L.
+- Option --listsyntaxes/-z lists the names of available syntaxes.
+
+
+* Sat Aug 17 2024 Anton Novojilov - 8.0-0
+- By default ^F is bound to starting a forward search, and ^B to
+ starting a backward search, while M-F and M-B repeat the search
+ in the corresponding direction. (See the documentation if you
+ want the old bindings back.)
+- Command-line option --modernbindings (-/) makes ^Q quit, ^X cut,
+ ^C copy, ^V paste, ^Z undo, ^Y redo, ^O open a file, ^W write a file,
+ ^R replace, ^G find again, ^D find again backwards, ^A set the mark,
+ ^T jump to a line, ^P show the position, and ^E execute.
+- Above modern bindings are activated also when the name of
+ nano's executable (or a symlink to it) starts with the letter "e".
+- To open a file at a certain line number, one can now use also
+ nano filename:number, besides nano +number filename.
+- and put the cursor on the first and last
+ row in the viewport, while retaining the horizontal position.
+- When the three digits in an #RGB color code are all the same,
+ the code is mapped to the xterm grey scale, giving access to
+ fourteen levels of grey instead of just four.
+- For easier access, M-" is bound to placing/removing an anchor,
+ and M-' to jumping to the next anchor.
+- Whenever an error occurs, the keystroke buffer is cleared, thus
+ stopping the execution of a macro or a string bind.
+- The mousewheel scrolls the viewport instead of moving the cursor.
+
+
* Sat Feb 18 2023 Anton Novojilov - 7.2-0
- is prevented from pasting in view mode.
diff --git a/specs/nasm.spec b/specs/nasm.spec
index ee570ce50..f7e61b1b7 100644
--- a/specs/nasm.spec
+++ b/specs/nasm.spec
@@ -6,7 +6,7 @@
Summary: A portable x86 assembler which uses Intel-like syntax
Name: nasm
-Version: 2.16.02
+Version: 2.16.03
Release: 0%{?dist}
License: BSD
Group: Development/Languages
@@ -83,6 +83,13 @@ fi
################################################################################
%changelog
+* Fri Aug 16 2024 Anton Novojilov - 2.16.03-0
+- Fix building from git in a separate directory from the source
+- Remove some irrelevant files from the source distribution
+- Make the documentation stronger that -O0 or -O1 are probably not what the
+ user wants
+- Fix configure --enable-lto build option
+
* Tue Apr 16 2024 Anton Novojilov - 2.16.02-0
- Fix building from the source distribution in a separate directory from
the source.
diff --git a/specs/nfs-utils/SOURCES/id_resolver.conf b/specs/nfs-utils/SOURCES/id_resolver.conf
deleted file mode 100644
index 67ccb185f..000000000
--- a/specs/nfs-utils/SOURCES/id_resolver.conf
+++ /dev/null
@@ -1,9 +0,0 @@
-#
-# nfsidmap(5) - The NFS idmapper upcall program
-# Summary: Used by NFSv4 to map user/group ids into
-# user/group names and names into in ids
-# Options:
-# -v Increases the verbosity of the output to syslog
-# -t timeout Set the expiration timer, in seconds, on the key
-#
-create id_resolver * * /usr/sbin/nfsidmap %k %d
diff --git a/specs/nfs-utils/SOURCES/lockd.conf b/specs/nfs-utils/SOURCES/lockd.conf
deleted file mode 100644
index a77d72a00..000000000
--- a/specs/nfs-utils/SOURCES/lockd.conf
+++ /dev/null
@@ -1,7 +0,0 @@
-#
-# To be installed in /etc/modprobe.d
-#
-# Those who have need for lockd to listen on a particular port should
-# uncomment the line below and set the values appropriately.
-#
-#options lockd nlm_tcpport=32803 nlm_udpport=32769
diff --git a/specs/nfs-utils/SOURCES/nfs-utils-1.2.1-exp-subtree-warn-off.patch b/specs/nfs-utils/SOURCES/nfs-utils-1.2.1-exp-subtree-warn-off.patch
deleted file mode 100644
index 69c4cb5b2..000000000
--- a/specs/nfs-utils/SOURCES/nfs-utils-1.2.1-exp-subtree-warn-off.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up nfs-utils-1.2.8/support/nfs/exports.c.orig nfs-utils-1.2.8/support/nfs/exports.c
---- nfs-utils-1.2.8/support/nfs/exports.c.orig 2013-09-24 15:35:26.022548905 -0400
-+++ nfs-utils-1.2.8/support/nfs/exports.c 2013-09-24 15:35:51.274547991 -0400
-@@ -508,7 +508,7 @@ void fix_pseudoflavor_flags(struct expor
- static int
- parseopts(char *cp, struct exportent *ep, int warn, int *had_subtree_opt_ptr)
- {
-- int had_subtree_opt = 0;
-+ int had_subtree_opt = 1;
- char *flname = efname?efname:"command line";
- int flline = efp?efp->x_line:0;
- unsigned int active = 0;
diff --git a/specs/nfs-utils/SOURCES/nfs-utils-1.2.1-statdpath-man.patch b/specs/nfs-utils/SOURCES/nfs-utils-1.2.1-statdpath-man.patch
deleted file mode 100644
index 3e4bac247..000000000
--- a/specs/nfs-utils/SOURCES/nfs-utils-1.2.1-statdpath-man.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-diff -up nfs-utils-1.2.8/utils/statd/sm-notify.man.orig nfs-utils-1.2.8/utils/statd/sm-notify.man
---- nfs-utils-1.2.8/utils/statd/sm-notify.man.orig 2013-04-22 12:47:20.000000000 -0400
-+++ nfs-utils-1.2.8/utils/statd/sm-notify.man 2013-09-18 15:32:01.511494000 -0400
-@@ -184,7 +184,7 @@ where NSM state information resides.
- If this option is not specified,
- .B sm-notify
- uses
--.I /var/lib/nfs
-+.I /var/lib/nfs/statd
- by default.
- .IP
- After starting,
-@@ -285,13 +285,13 @@ Currently, the
- command supports sending notification only via datagram transport protocols.
- .SH FILES
- .TP 2.5i
--.I /var/lib/nfs/sm
-+.I /var/lib/nfs/statd/sm
- directory containing monitor list
- .TP 2.5i
--.I /var/lib/nfs/sm.bak
-+.I /var/lib/nfs/statd/sm.bak
- directory containing notify list
- .TP 2.5i
--.I /var/lib/nfs/state
-+.I /var/lib/nfs/statd/state
- NSM state number for this host
- .TP 2.5i
- .I /proc/sys/fs/nfs/nsm_local_state
-diff -up nfs-utils-1.2.8/utils/statd/statd.man.orig nfs-utils-1.2.8/utils/statd/statd.man
---- nfs-utils-1.2.8/utils/statd/statd.man.orig 2013-04-22 12:47:20.000000000 -0400
-+++ nfs-utils-1.2.8/utils/statd/statd.man 2013-09-18 15:32:01.520491000 -0400
-@@ -233,7 +233,7 @@ where NSM state information resides.
- If this option is not specified,
- .B rpc.statd
- uses
--.I /var/lib/nfs
-+.I /var/lib/nfs/statd
- by default.
- .IP
- After starting,
-@@ -357,13 +357,13 @@ As long as at least one network transpor
- will operate.
- .SH FILES
- .TP 2.5i
--.I /var/lib/nfs/sm
-+.I /var/lib/nfs/statd/sm
- directory containing monitor list
- .TP 2.5i
--.I /var/lib/nfs/sm.bak
-+.I /var/lib/nfs/statd/sm.bak
- directory containing notify list
- .TP 2.5i
--.I /var/lib/nfs/state
-+.I /var/lib/nfs/statd/state
- NSM state number for this host
- .TP 2.5i
- .I /var/run/run.statd.pid
diff --git a/specs/nfs-utils/SOURCES/nfs-utils-1.2.3-sm-notify-res_init.patch b/specs/nfs-utils/SOURCES/nfs-utils-1.2.3-sm-notify-res_init.patch
deleted file mode 100644
index 02b192a30..000000000
--- a/specs/nfs-utils/SOURCES/nfs-utils-1.2.3-sm-notify-res_init.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -up nfs-utils-1.2.8/utils/statd/sm-notify.c.orig nfs-utils-1.2.8/utils/statd/sm-notify.c
---- nfs-utils-1.2.8/utils/statd/sm-notify.c.orig 2013-04-22 12:47:20.000000000 -0400
-+++ nfs-utils-1.2.8/utils/statd/sm-notify.c 2013-09-18 15:36:42.373803000 -0400
-@@ -28,6 +28,9 @@
- #include
- #include
- #include
-+#include
-+#include
-+#include
-
- #include "sockaddr.h"
- #include "xlog.h"
-@@ -85,6 +88,7 @@ smn_lookup(const char *name)
- };
- int error;
-
-+ res_init();
- error = getaddrinfo(name, NULL, &hint, &ai);
- if (error != 0) {
- xlog(D_GENERAL, "getaddrinfo(3): %s", gai_strerror(error));
diff --git a/specs/nfs-utils/SOURCES/nfs-utils-1.2.5-idmap-errmsg.patch b/specs/nfs-utils/SOURCES/nfs-utils-1.2.5-idmap-errmsg.patch
deleted file mode 100644
index 958cc3099..000000000
--- a/specs/nfs-utils/SOURCES/nfs-utils-1.2.5-idmap-errmsg.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up nfs-utils-1.3.3/utils/nfsidmap/nfsidmap.c.orig nfs-utils-1.3.3/utils/nfsidmap/nfsidmap.c
---- nfs-utils-1.3.3/utils/nfsidmap/nfsidmap.c.orig 2016-03-16 12:29:29.054788094 -0400
-+++ nfs-utils-1.3.3/utils/nfsidmap/nfsidmap.c 2016-03-16 12:31:58.234450259 -0400
-@@ -430,7 +430,7 @@ int main(int argc, char **argv)
-
- xlog_stderr(verbose);
- if ((argc - optind) != 2) {
-- xlog_warn("Bad arg count. Check /etc/request-key.conf");
-+ xlog_err("Bad arg count. Check /etc/request-key.d/request-key.conf");
- xlog_warn(usage, progname);
- return EXIT_FAILURE;
- }
diff --git a/specs/nfs-utils/SOURCES/nfs-utils-1.3.2-systemd-gssargs.patch b/specs/nfs-utils/SOURCES/nfs-utils-1.3.2-systemd-gssargs.patch
deleted file mode 100644
index 60578487d..000000000
--- a/specs/nfs-utils/SOURCES/nfs-utils-1.3.2-systemd-gssargs.patch
+++ /dev/null
@@ -1,9 +0,0 @@
-diff -up nfs-utils-1.3.4/systemd/rpc-gssd.service.in.orig nfs-utils-1.3.4/systemd/rpc-gssd.service.in
---- nfs-utils-1.3.4/systemd/rpc-gssd.service.in.orig 2016-08-25 07:50:22.502919854 -0400
-+++ nfs-utils-1.3.4/systemd/rpc-gssd.service.in 2016-08-25 07:53:42.807160300 -0400
-@@ -16,4 +16,4 @@ After=nfs-config.service
- EnvironmentFile=-/run/sysconfig/nfs-utils
-
- Type=forking
--ExecStart=/usr/sbin/rpc.gssd $GSSDARGS
-+ExecStart=/usr/sbin/rpc.gssd $RPCSVCGSSDARGS
diff --git a/specs/nfs-utils/SOURCES/nfs-utils-1.3.5-rc2.patch b/specs/nfs-utils/SOURCES/nfs-utils-1.3.5-rc2.patch
deleted file mode 100644
index df1bcae7d..000000000
--- a/specs/nfs-utils/SOURCES/nfs-utils-1.3.5-rc2.patch
+++ /dev/null
@@ -1,583 +0,0 @@
-diff --git a/.gitignore b/.gitignore
-index 5164637..126d12c 100644
---- a/.gitignore
-+++ b/.gitignore
-@@ -69,6 +69,9 @@ tests/nsm_client/nlm_sm_inter_clnt.c
- tests/nsm_client/nlm_sm_inter_svc.c
- tests/nsm_client/nlm_sm_inter_xdr.c
- utils/nfsidmap/nfsidmap
-+systemd/nfs-server-generator
-+systemd/nfs-config.service
-+systemd/rpc-gssd.service
- # cscope database files
- cscope.*
- # generic editor backup et al
-diff --git a/configure.ac b/configure.ac
-index 1daf5b8..d60f3a2 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -511,8 +511,20 @@ AC_SUBST([AM_CFLAGS], ["$my_am_cflags"])
- # Make sure that $ACLOCAL_FLAGS are used during a rebuild
- AC_SUBST([ACLOCAL_AMFLAGS], ["-I $ac_macro_dir \$(ACLOCAL_FLAGS)"])
-
-+# make libexecdir available for substituion in config files
-+# 2 "evals" needed late to expand variable names.
-+AC_SUBST([_libexecdir])
-+AC_CONFIG_COMMANDS_PRE([eval eval _libexecdir=$libexecdir])
-+
-+# make _sysconfdir available for substituion in config files
-+# 2 "evals" needed late to expand variable names.
-+AC_SUBST([_sysconfdir])
-+AC_CONFIG_COMMANDS_PRE([eval eval _sysconfdir=$sysconfdir])
-+
- AC_CONFIG_FILES([
- Makefile
-+ systemd/nfs-config.service
-+ systemd/rpc-gssd.service
- linux-nfs/Makefile
- support/Makefile
- support/export/Makefile
-diff --git a/support/export/export.c b/support/export/export.c
-index e1bebce..0b8a858 100644
---- a/support/export/export.c
-+++ b/support/export/export.c
-@@ -15,6 +15,8 @@
- #include
- #include
- #include
-+#include
-+#include
- #include "xmalloc.h"
- #include "nfslib.h"
- #include "exportfs.h"
-@@ -96,6 +98,69 @@ export_read(char *fname)
- }
-
- /**
-+ * export_d_read - read entries from /etc/exports.
-+ * @fname: name of directory to read from
-+ *
-+ * Returns number of read entries.
-+ * Based on mnt_table_parse_dir() in
-+ * util-linux-ng/shlibs/mount/src/tab_parse.c
-+ */
-+int
-+export_d_read(const char *dname)
-+{
-+ int n = 0, i;
-+ struct dirent **namelist = NULL;
-+ int volumes = 0;
-+
-+
-+ n = scandir(dname, &namelist, NULL, versionsort);
-+ if (n < 0) {
-+ if (errno == ENOENT)
-+ /* Silently return */
-+ return volumes;
-+ xlog(L_NOTICE, "scandir %s: %s", dname, strerror(errno));
-+ } else if (n == 0)
-+ return volumes;
-+
-+ for (i = 0; i < n; i++) {
-+ struct dirent *d = namelist[i];
-+ size_t namesz;
-+ char fname[PATH_MAX + 1];
-+ int fname_len;
-+
-+
-+ if (d->d_type != DT_UNKNOWN
-+ && d->d_type != DT_REG
-+ && d->d_type != DT_LNK)
-+ continue;
-+ if (*d->d_name == '.')
-+ continue;
-+
-+#define _EXT_EXPORT_SIZ (sizeof(_EXT_EXPORT) - 1)
-+ namesz = strlen(d->d_name);
-+ if (!namesz
-+ || namesz < _EXT_EXPORT_SIZ + 1
-+ || strcmp(d->d_name + (namesz - _EXT_EXPORT_SIZ),
-+ _EXT_EXPORT))
-+ continue;
-+
-+ fname_len = snprintf(fname, PATH_MAX +1, "%s/%s", dname, d->d_name);
-+ if (fname_len > PATH_MAX) {
-+ xlog(L_WARNING, "Too long file name: %s in %s", d->d_name, dname);
-+ continue;
-+ }
-+
-+ volumes += export_read(fname);
-+ }
-+
-+ for (i = 0; i < n; i++)
-+ free(namelist[i]);
-+ free(namelist);
-+
-+ return volumes;
-+}
-+
-+/**
- * export_create - create an in-core nfs_export record from an export entry
- * @xep: export entry to lookup
- * @canonical: if set, e_hostname is known to be canonical DNS name
-diff --git a/support/include/exportfs.h b/support/include/exportfs.h
-index 4cac203..f033329 100644
---- a/support/include/exportfs.h
-+++ b/support/include/exportfs.h
-@@ -135,6 +135,7 @@ int client_member(const char *client,
- const char *name);
-
- int export_read(char *fname);
-+int export_d_read(const char *dname);
- void export_reset(nfs_export *);
- nfs_export * export_lookup(char *hname, char *path, int caconical);
- nfs_export * export_find(const struct addrinfo *ai,
-diff --git a/systemd/Makefile.am b/systemd/Makefile.am
-index 03f96e9..49c9b8d 100644
---- a/systemd/Makefile.am
-+++ b/systemd/Makefile.am
-@@ -39,8 +39,16 @@ endif
- EXTRA_DIST = $(unit_files)
-
- unit_dir = /usr/lib/systemd/system
-+generator_dir = /usr/lib/systemd/system-generators
-+
-+EXTRA_PROGRAMS = nfs-server-generator
-+genexecdir = $(generator_dir)
-+nfs_server_generator_LDADD = ../support/export/libexport.a \
-+ ../support/nfs/libnfs.a \
-+ ../support/misc/libmisc.a
-
- if INSTALL_SYSTEMD
-+genexec_PROGRAMS = nfs-server-generator
- install-data-hook: $(unit_files)
- mkdir -p $(DESTDIR)/$(unitdir)
- cp $(unit_files) $(DESTDIR)/$(unitdir)
-diff --git a/systemd/nfs-config.service b/systemd/nfs-config.service
-deleted file mode 100644
-index bd69e84..0000000
---- a/systemd/nfs-config.service
-+++ /dev/null
-@@ -1,13 +0,0 @@
--[Unit]
--Description=Preprocess NFS configuration
--After=local-fs.target
--DefaultDependencies=no
--
--[Service]
--Type=oneshot
--# This service needs to run any time any nfs service
--# is started, so changes to local config files get
--# incorporated. Having "RemainAfterExit=no" (the default)
--# ensures this happens.
--RemainAfterExit=no
--ExecStart=/usr/libexec/nfs-utils/nfs-utils_env.sh
-diff --git a/systemd/nfs-config.service.in b/systemd/nfs-config.service.in
-new file mode 100644
-index 0000000..e89dc54
---- /dev/null
-+++ b/systemd/nfs-config.service.in
-@@ -0,0 +1,13 @@
-+[Unit]
-+Description=Preprocess NFS configuration
-+After=local-fs.target
-+DefaultDependencies=no
-+
-+[Service]
-+Type=oneshot
-+# This service needs to run any time any nfs service
-+# is started, so changes to local config files get
-+# incorporated. Having "RemainAfterExit=no" (the default)
-+# ensures this happens.
-+RemainAfterExit=no
-+ExecStart=@_libexecdir@/nfs-utils/nfs-utils_env.sh
-diff --git a/systemd/nfs-server-generator.c b/systemd/nfs-server-generator.c
-new file mode 100644
-index 0000000..f47718e
---- /dev/null
-+++ b/systemd/nfs-server-generator.c
-@@ -0,0 +1,150 @@
-+/*
-+ * nfs-server-generator:
-+ * systemd generator to create ordering dependencies between
-+ * nfs-server and various filesystem mounts
-+ *
-+ * 1/ nfs-server should start Before any 'nfs' mountpoints are
-+ * mounted, in case they are loop-back mounts. This ordering is particularly
-+ * important for the shutdown side, so the nfs-server is stopped
-+ * after the filesystems are unmounted.
-+ * 2/ nfs-server should start After all exported filesystems are mounted
-+ * so there is no risk of exporting the underlying directory.
-+ * This is particularly important for _net mounts which
-+ * are not caught by "local-fs.target".
-+ */
-+
-+#ifdef HAVE_CONFIG_H
-+#include
-+#endif
-+
-+#include
-+#include
-+#include
-+#include
-+#include
-+#include
-+#include
-+#include
-+
-+#include "misc.h"
-+#include "nfslib.h"
-+#include "exportfs.h"
-+
-+/* A simple "set of strings" to remove duplicates
-+ * found in /etc/exports
-+ */
-+struct list {
-+ struct list *next;
-+ char *name;
-+};
-+static int is_unique(struct list **lp, char *path)
-+{
-+ struct list *l = *lp;
-+
-+ while (l) {
-+ if (strcmp(l->name, path) == 0)
-+ return 0;
-+ l = l->next;
-+ }
-+ l = malloc(sizeof(*l));
-+ if (l == NULL)
-+ return 0;
-+ l->name = path;
-+ l->next = *lp;
-+ *lp = l;
-+ return 1;
-+}
-+
-+/* We need to convert a path name to a systemd unit
-+ * name. This requires some translation ('/' -> '-')
-+ * and some escaping.
-+ */
-+static void systemd_escape(FILE *f, char *path)
-+{
-+ while (*path == '/')
-+ path++;
-+ if (!*path) {
-+ /* "/" becomes "-", otherwise leading "/" is ignored */
-+ fputs("-", f);
-+ return;
-+ }
-+ while (*path) {
-+ char c = *path++;
-+
-+ if (c == '/') {
-+ /* multiple non-trailing slashes become '-' */
-+ while (*path == '/')
-+ path++;
-+ if (*path)
-+ fputs("-", f);
-+ } else if (isalnum(c) || c == ':' || c == '.')
-+ fputc(c, f);
-+ else
-+ fprintf(f, "\\x%02x", c & 0xff);
-+ }
-+}
-+
-+int main(int argc, char *argv[])
-+{
-+ char *path;
-+ char dirbase[] = "/nfs-server.service.d";
-+ char filebase[] = "/order-with-mounts.conf";
-+ nfs_export *exp;
-+ int i;
-+ struct list *list = NULL;
-+ FILE *f, *fstab;
-+ struct mntent *mnt;
-+
-+ if (argc != 4 || argv[1][0] != '/') {
-+ fprintf(stderr, "nfs-server-generator: create systemd dependencies for nfs-server\n");
-+ fprintf(stderr, "Usage: normal-dir early-dir late-dir\n");
-+ exit(1);
-+ }
-+
-+ path = malloc(strlen(argv[1]) + sizeof(dirbase) + sizeof(filebase));
-+ if (!path)
-+ exit(2);
-+ if (export_read(_PATH_EXPORTS) +
-+ export_d_read(_PATH_EXPORTS_D) == 0)
-+ /* Nothing is exported, so nothing to do */
-+ exit(0);
-+
-+ strcat(strcpy(path, argv[1]), dirbase);
-+ mkdir(path, 0755);
-+ strcat(path, filebase);
-+ f = fopen(path, "w");
-+ if (!f)
-+ exit(1);
-+ fprintf(f, "# Automatically generated by nfs-server-generator\n\n[Unit]\n");
-+
-+ for (i = 0; i < MCL_MAXTYPES; i++) {
-+ for (exp = exportlist[i].p_head; exp; exp = exp->m_next) {
-+ if (!is_unique(&list, exp->m_export.e_path))
-+ continue;
-+ if (strchr(exp->m_export.e_path, ' '))
-+ fprintf(f, "RequiresMountsFor=\"%s\"\n",
-+ exp->m_export.e_path);
-+ else
-+ fprintf(f, "RequiresMountsFor=%s\n",
-+ exp->m_export.e_path);
-+ }
-+ }
-+
-+ fstab = setmntent("/etc/fstab", "r");
-+ if (!fstab)
-+ exit(1);
-+
-+ while ((mnt = getmntent(fstab)) != NULL) {
-+ if (strcmp(mnt->mnt_type, "nfs") != 0 &&
-+ strcmp(mnt->mnt_type, "nfs4") != 0)
-+ continue;
-+ fprintf(f, "Before= ");
-+ systemd_escape(f, mnt->mnt_dir);
-+ fprintf(f, ".mount\n");
-+ }
-+
-+ fclose(fstab);
-+ fclose(f);
-+
-+ exit(0);
-+}
-diff --git a/systemd/nfs-server.service b/systemd/nfs-server.service
-index 2ccdc63..196c818 100644
---- a/systemd/nfs-server.service
-+++ b/systemd/nfs-server.service
-@@ -16,9 +16,6 @@ Before= rpc-statd-notify.service
- Wants=auth-rpcgss-module.service
- After=rpc-gssd.service gssproxy.service rpc-svcgssd.service
-
--# start/stop server before/after client
--Before=remote-fs-pre.target
--
- Wants=nfs-config.service
- After=nfs-config.service
-
-diff --git a/systemd/rpc-gssd.service b/systemd/rpc-gssd.service
-deleted file mode 100644
-index d4a3819..0000000
---- a/systemd/rpc-gssd.service
-+++ /dev/null
-@@ -1,19 +0,0 @@
--[Unit]
--Description=RPC security service for NFS client and server
--DefaultDependencies=no
--Conflicts=umount.target
--Requires=var-lib-nfs-rpc_pipefs.mount
--After=var-lib-nfs-rpc_pipefs.mount
--
--ConditionPathExists=/etc/krb5.keytab
--
--PartOf=nfs-utils.service
--
--Wants=nfs-config.service
--After=nfs-config.service
--
--[Service]
--EnvironmentFile=-/run/sysconfig/nfs-utils
--
--Type=forking
--ExecStart=/usr/sbin/rpc.gssd $GSSDARGS
-diff --git a/systemd/rpc-gssd.service.in b/systemd/rpc-gssd.service.in
-new file mode 100644
-index 0000000..1a7911c
---- /dev/null
-+++ b/systemd/rpc-gssd.service.in
-@@ -0,0 +1,19 @@
-+[Unit]
-+Description=RPC security service for NFS client and server
-+DefaultDependencies=no
-+Conflicts=umount.target
-+Requires=var-lib-nfs-rpc_pipefs.mount
-+After=var-lib-nfs-rpc_pipefs.mount
-+
-+ConditionPathExists=@_sysconfdir@/krb5.keytab
-+
-+PartOf=nfs-utils.service
-+
-+Wants=nfs-config.service
-+After=nfs-config.service
-+
-+[Service]
-+EnvironmentFile=-/run/sysconfig/nfs-utils
-+
-+Type=forking
-+ExecStart=/usr/sbin/rpc.gssd $GSSDARGS
-diff --git a/utils/exportfs/exportfs.c b/utils/exportfs/exportfs.c
-index a00b5ea..4ac2c15 100644
---- a/utils/exportfs/exportfs.c
-+++ b/utils/exportfs/exportfs.c
-@@ -26,7 +26,6 @@
- #include
- #include
- #include
--#include
- #include
- #include
-
-@@ -47,7 +46,6 @@ static void error(nfs_export *exp, int err);
- static void usage(const char *progname, int n);
- static void validate_export(nfs_export *exp);
- static int matchhostname(const char *hostname1, const char *hostname2);
--static int export_d_read(const char *dname);
- static void grab_lockfile(void);
- static void release_lockfile(void);
-
-@@ -700,63 +698,6 @@ out:
- return result;
- }
-
--/* Based on mnt_table_parse_dir() in
-- util-linux-ng/shlibs/mount/src/tab_parse.c */
--static int
--export_d_read(const char *dname)
--{
-- int n = 0, i;
-- struct dirent **namelist = NULL;
-- int volumes = 0;
--
--
-- n = scandir(dname, &namelist, NULL, versionsort);
-- if (n < 0) {
-- if (errno == ENOENT)
-- /* Silently return */
-- return volumes;
-- xlog(L_NOTICE, "scandir %s: %s", dname, strerror(errno));
-- } else if (n == 0)
-- return volumes;
--
-- for (i = 0; i < n; i++) {
-- struct dirent *d = namelist[i];
-- size_t namesz;
-- char fname[PATH_MAX + 1];
-- int fname_len;
--
--
-- if (d->d_type != DT_UNKNOWN
-- && d->d_type != DT_REG
-- && d->d_type != DT_LNK)
-- continue;
-- if (*d->d_name == '.')
-- continue;
--
--#define _EXT_EXPORT_SIZ (sizeof(_EXT_EXPORT) - 1)
-- namesz = strlen(d->d_name);
-- if (!namesz
-- || namesz < _EXT_EXPORT_SIZ + 1
-- || strcmp(d->d_name + (namesz - _EXT_EXPORT_SIZ),
-- _EXT_EXPORT))
-- continue;
--
-- fname_len = snprintf(fname, PATH_MAX +1, "%s/%s", dname, d->d_name);
-- if (fname_len > PATH_MAX) {
-- xlog(L_WARNING, "Too long file name: %s in %s", d->d_name, dname);
-- continue;
-- }
--
-- volumes += export_read(fname);
-- }
--
-- for (i = 0; i < n; i++)
-- free(namelist[i]);
-- free(namelist);
--
-- return volumes;
--}
--
- static char
- dumpopt(char c, char *fmt, ...)
- {
-diff --git a/utils/idmapd/idmapd.man b/utils/idmapd/idmapd.man
-index b9200c7..d4ab894 100644
---- a/utils/idmapd/idmapd.man
-+++ b/utils/idmapd/idmapd.man
-@@ -23,6 +23,29 @@ is the NFSv4 ID <-> name mapping daemon. It provides functionality to
- the NFSv4 kernel client and server, to which it communicates via
- upcalls, by translating user and group IDs to names, and vice versa.
- .Pp
-+The system derives the
-+.I user
-+part of the string by performing a password or group lookup.
-+The lookup mechanism is configured in
-+.Pa /etc/idmapd.conf
-+.Pp
-+By default, the
-+.I domain
-+part of the string is the system's DNS domain name.
-+It can also be specified in
-+.Pa /etc/idmapd.conf
-+if the system is multi-homed,
-+or if the system's DNS domain name does
-+not match the name of the system's Kerberos realm.
-+.Pp
-+When the domain is not specified in /etc/idmapd.conf
-+the local DNS server will be queried for the
-+.Sy _nfsv4idmapdomain
-+text record. If the record exists
-+that will be used as the domain. When the record
-+does not exist, the domain part of the DNS domain
-+will used.
-+.Pp
- Note that on more recent kernels only the NFSv4 server uses
- .Nm .
- The NFSv4 client instead uses
-diff --git a/utils/mount/stropts.c b/utils/mount/stropts.c
-index 9de6794..d5dfb5e 100644
---- a/utils/mount/stropts.c
-+++ b/utils/mount/stropts.c
-@@ -948,6 +948,7 @@ static int nfs_is_permanent_error(int error)
- case ETIMEDOUT:
- case ECONNREFUSED:
- case EHOSTUNREACH:
-+ case EOPNOTSUPP: /* aka RPC_PROGNOTREGISTERED */
- case EAGAIN:
- return 0; /* temporary */
- default:
-@@ -1019,8 +1020,7 @@ static int nfsmount_parent(struct nfsmount_info *mi)
- if (nfs_try_mount(mi))
- return EX_SUCCESS;
-
-- /* retry background mounts when the server is not up */
-- if (nfs_is_permanent_error(errno) && errno != EOPNOTSUPP) {
-+ if (nfs_is_permanent_error(errno)) {
- mount_error(mi->spec, mi->node, errno);
- return EX_FAIL;
- }
-@@ -1055,8 +1055,7 @@ static int nfsmount_child(struct nfsmount_info *mi)
- if (nfs_try_mount(mi))
- return EX_SUCCESS;
-
-- /* retry background mounts when the server is not up */
-- if (nfs_is_permanent_error(errno) && errno != EOPNOTSUPP)
-+ if (nfs_is_permanent_error(errno))
- break;
-
- if (time(NULL) > timeout)
-diff --git a/utils/nfsidmap/nfsidmap.man b/utils/nfsidmap/nfsidmap.man
-index 2f17cf2..2af16f3 100644
---- a/utils/nfsidmap/nfsidmap.man
-+++ b/utils/nfsidmap/nfsidmap.man
-@@ -39,6 +39,15 @@ if the system is multi-homed,
- or if the system's DNS domain name does
- not match the name of the system's Kerberos realm.
- .PP
-+When the domain is not specified in
-+.I /etc/idmapd.conf
-+the local DNS server will be queried for the
-+.I _nfsv4idmapdomain
-+text record. If the record exists
-+that will be used as the domain. When the record
-+does not exist, the domain part of the DNS domain
-+will used.
-+.PP
- The
- .I /usr/sbin/nfsidmap
- program performs translations on behalf of the kernel.
diff --git a/specs/nfs-utils/SOURCES/nfs-utils_env.sh b/specs/nfs-utils/SOURCES/nfs-utils_env.sh
deleted file mode 100644
index a08d69dfb..000000000
--- a/specs/nfs-utils/SOURCES/nfs-utils_env.sh
+++ /dev/null
@@ -1,54 +0,0 @@
-#!/bin/sh
-
-#
-# Extract configuration from /etc/sysconfig/nfs and write
-# environment variables to /run/sysconfig/nfs-utils to be
-# used by systemd nfs-config service
-#
-
-nfs_config=/etc/sysconfig/nfs
-if test -r $nfs_config; then
- . $nfs_config
-fi
-
-[ -n "$LOCKDARG" ] && /sbin/modprobe lockd $LOCKDARG
-if [ -n "$LOCKD_TCPPORT" -o -n "$LOCKD_UDPPORT" ]; then
- [ -z "$LOCKDARG" ] && /sbin/modprobe lockd $LOCKDARG
- [ -n "$LOCKD_TCPPORT" ] && \
- /sbin/sysctl -w fs.nfs.nlm_tcpport=$LOCKD_TCPPORT >/dev/null 2>&1
- [ -n "$LOCKD_UDPPORT" ] && \
- /sbin/sysctl -w fs.nfs.nlm_udpport=$LOCKD_UDPPORT >/dev/null 2>&1
-fi
-
-if [ -n "$NFSD_V4_GRACE" ]; then
- grace="-G $NFSD_V4_GRACE"
-fi
-
-if [ -n "$NFSD_V4_LEASE" ]; then
- lease="-L $NFSD_V4_LEASE"
-fi
-
-if [ -n "$RPCNFSDCOUNT" ]; then
- nfsds=$RPCNFSDCOUNT
-else
- nfsds=8
-fi
-
-if [ -n "$RPCNFSDARGS" ]; then
- nfsdargs="$RPCNFSDARGS $grace $lease $nfsds"
-else
- nfsdargs="$grace $lease $nfsds"
-fi
-
-mkdir -p /run/sysconfig
-{
-echo RPCNFSDARGS=\"$nfsdargs\"
-echo RPCMOUNTDARGS=\"$RPCMOUNTDOPTS\"
-echo STATDARGS=\"$STATDARG\"
-echo SMNOTIFYARGS=\"$SMNOTIFYARGS\"
-echo RPCIDMAPDARGS=\"$RPCIDMAPDARGS\"
-echo RPCGSSDARGS=\"$RPCGSSDARGS\"
-echo RPCSVCGSSDARGS=\"$RPCSVCGSSDARGS\"
-echo BLKMAPDARGS=\"$BLKMAPDARGS\"
-echo GSS_USE_PROXY=\"$GSS_USE_PROXY\"
-} > /run/sysconfig/nfs-utils
diff --git a/specs/nfs-utils/SOURCES/nfs.sysconfig b/specs/nfs-utils/SOURCES/nfs.sysconfig
deleted file mode 100644
index f8370a675..000000000
--- a/specs/nfs-utils/SOURCES/nfs.sysconfig
+++ /dev/null
@@ -1,42 +0,0 @@
-#
-# Optional arguments passed to in-kernel lockd
-#LOCKDARG=
-# TCP port rpc.lockd should listen on.
-#LOCKD_TCPPORT=32803
-# UDP port rpc.lockd should listen on.
-#LOCKD_UDPPORT=32769
-#
-# Optional arguments passed to rpc.nfsd. See rpc.nfsd(8)
-RPCNFSDARGS=""
-# Number of nfs server processes to be started.
-# The default is 8.
-# RPCNFSDCOUNT=16
-#
-# Set V4 grace period in seconds
-#NFSD_V4_GRACE=90
-#
-# Set V4 lease period in seconds
-#NFSD_V4_LEASE=90
-#
-# Optional arguments passed to rpc.mountd. See rpc.mountd(8)
-RPCMOUNTDOPTS=""
-#
-# Optional arguments passed to rpc.statd. See rpc.statd(8)
-STATDARG=""
-# Optional arguments passed to sm-notify. See sm-notify(8)
-SMNOTIFYARGS=""
-#
-#
-# Optional arguments passed to rpc.idmapd. See rpc.idmapd(8)
-RPCIDMAPDARGS=""
-#
-# Optional arguments passed to rpc.gssd. See rpc.gssd(8)
-RPCGSSDARGS=""
-# Enable usage of gssproxy. See gssproxy-mech(8).
-GSS_USE_PROXY="yes"
-#
-# Optional arguments passed to rpc.svcgssd. See rpc.svcgssd(8)
-RPCSVCGSSDARGS=""
-#
-# Optional arguments passed to blkmapd. See blkmapd(8)
-BLKMAPDARGS=""
diff --git a/specs/nfs-utils/nfs-utils.spec b/specs/nfs-utils/nfs-utils.spec
deleted file mode 100644
index ad6506645..000000000
--- a/specs/nfs-utils/nfs-utils.spec
+++ /dev/null
@@ -1,319 +0,0 @@
-################################################################################
-
-%define _posixroot /
-%define _root /root
-%define _bin /bin
-%define _sbin /sbin
-%define _srv /srv
-%define _home /home
-%define _lib32 %{_posixroot}lib
-%define _lib64 %{_posixroot}lib64
-%define _libdir32 %{_prefix}%{_lib32}
-%define _libdir64 %{_prefix}%{_lib64}
-%define _logdir %{_localstatedir}/log
-%define _rundir %{_localstatedir}/run
-%define _lockdir %{_localstatedir}/lock/subsys
-%define _cachedir %{_localstatedir}/cache
-%define _spooldir %{_localstatedir}/spool
-%define _crondir %{_sysconfdir}/cron.d
-%define _loc_prefix %{_prefix}/local
-%define _loc_exec_prefix %{_loc_prefix}
-%define _loc_bindir %{_loc_exec_prefix}/bin
-%define _loc_libdir %{_loc_exec_prefix}/%{_lib}
-%define _loc_libdir32 %{_loc_exec_prefix}/%{_lib32}
-%define _loc_libdir64 %{_loc_exec_prefix}/%{_lib64}
-%define _loc_libexecdir %{_loc_exec_prefix}/libexec
-%define _loc_sbindir %{_loc_exec_prefix}/sbin
-%define _loc_bindir %{_loc_exec_prefix}/bin
-%define _loc_datarootdir %{_loc_prefix}/share
-%define _loc_includedir %{_loc_prefix}/include
-%define _loc_mandir %{_loc_datarootdir}/man
-%define _rpmstatedir %{_sharedstatedir}/rpm-state
-%define _pkgconfigdir %{_libdir}/pkgconfig
-
-%define __ldconfig %{_sbin}/ldconfig
-%define __service %{_sbin}/service
-%define __touch %{_bin}/touch
-%define __chkconfig %{_sbin}/chkconfig
-%define __updalt %{_sbindir}/update-alternatives
-%define __useradd %{_sbindir}/useradd
-%define __usermod %{_sbindir}/usermod
-%define __groupadd %{_sbindir}/groupadd
-%define __groupmod %{_sbindir}/groupmod
-%define __getent %{_bindir}/getent
-%define __systemctl %{_bindir}/systemctl
-
-%define _statdpath %{_sharedstatedir}/nfs/statd
-
-%define rpcuser_name rpcuser
-%define rpcuser_group rpcuser
-%define rpcuser_gid 29
-%define rpcuser_uid 29
-%define rpcuser_home %{_sharedstatedir}/nfs
-
-# Using the 16-bit value of -2 for the nfsnobody uid and gid
-%define nfsnobody_name nfsnobody
-%define nfsnobody_group nfsnobody
-%define nfsnobody_uid 65534
-%define nfsnobody_gid 65534
-%define nfsnobody_home %{_sharedstatedir}/nfs
-
-################################################################################
-
-Summary: NFS utilities and supporting clients and daemons for the kernel NFS server
-Name: nfs-utils
-Epoch: 1
-Version: 1.3.4
-Release: 4%{?dist}
-License: MIT and GPLv2 and GPLv2+ and BSD
-Group: System Environment/Daemons
-URL: https://sourceforge.net/projects/nfs
-
-Source0: https://www.kernel.org/pub/linux/utils/%{name}/%{version}/%{name}-%{version}.tar.xz
-Source1: id_resolver.conf
-Source2: nfs.sysconfig
-Source3: nfs-utils_env.sh
-Source4: lockd.conf
-
-Patch001: %{name}-1.3.5-rc2.patch
-Patch100: %{name}-1.2.1-statdpath-man.patch
-Patch101: %{name}-1.2.1-exp-subtree-warn-off.patch
-Patch102: %{name}-1.2.3-sm-notify-res_init.patch
-Patch103: %{name}-1.2.5-idmap-errmsg.patch
-Patch104: %{name}-1.3.2-systemd-gssargs.patch
-
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-
-BuildRequires: libevent-devel >= 2.0.22 libcap-devel
-BuildRequires: libnfsidmap-devel libtirpc-devel libblkid-devel
-BuildRequires: krb5-libs >= 1.4 autoconf >= 2.57 openldap-devel >= 2.2
-BuildRequires: automake libtool gcc device-mapper-devel
-BuildRequires: krb5-devel tcp_wrappers-devel libmount-devel
-BuildRequires: sqlite-devel python-devel
-
-Requires: rpcbind sed gawk sh-utils fileutils textutils grep
-Requires: kmod keyutils quota libnfsidmap libevent >= 2.0.22
-Requires: libtirpc >= 0.2.3-1 libblkid libcap libmount
-Requires: gssproxy => 0.3.0-0
-
-Provides: exportfs = %{epoch}:%{version}-%{release}
-Provides: nfsstat = %{epoch}:%{version}-%{release}
-Provides: showmount = %{epoch}:%{version}-%{release}
-Provides: rpcdebug = %{epoch}:%{version}-%{release}
-Provides: rpc.idmapd = %{epoch}:%{version}-%{release}
-Provides: rpc.mountd = %{epoch}:%{version}-%{release}
-Provides: rpc.nfsd = %{epoch}:%{version}-%{release}
-Provides: rpc.statd = %{epoch}:%{version}-%{release}
-Provides: rpc.gssd = %{epoch}:%{version}-%{release}
-Provides: mount.nfs = %{epoch}:%{version}-%{release}
-Provides: mount.nfs4 = %{epoch}:%{version}-%{release}
-Provides: umount.nfs = %{epoch}:%{version}-%{release}
-Provides: umount.nfs4 = %{epoch}:%{version}-%{release}
-Provides: sm-notify = %{epoch}:%{version}-%{release}
-Provides: start-statd = %{epoch}:%{version}-%{release}
-
-Requires(pre): shadow-utils >= 4.0.3-25
-Requires(pre): util-linux
-Requires(post): systemd-units
-Requires(preun): systemd-units
-Requires(postun): systemd-units
-
-################################################################################
-
-%description
-The nfs-utils package provides a daemon for the kernel NFS server and
-related tools, which provides a much higher level of performance than the
-traditional Linux NFS server used by most users.
-
-This package also contains the showmount program. Showmount queries the
-mount daemon on a remote host for information about the NFS (Network File
-System) server on the remote host. For example, showmount can display the
-clients which are mounted on that host.
-
-This package also contains the mount.nfs and umount.nfs program.
-
-################################################################################
-
-%prep
-%setup -q
-
-%patch001 -p1
-%patch100 -p1
-%patch101 -p1
-%patch102 -p1
-%patch103 -p1
-%patch104 -p1
-
-%build
-%ifarch s390 s390x sparcv9 sparc64
-PIE="-fPIE"
-%else
-PIE="-fpie"
-%endif
-export PIE
-
-./autogen.sh
-
-CFLAGS="`echo %{optflags} $ARCH_OPT_FLAGS $PIE -D_FILE_OFFSET_BITS=64`"
-
-%configure \
- CFLAGS="$CFLAGS" \
- CPPFLAGS="$DEFINES" \
- LDFLAGS="-pie" \
- --enable-libmount-mount \
- --enable-mountconfig \
- --enable-ipv6 \
- --with-statdpath=%{_statdpath} \
- --with-systemd
-
-%{__make} %{?_smp_mflags} all
-
-%install
-rm -rf %{buildroot}
-
-install -d %{buildroot}%{_sbin}
-install -d %{buildroot}%{_sbindir}
-install -d %{buildroot}%{_libexecdir}/%{name}
-install -d %{buildroot}%{_unitdir}/../system
-install -d %{buildroot}%{_unitdir}/../system-generators
-install -d %{buildroot}%{_mandir}/man8
-install -d %{buildroot}%{_sysconfdir}/sysconfig
-install -d %{buildroot}%{_sysconfdir}/request-key.d
-install -d %{buildroot}%{_sysconfdir}/modprobe.d
-install -d %{buildroot}%{_sysconfdir}/exports.d
-install -d %{buildroot}/run/sysconfig
-install -d %{buildroot}%{_unitdir}/../scripts
-install -d %{buildroot}%{_sharedstatedir}/nfs/rpc_pipefs
-install -d %{buildroot}%{_sharedstatedir}/nfs/statd/sm
-install -d %{buildroot}%{_sharedstatedir}/nfs/statd/sm.bak
-install -d %{buildroot}%{_sharedstatedir}/nfs/v4recovery
-
-%{make_install}
-
-# rpc.svcgssd is no longer supported.
-rm -rf %{buildroot}%{_unitdir}/rpc-svcgssd.service
-
-install -pm 755 tools/rpcdebug/rpcdebug %{buildroot}%{_sbindir}
-install -pm 644 utils/mount/nfsmount.conf %{buildroot}%{_sysconfdir}
-install -pm 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/request-key.d
-install -pm 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/sysconfig/nfs
-install -pm 755 %{SOURCE3} %{buildroot}%{_libexecdir}/nfs-utils/nfs-utils_env.sh
-install -pm 644 %{SOURCE4} %{buildroot}%{_sysconfdir}/modprobe.d/lockd.conf
-
-# create symlinks for backward compatibility with an older versions nfs-utils
-pushd %{buildroot}%{_unitdir}
- ln -s nfs-server.service nfs.service
- ln -s rpc-gssd.service nfs-secure.service
- ln -s nfs-idmapd.service nfs-idmap.service
- ln -s rpc-statd.service nfs-lock.service
-popd
-
-touch %{buildroot}%{_sharedstatedir}/nfs/rmtab
-
-mv %{buildroot}%{_sbindir}/rpc.statd %{buildroot}/sbin
-
-################################################################################
-
-%clean
-rm -rf %{buildroot}
-
-%pre
-# move files so the running service will have this applied as well
-for x in gssd idmapd ; do
- if [[ -f %{_lockdir}/rpc.$x ]] ; then
- mv %{_lockdir}/rpc.$x %{_lockdir}/rpc$x
- fi
-done
-
-getent group %{rpcuser_group} &> /dev/null || groupadd -g %{rpcuser_gid} %{rpcuser_group} &>/dev/null || :
-getent group %{nfsnobody_group} &> /dev/null || groupadd -g %{nfsnobody_gid} %{nfsnobody_group} &>/dev/null || :
-getent passwd %{rpcuser_name} &> /dev/null || \
- useradd -l -c "RPC Service User" -r -g %{rpcuser_uid} \
- -s /sbin/nologin -u %{rpcuser_uid} \
- -d %{rpcuser_home} %{rpcuser_name} &>/dev/null || :
-getent passwd %{nfsnobody_name} &> /dev/null || \
- useradd -l -c "Anonymous NFS User" -r -g %{nfsnobody_uid} \
- -s /sbin/nologin -u %{nfsnobody_uid} \
- -d %{nfsnobody_home} %{nfsnobody_name} &>/dev/null || :
-
-%post
-if [[ $1 -eq 1 ]] ; then
- %{__systemctl} enable nfs-client.target &>/dev/null || :
- %{__systemctl} start nfs-client.target &>/dev/null || :
-fi
-
-%systemd_post nfs-config
-%systemd_post nfs-server
-
-%preun
-if [[ $1 -eq 0 ]] ; then
- %systemd_preun nfs-client.target
- %systemd_preun nfs-server.server
-fi
-
-%postun
-%systemd_postun_with_restart nfs-client.target
-%systemd_postun_with_restart nfs-server
-
-%{__systemctl} --system daemon-reload &>/dev/null || :
-
-################################################################################
-
-%files
-%defattr(-,root,root,-)
-%config(noreplace) %{_sysconfdir}/sysconfig/nfs
-%config(noreplace) %{_sysconfdir}/nfsmount.conf
-%dir %{_sysconfdir}/exports.d
-%dir %{_sharedstatedir}/nfs/v4recovery
-%dir %{_sharedstatedir}/nfs/rpc_pipefs
-%dir %{_sharedstatedir}/nfs
-%dir %attr(700,rpcuser,rpcuser) %{_sharedstatedir}/nfs/statd
-%dir %attr(700,rpcuser,rpcuser) %{_sharedstatedir}/nfs/statd/sm
-%dir %attr(700,rpcuser,rpcuser) %{_sharedstatedir}/nfs/statd/sm.bak
-%ghost %attr(644,rpcuser,rpcuser) %{_statdpath}/state
-%config(noreplace) %{_sharedstatedir}/nfs/xtab
-%config(noreplace) %{_sharedstatedir}/nfs/etab
-%config(noreplace) %{_sharedstatedir}/nfs/rmtab
-%config(noreplace) %{_sysconfdir}/request-key.d/id_resolver.conf
-%config(noreplace) %{_sysconfdir}/modprobe.d/lockd.conf
-%doc linux-nfs/ChangeLog linux-nfs/KNOWNBUGS linux-nfs/NEW linux-nfs/README
-%doc linux-nfs/THANKS linux-nfs/TODO
-%{_sbin}/rpc.statd
-%{_sbin}/osd_login
-%{_sbin}/nfsdcltrack
-%{_sbindir}/exportfs
-%{_sbindir}/nfsstat
-%{_sbindir}/rpcdebug
-%{_sbindir}/rpc.mountd
-%{_sbindir}/rpc.nfsd
-%{_sbindir}/showmount
-%{_sbindir}/rpc.idmapd
-%{_sbindir}/rpc.gssd
-%{_sbindir}/sm-notify
-%{_sbindir}/start-statd
-%{_sbindir}/mountstats
-%{_sbindir}/nfsiostat
-%{_sbindir}/nfsidmap
-%{_sbindir}/blkmapd
-%{_mandir}/*/*
-%{_unitdir}/../*/*
-%attr(755,root,root) %{_libexecdir}/nfs-utils/nfs-utils_env.sh
-%attr(4755,root,root) /sbin/mount.nfs
-%{_sbin}/mount.nfs4
-%{_sbin}/umount.nfs
-%{_sbin}/umount.nfs4
-
-################################################################################
-
-%changelog
-* Fri May 15 2020 Anton Novojilov - 1.3.4-4
-- Removed unsafe owner change
-
-* Wed Feb 12 2020 Anton Novojilov - 1.3.4-3
-- Rebuilt with the latest version of libevent
-
-* Fri Jul 19 2019 Anton Novojilov - 1.3.4-2
-- Rebuilt with the latest version of libevent
-
-* Tue Aug 01 2017 Gleb Goncharov - 1.3.4-1
-- Initial build for kaos repository
diff --git a/specs/nghttp2.spec b/specs/nghttp2.spec
index 8881f04f4..3a5679d99 100644
--- a/specs/nghttp2.spec
+++ b/specs/nghttp2.spec
@@ -6,7 +6,7 @@
Summary: Meta-package that only requires libnghttp2
Name: nghttp2
-Version: 1.61.0
+Version: 1.62.1
Release: 0%{?dist}
Group: Applications/Internet
License: MIT
@@ -120,6 +120,9 @@ rm -rf %{buildroot}
################################################################################
%changelog
+* Thu May 30 2024 Anton Novojilov - 1.62.1-0
+- https://github.com/nghttp2/nghttp2/releases/tag/v1.62.1
+
* Tue Apr 16 2024 Anton Novojilov - 1.61.0-0
- https://github.com/nghttp2/nghttp2/releases/tag/v1.61.0
diff --git a/specs/nicstat/nicstat.spec b/specs/nicstat/nicstat.spec
index ae6d913b5..14a96a01a 100644
--- a/specs/nicstat/nicstat.spec
+++ b/specs/nicstat/nicstat.spec
@@ -35,11 +35,8 @@ average packet sizes and more.
################################################################################
%prep
-%{crc_check}
-
-%setup -qn %{name}-src-%{version}
-
-%patch0 -p1 -b .scotte-fixes
+%crc_check
+%autosetup -p1 -n %{name}-src-%{version}
%build
%ifarch %ix86
@@ -57,9 +54,6 @@ install -dm 755 %{buildroot}%{_mandir}/man1/
install -pm 755 %{name} %{buildroot}%{_bindir}/
install -pm 644 %{name}.1 %{buildroot}%{_mandir}/man1/
-%clean
-rm -rf %{buildroot}
-
################################################################################
%files
diff --git a/specs/ninja-build/ninja-build.spec b/specs/ninja-build/ninja-build.spec
index 401e778ad..17cc4ae73 100644
--- a/specs/ninja-build/ninja-build.spec
+++ b/specs/ninja-build/ninja-build.spec
@@ -10,7 +10,7 @@
Summary: Small build system with a focus on speed
Name: ninja-build
-Version: 1.12.0
+Version: 1.12.1
Release: 0%{?dist}
License: ASL 2.0
Group: Development/Tools
@@ -23,13 +23,7 @@ Source100: checksum.sha512
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-BuildRequires: gcc-c++ asciidoc
-
-%if 0%{?rhel} <= 7
-BuildRequires: cmake3
-%else
-BuildRequires: cmake
-%endif
+BuildRequires: cmake gcc-c++ asciidoc
Provides: %{name} = %{version}-%{release}
@@ -49,13 +43,8 @@ fast as possible.
%setup -qn ninja-%{version}
%build
-%if 0%{?rhel} <= 7
-cmake3 -B build
-cmake3 --build build
-%else
cmake -B build
cmake --build build
-%endif
%install
rm -rf %{buildroot}
@@ -83,8 +72,11 @@ rm -rf %{buildroot}
################################################################################
%changelog
+* Tue Aug 20 2024 Anton Novojilov - 1.12.1-0
+- https://github.com/ninja-build/ninja/releases/tag/v1.12.1
+
* Tue Apr 16 2024 Anton Novojilov - 1.12.0-0
-- https://github.com/ninja-build/ninja/milestone/6?closed=1
+- https://github.com/ninja-build/ninja/releases/tag/v1.12.0
* Fri Dec 09 2022 Anton Novojilov - 1.11.1-0
- Initial build
diff --git a/specs/nodejs.spec b/specs/nodejs.spec
index fe4da7b56..093e875c9 100644
--- a/specs/nodejs.spec
+++ b/specs/nodejs.spec
@@ -16,7 +16,7 @@
Summary: Platform for server side programming on JavaScript
Name: nodejs
-Version: 20.12.2
+Version: 20.16.0
Release: 0%{?dist}
License: MIT
Group: Development/Tools
@@ -106,6 +106,12 @@ rm -rf %{buildroot}
################################################################################
%changelog
+* Thu Aug 15 2024 Anton Novojilov - 20.16.0-0
+- https://nodejs.org/en/blog/release/v20.16.0
+
+* Thu May 30 2024 Anton Novojilov - 20.14.0-0
+- https://nodejs.org/en/blog/release/v20.14.0
+
* Tue Apr 16 2024 Anton Novojilov - 20.12.2-0
- https://nodejs.org/en/blog/release/v20.12.2
diff --git a/specs/orc.spec b/specs/orc.spec
index eeb5a3f71..c80c1664c 100644
--- a/specs/orc.spec
+++ b/specs/orc.spec
@@ -11,7 +11,7 @@
Summary: The Oil Run-time Compiler
Name: orc
-Version: 0.4.38
+Version: 0.4.39
Release: 0%{?dist}
Group: System Environment/Libraries
License: BSD
@@ -79,9 +79,6 @@ rm -rf %{buildroot}
rm -f %{buildroot}%{_libdir}/*.a
-sed -i 's# - 0.4.39-0
+- Security: Fix error message printing buffer overflow leading to possible
+ code execution in orcc with specific input files (CVE-2024-40897). This
+ only affects developers and CI environments using orcc, not users of liborc
+- div255w: fix off-by-one error in the implementations
+- x86: only run AVX detection if xgetbv is available
+- x86: fix AVX detection by implementing the check recommended by Intel
+- Only enable JIT compilation on Apple arm64 if running on macOS, fixes crashes
+ on iOS
+- Fix potential crash in emulation mode if logging is enabled
+- Handle undefined TARGET_OS_OSX correctly
+- orconce: Fix typo in GCC __sync-based implementation
+- orconce: Fix usage of __STDC_NO_ATOMICS__
+- Fix build with MSVC 17.10 + C11
+- Support stack unwinding on Windows
+- Major opcode and instruction set code clean-ups and refactoring
+- Refactor allocation and chunk initialization of code regions
+- Fall back to emulation on Linux if JIT support is not available,
+ e.g. because of SELinux sandboxing or noexec mounting)
+
* Tue Apr 16 2024 Anton Novojilov - 0.4.38-0
- x86: account for XSAVE when checking for AVX support, fixing usage on
hardened linux kernels where AVX support has been disabled
diff --git a/specs/p7zip/p7zip.spec b/specs/p7zip/p7zip.spec
index 4504e607f..f37ba6303 100644
--- a/specs/p7zip/p7zip.spec
+++ b/specs/p7zip/p7zip.spec
@@ -61,17 +61,8 @@ This package contains also a virtual file system for Midnight Commander.
################################################################################
%prep
-%{crc_check}
-
-%setup -qn %{name}_%{version}
-
-%patch0 -p1
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
-%patch4 -p1
-%patch5 -p1
-%patch6 -p1
+%crc_check
+%autosetup -p1 -n %{name}_%{version}
%build
mkdir docs
diff --git a/specs/postgresql-16/pg_repack.spec b/specs/pg_repack.spec
similarity index 81%
rename from specs/postgresql-16/pg_repack.spec
rename to specs/pg_repack.spec
index 2833296ba..641d1cfb6 100644
--- a/specs/postgresql-16/pg_repack.spec
+++ b/specs/pg_repack.spec
@@ -8,8 +8,7 @@
################################################################################
-%define pg_ver 16
-%define pg_fullver %{pg_ver}.0
+%define pg_ver %{?_pg}%{!?_pg:99}
%define pg_dir %{_prefix}/pgsql-%{pg_ver}
%define realname pg_repack
@@ -17,7 +16,7 @@
Summary: Reorganize tables in PostgreSQL %{pg_ver} databases without any locks
Name: %{realname}%{pg_ver}
-Version: 1.4.8
+Version: 1.5.0
Release: 0%{?dist}
License: BSD
Group: Applications/Databases
@@ -25,19 +24,15 @@ URL: https://pgxn.org/dist/pg_repack/
Source0: https://api.pgxn.org/dist/%{realname}/%{version}/%{realname}-%{version}.zip
+Source100: checksum.sha512
+
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: make gcc openssl-devel readline-devel zlib-devel libzstd-devel
-BuildRequires: postgresql%{pg_ver}-devel = %{pg_fullver}
-BuildRequires: postgresql%{pg_ver}-libs = %{pg_fullver}
+BuildRequires: postgresql%{pg_ver}-devel postgresql%{pg_ver}-libs
%if %llvm
-%if 0%{?rhel} >= 8
-BuildRequires: llvm-devel >= 6.0.0 clang-devel >= 6.0.0
-%endif
-%if 0%{?rhel} == 7
-BuildRequires: llvm5.0-devel >= 5.0 llvm-toolset-7-clang >= 4.0.1
-%endif
+BuildRequires: llvm-devel >= 13.0 clang-devel >= 13.0
%endif
Requires: postgresql%{pg_ver}
@@ -56,17 +51,10 @@ The module is developed to be a better alternative of CLUSTER and VACUUM FULL.
################################################################################
%prep
-%setup -qn %{realname}-%{version}
+%crc_check
+%autosetup -n %{realname}-%{version}
%build
-%if %llvm
-%if 0%{?rhel} == 7
-# perfecto:ignore
-export CLANG=/opt/rh/llvm-toolset-7/root/usr/bin/clang
-export LLVM_CONFIG=%{_libdir}/llvm5.0/bin/llvm-config
-%endif
-%endif
-
%{__make} %{?_smp_mflags} PG_CONFIG=%{pg_dir}/bin/pg_config
%install
@@ -82,9 +70,6 @@ if [[ $1 -eq 0 ]] ; then
update-alternatives --remove pgrepack %{pg_dir}/bin/pg_repack
fi
-%clean
-rm -rf %{buildroot}
-
################################################################################
%files
@@ -101,6 +86,9 @@ rm -rf %{buildroot}
################################################################################
%changelog
+* Tue Sep 10 2024 Anton Novojilov - 1.5.0-0
+- https://github.com/reorg/pg_repack/releases/tag/ver_1.5.0
+
* Thu Sep 21 2023 Anton Novojilov - 1.4.8-0
- Added support for PostgreSQL 15
- Fixed --parent-table on declarative partitioned tables
diff --git a/specs/pgbouncer/SOURCES/pgbouncer.init b/specs/pgbouncer/SOURCES/pgbouncer.init
deleted file mode 100644
index d6b5f1984..000000000
--- a/specs/pgbouncer/SOURCES/pgbouncer.init
+++ /dev/null
@@ -1,262 +0,0 @@
-#!/bin/bash
-#
-# pgbouncer Start PgBouncer connection pooler daemon
-#
-# chkconfig: - 64 36
-# description: PgBouncer is a connection pooler for PostgreSQL.
-# This service starts the PgBouncer daemon.
-
-## BEGIN INIT INFO
-# Provides: pgbouncer
-# Required-Start: $local_fs $remote_fs $network $syslog $named
-# Required-Stop: $local_fs $remote_fs $network $syslog $named
-# Should-Start: postgresql
-# Short-Description: Start PgBouncer connection pooler daemon
-# Description: PgBouncer is a connection pooler for PostgreSQL.
-# This service starts the PgBouncer daemon.
-### END INIT INFO
-
-###############################################################################
-
-source /etc/init.d/kaosv
-
-###############################################################################
-
-DEFAULT_PID_FILE="/var/run/pgbouncer/pgbouncer.pid"
-PG_RUN_DIR="/var/run/postgresql"
-
-###############################################################################
-
-kv[prog_name]="pgbouncer"
-
-kv.readSysconfig
-
-binary=${BINARY:-/usr/bin/pgbouncer}
-user=${USER:-pgbouncer}
-conf_file=${CONF_FILE:-/etc/pgbouncer/pgbouncer.ini}
-log_dir=${LOG_DIR:-/var/log/pgbouncer}
-max_wait=${MAX_WAIT:-120}
-
-is_restart=""
-
-###############################################################################
-
-kv.addCommand "reload" "Reload ${kv[prog_name]} config and update changeable settings" "reload"
-kv.addCommand "pause" "Pause processing new queries" "pause"
-kv.addCommand "resume" "Resume work from previous pause command" "resume"
-
-kv.addHandler "start" "startHandler"
-kv.addHandler "stop" "stopHandler"
-kv.addHandler "restart" "restartHandler"
-
-kv.addHandler "start" "preStartHandler" "pre"
-kv.addHandler "start" "postStartHandler" "post"
-kv.addHandler "stop" "preStopHandler" "pre"
-
-kv.disableOutputRedirect "start" "pre"
-
-###############################################################################
-
-reload() {
- kv.showProcessMessage "Reloading config"
- kv.sendSignal "$SIGNAL_HUP"
- kv.showStatusMessage $ACTION_OK
-
- return $ACTION_OK
-}
-
-pause() {
- kv.showProcessMessage "Pausing"
- kv.sendSignal "$SIGNAL_USR1"
- kv.showStatusMessage $ACTION_OK
-
- return $ACTION_OK
-}
-
-resume() {
- kv.showProcessMessage "Resuming"
- kv.sendSignal "$SIGNAL_USR2"
- kv.showStatusMessage $ACTION_OK
-
- return $ACTION_OK
-}
-
-###############################################################################
-
-preStartHandler() {
- local has_errors
-
- local port=$(readConfigProperty "$conf_file" "listen_port")
-
- if [[ -z "${kv[pid_file]}" || -z "$port" ]] ; then
- kv.error "Can't read properties from configuration file"
- has_errors=true
- fi
-
- if [[ -z "$is_restart" ]] && kv.isBoundPort "$port" ; then
- kv.error "Port $port already bound"
- has_errors=true
- fi
-
- if [[ ! -r $binary ]] ; then
- kv.error "Binary file $binary must be readable"
- has_errors=true
- fi
-
- if [[ ! -x $binary ]] ; then
- kv.error "Binary file $binary must be executable"
- has_errors=true
- fi
-
- if [[ ! -f $conf_file ]] ; then
- kv.error "Configuration file $conf_file doesn't exist"
- has_errors=true
- fi
-
- if ! kv.hasUser "$user" ; then
- kv.error "User $user doesn't exist on system"
- has_errors=true
- fi
-
- if [[ ! -d $log_dir ]] ; then
- mkdir -p $log_dir &> /dev/null
-
- if [[ $? -ne 0 ]] ; then
- kv.error "Can't create logs directory $log_dir"
- has_errors=true
- fi
-
- chown $user:$user $log_dir -R &> /dev/null
- fi
-
- if [[ -z "${kv[pid_file]}" ]] ; then
- kv.error "Can't read \"pid\" property from configuration file"
- has_errors=true
- fi
-
- if [[ -n "$has_errors" ]] ; then
- kv.exit 1
- fi
-
- return $ACTION_OK
-}
-
-postStartHandler() {
- if [[ ! -e "$PG_RUN_DIR" ]] ; then
- return $ACTION_OK
- fi
-
- local socket_dir=$(readConfigProperty "$conf_file" "unix_socket_dir")
-
- if [[ -n "$socket_dir" && "$socket_dir" != "/tmp" ]] ; then
- return $ACTION_OK
- fi
-
- local port=$(readConfigProperty "$conf_file" "listen_port")
-
- if [[ -z "$port" ]] ; then
- return $ACTION_OK
- fi
-
- if [[ ! -e "/tmp/.s.PGSQL.${port}" || -e "$PG_RUN_DIR/.s.PGSQL.${port}" ]] ; then
- return $ACTION_OK
- fi
-
- # Create ink to pgbouncer socket in PG dir
- ln -sf "/tmp/.s.PGSQL.${port}" "$PG_RUN_DIR/.s.PGSQL.${port}" &>/dev/null
-
- return $ACTION_OK
-}
-
-preStopHandler() {
- local port=$(readConfigProperty "$conf_file" "listen_port")
-
- if [[ -z "$port" ]] ; then
- return $ACTION_OK
- fi
-
- # Remove link to pgbouncer socket from PG dir
- if [[ -e "$PG_RUN_DIR/.s.PGSQL.${port}" ]] ; then
- rm -f "$PG_RUN_DIR/.s.PGSQL.${port}" &>/dev/null
- fi
-}
-
-startHandler() {
- if [[ -z "$is_restart" ]] ; then
- kv.run "$binary" "-d -q $conf_file"
- kv.getStartStatus
- return $?
- fi
-
- local pid i
-
- # Get PID of old instance of pgbouncer
- pid=$(kv.getPID)
-
- # Run new instance of pgbouncer with "restart" mode
- kv.run "$binary" "-R -d -q $conf_file"
-
- # Check status of new instance
- if ! kv.getStartStatus ; then
- return $ACTION_ERROR
- fi
-
- # Wait till old instance is finished transferring connections to new one
- for i in $(seq 1 "${max_wait}") ; do
- # Old instance terminated
- if ! kv.isProcExist "$pid" ; then
- return $ACTION_OK
- fi
-
- sleep 1
- done
-
- return $ACTION_ERROR
-}
-
-stopHandler() {
- # It's restart, do nothing
- if [[ -n "$is_restart" ]] ; then
- return $ACTION_OK
- fi
-
- kv.sendSignal "$SIGNAL_TERM"
- kv.getStopStatus
-
- return $?
-}
-
-restartHandler() {
- is_restart=true
- return $ACTION_OK
-}
-
-###############################################################################
-
-configure() {
- kv[user]="$user"
- kv[search_pattern]="$binary"
- kv[pid_file]=$(readConfigProperty "$conf_file" "pidfile" "$DEFAULT_PID_FILE")
- kv[oom_adj]="$OOM_DISABLE"
-}
-
-readConfigProperty() {
- local config="$1"
- local prop_name="$2"
- local def_value="$3"
-
- local prop=$(kv.readProperty "$config" "$prop_name")
-
- if [[ "${prop:0:1}" == ";" ]] ; then
- echo "${def_value}"
- return
- fi
-
- echo "${prop}"
-}
-
-###############################################################################
-
-configure
-
-kv.go $@
diff --git a/specs/pgbouncer/SOURCES/pgbouncer.pam b/specs/pgbouncer/SOURCES/pgbouncer.pam
new file mode 100644
index 000000000..7e279d086
--- /dev/null
+++ b/specs/pgbouncer/SOURCES/pgbouncer.pam
@@ -0,0 +1,3 @@
+#%PAM-1.0
+auth include password-auth
+account include password-auth
diff --git a/specs/pgbouncer/SOURCES/pgbouncer.service b/specs/pgbouncer/SOURCES/pgbouncer.service
index e961ffc1b..af35092ea 100644
--- a/specs/pgbouncer/SOURCES/pgbouncer.service
+++ b/specs/pgbouncer/SOURCES/pgbouncer.service
@@ -1,12 +1,21 @@
[Unit]
-Description=PgBouncer
-After=syslog.target network.target
+Description=A lightweight connection pooler for PostgreSQL
+Documentation=man:pgbouncer(1)
+After=network-online.target
+Wants=network-online.target
[Service]
-PIDFile=/var/run/pgbouncer/pgbouncer.pid
-ExecStart=/etc/init.d/pgbouncer start
-ExecStop=/etc/init.d/pgbouncer stop
-ExecReload=/etc/init.d/pgbouncer reload
+RemainAfterExit=yes
+Type=notify
+TimeoutSec=300
+
+User=pgbouncer
+Group=pgbouncer
+
+Environment=BOUNCERCONF=/etc/pgbouncer/pgbouncer.ini
+
+ExecStart=/usr/bin/pgbouncer -q ${BOUNCERCONF}
+ExecReload=/usr/bin/pgbouncer -R -q ${BOUNCERCONF}
[Install]
WantedBy=multi-user.target
diff --git a/specs/pgbouncer/SOURCES/pgbouncer.sysconfig b/specs/pgbouncer/SOURCES/pgbouncer.sysconfig
deleted file mode 100644
index c9de5867d..000000000
--- a/specs/pgbouncer/SOURCES/pgbouncer.sysconfig
+++ /dev/null
@@ -1,16 +0,0 @@
-# pgbouncer defaults
-
-# Path to binary file
-BINARY=""
-
-# Username
-USER=""
-
-# Path to the ini file
-CONF_FILE=""
-
-# Path to the log file
-LOG_DIR=""
-
-# Max wait delay for restart
-MAX_WAIT=""
diff --git a/specs/pgbouncer/SOURCES/pgbouncer.tmpd b/specs/pgbouncer/SOURCES/pgbouncer.tmpd
new file mode 100644
index 000000000..2a6973bc1
--- /dev/null
+++ b/specs/pgbouncer/SOURCES/pgbouncer.tmpd
@@ -0,0 +1 @@
+d /run/pgbouncer 0755 pgbouncer pgbouncer -
diff --git a/specs/pgbouncer/pgbouncer.spec b/specs/pgbouncer/pgbouncer.spec
index d16620cb0..13d688b07 100644
--- a/specs/pgbouncer/pgbouncer.spec
+++ b/specs/pgbouncer/pgbouncer.spec
@@ -11,17 +11,17 @@
Summary: Lightweight connection pooler for PostgreSQL
Name: pgbouncer
-Version: 1.21.0
+Version: 1.23.1
Release: 0%{?dist}
License: MIT and BSD
Group: Applications/Databases
URL: https://pgbouncer.github.io
Source0: https://pgbouncer.github.io/downloads/files/%{version}/%{name}-%{version}.tar.gz
-Source1: %{name}.init
-Source2: %{name}.sysconfig
-Source3: %{name}.logrotate
-Source4: %{name}.service
+Source1: %{name}.service
+Source2: %{name}.logrotate
+Source3: %{name}.pam
+Source4: %{name}.tmpd
Source100: checksum.sha512
@@ -31,11 +31,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n
BuildRequires: make gcc openssl-devel libevent-devel pam-devel systemd-devel
-Requires: kaosv >= 2.16 openssl libevent
-
-Requires(post): systemd
-Requires(preun): systemd
-Requires(postun): systemd
+Requires: openssl libevent
Provides: %{name} = %{version}-%{release}
@@ -59,11 +55,8 @@ libevent for low-level socket handling.
################################################################################
%prep
-%{crc_check}
-
-%setup -qn %{name}-%{version}
-
-%patch0 -p1
+%crc_check
+%autosetup -p1 -n %{name}-%{version}
%build
sed -i.fedora \
@@ -82,32 +75,26 @@ rm -rf %{buildroot}
%{make_install}
-install -dm 755 %{buildroot}%{_sysconfdir}/%{name}/
-install -dm 755 %{buildroot}%{_sysconfdir}/sysconfig
-install -dm 755 %{buildroot}%{_sysconfdir}/logrotate.d
-install -dm 755 %{buildroot}%{_initrddir}
+install -dm 755 %{buildroot}%{_sysconfdir}/%{name}
+install -dm 755 %{buildroot}%{_localstatedir}/log/%{name}
+install -dm 755 %{buildroot}%{_rundir}/%{name}
-install -pm 600 etc/pgbouncer.ini %{buildroot}%{_sysconfdir}/%{name}
+install -pm 600 etc/pgbouncer.ini %{buildroot}%{_sysconfdir}/%{name}/
install -pm 700 etc/mkauth.py %{buildroot}%{_sysconfdir}/%{name}/
touch %{buildroot}%{_sysconfdir}/%{name}/userlist.txt
chmod 600 %{buildroot}%{_sysconfdir}/%{name}/userlist.txt
-install -pm 755 %{SOURCE1} %{buildroot}%{_initrddir}/%{name}
-install -pm 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/sysconfig/%{name}
-install -pm 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/logrotate.d/%{name}
-
-install -dm 755 %{buildroot}%{_unitdir}
-install -pm 644 %{SOURCE4} %{buildroot}%{_unitdir}/%{name}.service
+install -pDm 644 %{SOURCE1} %{buildroot}%{_unitdir}/%{name}.service
+install -pDm 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/logrotate.d/%{name}
+install -pDm 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/pam.d/%{name}
+install -pDm 644 %{SOURCE4} %{buildroot}%{_tmpfilesdir}/%{name}.conf
rm -f %{buildroot}%{_docdir}/%{name}/pgbouncer.ini
rm -f %{buildroot}%{_docdir}/%{name}/NEWS
rm -f %{buildroot}%{_docdir}/%{name}/README
rm -f %{buildroot}%{_docdir}/%{name}/userlist.txt
-%clean
-rm -rf %{buildroot}
-
################################################################################
%post
@@ -134,18 +121,21 @@ fi
%files
%defattr(-,root,root,-)
-%doc AUTHORS COPYRIGHT NEWS.md
+%doc AUTHORS COPYRIGHT
%attr(-,%{username},%{groupname}) %dir %{_sysconfdir}/%{name}
+%attr(-,%{username},%{groupname}) %dir %{_rundir}/%{name}
%attr(600,%{username},%{groupname}) %config(noreplace) %{_sysconfdir}/%{name}/%{name}.ini
%attr(600,%{username},%{groupname}) %config(noreplace) %{_sysconfdir}/%{name}/userlist.txt
-%config(noreplace) %{_sysconfdir}/sysconfig/%{name}
+%attr(700,%{username},%{groupname}) %{_localstatedir}/log/%{name}
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
+%config(noreplace) %{_sysconfdir}/pam.d/%{name}
+%config(noreplace) %{_tmpfilesdir}/%{name}.conf
%{_bindir}/*
-%{_initrddir}/%{name}
%{_unitdir}/%{name}.service
%{_mandir}/man1/%{name}.*
%{_mandir}/man5/%{name}.*
%{_docdir}/%{name}/*
+%ghost %{_rundir}/%{name}/%{name}.pid
%files utils
%defattr(-,root,root,-)
@@ -155,6 +145,15 @@ fi
################################################################################
%changelog
+* Mon Sep 09 2024 Anton Novojilov - 1.23.1-0
+- https://www.pgbouncer.org/changelog.html#pgbouncer-123x
+
+* Mon Sep 09 2024 Anton Novojilov - 1.22.1-0
+- https://www.pgbouncer.org/changelog.html#pgbouncer-122x
+- Remove init script usage
+- Added tmpfiles.d configuration
+- Added pam configuration
+
* Tue Oct 17 2023 Anton Novojilov - 1.21.0-0
- https://www.pgbouncer.org/changelog.html#pgbouncer-121x
diff --git a/specs/pgcenter.spec b/specs/pgcenter.spec
deleted file mode 100644
index d2fa0e7b4..000000000
--- a/specs/pgcenter.spec
+++ /dev/null
@@ -1,119 +0,0 @@
-################################################################################
-
-# rpmbuilder:gopack github.com/lesovsky/pgcenter
-# rpmbuilder:tag v0.9.2
-
-################################################################################
-
-%global crc_check pushd ../SOURCES ; sha512sum -c %{SOURCE100} ; popd
-
-################################################################################
-
-%define debug_package %{nil}
-
-################################################################################
-
-Summary: Top-like PostgreSQL statistics viewer
-Name: pgcenter
-Version: 0.9.2
-Release: 1%{?dist}
-License: BSD 3-Clause
-Group: Development/Tools
-URL: https://github.com/lesovsky/pgcenter
-
-Source0: %{name}-%{version}.tar.bz2
-
-Source100: checksum.sha512
-
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-
-BuildRequires: golang >= 1.20
-
-Provides: %{name} = %{version}-%{release}
-
-################################################################################
-
-%description
-PostgreSQL provides various statistics which includes information about
-tables, indexes, functions and other database objects and their usage.
-Moreover, statistics has detailed information about connections, current
-queries and database operations (INSERT/DELETE/UPDATE). But most of this
-statistics are provided as permanently incremented counters. The pgcenter
-provides convenient interface to this statistics and allow viewing statistics
-changes in time interval, eg. per second. The pgcenter provides fast access
-for database management task, such as editing configuration files, reloading
-services, viewing log files and canceling or terminating database backends
-(by pid or using state mask). However if need execute some specific
-operations, pgcenter can start psql session for this purposes.
-
-################################################################################
-
-%prep
-%setup -qn %{name}-%{version}
-
-%build
-export TOP_DIR=$(pwd)
-
-pushd github.com/lesovsky/pgcenter
- CGO_ENABLED=0 go build -o "%{name}" ./cmd
- cp COPYRIGHT README.md $TOP_DIR/
-popd
-
-%install
-rm -rf %{buildroot}
-
-install -dm 755 %{buildroot}%{_bindir}
-install -pm 755 github.com/lesovsky/pgcenter/%{name} \
- %{buildroot}%{_bindir}/
-
-%clean
-rm -rf %{buildroot}
-
-################################################################################
-
-%files
-%defattr(-,root,root,-)
-%doc COPYRIGHT README.md
-%{_bindir}/%{name}
-
-################################################################################
-
-%changelog
-* Wed Dec 06 2023 Anton Novojilov - 0.9.2-1
-- Rebuilt with the latest version of Go
-
-* Thu Dec 15 2022 Anton Novojilov - 0.9.2-0
-- https://github.com/lesovsky/pgcenter/releases/tag/v0.9.2
-
-* Mon Jan 20 2020 Anton Novojilov - 0.6.4-0
-- https://github.com/lesovsky/pgcenter/releases/tag/v0.6.4
-
-* Mon Jan 20 2020 Anton Novojilov - 0.6.3-0
-- https://github.com/lesovsky/pgcenter/releases/tag/v0.6.3
-
-* Mon Jan 20 2020 Anton Novojilov - 0.6.2-0
-- https://github.com/lesovsky/pgcenter/releases/tag/v0.6.2
-
-* Mon Jan 20 2020 Anton Novojilov - 0.6.1-0
-- https://github.com/lesovsky/pgcenter/releases/tag/v0.6.1
-
-* Fri Jan 17 2020 Anton Novojilov - 0.6.0-0
-- https://github.com/lesovsky/pgcenter/releases/tag/v0.6.0
-
-* Wed Oct 03 2018 Anton Novojilov - 0.5.0-0
-- https://github.com/lesovsky/pgcenter/releases/tag/v0.5.0
-
-* Fri Nov 17 2017 Anton Novojilov - 0.4.0-0
-- https://github.com/lesovsky/pgcenter/releases/tag/v0.4.0
-
-* Wed Nov 23 2016 Anton Novojilov - 0.3.0-0
-- https://github.com/lesovsky/pgcenter/releases/tag/v0.3.0
-
-* Sat Dec 19 2015 Anton Novojilov - 0.2.0-0
-- https://github.com/lesovsky/pgcenter/releases/tag/v0.2.0
-
-* Wed Oct 21 2015 Anton Novojilov - 0.1.3-0
-- https://github.com/lesovsky/pgcenter/releases/tag/v0.1.3
-
-* Wed Sep 09 2015 Anton Novojilov - 0.1.2-0
-- Initial build
diff --git a/specs/postgresql-10/SOURCES/filter-requires-perl-Pg.sh b/specs/postgis/SOURCES/filter-requires-perl-Pg.sh
old mode 100755
new mode 100644
similarity index 100%
rename from specs/postgresql-10/SOURCES/filter-requires-perl-Pg.sh
rename to specs/postgis/SOURCES/filter-requires-perl-Pg.sh
diff --git a/specs/postgresql-13/postgis34.spec b/specs/postgis/postgis34.spec
similarity index 86%
rename from specs/postgresql-13/postgis34.spec
rename to specs/postgis/postgis34.spec
index b49a083e0..5f0b28425 100644
--- a/specs/postgresql-13/postgis34.spec
+++ b/specs/postgis/postgis34.spec
@@ -8,27 +8,26 @@
%{!?raster:%global raster 1}
%{!?llvm:%global llvm 1}
-################################################################################
+%define __perl_requires filter-requires-perl-Pg.sh
-%define maj_ver 3.4
-%define lib_ver 3
-%define pg_ver 13
-%define pg_low_fullver %{pg_ver}.9
-%define pg_dir %{_prefix}/pgsql-%{pg_ver}
-%define realname postgis
-%define pkgname %{realname}-%{maj_ver}
-%define fullname %{realname}34
+################################################################################
-%define min_geos_ver 3.11
+%define maj_ver 3.4
+%define lib_ver 3
+%define pg_ver %{?_pg}%{!?_pg:99}
+%define pg_dir %{_prefix}/pgsql-%{pg_ver}
+%define realname postgis
+%define pkgname %{realname}-%{maj_ver}
+%define fullname %{realname}34
-%define __perl_requires filter-requires-perl-Pg.sh
+%define min_geos_ver 3.11
################################################################################
Summary: Geographic Information Systems Extensions to PostgreSQL %{pg_ver}
Name: %{fullname}_%{pg_ver}
-Version: 3.4.0
-Release: 1%{?dist}
+Version: 3.4.3
+Release: 0%{?dist}
License: GPLv2+
Group: Applications/Databases
URL: https://www.postgis.net
@@ -40,30 +39,19 @@ Source100: checksum.sha512
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-BuildRequires: postgresql%{pg_ver}-devel = %{pg_low_fullver}
-BuildRequires: postgresql%{pg_ver}-libs = %{pg_low_fullver}
+BuildRequires: postgresql%{pg_ver}-devel postgresql%{pg_ver}-libs
BuildRequires: geos-devel >= %{min_geos_ver}
BuildRequires: gcc-c++ chrpath make pcre-devel hdf5-devel
BuildRequires: proj-devel libtool flex json-c-devel libxml2-devel
BuildRequires: sqlite-devel libgeotiff-devel libpng-devel libtiff-devel
%if %llvm
-%if 0%{?rhel} >= 8
-BuildRequires: llvm-devel >= 6.0.0 clang-devel >= 6.0.0
-%endif
-%if 0%{?rhel} == 7
-BuildRequires: llvm5.0-devel >= 5.0 llvm-toolset-7-clang >= 4.0.1
-%endif
+BuildRequires: llvm-devel >= 13.0 clang-devel >= 13.0
%endif
%if %raster
-%if 0%{?rhel} == 7
-BuildRequires: gdal3-devel
-Requires: gdal3-libs
-%else
-BuildRequires: gdal-devel >= 3
-Requires: gdal-libs >= 3
-%endif
+BuildRequires: gdal-devel
+Requires: gdal-libs
%endif
Requires: postgresql%{pg_ver} proj hdf5 json-c pcre
@@ -72,8 +60,6 @@ Requires: geos >= %{min_geos_ver}
Requires(post): chkconfig
-Conflicts: %{realname}30 %{realname}31 %{realname}32 %{realname}33
-
Provides: %{realname} = %{version}-%{release}
################################################################################
@@ -89,8 +75,8 @@ certified as compliant with the "Types and Functions" profile.
################################################################################
%package client
-Summary: Client tools and their libraries of PostGIS
-Group: Applications/Databases
+Summary: Client tools and their libraries of PostGIS
+Group: Applications/Databases
Requires: %{name} = %{version}-%{release}
@@ -101,8 +87,8 @@ of PostGIS.
################################################################################
%package scripts
-Summary: Installing and upgrading scripts for PostGIS
-Group: Applications/Databases
+Summary: Installing and upgrading scripts for PostGIS
+Group: Applications/Databases
Requires: %{name} = %{version}-%{release}
@@ -114,8 +100,8 @@ in a PostgreSQL database, and for upgrading from earlier PostGIS versions.
%if %utils
%package utils
-Summary: The utils for PostGIS
-Group: Applications/Databases
+Summary: The utils for PostGIS
+Group: Applications/Databases
Requires: %{name} = %{version}-%{release} perl-DBD-Pg
@@ -126,9 +112,13 @@ The postgis-utils package provides the utilities for PostGIS.
################################################################################
%prep
-%{crc_check}
+%crc_check
+%autosetup -n %{realname}-%{version}
-%setup -qn %{realname}-%{version}
+if [[ -z "%{_pg}" ]] ; then
+ echo "PostgreSQL version is not set"
+ exit 1
+fi
%build
# We need the below for GDAL
@@ -140,6 +130,9 @@ export LIBGDAL_CFLAGS=""
--with-gdalconfig=%{_bindir}/gdal-config \
%if !%raster
--without-raster \
+%endif
+%if %llvm
+ --with-llvm \
%endif
--without-protobuf \
--disable-rpath \
@@ -199,14 +192,12 @@ if [[ $1 -eq 0 ]] ; then
update-alternatives --remove postgis-shp2pgsql %{pg_dir}/bin/%{pkgname}/shp2pgsql
fi
-%clean
-rm -rf %{buildroot}
-
################################################################################
%files
%defattr(-,root,root)
-%doc COPYING CREDITS NEWS TODO README.%{realname} doc/html loader/README.* doc/%{realname}.xml doc/ZMSgeoms.txt
+%doc COPYING CREDITS NEWS TODO README.%{realname} doc/html
+%doc loader/README.* doc/%{realname}.xml doc/ZMSgeoms.txt
%{pg_dir}/lib/address_standardizer-%{lib_ver}.so
%{pg_dir}/lib/postgis-%{lib_ver}.so
%{pg_dir}/lib/postgis_topology-%{lib_ver}.so
@@ -252,7 +243,9 @@ rm -rf %{buildroot}
%{pg_dir}/share/contrib/%{pkgname}/rtpostgis_upgrade.sql
%{pg_dir}/share/contrib/%{pkgname}/uninstall_rtpostgis.sql
%endif
+%if %llvm
%{pg_dir}/lib/bitcode/*
+%endif
%if %utils
%files utils
@@ -278,6 +271,9 @@ rm -rf %{buildroot}
################################################################################
%changelog
+* Mon Sep 09 2024 Anton Novojilov - 3.4.3-0
+- https://git.osgeo.org/gitea/postgis/postgis/raw/tag/3.4.3/NEWS
+
* Wed Nov 08 2023 Anton Novojilov - 3.4.0-1
- Minimal required version of GEOS set to 3.11
diff --git a/specs/postgresql-10/SOURCES/Makefile.regress b/specs/postgresql-10/SOURCES/Makefile.regress
deleted file mode 100644
index 43c7ba446..000000000
--- a/specs/postgresql-10/SOURCES/Makefile.regress
+++ /dev/null
@@ -1,67 +0,0 @@
-#
-# Simplified makefile for running the PostgreSQL regression tests
-# in an RPM installation
-#
-
-# maximum simultaneous connections for parallel tests
-MAXCONNOPT =
-ifdef MAX_CONNECTIONS
-MAXCONNOPT += --max-connections=$(MAX_CONNECTIONS)
-endif
-
-# locale
-NOLOCALE =
-ifdef NO_LOCALE
-NOLOCALE += --no-locale
-endif
-
-srcdir := .
-
-REGRESS_OPTS += --dlpath=.
-
-pg_regress_locale_flags = $(if $(ENCODING),--encoding=$(ENCODING)) $(NOLOCALE)
-
-pg_regress_installcheck = ./pg_regress --inputdir=$(srcdir) --psqldir='/usr/bin' $(pg_regress_locale_flags)
-
-# Test input and expected files. These are created by pg_regress itself, so we
-# don't have a rule to create them. We do need rules to clean them however.
-ifile_list := $(subst .source,, $(notdir $(wildcard $(srcdir)/input/*.source)))
-input_files := $(foreach file, $(ifile_list), sql/$(file).sql)
-ofile_list := $(subst .source,, $(notdir $(wildcard $(srcdir)/output/*.source)))
-output_files := $(foreach file, $(ofile_list), expected/$(file).out)
-
-abs_srcdir := $(shell pwd)
-abs_builddir := $(shell pwd)
-
-check: installcheck-parallel
-
-installcheck: cleandirs
- $(pg_regress_installcheck) $(REGRESS_OPTS) --schedule=$(srcdir)/serial_schedule $(EXTRA_TESTS)
-
-installcheck-parallel: cleandirs
- $(pg_regress_installcheck) $(REGRESS_OPTS) --schedule=$(srcdir)/parallel_schedule $(MAXCONNOPT) $(EXTRA_TESTS)
-
-# The tests command the server to write into testtablespace and results.
-# On a SELinux-enabled system this will fail unless we mark those directories
-# as writable by the server.
-cleandirs:
- -rm -rf testtablespace results
- mkdir testtablespace results
- [ -x /usr/bin/chcon ] && /usr/bin/chcon -u system_u -r object_r -t postgresql_db_t testtablespace results
-
-# old interfaces follow...
-
-runcheck: check
-runtest: installcheck
-runtest-parallel: installcheck-parallel
-
-
-##
-## Clean up
-##
-
-clean distclean maintainer-clean:
- rm -f $(output_files) $(input_files)
- rm -rf testtablespace
- rm -rf results tmp_check log
- rm -f regression.diffs regression.out regress.out run_check.out
diff --git a/specs/postgresql-10/SOURCES/README.rpm-dist b/specs/postgresql-10/SOURCES/README.rpm-dist
deleted file mode 100644
index 86f31b007..000000000
--- a/specs/postgresql-10/SOURCES/README.rpm-dist
+++ /dev/null
@@ -1,350 +0,0 @@
-README.rpm-dist
------------------------------------------------------------------------------
-Version 9.6, for the PostgreSQL 9.6 RPM set.
-Devrim Gündüz
------------------------------------------------------------------------------
-
-Contents:
- 1.) Introduction and QuickStart
- 2.) Upgrading an installation
- 3.) PostgreSQL RPM packages and rationale
- 4.) Starting multiple postmasters
- 5.) Regression Testing
- 6.) Starting postmaster automatically on startup
- 7.) Grand Unified Configuration(GUC) File
- 8.) Logging set up
- 9.) Rebuilding from the source RPM
-10.) Contrib files
-11.) Further Information Resource
-
-INTRODUCTION
------------------------------------------------------------------------------
-This document exists to explain the layout of the RPMs for PostgreSQL, to
-describe various RPM specifics, and to document special features found
-in the RPMset.
-
-This document is written to be applicable to version 9.6 of PostgreSQL,
-which is the current version of the RPMs as of this writing. More to the
-point, versions prior to 9.6 are not documented here.
-
-Official PostgreSQL Global Development Group RPMs carry a 'PGDG after the
-release number. Other RPMsets as distributed with Linux distributions may
-have a different release number and initials.
-
-If you want to stay up-to-date on the PostgreSQL core itself, you may
-want to use PGDG set, instead of the binaries supplied by distribution.
-
-These RPMs do not support any sort of major version upgrading process
-other than that documented in the regular documentation. That is, you
-must dump, upgrade,initdb, and restore your data if you are
-performing a major version update. This is not needed for minor version
-updates.
-
-QUICKSTART (note that this requires postgresql96-server installed)
------------------------------------------------------------------------------
-For a fresh installation, you will need to initialize the cluster first. Run:
-
- /usr/pgsql-9.6/bin/postgresql96-setup initdb
-
-as root, and it will prepare a new database cluster for you. Then you will
-need to start PostgreSQL. Again as root, run:
-
- systemctl start postgresql-9.6.service
-
-This command will start a postmaster that willl listen on localhost and Unix
-socket 5432 only. Edit /var/lib/pgsql/9.6/data/postgresql.conf and pg_hba.conf
-if you want to allow remote access -- see the section on Grand Unified
-Configuration.
-
-You will probably also want to do
-
- systemctl enable postgresql-9.6.service
-
-so that the postmaster is automatically started during future reboots.
-
-The file /var/lib/pgsql/9.6/.bash_profile is packaged to help with the
-setting of environment variables. Users should not edit this file, because
-it may be overwritten during every new installation. However, you can create
-~/.pgsql_profile file, and add your customizations there.
-
-The user 'postgres' is created during installation of the server subpackage.
-This user by default is UID and GID 26. The user has the default shell set to
-bash, and the home directory set to /var/lib/pgsql. This user also has no
-default password. If you want to be able to su to it from a non-root account
-or login as 'postgres' you will need to set a password using passwd.
-
-In the default installation, only postgres user is allowed to access to
-the database server, because initdb in the RPMs pick up "peer" auth
-method in the RPMs.
-
-All the binaries are installed under /usr/pgsql-9.6/bin. However, the
-tools that are compatible with the previous releases are symlinked under
-/usr/bin directory. Please note that RPMs are using alternatives method
-in here, so whenever a newer major version is installed, symlinks will
-point to the new version. Here is the current list of the binaries that
-are under $PATH:
-
-- clusterdb
-- createdb
-- createlang
-- createuser
-- dropdb
-- droplang
-- dropuser
-- pg_dump
-- pg_dumpall
-- pg_restore
-- psql
-- reindexdb
-
-You may want to add /usr/pgsql-9.6/bin to your $PATH variable in
-/etc/profile, if you want to use them easily. However, please note that
-this may lead to some unintentional side effects, so be careful.
-
-
-UPGRADING AN INSTALLATION
------------------------------------------------------------------------------
-For a minor-version upgrade (such as 9.6.1 to 9.6.2), just install the
-new RPMs; there's usually nothing more to it than that. Upgrading
-across a major release of PostgreSQL (for example, from 9.2.x to 9.6.x)
-requires more effort.
-
-If you are upgrading across more than one major release of PostgreSQL
-(for example, from 9.1.x to 9.6.x), you will need to follow the "traditional"
-dump and reload process to bring your data into the new version. That is:
-*before* upgrading, run pg_dumpall to extract all your data into a SQL file.
-Shut down the old postmaster, upgrade to the new version RPMs, initdb,
-and run the dump file through psql to restore your data.
-
-In 9.1+, the RPMs also support in-place upgrade from th immediately
-previous major release. Currently, you can upgrade in-place
-from 9.2.x to 9.6.x. Just run:
-$ /usr/pgsql-9.6/bin/postgresql96-setup upgrade
-
-Please note that 9.2 and 9.6 contrib RPMs needs to be installed for this
-feature to work.
-
-POSTGRESQL RPM PACKAGES AND RATIONALE.
------------------------------------------------------------------------------
-PostgreSQL is split up into multiple packages so that users can 'pick and
-choose' what pieces are needed, and what dependencies are required.
-
-The RPMset is packaged in the following subpackages:
-
-postgresql96: Key clients and libraries, and documentation
-postgresql96-server: Server executables and data files
-postgresql96-devel: Development libraries and include files
-postgresql96-test: The regression tests and associated files
-postgresql96-libs: Client shared libraries
-postgresql96-docs: Extra documentation, such as the tutorial files
-postgresql96-contrib: The contrib source tree, as well as selected binaries
-postgresql96-plperl: PL/Perl procedural language
-postgresql96-plpython: PL/Python procedural language
-postgresql96-pltcl: PL/Tcl procedural language
-
-postgresql96-jdbc, postgresql96-python, postgresql96-tcl and postgresql96-odbc have
-been splitted into seperate (s)rpms.
-
-You have to install postgresql and postgresql96-libs to do anything.
-postgresql96-server is needed unless you only plan to use the clients to work
-with a remote PostgreSQL server. The others are optional.
-
-postgresql96-python package includes PyGreSQL, and Pgtcl is distributed
-via postgresql96-tcl package.
-
-RPM FILE LOCATIONS.
------------------------------------------------------------------------------
-To be in compliance with the Linux FHS, the PostgreSQL RPMs install files in
-a manner not consistent with most of the PostgreSQL documentation. According
-to the standard PostgreSQL documentation, PostgreSQL is installed under the
-directory /usr/local/pgsql, with executables, source, and data existing in
-various subdirectories.
-
-Different distributions have different ideas of some of these file locations.
-In particular, the documentation directory can be /usr/doc, /usr/doc/packages,
-/usr/share/doc, /usr/share/doc/packages, or some other similar path.
-
-However, the Red Hat / Scientific Linux ( CentOS / Fedora RPM's install
-the files like this:
-
-Executables: /usr/bin and /usr/pgsql-9.6/bin
-Libraries: /usr/pgsql-9.6/lib
-Documentation: /usr/pgsql-9.6/doc
-Contrib documentation: /usr/pgsql-9.6/doc
-Source: not installed
-Data: /var/lib/pgsql/9.6/data
-Backup area: /var/lib/pgsql/9.6/backups
-Templates: /usr/pgsql-9.6/share
-Procedural Languages: /usr/pgsql-9.6/lib
-Development Headers: /usr/pgsql-9.6/include
-Other shared data: /usr/pgsql-9.6/share
-Regression tests: /usr/pgsql-9.6/lib/test
-
-While it may seem gratuitous to place these files in different locations, the
-FHS requires it -- distributions should not ever touch /usr/local. It may
-also seem like more work to keep track of where everything is -- but, that's
-the beauty of RPM -- you don't have to keep track of the files, RPM does it
-for you.
-
-These RPMs are designed to be LSB-compliant -- if you find this not to be the
-case, please let us know by way of the pgsql-pkg-yum@postgresql.org
-mailing list.
-
--------------------------------------------------------------------------------
-MULTIPLE POSTMASTERS (For the same PostgreSQL version)
--------------------------------------------------------------------------------
-The postgresql-server RPM contains an 'initscript' that is used to start the
-postmaster. The current version of this script has logic to be able to start
-multiple postmasters, with different data areas, listening on different ports,
-etc. To use this functionality requires root access.
-
-As an example, let us create a secondary postmaster called, creatively enough,
-'secondary'. Here are the steps:
-1.) create a hard link in /etc/rc.d/init.d (or equivalent location)
- to postgresql-9.6 named 'secondary-9.6' : ln postgresql secondary Pick
- a name not already used in /etc/rc.d/init.d!
-2.) create a file in /etc/sysconfig/pgsql named secondary. This file is
- a shell script -- typically you would define PGDATA, and PGOPTS
- here. Since $PGDATA/postgresql.conf will override many of these
- settings, except PGDATA, you might be surprised on startup.
-3.) create the target PGDATA.
-4.) Initdb the targe PGDATA as documented in the main documentation.
- Automatic initdb may or may not work for you, so a manual one is
- preferred. This must be done as user 'postgres'
-5.) Edit postgresql.conf to change the port, address, tcpip settings, etc.
-6.) Start the postmaster with 'service secondary-9.6 start'.
-
-Note that there may be problems with the standard symlink -- consider this
-support experimental at this point in time.
-
-When doing a major-version upgrade of a secondary postmaster, mention the
-service name in the postgresql-setup command, for example 'postgresql-setup
-upgrade secondary'. This will let postgresql-setup find the correct data
-directory from the service file.
-
-REGRESSION TESTING
--------------------------------------------------------------------------------
-If you install the postgresql-test RPM then you can run the PostgreSQL
-regression tests. These tests stress your database installation and produce
-results that give you assurances that the installation is complete, and that
-your database machine is up to the task.
-
-To run the regression tests under the RPM installation, make sure that the
-postmaster has been started (if not, su to root and do "systemctl start
-postgresql-9.6.service"), cd to /usr/pgsql-9.6/lib/test/regress, su to
-postgres, and execute "make check". This command will start the
-regression tests and will both show the results to the screen and store
-the results in the file regress.out.
-
-If any tests fail, see the file regression.diffs in that directory for details,
-and read the "Regression Tests" section of the PostgreSQL documentation to
-find out whether the differences are actually significant. If you need help
-interpreting the results, contact the pgsql-general list at
-postgresql.org.
-
-After testing, say "make clean" to remove the files generated by the test
-script.
-
-STARTING POSTMASTER AUTOMATICALLY AT SYSTEM STARTUP
--------------------------------------------------------------------------------
-Fedora / Red Hat / CentOS use the systemd package to manage server startup.
-A systemd unit file for PostgreSQL is provided in the server package, as
-/lib/systemd/system/postgresql-9.6.service. To start the postmaster manually,
-as root run
- systemctl start postgresql-9.6.service
-To shut the postmaster down,
- systemctl stop postgresql-9.6.service
-These two commands only change the postmaster's current status. If you
-want the postmaster to be started automatically during future system startups,
-run
- systemctl enable postgresql-9.6.service
-To undo that again,
- systemctl disable postgresql-9.6.service
-See "man systemctl" for other possible subcommands.
-
-GRAND UNIFIED CONFIGURATION (GUC) FILE
--------------------------------------------------------------------------------
-The PostgreSQL server has many tunable parameters -- the file
-/var/lib/pgsql/9.6/data/postgresql.conf is the master configuration file for the
-whole system.
-
-The RPM ships with a mostly-default file -- you will need to tune the
-parameters for your installation. In particular, you might want to allow
-nonlocal TCP/IP socket connections -- in order to allow these, you will need
-to edit the postgresql.conf file. The line in question contains the string
-'listen_addresses' -- you need to both uncomment the line and set the value
-to '*' to get the postmaster to accept nonlocal connections. You'll also need
-to adjust pg_hba.conf appropriately.
-
-LOGGING SET UP
--------------------------------------------------------------------------------
-By default, the postmaster's stderr log is directed into files placed in a
-pg_log subdirectory of the data directory (ie, /var/lib/pgsql/9.6/data/pg_log).
-The out-of-the-box configuration rotates among seven files, one for each
-day of the week. You can adjust this by changing postgresql.conf settings.
-
-REBUILDING FROM SOURCE RPM
--------------------------------------------------------------------------------
-If your distribution is not supported by the binary RPMs from PostgreSQL.org,
-you will need to rebuild from the source RPM. Download the .src.rpm for this
-release. You will need to be root to rebuild, unless you have set up
-a non-root build environment (which is the recommended method anyway).
-
-Install the source RPM with rpm -i, then cd to the rpm building area
-(which is /usr/src/redhat by default). You will have to have a full
-development environment to rebuild the full RPM set.
-
-This release of the RPMset includes the ability to conditionally build
-sets of packages. The parameters, their defaults, and the meanings are:
-
-beta 0 #build with cassert and do not strip the binaries
-python 1 #build the postgresql-python package.
-tcl 1 #build the postgresql-tcl package.
-test 1 #build the postgresql-test package.
-plpython 1 #build the PL/Python procedural language package.
-pltcl 1 #build the PL/Tcl procedural language package.
-plperl 1 #build the PL/Perl procedural language package.
-ssl 1 #use OpenSSL support.
-kerberos 1 #use Kerberos 5 support.
-nls 1 #build with national language support.
-ldap 1 #build with LDAP support.
-pam 1 #build with PAM support.
-runselftest 1 #do "make check" during the build.
-sdt 1 #build with SystemTap support.
-xml 1 #build with XML support
-pgfts 1 #build with --enable-thread-safety
-uuid 1 #build contrib/uuid-ossp
-
-To use these defines, invoke a rebuild like this:
-rpmbuild --rebuild --define 'python 0' --define 'tcl 0' \
- --define 'test 0' --define 'runselftest 0' --define 'kerberos 0' \
- postgresql96-9.6.0-1PGDG.f20.src.rpm
-This line would disable the python, tcl, and test subpackages, disable
-the regression test run during build, and disable kerberos support.
-
-You might need to disable runselftest if there is an installed version of
-PostgreSQL that is a different major version from what you are trying to
-build. The self test tends to pick up the installed libpq.so shared library
-in place of the one being built :-(, so if that isn't compatible the test will
-fail. Also, you can't use runselftest when doing the build as root.
-
-More of these conditionals will be added in the future.
-
-CONTRIB FILES
--------------------------------------------------------------------------------
-The contents of the contrib tree are packaged into the -contrib subpackage
-and are processed with make and make install. Most of the modules are in
-/usr/pgsql-9.6/lib for loadable modules, and binaries are in
-/usr/pgsql-9.6/bin. In the future these files may be split out,
-depending upon function and dependencies.
-
-
-MORE INFORMATION
--------------------------------------------------------------------------------
-You can get more information at http://www.postgresql.org and
-https://yum.postgresql.org
-
-Please help make this packaging better -- let us know if you find problems, or
-better ways of doing things. You can reach us by e-mail at
-pgsql-pkg-yum@postgresql.org
--------------------------------------------------------------------------------
diff --git a/specs/postgresql-10/SOURCES/bash_profile b/specs/postgresql-10/SOURCES/bash_profile
deleted file mode 100644
index d05024928..000000000
--- a/specs/postgresql-10/SOURCES/bash_profile
+++ /dev/null
@@ -1,12 +0,0 @@
-if [[ -f /etc/profile ]] ; then
- source /etc/profile
-fi
-
-export PGDATA={{PGDATA}}
-
-# If you want to customize your settings use the file below.
-# This file is not overridden by PostgreSQL packages.
-
-if [[ -f /var/lib/pgsql/.pgsql_profile ]] ; then
- source /var/lib/pgsql/.pgsql_profile
-fi
diff --git a/specs/postgresql-10/SOURCES/ecpg_config.h b/specs/postgresql-10/SOURCES/ecpg_config.h
deleted file mode 100644
index 6fecfcb51..000000000
--- a/specs/postgresql-10/SOURCES/ecpg_config.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Kluge to support multilib installation of both 32- and 64-bit RPMS:
- * we need to arrange that header files that appear in both RPMs are
- * identical. Hence, this file is architecture-independent and calls
- * in an arch-dependent file that will appear in just one RPM.
- *
- * To avoid breaking arches not explicitly supported by Red Hat, we
- * use this indirection file *only* on known multilib arches.
- *
- * Note: this may well fail if user tries to use gcc's -I- option.
- * But that option is deprecated anyway.
- */
-#if defined(__x86_64__)
-#include "ecpg_config_x86_64.h"
-#elif defined(__i386__)
-#include "ecpg_config_i386.h"
-#elif defined(__ppc64__) || defined(__powerpc64__)
-#include "ecpg_config_ppc64.h"
-#elif defined(__ppc__) || defined(__powerpc__)
-#include "ecpg_config_ppc.h"
-#elif defined(__s390x__)
-#include "ecpg_config_s390x.h"
-#elif defined(__s390__)
-#include "ecpg_config_s390.h"
-#elif defined(__sparc__) && defined(__arch64__)
-#include "ecpg_config_sparc64.h"
-#elif defined(__sparc__)
-#include "ecpg_config_sparc.h"
-#endif
diff --git a/specs/postgresql-10/SOURCES/pg_comparator-Makefile.patch b/specs/postgresql-10/SOURCES/pg_comparator-Makefile.patch
deleted file mode 100644
index b73120521..000000000
--- a/specs/postgresql-10/SOURCES/pg_comparator-Makefile.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -urN pg_comparator-2.3.1-orig/Makefile pg_comparator-2.3.1/Makefile
---- pg_comparator-2.3.1-orig/Makefile 2017-09-18 00:42:12.653308101 +0200
-+++ pg_comparator-2.3.1/Makefile 2017-09-18 00:42:46.000000000 +0200
-@@ -16,7 +16,7 @@
- EXTRA_CLEAN = $(name).1 $(name).html pod2htm?.tmp $(EXTENSION).control
-
- # get postgresql extension infrastructure
--PG_CONFIG = pg_config
-+PG_CONFIG ?= pg_config
- PGXS := $(shell $(PG_CONFIG) --pgxs)
- include $(PGXS)
-
diff --git a/specs/postgresql-10/SOURCES/pg_config.h b/specs/postgresql-10/SOURCES/pg_config.h
deleted file mode 100644
index 97ef2baa0..000000000
--- a/specs/postgresql-10/SOURCES/pg_config.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Kluge to support multilib installation of both 32- and 64-bit RPMS:
- * we need to arrange that header files that appear in both RPMs are
- * identical. Hence, this file is architecture-independent and calls
- * in an arch-dependent file that will appear in just one RPM.
- *
- * To avoid breaking arches not explicitly supported by Red Hat, we
- * use this indirection file *only* on known multilib arches.
- *
- * Note: this may well fail if user tries to use gcc's -I- option.
- * But that option is deprecated anyway.
- */
-#if defined(__x86_64__)
-#include "pg_config_x86_64.h"
-#elif defined(__i386__)
-#include "pg_config_i386.h"
-#elif defined(__ppc64__) || defined(__powerpc64__)
-#include "pg_config_ppc64.h"
-#elif defined(__ppc__) || defined(__powerpc__)
-#include "pg_config_ppc.h"
-#elif defined(__s390x__)
-#include "pg_config_s390x.h"
-#elif defined(__s390__)
-#include "pg_config_s390.h"
-#elif defined(__sparc__) && defined(__arch64__)
-#include "pg_config_sparc64.h"
-#elif defined(__sparc__)
-#include "pg_config_sparc.h"
-#endif
diff --git a/specs/postgresql-10/SOURCES/postgis2-gdalfpic.patch b/specs/postgresql-10/SOURCES/postgis2-gdalfpic.patch
deleted file mode 100644
index 378c10ad0..000000000
--- a/specs/postgresql-10/SOURCES/postgis2-gdalfpic.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- configure.old 2017-05-28 09:41:00.123550140 +0300
-+++ configure 2017-05-28 09:41:15.925586108 +0300
-@@ -17171,7 +17171,7 @@
- LIBGDAL_CFLAGS=`$GDAL_CONFIG --cflags`
-
- CPPFLAGS_SAVE="$CPPFLAGS"
-- CPPFLAGS="$LIBGDAL_CFLAGS"
-+ CPPFLAGS="$LIBGDAL_CFLAGS -fPIC"
- CFLAGS_SAVE="$CFLAGS"
- CFLAGS=""
- LIBS_SAVE="$LIBS"
diff --git a/specs/postgresql-10/SOURCES/postgis24-gdalfpic.patch b/specs/postgresql-10/SOURCES/postgis24-gdalfpic.patch
deleted file mode 100644
index 378c10ad0..000000000
--- a/specs/postgresql-10/SOURCES/postgis24-gdalfpic.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- configure.old 2017-05-28 09:41:00.123550140 +0300
-+++ configure 2017-05-28 09:41:15.925586108 +0300
-@@ -17171,7 +17171,7 @@
- LIBGDAL_CFLAGS=`$GDAL_CONFIG --cflags`
-
- CPPFLAGS_SAVE="$CPPFLAGS"
-- CPPFLAGS="$LIBGDAL_CFLAGS"
-+ CPPFLAGS="$LIBGDAL_CFLAGS -fPIC"
- CFLAGS_SAVE="$CFLAGS"
- CFLAGS=""
- LIBS_SAVE="$LIBS"
diff --git a/specs/postgresql-10/SOURCES/postgis25-gdalfpic.patch b/specs/postgresql-10/SOURCES/postgis25-gdalfpic.patch
deleted file mode 100644
index 15a0687d9..000000000
--- a/specs/postgresql-10/SOURCES/postgis25-gdalfpic.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- configure.old 2017-05-28 09:41:00.123550140 +0300
-+++ configure 2017-05-28 09:41:15.925586108 +0300
-@@ -17171,7 +17171,7 @@
- LIBGDAL_CFLAGS=`$GDAL_CONFIG --cflags`
-
- CPPFLAGS_SAVE="$CPPFLAGS"
-- CPPFLAGS="$LIBGDAL_CFLAGS"
-+ CPPFLAGS="$LIBGDAL_CFLAGS -fPIC"
- CFLAGS_SAVE="$CFLAGS"
- CFLAGS=`"$PG_CONFIG" --cflags`
- CC_SAVE="$CC"
diff --git a/specs/postgresql-10/SOURCES/postgresql-10-libs.conf b/specs/postgresql-10/SOURCES/postgresql-10-libs.conf
deleted file mode 100644
index 8b8c13f4e..000000000
--- a/specs/postgresql-10/SOURCES/postgresql-10-libs.conf
+++ /dev/null
@@ -1 +0,0 @@
-/usr/pgsql-10/lib/
diff --git a/specs/postgresql-10/SOURCES/postgresql-logging.patch b/specs/postgresql-10/SOURCES/postgresql-logging.patch
deleted file mode 100644
index 0ceb2fa44..000000000
--- a/specs/postgresql-10/SOURCES/postgresql-logging.patch
+++ /dev/null
@@ -1,54 +0,0 @@
---- src/backend/utils/misc/postgresql.conf.sample.old 2017-08-16 16:39:30.078852480 +0100
-+++ src/backend/utils/misc/postgresql.conf.sample 2017-08-16 16:39:38.925779177 +0100
-@@ -341,25 +341,25 @@
-
- # - Where to Log -
-
--#log_destination = 'stderr' # Valid values are combinations of
-+log_destination = 'stderr' # Valid values are combinations of
- # stderr, csvlog, syslog, and eventlog,
- # depending on platform. csvlog
- # requires logging_collector to be on.
-
- # This is used when logging to stderr:
--#logging_collector = off # Enable capturing of stderr and csvlog
-+logging_collector = on # Enable capturing of stderr and csvlog
- # into log files. Required to be on for
- # csvlogs.
- # (change requires restart)
-
- # These are only used if logging_collector is on:
--#log_directory = 'log' # directory where log files are written,
-+log_directory = 'log' # directory where log files are written,
- # can be absolute or relative to PGDATA
--#log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log' # log file name pattern,
-+log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log' # log file name pattern,
- # can include strftime() escapes
- #log_file_mode = 0600 # creation mode for log files,
- # begin with 0 to use octal notation
--#log_truncate_on_rotation = off # If on, an existing log file with the
-+log_truncate_on_rotation = on # If on, an existing log file with the
- # same name as the new log file will be
- # truncated rather than appended to.
- # But such truncation only occurs on
-@@ -367,9 +367,9 @@
- # or size-driven rotation. Default is
- # off, meaning append to existing files
- # in all cases.
--#log_rotation_age = 1d # Automatic rotation of logfiles will
-+log_rotation_age = 1d # Automatic rotation of logfiles will
- # happen after that time. 0 disables.
--#log_rotation_size = 10MB # Automatic rotation of logfiles will
-+log_rotation_size = 0 # Automatic rotation of logfiles will
- # happen after that much log output.
- # 0 disables.
-
-@@ -442,7 +442,7 @@
- #log_duration = off
- #log_error_verbosity = default # terse, default, or verbose messages
- #log_hostname = off
--#log_line_prefix = '%m [%p] ' # special values:
-+log_line_prefix = '%m [%p] ' # special values:
- # %a = application name
- # %u = user name
- # %d = database name
diff --git a/specs/postgresql-10/SOURCES/postgresql-perl-rpath.patch b/specs/postgresql-10/SOURCES/postgresql-perl-rpath.patch
deleted file mode 100644
index 625923899..000000000
--- a/specs/postgresql-10/SOURCES/postgresql-perl-rpath.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-We configure Postgres with --disable-rpath because for the most part we
-want to leave it to ldconfig to determine where libraries are. However,
-for some reason the Perl package puts libperl.so in a nonstandard place
-and doesn't add that place to the ldconfig search path. I think this
-is a Perl packaging bug, myself, but apparently it's not going to change.
-So work around it by adding an rpath spec to plperl.so (only).
-Per bug #162198.
-
---- src/pl/plperl/GNUmakefile.old 2017-08-16 16:41:37.003800819 +0100
-+++ src/pl/plperl/GNUmakefile 2017-08-16 16:43:52.410678880 +0100
-@@ -54,6 +54,9 @@
-
- SHLIB_LINK = $(perl_embed_ldflags)
-
-+# Force rpath to be used even though we disable it everywhere else
-+SHLIB_LINK += $(rpath)
-+
- REGRESS_OPTS = --dbname=$(PL_TESTDB) --load-extension=plperl --load-extension=plperlu
- REGRESS = plperl plperl_lc plperl_trigger plperl_shared plperl_elog plperl_util plperl_init plperlu plperl_array
- # if Perl can support two interpreters in one backend,
diff --git a/specs/postgresql-10/SOURCES/postgresql-tmpfiles.d.conf b/specs/postgresql-10/SOURCES/postgresql-tmpfiles.d.conf
deleted file mode 100644
index 6c48e34ed..000000000
--- a/specs/postgresql-10/SOURCES/postgresql-tmpfiles.d.conf
+++ /dev/null
@@ -1 +0,0 @@
-d /run/postgresql 0755 postgres postgres -
diff --git a/specs/postgresql-10/SOURCES/postgresql-var-run-socket.patch b/specs/postgresql-10/SOURCES/postgresql-var-run-socket.patch
deleted file mode 100644
index e8051dc7b..000000000
--- a/specs/postgresql-10/SOURCES/postgresql-var-run-socket.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-Change the built-in default socket directory to be /var/run/postgresql.
-For backwards compatibility with (probably non-libpq-based) clients that
-might still expect to find the socket in /tmp, also create a socket in
-/tmp. This is to resolve communication problems with clients operating
-under systemd's PrivateTmp environment, which won't be using the same
-global /tmp directory as the server; see bug #825448.
-
-Note that we apply the socket directory change at the level of the
-hard-wired defaults in the C code, not by just twiddling the setting in
-postgresql.conf.sample; this is so that the change will take effect on
-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.)
-
---- src/backend/utils/misc/guc.c.old 2017-05-17 10:08:23.919105969 +0300
-+++ src/backend/utils/misc/guc.c 2017-05-17 10:08:45.521877217 +0300
-@@ -3427,7 +3427,7 @@
- },
- &Unix_socket_directories,
- #ifdef HAVE_UNIX_SOCKETS
-- DEFAULT_PGSOCKET_DIR,
-+ DEFAULT_PGSOCKET_DIR ", /tmp",
- #else
- "",
- #endif
---- src/bin/initdb/initdb.c.old 2017-03-25 14:35:56.718372291 +0300
-+++ src/bin/initdb/initdb.c 2017-03-25 14:36:15.612204127 +0300
-@@ -1031,7 +1031,7 @@
-
- #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
---- src/include/pg_config_manual.h.old 2017-03-25 14:36:33.641043661 +0300
-+++ src/include/pg_config_manual.h 2017-03-25 14:37:03.908774263 +0300
-@@ -181,7 +181,7 @@
- * here's where to twiddle it. You can also override this at runtime
- * with the postmaster's -k switch.
- */
--#define DEFAULT_PGSOCKET_DIR "/tmp"
-+#define DEFAULT_PGSOCKET_DIR "/var/run/postgresql"
-
- /*
- * This is the default event source for Windows event log.
diff --git a/specs/postgresql-10/SOURCES/postgresql.init b/specs/postgresql-10/SOURCES/postgresql.init
deleted file mode 100644
index dea4cb9de..000000000
--- a/specs/postgresql-10/SOURCES/postgresql.init
+++ /dev/null
@@ -1,249 +0,0 @@
-#!/bin/bash
-
-# postgresql This is the init script for starting up the PostgreSQL {{MAJOR_VERSION}}
-# server.
-#
-# chkconfig: - 64 36
-# description: PostgreSQL database server.
-# processname: postmaster
-
-###############################################################################
-
-source /etc/init.d/kaosv
-
-###############################################################################
-
-kv.require "2.16"
-
-###############################################################################
-
-INIT_DIR="/etc/init.d"
-
-###############################################################################
-
-VERSION="{{VERSION}}"
-MAJOR_VERSION="{{MAJOR_VERSION}}"
-PKG_VERSION="{{PKG_VERSION}}"
-PREV_VERSION="{{PREV_VERSION}}"
-USER_NAME="{{USER_NAME}}"
-GROUP_NAME="{{GROUP_NAME}}"
-
-###############################################################################
-
-short_name="pgsql"
-
-kv[prog_name]="postgresql-${PKG_VERSION}"
-
-kv.readSysconfig "postgresql-${MAJOR_VERSION}"
-
-kv[lock_file]="${kv[lock_dir]}/postgresql${PKG_VERSION}"
-kv[pid_file]="${kv[pid_dir]}/postgresql${PKG_VERSION}.pid"
-
-pg_engine="${PG_ENGINE:-/usr/${short_name}-${MAJOR_VERSION}/bin}"
-pg_postmaster="${PG_POSTMASTER:-${pg_engine}/postmaster}"
-pg_data="${PG_DATA:-/var/lib/${short_name}/${MAJOR_VERSION}/data}"
-pg_log="${PG_LOG:-/var/lib/${short_name}/${MAJOR_VERSION}/pgstartup.log}"
-pg_socket_dir="${PG_SOCKET_DIR:-/var/run/postgresql}"
-timeout="${TIMEOUT:-300}"
-disable_auto_numa="${DISABLE_AUTO_NUMA}"
-
-pg_ctl="$pg_engine/pg_ctl"
-pg_initdb="$pg_engine/initdb"
-
-export pg_data
-
-kv[user]="$USER_NAME"
-kv[search_pattern]="$pg_engine"
-
-kv[oom_adj]="$OOM_DISABLE"
-
-###############################################################################
-
-kv.addCommand "initdb" "Init new database" "initdb"
-kv.addCommand "reload" "Reload configuration files" "reload"
-
-kv.addHandler "start" "startServiceHandler"
-kv.addHandler "start" "preStartServiceHandler" "pre"
-kv.addHandler "stop" "stopServiceHandler"
-
-kv.addCommandArgs "stop" "force"
-kv.addCommandArgs "initdb" "locale"
-
-kv.disableOutputRedirect "start" "pre"
-
-###############################################################################
-
-preStartServiceHandler() {
- [[ ! -f "$pg_postmaster" ]] && return $ACTION_ERROR
- [[ ! -x "$pg_postmaster" ]] && return $ACTION_ERROR
-
- createLog || return $ACTION_ERROR
- checkData || return $ACTION_ERROR
- makeSocketDir || return $ACTION_ERROR
-
- return $ACTION_OK
-}
-
-startServiceHandler() {
- kv[log]="$pg_log"
-
- export PG_OOM_ADJUST_FILE=/proc/self/oom_score_adj
- export PG_OOM_ADJUST_VALUE=0
-
- if [[ -n "$disable_auto_numa" || $(getNumaNodesCount) == "1" ]] ; then
- kv.run "$pg_ctl" start -D "$pg_data" -s -w -t "$timeout"
- else
- kv.run numactl --interleave=all "$pg_ctl" start -D "$pg_data" -s -w -t "$timeout"
- fi
-
- [[ $? -ne 0 ]] && return $ACTION_ERROR
-
- if kv.getStartStatus "$pg_data/postmaster.pid" true ; then
- local pid=$(head -1 "$pg_data/postmaster.pid" 2>/dev/null)
-
- kv.createPid "$pid"
-
- return $ACTION_OK
- fi
-
- return $ACTION_ERROR
-}
-
-stopServiceHandler() {
- local pid=$(kv.getPid)
-
- kv.run "$pg_ctl" stop -D "$pg_data" -s -m fast
-
- if kv.getStopStatus ; then
- return $ACTION_OK
- else
- if [[ "$1" == "true" || "$1" == "force" ]] ; then
- kv.killProcess
- return $ACTION_FORCED
- else
- return $ACTION_ERROR
- fi
- fi
-}
-
-initdb() {
- if [[ -f "$pg_data/PG_VERSION" ]] ; then
- kv.error "Error! Data directory is not empty." $ACTION_ERROR
- fi
-
- kv.showProcessMessage "Initializing database"
-
- initNewDB $@
-
- local status=$?
-
- kv.showStatusMessage "$status"
-
- return $status
-}
-
-reload() {
- kv.showProcessMessage "Reloading configuration"
-
- kv.run "$pg_ctl" reload -D "$pg_data" -s
-
- local status=$?
-
- kv.showStatusMessage "$status"
-
- return $status
-}
-
-###############################################################################
-
-initNewDB() {
- kv[log]="$pg_log"
-
- local loc="$1"
-
- [[ -z "$loc" ]] && loc=$(getLocale)
-
- if [[ ! -e "$pg_data" && ! -h "$pg_data" ]] ; then
- mkdir -p "$pg_data" || return $ACTION_ERROR
- kv.chown "$USER_NAME:$GROUP_NAME" "$pg_data"
- kv.chmod go-rwx "$pg_data"
- fi
-
- kv.restoreSEContext "$pg_data"
-
- createLog || return $ACTION_ERROR
-
- kv.run "$pg_initdb" --pgdata="$pg_data" --auth="ident" --locale="$loc"
-
- mkdir "$pg_data/pg_log"
- kv.chown "$USER_NAME:$GROUP_NAME" "$pg_data/pg_log"
- kv.chmod go-rwx "$pg_data/pg_log"
-
- if [[ -f "$pg_data/PG_VERSION" ]] ; then
- return $ACTION_OK
- fi
-
- return $ACTION_ERROR
-}
-
-getLocale() {
- local lang=$(locale | head -1 | cut -f2 -d= | sed 's/"//g')
-
- if [[ -n "$lang" ]] ; then
- echo "$lang"
- else
- echo "en_US.UTF-8"
- fi
-}
-
-getNumaNodesCount() {
- if [[ ! -x /usr/bin/numactl ]] ; then
- echo 1
- fi
-
- numactl --hardware | head -1 | cut -f2 -d' '
-}
-
-###############################################################################
-
-checkData() {
- if [[ -f "$pg_data/PG_VERSION" && -d "$pg_data/base" ]] ; then
- if [[ $(cat "$pg_data/PG_VERSION") != "$MAJOR_VERSION" ]] ; then
- local docdir="(Your System's documentation directory)"
-
- [[ -d "/usr/doc/postgresql-$VERSION" ]] && docdir=/usr/doc
- [[ -d "/usr/share/doc/postgresql-$VERSION" ]] && docdir=/usr/share/doc
- [[ -d "/usr/doc/packages/postgresql-$VERSION" ]] && docdir=/usr/doc/packages
- [[ -d "/usr/share/doc/packages/postgresql-$VERSION" ]] && docdir=/usr/share/doc/packages
-
- kv.show "An old version of the database format was found."
- kv.show "You need to upgrade the data format before using PostgreSQL."
- kv.show "See $docdir/postgresql-$VERSION/README.rpm-dist for more information."
-
- return $ACTION_ERROR
- fi
- else
- kv.show "Directory <$pg_data> is missing. Use ${CL_BOLD}service ${kv[script]} initdb${CL_NORM} to initialize the cluster first."
- return $ACTION_ERROR
- fi
-}
-
-createLog() {
- if [[ ! -e "$pg_log" && ! -h "$pg_log" ]] ; then
- touch "$pg_log" || return 1
- kv.chown "$USER_NAME:$GROUP_NAME" "$pg_log"
- kv.chmod go-rwx "$pg_log"
- kv.restoreSEContext "$pg_log"
- fi
-}
-
-makeSocketDir() {
- if [[ ! -e "$pg_socket_dir" ]] ; then
- mkdir "$pg_socket_dir" || return $ACTION_ERROR
- kv.chown "$USER_NAME:$GROUP_NAME" "$pg_socket_dir" || return $ACTION_ERROR
- fi
-}
-
-###############################################################################
-
-kv.go $@
diff --git a/specs/postgresql-10/SOURCES/postgresql.pam b/specs/postgresql-10/SOURCES/postgresql.pam
deleted file mode 100644
index 1d785946d..000000000
--- a/specs/postgresql-10/SOURCES/postgresql.pam
+++ /dev/null
@@ -1,3 +0,0 @@
-#%PAM-1.0
-auth include password-auth
-account include password-auth
diff --git a/specs/postgresql-10/SOURCES/postgresql.service b/specs/postgresql-10/SOURCES/postgresql.service
deleted file mode 100644
index ed3c426aa..000000000
--- a/specs/postgresql-10/SOURCES/postgresql.service
+++ /dev/null
@@ -1,13 +0,0 @@
-[Unit]
-Description=PostgreSQL {{MAJOR_VERSION}} database server
-Documentation=https://www.postgresql.org/docs/{{MAJOR_VERSION}}/static/
-After=syslog.target network-online.target
-
-[Service]
-PIDFile=/var/run/postgresql{{PKG_VERSION}}.pid
-ExecStart=/etc/init.d/postgresql-{{MAJOR_VERSION}} start
-ExecStop=/etc/init.d/postgresql-{{MAJOR_VERSION}} stop
-ExecReload=/etc/init.d/postgresql-{{MAJOR_VERSION}} reload
-
-[Install]
-WantedBy=multi-user.target
diff --git a/specs/postgresql-10/SOURCES/postgresql.sysconfig b/specs/postgresql-10/SOURCES/postgresql.sysconfig
deleted file mode 100644
index d54914b9e..000000000
--- a/specs/postgresql-10/SOURCES/postgresql.sysconfig
+++ /dev/null
@@ -1,10 +0,0 @@
-# Sysconfig for postgresql service
-
-PG_ENGINE=""
-PG_POSTMASTER=""
-PG_DATA=""
-PG_LOG=""
-PG_UPLOG=""
-PG_SOCKET_DIR=""
-TIMEOUT=""
-DISABLE_AUTO_NUMA=""
diff --git a/specs/postgresql-10/SOURCES/rpm-pgsql.patch b/specs/postgresql-10/SOURCES/rpm-pgsql.patch
deleted file mode 100644
index 4770b0931..000000000
--- a/specs/postgresql-10/SOURCES/rpm-pgsql.patch
+++ /dev/null
@@ -1,55 +0,0 @@
---- postgresql-9.6.0/src/Makefile.global.in.old 2016-09-28 23:46:41.609287274 +0300
-+++ postgresql-9.6.0/src/Makefile.global.in 2016-09-28 23:47:50.538676965 +0300
-@@ -83,7 +83,7 @@
- # Installation directories
- #
- # These are set by the equivalent --xxxdir configure options. We
--# append "postgresql" to some of them, if the string does not already
-+# append "pgsql" to some of them, if the string does not already
- # contain "pgsql" or "postgres", in order to avoid directory clutter.
- #
- # In a PGXS build, we cannot use the values inserted into Makefile.global
-@@ -104,14 +104,14 @@
- datadir := @datadir@
- ifeq "$(findstring pgsql, $(datadir))" ""
- ifeq "$(findstring postgres, $(datadir))" ""
--override datadir := $(datadir)/postgresql
-+override datadir := $(datadir)/pgsql
- endif
- endif
-
- sysconfdir := @sysconfdir@
- ifeq "$(findstring pgsql, $(sysconfdir))" ""
- ifeq "$(findstring postgres, $(sysconfdir))" ""
--override sysconfdir := $(sysconfdir)/postgresql
-+override sysconfdir := $(sysconfdir)/pgsql
- endif
- endif
-
-@@ -120,7 +120,7 @@
- pkglibdir = $(libdir)
- ifeq "$(findstring pgsql, $(pkglibdir))" ""
- ifeq "$(findstring postgres, $(pkglibdir))" ""
--override pkglibdir := $(pkglibdir)/postgresql
-+override pkglibdir := $(pkglibdir)/pgsql
- endif
- endif
-
-@@ -129,7 +129,7 @@
- pkgincludedir = $(includedir)
- ifeq "$(findstring pgsql, $(pkgincludedir))" ""
- ifeq "$(findstring postgres, $(pkgincludedir))" ""
--override pkgincludedir := $(pkgincludedir)/postgresql
-+override pkgincludedir := $(pkgincludedir)/pgsql
- endif
- endif
-
-@@ -138,7 +138,7 @@
- docdir := @docdir@
- ifeq "$(findstring pgsql, $(docdir))" ""
- ifeq "$(findstring postgres, $(docdir))" ""
--override docdir := $(docdir)/postgresql
-+override docdir := $(docdir)/pgsql
- endif
- endif
-
diff --git a/specs/postgresql-10/SOURCES/slony1.init b/specs/postgresql-10/SOURCES/slony1.init
deleted file mode 100644
index f0e2f94bd..000000000
--- a/specs/postgresql-10/SOURCES/slony1.init
+++ /dev/null
@@ -1,94 +0,0 @@
-#!/bin/bash
-
-# redis init script for starting up the Slony-I
-#
-# chkconfig: - 64 36
-# description: Starts and stops the Slon daemon that handles
-# Slony-I replication.
-
-###############################################################################
-
-source /etc/init.d/kaosv
-
-###############################################################################
-
-PG_MAJOR_VERSION="{{PG_MAJOR_VERSION}}"
-PG_HIGH_VERSION="{{PG_HIGH_VERSION}}"
-
-###############################################################################
-
-kv[prog_name]="slony1"
-
-kv.readSysconfig "${kv[prog_name]}-${PG_MAJOR_VERSION}"
-
-binary=${BINARY:-/usr/pgsql-$PG_HIGH_VERSION/bin/slon}
-conf_file=${CONF_FILE:-/etc/slony1-$PG_MAJOR_VERSION/slon.conf}
-pid_dir=${PID_DIR:-/var/run/slony1-$PG_MAJOR_VERSION}
-log_dir=${LOG_DIR:-/var/log/slony1-$PG_MAJOR_VERSION}
-user=${USER:-postgres}
-
-conninfo="${SLONCONNINFO}"
-clustername="${SLONCLUSTERNAME:-sloncluster}"
-
-[[ -z "$conninfo" ]] && conninfo="host=/tmp port=5432 user=slony"
-
-kv[user]="$user"
-kv[pid_file]="$pid_dir/slon_${PG_MAJOR_VERSION}.pid"
-kv[log]="$log_dir/slonystartup.log"
-
-###############################################################################
-
-kv.addHandler "start" "preStartServiceHandler" "pre"
-kv.addHandler "start" "startServiceHandler"
-kv.addHandler "stop" "stopServiceHandler"
-
-kv.disableOutputRedirect "start" "pre"
-
-###############################################################################
-
-preStartServiceHandler() {
- local has_errors=""
-
- [[ ! -f $binary ]] && has_errors=true && kv.error "File <$binary> does not exist"
- [[ ! -x $binary ]] && has_errors=true && kv.error "File <$binary> is not executable"
-
- [[ ! -f $conf_file ]] && has_errors=true && kv.error "Configuration file <$conf_file> does not exist."
- [[ ! -r $conf_file ]] && has_errors=true && kv.error "Configuration file <$conf_file> is not readable."
-
- if ! kv.hasUser "$user" ; then
- has_errors=true && kv.error "User <$user> not found"
- fi
-
- [[ -n "$has_errors" ]] && kv.exit $ACTION_ERROR
-
- if kv.isRoot ; then
- if [[ ! -d $log_dir ]] ; then
- mkdir -p $log_dir
- chown $user: $log_dir
- fi
- fi
-
- return $ACTION_OK
-}
-
-startServiceHandler() {
- kv.run "$binary -f $conf_file -p ${kv[pid_file]} $clustername \"$conninfo\" &"
-
- [[ $? -ne $ACTION_OK ]] && return $ACTION_ERROR
-
- kv.getStartStatus
-
- return $?
-}
-
-stopServiceHandler() {
- kv.sendSignal "$SIGNAL_TERM"
-
- kv.getStopStatus
-
- return $?
-}
-
-###############################################################################
-
-kv.go $@
diff --git a/specs/postgresql-10/SOURCES/slony1.service b/specs/postgresql-10/SOURCES/slony1.service
deleted file mode 100644
index fc325718e..000000000
--- a/specs/postgresql-10/SOURCES/slony1.service
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=Slony-I
-After=syslog.target network.target
-
-[Service]
-PIDFile=/var/run/slony1-{{PG_MAJOR_VERSION}}/slon_{{PG_MAJOR_VERSION}}.pid
-ExecStart=/etc/init.d/slony1-{{PG_MAJOR_VERSION}} start
-ExecStop=/etc/init.d/slony1-{{PG_MAJOR_VERSION}} stop
-
-[Install]
-WantedBy=multi-user.target
diff --git a/specs/postgresql-10/SOURCES/slony1.sysconfig b/specs/postgresql-10/SOURCES/slony1.sysconfig
deleted file mode 100644
index ac2c68b1e..000000000
--- a/specs/postgresql-10/SOURCES/slony1.sysconfig
+++ /dev/null
@@ -1,9 +0,0 @@
-# Sysconfig file for slony
-
-BINARY=""
-CONF_FILE=""
-PID_DIR=""
-LOG_DIR=""
-USER=""
-SLONCONNINFO=""
-SLONCLUSTERNAME=""
diff --git a/specs/postgresql-10/pg_comparator.spec b/specs/postgresql-10/pg_comparator.spec
deleted file mode 100644
index c541b5c19..000000000
--- a/specs/postgresql-10/pg_comparator.spec
+++ /dev/null
@@ -1,90 +0,0 @@
-################################################################################
-
-%global crc_check pushd ../SOURCES ; sha512sum -c %{SOURCE100} ; popd
-
-################################################################################
-
-%define pg_ver 10
-%define pg_fullver %{pg_ver}.23
-%define pg_dir %{_prefix}/pgsql-%{pg_ver}
-%define realname pg_comparator
-
-################################################################################
-
-Summary: Efficient table content comparison and synchronization for PostgreSQL %{pg_ver}
-Name: %{realname}%{pg_ver}
-Version: 2.3.2
-Release: 0%{?dist}
-License: BSD
-Group: Development/Tools
-URL: https://www.cri.ensmp.fr/people/coelho/pg_comparator
-
-Source: https://www.cri.ensmp.fr/people/coelho/pg_comparator/%{realname}-%{version}.tgz
-
-Patch0: %{realname}-Makefile.patch
-
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-
-BuildRequires: make gcc
-BuildRequires: postgresql%{pg_ver}-devel = %{pg_fullver}
-BuildRequires: postgresql%{pg_ver}-libs = %{pg_fullver}
-
-Requires: perl(Getopt::Long), perl(Time::HiRes)
-Requires: postgresql%{pg_ver}
-
-Requires(post): chkconfig
-
-Provides: %{name} = %{version}-%{release}
-
-################################################################################
-
-%description
-pg_comparator is a tool to compare possibly very big tables in
-different locations and report differences, with a network and
-time-efficient approach.
-
-################################################################################
-
-%prep
-%setup -qn %{realname}-%{version}
-
-%patch0 -p1
-
-%build
-%{__make} %{?_smp_mflags} PG_CONFIG=%{pg_dir}/bin/pg_config
-
-%install
-rm -rf %{buildroot}
-
-%{make_install} PG_CONFIG=%{pg_dir}/bin/pg_config
-
-%post
-update-alternatives --install %{_bindir}/pg_comparator pgcomparator %{pg_dir}/bin/pg_comparator %{pg_ver}0
-
-%postun
-if [[ $1 -eq 0 ]] ; then
- update-alternatives --remove pgcomparator %{pg_dir}/bin/pg_comparator
-fi
-
-%clean
-rm -rf %{buildroot}
-
-################################################################################
-
-%files
-%defattr(-,root,root,-)
-%doc LICENSE
-%doc %{pg_dir}/doc/extension/README.pg_comparator
-%{pg_dir}/bin/pg_comparator
-%{pg_dir}/lib/pgcmp.so
-%{pg_dir}/share/extension/*.sql
-%{pg_dir}/share/extension/pgcmp.control
-
-################################################################################
-
-%changelog
-* Thu Sep 21 2023 Anton Novojilov - 2.3.2-0
-- Updated to the latest stable release
-
-* Thu Oct 12 2017 Anton Novojilov - 2.3.1-0
-- Initial build
diff --git a/specs/postgresql-10/pg_repack.spec b/specs/postgresql-10/pg_repack.spec
deleted file mode 100644
index 7869de35d..000000000
--- a/specs/postgresql-10/pg_repack.spec
+++ /dev/null
@@ -1,106 +0,0 @@
-################################################################################
-
-%global crc_check pushd ../SOURCES ; sha512sum -c %{SOURCE100} ; popd
-
-################################################################################
-
-%define pg_ver 10
-%define pg_fullver %{pg_ver}.23
-%define pg_dir %{_prefix}/pgsql-%{pg_ver}
-%define realname pg_repack
-
-################################################################################
-
-Summary: Reorganize tables in PostgreSQL %{pg_ver} databases without any locks
-Name: %{realname}%{pg_ver}
-Version: 1.4.8
-Release: 0%{?dist}
-License: BSD
-Group: Applications/Databases
-URL: https://pgxn.org/dist/pg_repack/
-
-Source0: https://api.pgxn.org/dist/%{realname}/%{version}/%{realname}-%{version}.zip
-
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-
-BuildRequires: make gcc openssl-devel readline-devel zlib-devel
-BuildRequires: postgresql%{pg_ver}-devel = %{pg_fullver}
-BuildRequires: postgresql%{pg_ver}-libs = %{pg_fullver}
-
-Requires: postgresql%{pg_ver}
-
-Requires(post): chkconfig
-
-Provides: %{name} = %{version}-%{release}
-
-################################################################################
-
-%description
-pg_repack can re-organize tables on a postgres database without any locks so
-that you can retrieve or update rows in tables being reorganized.
-The module is developed to be a better alternative of CLUSTER and VACUUM FULL.
-
-################################################################################
-
-%prep
-%setup -qn %{realname}-%{version}
-
-%build
-%{__make} %{?_smp_mflags} PG_CONFIG=%{pg_dir}/bin/pg_config
-
-%install
-rm -rf %{buildroot}
-
-%{make_install} PG_CONFIG=%{pg_dir}/bin/pg_config
-
-%post
-update-alternatives --install %{_bindir}/pg_repack pgrepack %{pg_dir}/bin/pg_repack %{pg_ver}0
-
-%postun
-if [[ $1 -eq 0 ]] ; then
- update-alternatives --remove pgrepack %{pg_dir}/bin/pg_repack
-fi
-
-%clean
-rm -rf %{buildroot}
-
-################################################################################
-
-%files
-%defattr(-,root,root,-)
-%doc COPYRIGHT doc/pg_repack.rst
-%attr(755,root,root) %{pg_dir}/bin/pg_repack
-%attr(755,root,root) %{pg_dir}/lib/pg_repack.so
-%{pg_dir}/share/extension/%{realname}--%{version}.sql
-%{pg_dir}/share/extension/%{realname}.control
-
-################################################################################
-
-%changelog
-* Thu Sep 21 2023 Anton Novojilov - 1.4.8-0
-- Added support for PostgreSQL 15
-- Fixed --parent-table on declarative partitioned tables
-- Removed connection info from error log
-
-* Thu Nov 18 2021 Anton Novojilov - 1.4.7-0
-- Added support for PostgreSQL 14
-
-* Thu Feb 18 2021 Anton Novojilov - 1.4.6-0
-- Added support for PostgreSQL 13
-- Dropped support for PostgreSQL before 9.4
-
-* Tue Jan 21 2020 Anton Novojilov - 1.4.5-0
-- Added support for PostgreSQL 12
-- Fixed parallel processing for indexes with operators from public schema
-
-* Sat Nov 17 2018 Anton Novojilov - 1.4.4-0
-- Added support for PostgreSQL 11
-- Remove duplicate password prompt
-
-* Tue Jun 19 2018 Anton Novojilov - 1.4.3-0
-- Fixed possible CVE-2018-1058 attack paths
-- Fixed "unexpected index definition" after CVE-2018-1058 changes in PostgreSQL
-- Fixed build with recent Ubuntu packages
-
-* Tue Nov 28 2017 Anton Novojilov - 1.4.2-0
-- Initial build for kaos repo
diff --git a/specs/postgresql-10/postgis30.spec b/specs/postgresql-10/postgis30.spec
deleted file mode 100644
index 3d1e05b18..000000000
--- a/specs/postgresql-10/postgis30.spec
+++ /dev/null
@@ -1,262 +0,0 @@
-################################################################################
-
-%global crc_check pushd ../SOURCES ; sha512sum -c %{SOURCE100} ; popd
-
-################################################################################
-
-%{!?utils:%define utils 1}
-%{!?raster:%define raster 1}
-
-################################################################################
-
-%define maj_ver 3.0
-%define lib_ver 3
-%define pg_ver 10
-%define pg_low_fullver %{pg_ver}.23
-%define pg_dir %{_prefix}/pgsql-%{pg_ver}
-%define realname postgis
-%define pkgname %{realname}-%{maj_ver}
-%define fullname %{realname}30
-
-%define min_geos_ver 3.11
-
-%define __perl_requires filter-requires-perl-Pg.sh
-
-################################################################################
-
-Summary: Geographic Information Systems Extensions to PostgreSQL %{pg_ver}
-Name: %{fullname}_%{pg_ver}
-Version: 3.0.9
-Release: 1%{?dist}
-License: GPLv2+
-Group: Applications/Databases
-URL: https://www.postgis.net
-
-Source0: https://download.osgeo.org/%{realname}/source/%{realname}-%{version}.tar.gz
-Source1: filter-requires-perl-Pg.sh
-
-Source100: checksum.sha512
-
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-
-BuildRequires: postgresql%{pg_ver}-devel = %{pg_low_fullver}
-BuildRequires: postgresql%{pg_ver}-libs = %{pg_low_fullver}
-BuildRequires: geos-devel >= %{min_geos_ver}
-BuildRequires: gcc-c++ chrpath make pcre-devel hdf5-devel
-BuildRequires: proj-devel libtool flex json-c-devel libxml2-devel
-BuildRequires: sqlite-devel libgeotiff-devel libpng-devel libtiff-devel
-
-%if %raster
-%if 0%{?rhel} == 7
-BuildRequires: gdal3-devel
-Requires: gdal3-libs
-%else
-BuildRequires: gdal-devel >= 3
-Requires: gdal-libs >= 3
-%endif
-%endif
-
-Requires: postgresql%{pg_ver} proj hdf5 json-c pcre
-Requires: %{fullname}_%{pg_ver}-client = %{version}-%{release}
-Requires: geos >= %{min_geos_ver}
-
-Requires(post): chkconfig
-
-Conflicts: %{realname}31 %{realname}32 %{realname}33 %{realname}34
-
-Provides: %{realname} = %{version}-%{release}
-
-################################################################################
-
-%description
-PostGIS adds support for geographic objects to the PostgreSQL object-relational
-database. In effect, PostGIS "spatially enables" the PostgreSQL server,
-allowing it to be used as a backend spatial database for geographic information
-systems (GIS), much like ESRI's SDE or Oracle's Spatial extension. PostGIS
-follows the OpenGIS "Simple Features Specification for SQL" and has been
-certified as compliant with the "Types and Functions" profile.
-
-################################################################################
-
-%package client
-Summary: Client tools and their libraries of PostGIS
-Group: Applications/Databases
-
-Requires: %{name} = %{version}-%{release}
-
-%description client
-The postgis-client package contains the client tools and their libraries
-of PostGIS.
-
-################################################################################
-
-%package scripts
-Summary: Installing and upgrading scripts for PostGIS
-Group: Applications/Databases
-
-Requires: %{name} = %{version}-%{release}
-
-%description scripts
-This package postgis-scripts contains the SQL scripts for installing PostGIS
-in a PostgreSQL database, and for upgrading from earlier PostGIS versions.
-
-################################################################################
-
-%if %utils
-%package utils
-Summary: The utils for PostGIS
-Group: Applications/Databases
-
-Requires: %{name} = %{version}-%{release} perl-DBD-Pg
-
-%description utils
-The postgis-utils package provides the utilities for PostGIS.
-%endif
-
-################################################################################
-
-%prep
-%{crc_check}
-
-%setup -qn %{realname}-%{version}
-
-%build
-# We need the below for GDAL
-export LD_LIBRARY_PATH=%{pg_dir}/lib
-export LIBGDAL_CFLAGS=""
-
-%configure \
- --with-pgconfig=%{pg_dir}/bin/pg_config \
- --with-gdalconfig=%{_bindir}/gdal-config \
-%if !%raster
- --without-raster \
-%endif
- --disable-rpath \
- --libdir=%{pg_dir}/lib
-
-%{__make} %{?_smp_mflags} LPATH=$(%{pg_dir}/bin/pg_config --pkglibdir) shlib="%{name}.so"
-%{__make} -C extensions
-
-%if %utils
-%{__make} -C utils
-%endif
-
-%install
-rm -rf %{buildroot}
-
-%{make_install}
-%{make_install} -C extensions
-
-rm -rf %{buildroot}%{pg_dir}/doc
-
-mkdir -p %{buildroot}%{pg_dir}/bin/%{pkgname}
-
-chrpath --delete --keepgoing %{buildroot}%{pg_dir}/bin/* || :
-
-mv %{buildroot}%{pg_dir}/bin/pgsql2shp \
- %{buildroot}%{pg_dir}/bin/shp2pgsql \
- %{buildroot}%{pg_dir}/bin/raster2pgsql \
- %{buildroot}%{pg_dir}/bin/%{pkgname}/
-
-%if %utils
-install -dm 755 %{buildroot}%{_datadir}/%{name}
-install -pm 644 utils/*.pl %{buildroot}%{_datadir}/%{name}
-%endif
-
-%post
-/sbin/ldconfig
-
-update-alternatives --install %{_bindir}/pgsql2shp postgis-pgsql2shp %{pg_dir}/bin/%{pkgname}/pgsql2shp %{pg_ver}0
-update-alternatives --install %{_bindir}/shp2pgsql postgis-shp2pgsql %{pg_dir}/bin/%{pkgname}/shp2pgsql %{pg_ver}0
-update-alternatives --install %{_bindir}/raster2pgsql postgis-raster2pgsql %{pg_dir}/bin/%{pkgname}/raster2pgsql %{pg_ver}0
-
-%postun
-/sbin/ldconfig
-
-if [[ $1 -eq 0 ]] ; then
- # Only remove these links if the package is completely removed from the system
- update-alternatives --remove postgis-pgsql2shp %{pg_dir}/bin/%{pkgname}/pgsql2shp
- update-alternatives --remove postgis-shp2pgsql %{pg_dir}/bin/%{pkgname}/shp2pgsql
- update-alternatives --remove postgis-raster2pgsql %{pg_dir}/bin/%{pkgname}/raster2pgsql
-fi
-
-%clean
-rm -rf %{buildroot}
-
-################################################################################
-
-%files
-%defattr(-,root,root)
-%doc COPYING CREDITS NEWS TODO README.%{realname} doc/html loader/README.* doc/%{realname}.xml doc/ZMSgeoms.txt
-%{pg_dir}/lib/address_standardizer-%{lib_ver}.so
-%{pg_dir}/lib/postgis-%{lib_ver}.so
-%{pg_dir}/lib/postgis_topology-%{lib_ver}.so
-%if %raster
-%{pg_dir}/lib/postgis_raster-%{lib_ver}.so
-%endif
-
-%files client
-%defattr(-,root,root)
-%{pg_dir}/bin/%{pkgname}/pgsql2shp
-%{pg_dir}/bin/%{pkgname}/raster2pgsql
-%{pg_dir}/bin/%{pkgname}/shp2pgsql
-
-%files scripts
-%defattr(-,root,root)
-%{pg_dir}/share/contrib/%{pkgname}/legacy_gist.sql
-%{pg_dir}/share/contrib/%{pkgname}/legacy_minimal.sql
-%{pg_dir}/share/contrib/%{pkgname}/legacy.sql
-%{pg_dir}/share/contrib/%{pkgname}/postgis_comments.sql
-%{pg_dir}/share/contrib/%{pkgname}/postgis_proc_set_search_path.sql
-%{pg_dir}/share/contrib/%{pkgname}/postgis_restore.pl
-%{pg_dir}/share/contrib/%{pkgname}/postgis.sql
-%{pg_dir}/share/contrib/%{pkgname}/postgis_upgrade.sql
-%{pg_dir}/share/contrib/%{pkgname}/raster_comments.sql
-%{pg_dir}/share/contrib/%{pkgname}/sfcgal_comments.sql
-%{pg_dir}/share/contrib/%{pkgname}/spatial_ref_sys.sql
-%{pg_dir}/share/contrib/%{pkgname}/topology_comments.sql
-%{pg_dir}/share/contrib/%{pkgname}/topology.sql
-%{pg_dir}/share/contrib/%{pkgname}/topology_upgrade.sql
-%{pg_dir}/share/contrib/%{pkgname}/uninstall_legacy.sql
-%{pg_dir}/share/contrib/%{pkgname}/uninstall_postgis.sql
-%{pg_dir}/share/contrib/%{pkgname}/uninstall_topology.sql
-%{pg_dir}/share/extension/address_standardizer*.control
-%{pg_dir}/share/extension/address_standardizer*.sql
-%{pg_dir}/share/extension/postgis*.control
-%{pg_dir}/share/extension/postgis*.sql
-%if %raster
-%{pg_dir}/share/contrib/%{pkgname}/rtpostgis.sql
-%{pg_dir}/share/contrib/%{pkgname}/rtpostgis_legacy.sql
-%{pg_dir}/share/contrib/%{pkgname}/rtpostgis_proc_set_search_path.sql
-%{pg_dir}/share/contrib/%{pkgname}/rtpostgis_upgrade.sql
-%{pg_dir}/share/contrib/%{pkgname}/uninstall_rtpostgis.sql
-%endif
-
-%if %utils
-%files utils
-%defattr(-,root,root)
-%doc utils/README
-%attr(755,root,root) %{_datadir}/%{name}/create_extension_unpackage.pl
-%attr(755,root,root) %{_datadir}/%{name}/create_spatial_ref_sys_config_dump.pl
-%attr(755,root,root) %{_datadir}/%{name}/create_undef.pl
-%attr(755,root,root) %{_datadir}/%{name}/create_unpackaged.pl
-%attr(755,root,root) %{_datadir}/%{name}/postgis_proc_set_search_path.pl
-%attr(755,root,root) %{_datadir}/%{name}/postgis_proc_upgrade.pl
-%attr(755,root,root) %{_datadir}/%{name}/postgis_restore.pl
-%attr(755,root,root) %{_datadir}/%{name}/profile_intersects.pl
-%attr(755,root,root) %{_datadir}/%{name}/read_scripts_version.pl
-%attr(755,root,root) %{_datadir}/%{name}/repo_revision.pl
-%attr(755,root,root) %{_datadir}/%{name}/test_estimation.pl
-%attr(755,root,root) %{_datadir}/%{name}/test_geography_estimation.pl
-%attr(755,root,root) %{_datadir}/%{name}/test_geography_joinestimation.pl
-%attr(755,root,root) %{_datadir}/%{name}/test_joinestimation.pl
-%endif
-
-################################################################################
-
-%changelog
-* Wed Nov 08 2023 Anton Novojilov - 3.0.9-1
-- Minimal required version of GEOS set to 3.11
-
-* Thu Sep 21 2023 Anton Novojilov - 3.0.9-0
-- https://git.osgeo.org/gitea/postgis/postgis/raw/tag/3.0.9/NEWS
diff --git a/specs/postgresql-10/postgis31.spec b/specs/postgresql-10/postgis31.spec
deleted file mode 100644
index 409fdb530..000000000
--- a/specs/postgresql-10/postgis31.spec
+++ /dev/null
@@ -1,260 +0,0 @@
-################################################################################
-
-%global crc_check pushd ../SOURCES ; sha512sum -c %{SOURCE100} ; popd
-
-################################################################################
-
-%{!?utils:%define utils 1}
-%{!?raster:%define raster 1}
-
-################################################################################
-
-%define maj_ver 3.1
-%define lib_ver 3
-%define pg_ver 10
-%define pg_low_fullver %{pg_ver}.23
-%define pg_dir %{_prefix}/pgsql-%{pg_ver}
-%define realname postgis
-%define pkgname %{realname}-%{maj_ver}
-%define fullname %{realname}31
-
-%define min_geos_ver 3.11
-
-%define __perl_requires filter-requires-perl-Pg.sh
-
-################################################################################
-
-Summary: Geographic Information Systems Extensions to PostgreSQL %{pg_ver}
-Name: %{fullname}_%{pg_ver}
-Version: 3.1.9
-Release: 1%{?dist}
-License: GPLv2+
-Group: Applications/Databases
-URL: https://www.postgis.net
-
-Source0: https://download.osgeo.org/%{realname}/source/%{realname}-%{version}.tar.gz
-Source1: filter-requires-perl-Pg.sh
-
-Source100: checksum.sha512
-
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-
-BuildRequires: postgresql%{pg_ver}-devel = %{pg_low_fullver}
-BuildRequires: postgresql%{pg_ver}-libs = %{pg_low_fullver}
-BuildRequires: geos-devel >= %{min_geos_ver}
-BuildRequires: gcc-c++ chrpath make pcre-devel hdf5-devel
-BuildRequires: proj-devel libtool flex json-c-devel libxml2-devel
-BuildRequires: sqlite-devel libgeotiff-devel libpng-devel libtiff-devel
-
-%if %raster
-%if 0%{?rhel} == 7
-BuildRequires: gdal3-devel
-Requires: gdal3-libs
-%else
-BuildRequires: gdal-devel >= 3
-Requires: gdal-libs >= 3
-%endif
-%endif
-
-Requires: postgresql%{pg_ver} proj hdf5 json-c pcre
-Requires: %{fullname}_%{pg_ver}-client = %{version}-%{release}
-Requires: geos >= %{min_geos_ver}
-
-Requires(post): chkconfig
-
-Conflicts: %{realname}30 %{realname}32 %{realname}33 %{realname}34
-
-Provides: %{realname} = %{version}-%{release}
-
-################################################################################
-
-%description
-PostGIS adds support for geographic objects to the PostgreSQL object-relational
-database. In effect, PostGIS "spatially enables" the PostgreSQL server,
-allowing it to be used as a backend spatial database for geographic information
-systems (GIS), much like ESRI's SDE or Oracle's Spatial extension. PostGIS
-follows the OpenGIS "Simple Features Specification for SQL" and has been
-certified as compliant with the "Types and Functions" profile.
-
-################################################################################
-
-%package client
-Summary: Client tools and their libraries of PostGIS
-Group: Applications/Databases
-
-Requires: %{name} = %{version}-%{release}
-
-%description client
-The postgis-client package contains the client tools and their libraries
-of PostGIS.
-
-################################################################################
-
-%package scripts
-Summary: Installing and upgrading scripts for PostGIS
-Group: Applications/Databases
-
-Requires: %{name} = %{version}-%{release}
-
-%description scripts
-This package postgis-scripts contains the SQL scripts for installing PostGIS
-in a PostgreSQL database, and for upgrading from earlier PostGIS versions.
-
-################################################################################
-
-%if %utils
-%package utils
-Summary: The utils for PostGIS
-Group: Applications/Databases
-
-Requires: %{name} = %{version}-%{release} perl-DBD-Pg
-
-%description utils
-The postgis-utils package provides the utilities for PostGIS.
-%endif
-
-################################################################################
-
-%prep
-%{crc_check}
-
-%setup -qn %{realname}-%{version}
-
-%build
-# We need the below for GDAL
-export LD_LIBRARY_PATH=%{pg_dir}/lib
-export LIBGDAL_CFLAGS=""
-
-%configure \
- --with-pgconfig=%{pg_dir}/bin/pg_config \
- --with-gdalconfig=%{_bindir}/gdal-config \
-%if !%raster
- --without-raster \
-%endif
- --without-protobuf \
- --disable-rpath \
- --libdir=%{pg_dir}/lib
-
-%{__make} %{?_smp_mflags} LPATH=$(%{pg_dir}/bin/pg_config --pkglibdir) shlib="%{name}.so"
-%{__make} -C extensions
-
-%if %utils
-%{__make} -C utils
-%endif
-
-%install
-rm -rf %{buildroot}
-
-%{make_install}
-%{make_install} -C extensions
-
-rm -rf %{buildroot}%{pg_dir}/doc
-
-mkdir -p %{buildroot}%{pg_dir}/bin/%{pkgname}
-
-chrpath --delete --keepgoing %{buildroot}%{pg_dir}/bin/* || :
-
-mv %{buildroot}%{pg_dir}/bin/pgsql2shp \
- %{buildroot}%{pg_dir}/bin/shp2pgsql \
- %{buildroot}%{pg_dir}/bin/raster2pgsql \
- %{buildroot}%{pg_dir}/bin/%{pkgname}/
-
-%if %utils
-install -dm 755 %{buildroot}%{_datadir}/%{name}
-install -pm 644 utils/*.pl %{buildroot}%{_datadir}/%{name}
-%endif
-
-%post
-/sbin/ldconfig
-
-update-alternatives --install %{_bindir}/pgsql2shp postgis-pgsql2shp %{pg_dir}/bin/%{pkgname}/pgsql2shp %{pg_ver}0
-update-alternatives --install %{_bindir}/shp2pgsql postgis-shp2pgsql %{pg_dir}/bin/%{pkgname}/shp2pgsql %{pg_ver}0
-update-alternatives --install %{_bindir}/raster2pgsql postgis-raster2pgsql %{pg_dir}/bin/%{pkgname}/raster2pgsql %{pg_ver}0
-
-%postun
-/sbin/ldconfig
-
-if [[ $1 -eq 0 ]] ; then
- # Only remove these links if the package is completely removed from the system
- update-alternatives --remove postgis-pgsql2shp %{pg_dir}/bin/%{pkgname}/pgsql2shp
- update-alternatives --remove postgis-shp2pgsql %{pg_dir}/bin/%{pkgname}/shp2pgsql
- update-alternatives --remove postgis-raster2pgsql %{pg_dir}/bin/%{pkgname}/raster2pgsql
-fi
-
-%clean
-rm -rf %{buildroot}
-
-################################################################################
-
-%files
-%defattr(-,root,root)
-%doc COPYING CREDITS NEWS TODO README.%{realname} doc/html loader/README.* doc/%{realname}.xml doc/ZMSgeoms.txt
-%{pg_dir}/lib/address_standardizer-%{lib_ver}.so
-%{pg_dir}/lib/postgis-%{lib_ver}.so
-%{pg_dir}/lib/postgis_topology-%{lib_ver}.so
-%if %raster
-%{pg_dir}/lib/postgis_raster-%{lib_ver}.so
-%endif
-
-%files client
-%defattr(-,root,root)
-%{pg_dir}/bin/%{pkgname}/pgsql2shp
-%{pg_dir}/bin/%{pkgname}/raster2pgsql
-%{pg_dir}/bin/%{pkgname}/shp2pgsql
-
-%files scripts
-%defattr(-,root,root)
-%{pg_dir}/share/contrib/%{pkgname}/legacy_gist.sql
-%{pg_dir}/share/contrib/%{pkgname}/legacy_minimal.sql
-%{pg_dir}/share/contrib/%{pkgname}/legacy.sql
-%{pg_dir}/share/contrib/%{pkgname}/postgis_comments.sql
-%{pg_dir}/share/contrib/%{pkgname}/postgis_restore.pl
-%{pg_dir}/share/contrib/%{pkgname}/postgis.sql
-%{pg_dir}/share/contrib/%{pkgname}/postgis_upgrade.sql
-%{pg_dir}/share/contrib/%{pkgname}/raster_comments.sql
-%{pg_dir}/share/contrib/%{pkgname}/sfcgal_comments.sql
-%{pg_dir}/share/contrib/%{pkgname}/spatial_ref_sys.sql
-%{pg_dir}/share/contrib/%{pkgname}/topology_comments.sql
-%{pg_dir}/share/contrib/%{pkgname}/topology.sql
-%{pg_dir}/share/contrib/%{pkgname}/topology_upgrade.sql
-%{pg_dir}/share/contrib/%{pkgname}/uninstall_legacy.sql
-%{pg_dir}/share/contrib/%{pkgname}/uninstall_postgis.sql
-%{pg_dir}/share/contrib/%{pkgname}/uninstall_topology.sql
-%{pg_dir}/share/extension/address_standardizer*.control
-%{pg_dir}/share/extension/address_standardizer*.sql
-%{pg_dir}/share/extension/postgis*.control
-%{pg_dir}/share/extension/postgis*.sql
-%if %raster
-%{pg_dir}/share/contrib/%{pkgname}/rtpostgis.sql
-%{pg_dir}/share/contrib/%{pkgname}/rtpostgis_legacy.sql
-%{pg_dir}/share/contrib/%{pkgname}/rtpostgis_upgrade.sql
-%{pg_dir}/share/contrib/%{pkgname}/uninstall_rtpostgis.sql
-%endif
-
-%if %utils
-%files utils
-%defattr(-,root,root)
-%doc utils/README
-%attr(755,root,root) %{_datadir}/%{name}/create_extension_unpackage.pl
-%attr(755,root,root) %{_datadir}/%{name}/create_spatial_ref_sys_config_dump.pl
-%attr(755,root,root) %{_datadir}/%{name}/create_undef.pl
-%attr(755,root,root) %{_datadir}/%{name}/create_unpackaged.pl
-%attr(755,root,root) %{_datadir}/%{name}/postgis_proc_upgrade.pl
-%attr(755,root,root) %{_datadir}/%{name}/postgis_restore.pl
-%attr(755,root,root) %{_datadir}/%{name}/profile_intersects.pl
-%attr(755,root,root) %{_datadir}/%{name}/read_scripts_version.pl
-%attr(755,root,root) %{_datadir}/%{name}/repo_revision.pl
-%attr(755,root,root) %{_datadir}/%{name}/test_estimation.pl
-%attr(755,root,root) %{_datadir}/%{name}/test_geography_estimation.pl
-%attr(755,root,root) %{_datadir}/%{name}/test_geography_joinestimation.pl
-%attr(755,root,root) %{_datadir}/%{name}/test_joinestimation.pl
-%endif
-
-################################################################################
-
-%changelog
-* Wed Nov 08 2023 Anton Novojilov - 3.1.9-1
-- Minimal required version of GEOS set to 3.11
-
-* Thu Sep 21 2023 Anton Novojilov - 3.1.9-0
-- https://git.osgeo.org/gitea/postgis/postgis/raw/tag/3.1.9/NEWS
diff --git a/specs/postgresql-10/postgis32.spec b/specs/postgresql-10/postgis32.spec
deleted file mode 100644
index 858fbcba8..000000000
--- a/specs/postgresql-10/postgis32.spec
+++ /dev/null
@@ -1,260 +0,0 @@
-################################################################################
-
-%global crc_check pushd ../SOURCES ; sha512sum -c %{SOURCE100} ; popd
-
-################################################################################
-
-%{!?utils:%define utils 1}
-%{!?raster:%define raster 1}
-
-################################################################################
-
-%define maj_ver 3.2
-%define lib_ver 3
-%define pg_ver 10
-%define pg_low_fullver %{pg_ver}.23
-%define pg_dir %{_prefix}/pgsql-%{pg_ver}
-%define realname postgis
-%define pkgname %{realname}-%{maj_ver}
-%define fullname %{realname}32
-
-%define min_geos_ver 3.11
-
-%define __perl_requires filter-requires-perl-Pg.sh
-
-################################################################################
-
-Summary: Geographic Information Systems Extensions to PostgreSQL %{pg_ver}
-Name: %{fullname}_%{pg_ver}
-Version: 3.2.5
-Release: 1%{?dist}
-License: GPLv2+
-Group: Applications/Databases
-URL: https://www.postgis.net
-
-Source0: https://download.osgeo.org/%{realname}/source/%{realname}-%{version}.tar.gz
-Source1: filter-requires-perl-Pg.sh
-
-Source100: checksum.sha512
-
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-
-BuildRequires: postgresql%{pg_ver}-devel = %{pg_low_fullver}
-BuildRequires: postgresql%{pg_ver}-libs = %{pg_low_fullver}
-BuildRequires: geos-devel >= %{min_geos_ver}
-BuildRequires: gcc-c++ chrpath make pcre-devel hdf5-devel
-BuildRequires: proj-devel libtool flex json-c-devel libxml2-devel
-BuildRequires: sqlite-devel libgeotiff-devel libpng-devel libtiff-devel
-
-%if %raster
-%if 0%{?rhel} == 7
-BuildRequires: gdal3-devel
-Requires: gdal3-libs
-%else
-BuildRequires: gdal-devel >= 3
-Requires: gdal-libs >= 3
-%endif
-%endif
-
-Requires: postgresql%{pg_ver} proj hdf5 json-c pcre
-Requires: %{fullname}_%{pg_ver}-client = %{version}-%{release}
-Requires: geos >= %{min_geos_ver}
-
-Requires(post): chkconfig
-
-Conflicts: %{realname}30 %{realname}31 %{realname}33 %{realname}34
-
-Provides: %{realname} = %{version}-%{release}
-
-################################################################################
-
-%description
-PostGIS adds support for geographic objects to the PostgreSQL object-relational
-database. In effect, PostGIS "spatially enables" the PostgreSQL server,
-allowing it to be used as a backend spatial database for geographic information
-systems (GIS), much like ESRI's SDE or Oracle's Spatial extension. PostGIS
-follows the OpenGIS "Simple Features Specification for SQL" and has been
-certified as compliant with the "Types and Functions" profile.
-
-################################################################################
-
-%package client
-Summary: Client tools and their libraries of PostGIS
-Group: Applications/Databases
-
-Requires: %{name} = %{version}-%{release}
-
-%description client
-The postgis-client package contains the client tools and their libraries
-of PostGIS.
-
-################################################################################
-
-%package scripts
-Summary: Installing and upgrading scripts for PostGIS
-Group: Applications/Databases
-
-Requires: %{name} = %{version}-%{release}
-
-%description scripts
-This package postgis-scripts contains the SQL scripts for installing PostGIS
-in a PostgreSQL database, and for upgrading from earlier PostGIS versions.
-
-################################################################################
-
-%if %utils
-%package utils
-Summary: The utils for PostGIS
-Group: Applications/Databases
-
-Requires: %{name} = %{version}-%{release} perl-DBD-Pg
-
-%description utils
-The postgis-utils package provides the utilities for PostGIS.
-%endif
-
-################################################################################
-
-%prep
-%{crc_check}
-
-%setup -qn %{realname}-%{version}
-
-%build
-# We need the below for GDAL
-export LD_LIBRARY_PATH=%{pg_dir}/lib
-export LIBGDAL_CFLAGS=""
-
-%configure \
- --with-pgconfig=%{pg_dir}/bin/pg_config \
- --with-gdalconfig=%{_bindir}/gdal-config \
-%if !%raster
- --without-raster \
-%endif
- --without-protobuf \
- --disable-rpath \
- --libdir=%{pg_dir}/lib
-
-%{__make} %{?_smp_mflags} LPATH=$(%{pg_dir}/bin/pg_config --pkglibdir) shlib="%{name}.so"
-%{__make} -C extensions
-
-%if %utils
-%{__make} -C utils
-%endif
-
-%install
-rm -rf %{buildroot}
-
-%{make_install}
-%{make_install} -C extensions
-
-rm -rf %{buildroot}%{pg_dir}/doc
-
-mkdir -p %{buildroot}%{pg_dir}/bin/%{pkgname}
-
-chrpath --delete --keepgoing %{buildroot}%{pg_dir}/bin/* || :
-
-mv %{buildroot}%{pg_dir}/bin/pgsql2shp \
- %{buildroot}%{pg_dir}/bin/shp2pgsql \
- %{buildroot}%{pg_dir}/bin/raster2pgsql \
- %{buildroot}%{pg_dir}/bin/%{pkgname}/
-
-%if %utils
-install -dm 755 %{buildroot}%{_datadir}/%{name}
-install -pm 644 utils/*.pl %{buildroot}%{_datadir}/%{name}
-%endif
-
-%post
-/sbin/ldconfig
-
-update-alternatives --install %{_bindir}/pgsql2shp postgis-pgsql2shp %{pg_dir}/bin/%{pkgname}/pgsql2shp %{pg_ver}0
-update-alternatives --install %{_bindir}/shp2pgsql postgis-shp2pgsql %{pg_dir}/bin/%{pkgname}/shp2pgsql %{pg_ver}0
-update-alternatives --install %{_bindir}/raster2pgsql postgis-raster2pgsql %{pg_dir}/bin/%{pkgname}/raster2pgsql %{pg_ver}0
-
-%postun
-/sbin/ldconfig
-
-if [[ $1 -eq 0 ]] ; then
- # Only remove these links if the package is completely removed from the system
- update-alternatives --remove postgis-pgsql2shp %{pg_dir}/bin/%{pkgname}/pgsql2shp
- update-alternatives --remove postgis-shp2pgsql %{pg_dir}/bin/%{pkgname}/shp2pgsql
- update-alternatives --remove postgis-raster2pgsql %{pg_dir}/bin/%{pkgname}/raster2pgsql
-fi
-
-%clean
-rm -rf %{buildroot}
-
-################################################################################
-
-%files
-%defattr(-,root,root)
-%doc COPYING CREDITS NEWS TODO README.%{realname} doc/html loader/README.* doc/%{realname}.xml doc/ZMSgeoms.txt
-%{pg_dir}/lib/address_standardizer-%{lib_ver}.so
-%{pg_dir}/lib/postgis-%{lib_ver}.so
-%{pg_dir}/lib/postgis_topology-%{lib_ver}.so
-%if %raster
-%{pg_dir}/lib/postgis_raster-%{lib_ver}.so
-%endif
-
-%files client
-%defattr(-,root,root)
-%{pg_dir}/bin/%{pkgname}/pgsql2shp
-%{pg_dir}/bin/%{pkgname}/raster2pgsql
-%{pg_dir}/bin/%{pkgname}/shp2pgsql
-
-%files scripts
-%defattr(-,root,root)
-%{pg_dir}/share/contrib/%{pkgname}/legacy_gist.sql
-%{pg_dir}/share/contrib/%{pkgname}/legacy_minimal.sql
-%{pg_dir}/share/contrib/%{pkgname}/legacy.sql
-%{pg_dir}/share/contrib/%{pkgname}/postgis_comments.sql
-%{pg_dir}/share/contrib/%{pkgname}/postgis_restore.pl
-%{pg_dir}/share/contrib/%{pkgname}/postgis.sql
-%{pg_dir}/share/contrib/%{pkgname}/postgis_upgrade.sql
-%{pg_dir}/share/contrib/%{pkgname}/raster_comments.sql
-%{pg_dir}/share/contrib/%{pkgname}/sfcgal_comments.sql
-%{pg_dir}/share/contrib/%{pkgname}/spatial_ref_sys.sql
-%{pg_dir}/share/contrib/%{pkgname}/topology_comments.sql
-%{pg_dir}/share/contrib/%{pkgname}/topology.sql
-%{pg_dir}/share/contrib/%{pkgname}/topology_upgrade.sql
-%{pg_dir}/share/contrib/%{pkgname}/uninstall_legacy.sql
-%{pg_dir}/share/contrib/%{pkgname}/uninstall_postgis.sql
-%{pg_dir}/share/contrib/%{pkgname}/uninstall_topology.sql
-%{pg_dir}/share/extension/address_standardizer*.control
-%{pg_dir}/share/extension/address_standardizer*.sql
-%{pg_dir}/share/extension/postgis*.control
-%{pg_dir}/share/extension/postgis*.sql
-%if %raster
-%{pg_dir}/share/contrib/%{pkgname}/rtpostgis.sql
-%{pg_dir}/share/contrib/%{pkgname}/rtpostgis_legacy.sql
-%{pg_dir}/share/contrib/%{pkgname}/rtpostgis_upgrade.sql
-%{pg_dir}/share/contrib/%{pkgname}/uninstall_rtpostgis.sql
-%endif
-
-%if %utils
-%files utils
-%defattr(-,root,root)
-%doc utils/README
-%attr(755,root,root) %{_datadir}/%{name}/create_extension_unpackage.pl
-%attr(755,root,root) %{_datadir}/%{name}/create_spatial_ref_sys_config_dump.pl
-%attr(755,root,root) %{_datadir}/%{name}/create_undef.pl
-%attr(755,root,root) %{_datadir}/%{name}/create_unpackaged.pl
-%attr(755,root,root) %{_datadir}/%{name}/postgis_proc_upgrade.pl
-%attr(755,root,root) %{_datadir}/%{name}/postgis_restore.pl
-%attr(755,root,root) %{_datadir}/%{name}/profile_intersects.pl
-%attr(755,root,root) %{_datadir}/%{name}/read_scripts_version.pl
-%attr(755,root,root) %{_datadir}/%{name}/repo_revision.pl
-%attr(755,root,root) %{_datadir}/%{name}/test_estimation.pl
-%attr(755,root,root) %{_datadir}/%{name}/test_geography_estimation.pl
-%attr(755,root,root) %{_datadir}/%{name}/test_geography_joinestimation.pl
-%attr(755,root,root) %{_datadir}/%{name}/test_joinestimation.pl
-%endif
-
-################################################################################
-
-%changelog
-* Wed Nov 08 2023 Anton Novojilov - 3.2.5-1
-- Minimal required version of GEOS set to 3.11
-
-* Thu Sep 21 2023 Anton Novojilov - 3.2.5-0
-- https://git.osgeo.org/gitea/postgis/postgis/raw/tag/3.2.5/NEWS
diff --git a/specs/postgresql-10/postgresql-10.spec b/specs/postgresql-10/postgresql-10.spec
deleted file mode 100644
index c5e19f6ae..000000000
--- a/specs/postgresql-10/postgresql-10.spec
+++ /dev/null
@@ -1,1166 +0,0 @@
-################################################################################
-
-%global crc_check pushd ../SOURCES ; sha512sum -c %{SOURCE100} ; popd
-
-################################################################################
-
-%{!?kerbdir:%define kerbdir "/usr"}
-%{!?test:%define test 1}
-%{!?plpython:%define plpython 1}
-%{!?pltcl:%define pltcl 1}
-%{!?plperl:%define plperl 1}
-%{!?ssl:%define ssl 1}
-%{!?intdatetimes:%define intdatetimes 1}
-%{!?icu:%define icu 1}
-%{!?kerberos:%define kerberos 1}
-%{!?nls:%define nls 1}
-%{!?xml:%define xml 1}
-%{!?pam:%define pam 1}
-%{!?disablepgfts:%define disablepgfts 0}
-%{!?runselftest:%define runselftest 0}
-%{!?uuid:%define uuid 1}
-%{!?ldap:%define ldap 1}
-
-%define majorver 10
-%define minorver 23
-%define rel 1
-%define fullver %{majorver}.%{minorver}
-%define pkgver 10
-%define realname postgresql
-%define shortname pgsql
-%define tinyname pg
-%define service_name %{realname}-%{majorver}
-%define install_dir %{_usr}/%{shortname}-%{majorver}
-
-%define prev_version 9.6
-
-%define username postgres
-%define groupname postgres
-%define gid 26
-
-%define __perl_requires %{SOURCE9}
-
-################################################################################
-
-Summary: PostgreSQL %{majorver} client programs and libraries
-Name: %{realname}%{majorver}
-Version: %{fullver}
-Release: %{rel}%{?dist}
-License: PostgreSQL
-Group: Applications/Databases
-URL: https://www.postgresql.org
-
-Source0: https://download.postgresql.org/pub/source/v%{version}/%{realname}-%{version}.tar.bz2
-Source1: %{realname}.init
-Source2: Makefile.regress
-Source3: pg_config.h
-Source4: README.rpm-dist
-Source5: ecpg_config.h
-Source6: %{realname}-%{majorver}-libs.conf
-Source7: https://www.postgresql.org/files/documentation/pdf/%{majorver}/%{realname}-%{majorver}-A4.pdf
-Source8: %{realname}.pam
-Source9: filter-requires-perl-Pg.sh
-Source10: %{realname}.sysconfig
-Source11: %{realname}.service
-Source12: bash_profile
-Source13: %{realname}-tmpfiles.d.conf
-
-Source100: checksum.sha512
-
-Patch1: rpm-%{shortname}.patch
-Patch2: %{realname}-logging.patch
-Patch3: %{realname}-perl-rpath.patch
-Patch4: %{realname}-var-run-socket.patch
-
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-
-BuildRequires: make gcc perl glibc-devel bison flex
-BuildRequires: readline-devel zlib-devel >= 1.0.4
-
-%if %plperl
-BuildRequires: perl-ExtUtils-Embed perl-ExtUtils-MakeMaker
-%endif
-
-%if %plpython
-BuildRequires: python3-devel
-%endif
-
-%if %pltcl
-BuildRequires: tcl-devel
-%endif
-
-%if %ssl
-BuildRequires: openssl-devel
-%endif
-
-%if %kerberos
-BuildRequires: krb5-devel e2fsprogs-devel
-%endif
-
-%if %icu
-BuildRequires: libicu-devel
-Requires: libicu
-%endif
-
-%if %nls
-BuildRequires: gettext >= 0.10.35
-%endif
-
-%if %xml
-BuildRequires: libxml2-devel libxslt-devel
-%endif
-
-%if %pam
-BuildRequires: pam-devel
-%endif
-
-%if %uuid
-BuildRequires: libuuid-devel
-%endif
-
-%if %ldap
-BuildRequires: openldap-devel
-%endif
-
-BuildRequires: systemd systemd-devel
-
-Requires: glibc initscripts
-Requires: %{name}-libs = %{version}
-
-Requires(post): systemd chkconfig
-Requires(preun): systemd
-Requires(postun): systemd chkconfig
-
-Provides: %{name} = %{version}-%{release}
-Provides: %{realname} = %{version}-%{release}
-
-################################################################################
-
-%description
-PostgreSQL is an advanced Object-Relational database management system
-(DBMS) that supports almost all SQL constructs (including
-transactions, subselects and user-defined types and functions). The
-postgresql package includes the client programs and libraries that
-you'll need to access a PostgreSQL DBMS server. These PostgreSQL
-client programs are programs that directly manipulate the internal
-structure of PostgreSQL databases on a PostgreSQL server. These client
-programs can be located on the same machine with the PostgreSQL
-server, or may be on a remote machine which accesses a PostgreSQL
-server over a network connection. This package contains the command-line
-utilities for managing PostgreSQL databases on a PostgreSQL server.
-
-If you want to manipulate a PostgreSQL database on a local or remote PostgreSQL
-server, you need this package. You also need to install this package
-if you're installing the postgresql%{pkgver}-server package.
-
-################################################################################
-
-%package libs
-Summary: The shared libraries required for any PostgreSQL clients
-Group: Applications/Databases
-
-Provides: %{realname}-libs = %{version}-%{release}
-
-%description libs
-The postgresql%{pkgver}-libs package provides the essential shared libraries
-for any PostgreSQL client program or interface. You will need to install this
-package to use any other PostgreSQL package or any clients that need to connect
-to a PostgreSQL server.
-
-################################################################################
-
-%package server
-Summary: The programs needed to create and run a PostgreSQL server
-Group: Applications/Databases
-
-Requires: %{name} = %{version}-%{release}
-Requires: %{name}-libs = %{version}-%{release}
-Requires: glibc kaosv >= 2.16 numactl
-Requires: %{_sbindir}/useradd %{_sbindir}/chkconfig
-
-Provides: %{realname}-server = %{version}-%{release}
-
-%description server
-The postgresql%{pkgver}-server package includes the programs needed to create
-and run a PostgreSQL server, which will in turn allow you to create
-and maintain PostgreSQL databases. PostgreSQL is an advanced
-Object-Relational database management system (DBMS) that supports
-almost all SQL constructs (including transactions, subselects and
-user-defined types and functions). You should install
-postgresql%{pkgver}-server if you want to create and maintain your own
-PostgreSQL databases and/or your own PostgreSQL server. You also need
-to install the postgresql package.
-
-################################################################################
-
-%package docs
-Summary: Extra documentation for PostgreSQL
-Group: Applications/Databases
-
-Provides: %{realname}-docs = %{version}-%{release}
-
-%description docs
-The postgresql%{pkgver}-docs package includes the SGML source for the
-documentation as well as the documentation in PDF format and some extra
-documentation. Install this package if you want to help with the PostgreSQL
-documentation project, or if you want to generate printed documentation. This
-package also includes HTML version of the documentation.
-
-################################################################################
-
-%package contrib
-Summary: Contributed source and binaries distributed with PostgreSQL
-Group: Applications/Databases
-
-Requires: %{name} = %{version}
-Provides: %{realname}-contrib = %{version}-%{release}
-
-%description contrib
-The postgresql%{pkgver}-contrib package contains contributed packages that are
-included in the PostgreSQL distribution.
-
-################################################################################
-
-%package devel
-Summary: PostgreSQL development header files and libraries
-Group: Development/Libraries
-
-%if %icu
-Requires: libicu-devel
-%endif
-
-%if %ssl
-Requires: openssl-devel
-%endif
-
-AutoReq: no
-Requires: %{name} = %{version}-%{release}
-Requires: %{name}-libs = %{version}-%{release}
-Provides: %{realname}-devel = %{version}-%{release}
-
-%description devel
-The postgresql%{pkgver}-devel package contains the header files and libraries
-needed to compile C or C++ applications which will directly interact
-with a PostgreSQL database management server and the ecpg Embedded C
-Postgres preprocessor. You need to install this package if you want to
-develop applications which will interact with a PostgreSQL server.
-
-################################################################################
-
-%if %plperl
-%package plperl
-Summary: The Perl procedural language for PostgreSQL
-Group: Applications/Databases
-
-Requires: %{name}-server = %{version}
-
-Obsoletes: %{realname}-pl = %{version}
-Provides: %{realname}-plperl = %{version}-%{release}
-
-%description plperl
-PostgreSQL is an advanced Object-Relational database management
-system. The postgresql%{pkgver}-plperl package contains the PL/Perl language
-for the backend.
-%endif
-
-################################################################################
-
-%if %plpython
-%package plpython3
-Summary: The Python procedural language for PostgreSQL
-Group: Applications/Databases
-
-Requires: %{name} = %{version}
-Requires: %{name}-server = %{version}
-Requires: python3 python3-libs
-
-Obsoletes: %{realname}-pl = %{version}
-Provides: %{realname}-plpython = %{version}-%{release}
-
-%description plpython3
-PostgreSQL is an advanced Object-Relational database management
-system. The postgresql%{pkgver}-plpython package contains the PL/Python language
-for the backend.
-%endif
-
-################################################################################
-
-%if %pltcl
-%package pltcl
-Summary: The Tcl procedural language for PostgreSQL
-Group: Applications/Databases
-
-Requires: %{name} = %{version}
-Requires: %{name}-server = %{version}
-
-Obsoletes: %{realname}-pl = %{version}
-Provides: %{realname}-pltcl = %{version}-%{release}
-
-%description pltcl
-PostgreSQL is an advanced Object-Relational database management
-system. The postgresql%{pkgver}-pltcl package contains the PL/Tcl language
-for the backend.
-%endif
-
-################################################################################
-
-%if %test
-%package test
-Summary: The test suite distributed with PostgreSQL
-Group: Applications/Databases
-
-Requires: %{name}-server = %{version}
-Provides: %{realname}-test = %{version}-%{release}
-
-%description test
-PostgreSQL is an advanced Object-Relational database management
-system. The postgresql-test package includes the sources and pre-built
-binaries of various tests for the PostgreSQL database management
-system, including regression tests and benchmarks.
-%endif
-
-################################################################################
-
-%prep
-%{crc_check}
-
-%setup -qn %{realname}-%{version}
-
-%patch1 -p1
-%patch2 -p0
-%patch3 -p0
-%patch4 -p0
-
-# Copy pdf with documentation to build directory
-cp -p %{SOURCE7} .
-
-%build
-
-CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS
-CXXFLAGS="${CXXFLAGS:-%optflags}" ; export CXXFLAGS
-
-%if %kerberos
-CPPFLAGS="${CPPFLAGS} -I%{_includedir}/et" ; export CPPFLAGS
-CFLAGS="${CFLAGS} -I%{_includedir}/et" ; export CFLAGS
-%endif
-
-# Strip out -ffast-math from CFLAGS....
-CFLAGS=$(echo "$CFLAGS" | xargs -n 1 | grep -v ffast-math | xargs -n 100)
-CFLAGS="$CFLAGS -DLINUX_OOM_SCORE_ADJ=0"
-LDFLAGS="-Wl,--as-needed" ; export LDFLAGS
-
-export CFLAGS
-export LIBNAME=%{_lib}
-export PYTHON=/usr/bin/python3
-
-%{_configure} --disable-rpath \
- --prefix=%{install_dir} \
- --includedir=%{install_dir}/include \
- --mandir=%{install_dir}/share/man \
- --datadir=%{install_dir}/share \
-%if %icu
- --with-icu \
-%endif
-%if %plperl
- --with-perl \
-%endif
-%if %plpython
- --with-python \
-%endif
-%if %pltcl
- --with-tcl \
- --with-tclconfig=%{_libdir} \
-%endif
-%if %ssl
- --with-openssl \
-%endif
-%if %pam
- --with-pam \
-%endif
-%if %kerberos
- --with-gssapi \
- --with-includes=%{kerbdir}/include \
- --with-libraries=%{kerbdir}/%{_lib} \
-%endif
-%if %nls
- --enable-nls \
-%endif
-%if !%intdatetimes
- --disable-integer-datetimes \
-%endif
-%if %disablepgfts
- --disable-thread-safety \
-%endif
-%if %uuid
- --with-uuid=e2fs \
-%endif
-%if %xml
- --with-libxml \
- --with-libxslt \
-%endif
-%if %ldap
- --with-ldap \
-%endif
- --with-system-tzdata=%{_datadir}/zoneinfo \
- --sysconfdir=%{_sysconfdir}/sysconfig/%{shortname} \
- --docdir=%{install_dir}/doc \
- --htmldir=%{install_dir}/doc/html
-
-%{__make} %{?_smp_mflags} all
-%{__make} %{?_smp_mflags} -C contrib all
-%if %uuid
-%{__make} %{?_smp_mflags} -C contrib/uuid-ossp all
-%endif
-
-# Have to hack makefile to put correct path into tutorial scripts
-sed "s|C=\`pwd\`;|C=%{install_dir}/lib/tutorial;|" < src/tutorial/Makefile > src/tutorial/GNUmakefile
-%{__make} %{?_smp_mflags} -C src/tutorial NO_PGXS=1 all
-rm -f src/tutorial/GNUmakefile
-
-# run_testsuite WHERE
-# -------------------
-# Run 'make check' in WHERE path. When that command fails, return the logs
-# given by PostgreSQL build system and set 'test_failure=1'.
-
-run_testsuite()
-{
- %{__make} -C "$1" MAX_CONNECTIONS=5 check && return 0
-
- test_failure=1
-
- (
- set +x
- echo "=== trying to find all regression.diffs files in build directory ==="
- find -name 'regression.diffs' | \
- while read line; do
- echo "=== make failure: $line ==="
- cat "$line"
- done
- )
-}
-
-%if %runselftest
- run_testsuite "src/test/regress"
- %{__make} %{?_smp_mflags} clean -C "src/test/regress"
- run_testsuite "src/pl"
- run_testsuite "contrib"
-%endif
-
-%if %test
- pushd src/test/regress
- %{__make} %{?_smp_mflags} all
- popd
-%endif
-
-%install
-rm -rf %{buildroot}
-
-%{make_install}
-mkdir -p %{buildroot}%{install_dir}/share/extensions/
-%{make_install} -C contrib
-
-# multilib header hack; note pg_config.h is installed in two places!
-# we only apply this to known Red Hat multilib arches, per bug #177564
-case `uname -i` in
- i386 | x86_64)
- mv %{buildroot}%{install_dir}/include/pg_config.h %{buildroot}%{install_dir}/include/pg_config_`uname -i`.h
- install -pm 644 %{SOURCE3} %{buildroot}%{install_dir}/include/
- mv %{buildroot}%{install_dir}/include/server/pg_config.h %{buildroot}%{install_dir}/include/server/pg_config_`uname -i`.h
- install -pm 644 %{SOURCE3} %{buildroot}%{install_dir}/include/server/
- mv %{buildroot}%{install_dir}/include/ecpg_config.h %{buildroot}%{install_dir}/include/ecpg_config_`uname -i`.h
- install -pm 644 %{SOURCE5} %{buildroot}%{install_dir}/include/
- ;;
- *)
- ;;
-esac
-
-# Installing and updating sysv init script
-install -d %{buildroot}%{_initddir}
-install -d %{buildroot}%{_sysconfdir}/sysconfig
-
-install -pm 755 %{SOURCE1} %{buildroot}%{_initddir}/%{service_name}
-install -pm 644 %{SOURCE10} %{buildroot}%{_sysconfdir}/sysconfig/%{service_name}
-
-sed -i 's/{{VERSION}}/%{version}/g' %{buildroot}%{_initddir}/%{service_name}
-sed -i 's/{{MAJOR_VERSION}}/%{majorver}/g' %{buildroot}%{_initddir}/%{service_name}
-sed -i 's/{{PKG_VERSION}}/%{majorver}/g' %{buildroot}%{_initddir}/%{service_name}
-sed -i 's/{{PREV_VERSION}}/%{prev_version}/g' %{buildroot}%{_initddir}/%{service_name}
-sed -i 's/{{USER_NAME}}/%{username}/g' %{buildroot}%{_initddir}/%{service_name}
-sed -i 's/{{GROUP_NAME}}/%{groupname}/g' %{buildroot}%{_initddir}/%{service_name}
-
-# Installing and updating systemd config
-install -d %{buildroot}%{_unitdir}
-install -pm 644 %{SOURCE11} %{buildroot}%{_unitdir}/postgresql-%{majorver}.service
-
-sed -i 's/{{VERSION}}/%{version}/g' %{buildroot}%{_unitdir}/postgresql-%{majorver}.service
-sed -i 's/{{MAJOR_VERSION}}/%{majorver}/g' %{buildroot}%{_unitdir}/postgresql-%{majorver}.service
-sed -i 's/{{PKG_VERSION}}/%{majorver}/g' %{buildroot}%{_unitdir}/postgresql-%{majorver}.service
-sed -i 's/{{PREV_VERSION}}/%{prev_version}/g' %{buildroot}%{_unitdir}/postgresql-%{majorver}.service
-sed -i 's/{{USER_NAME}}/%{username}/g' %{buildroot}%{_unitdir}/postgresql-%{majorver}.service
-sed -i 's/{{GROUP_NAME}}/%{groupname}/g' %{buildroot}%{_unitdir}/postgresql-%{majorver}.service
-
-ln -sf %{service_name} %{buildroot}%{_initddir}/%{tinyname}%{majorver}
-
-%if %pam
-install -d %{buildroot}%{_sysconfdir}/pam.d
-install -pm 644 %{SOURCE8} %{buildroot}%{_sysconfdir}/pam.d/%{realname}%{majorver}
-%endif
-
-install -dm 755 %{buildroot}%{_tmpfilesdir}
-install -pm 644 %{SOURCE13} %{buildroot}%{_tmpfilesdir}/%{realname}-%{majorver}.conf
-
-# Create the directory for sockets
-install -dm 755 %{buildroot}%{_localstatedir}/run/%{realname}
-
-# PGDATA needs removal of group and world permissions due to pg_pwd hole.
-install -dm 700 %{buildroot}%{_sharedstatedir}/%{shortname}/%{majorver}/data
-
-# backups of data go here...
-install -dm 700 %{buildroot}%{_sharedstatedir}/%{shortname}/%{majorver}/backups
-
-# Create the multiple postmaster startup directory
-install -dm 700 %{buildroot}%{_sysconfdir}/sysconfig/%{shortname}/%{majorver}
-
-# Install linker conf file under postgresql installation directory.
-# We will install the latest version via alternatives.
-install -dm 755 %{buildroot}%{install_dir}/share/
-install -pm 700 %{SOURCE6} %{buildroot}%{install_dir}/share/
-
-%if %test
- # Tests. There are many files included here that are unnecessary,
- # but include them anyway for completeness. We replace the original
- # Makefiles, however.
- mkdir -p %{buildroot}%{install_dir}/lib/test
- cp -a src/test/regress %{buildroot}%{install_dir}/lib/test
- install -pm 0755 contrib/spi/refint.so %{buildroot}%{install_dir}/lib/test/regress
- install -pm 0755 contrib/spi/autoinc.so %{buildroot}%{install_dir}/lib/test/regress
- pushd %{buildroot}%{install_dir}/lib/test/regress
- strip *.so
- rm -f GNUmakefile Makefile *.o
- chmod 0755 pg_regress regress.so
- popd
- cp %{SOURCE2} %{buildroot}%{install_dir}/lib/test/regress/Makefile
- chmod 0644 %{buildroot}%{install_dir}/lib/test/regress/Makefile
-%endif
-
-# Fix some more documentation
-# gzip doc/internals.ps
-cp %{SOURCE4} README.rpm-dist
-mkdir -p %{buildroot}%{install_dir}/share/doc/html
-mv doc/src/sgml/html doc
-mkdir -p %{buildroot}%{install_dir}/share/man/
-mv doc/src/sgml/man1 doc/src/sgml/man3 doc/src/sgml/man7 %{buildroot}%{install_dir}/share/man/
-rm -rf %{buildroot}%{_docdir}/%{shortname}
-
-# initialize file lists
-cp /dev/null main.lst
-cp /dev/null libs.lst
-cp /dev/null server.lst
-cp /dev/null devel.lst
-cp /dev/null plperl.lst
-cp /dev/null pltcl.lst
-cp /dev/null plpython.lst
-
-%if %nls
- %find_lang ecpg-%{majorver}
- %find_lang ecpglib6-%{majorver}
- %find_lang initdb-%{majorver}
- %find_lang libpq5-%{majorver}
- %find_lang pg_archivecleanup-%{majorver}
- %find_lang pg_basebackup-%{majorver}
- %find_lang pg_config-%{majorver}
- %find_lang pg_controldata-%{majorver}
- %find_lang pg_ctl-%{majorver}
- %find_lang pg_dump-%{majorver}
- %find_lang pg_resetwal-%{majorver}
- %find_lang pg_rewind-%{majorver}
- %find_lang pg_test_fsync-%{majorver}
- %find_lang pg_test_timing-%{majorver}
- %find_lang pg_upgrade-%{majorver}
- %find_lang pg_waldump-%{majorver}
- %find_lang pgscripts-%{majorver}
-
- %if %plperl
- %find_lang plperl-%{majorver}
- cat plperl-%{majorver}.lang > pg_plperl.lst
- %endif
-
- %find_lang plpgsql-%{majorver}
-
- %if %plpython
- %find_lang plpython-%{majorver}
- cat plpython-%{majorver}.lang > pg_plpython.lst
- %endif
-
- %if %pltcl
- %find_lang pltcl-%{majorver}
- cat pltcl-%{majorver}.lang > pg_pltcl.lst
- %endif
-
- %find_lang postgres-%{majorver}
- %find_lang psql-%{majorver}
-%endif
-
-cat libpq5-%{majorver}.lang > pg_libpq5.lst
-
-cat pg_config-%{majorver}.lang \
- ecpg-%{majorver}.lang \
- ecpglib6-%{majorver}.lang > pg_devel.lst
-
-cat initdb-%{majorver}.lang \
- pg_ctl-%{majorver}.lang \
- psql-%{majorver}.lang \
- pg_dump-%{majorver}.lang \
- pg_basebackup-%{majorver}.lang \
- pg_rewind-%{majorver}.lang \
- pg_upgrade-%{majorver}.lang \
- pg_test_timing-%{majorver}.lang \
- pg_test_fsync-%{majorver}.lang \
- pg_archivecleanup-%{majorver}.lang \
- pg_waldump-%{majorver}.lang \
- pgscripts-%{majorver}.lang > pg_main.lst
-
-cat postgres-%{majorver}.lang \
- pg_resetwal-%{majorver}.lang \
- pg_controldata-%{majorver}.lang \
- plpgsql-%{majorver}.lang > pg_server.lst
-
-# Install bash profile
-install -pm 700 %{SOURCE12} %{buildroot}%{install_dir}/share/
-sed -i "s#{{PGDATA}}#%{_sharedstatedir}/%{shortname}/%{majorver}/data/#" \
- %{buildroot}%{install_dir}/share/bash_profile
-
-################################################################################
-
-%pre server
-if [[ $1 -eq 1 ]] ; then
- getent group %{groupname} >/dev/null || groupadd -g %{gid} -o -r %{groupname}
- getent passwd %{username} >/dev/null || \
- useradd -M -n -g %{username} -o -r -d %{_sharedstatedir}/%{shortname} -s /bin/bash -u %{gid} %{username}
-fi
-
-%post server
-if [[ $1 -eq 1 ]] ; then
- systemctl daemon-reload %{service_name}.service &>/dev/null || :
- systemctl preset %{service_name}.service &>/dev/null || :
-
- /sbin/ldconfig
-fi
-
-# Removing bash_profile generated by previous versions of packages
-if [[ ! -L %{_sharedstatedir}/%{shortname}/.bash_profile ]] ; then
- rm -f %{_sharedstatedir}/%{shortname}/.bash_profile
-fi
-
-update-alternatives --install %{_sharedstatedir}/%{shortname}/.bash_profile %{shortname}-bash_profile %{install_dir}/share/bash_profile %{pkgver}00
-
-%preun server
-if [[ $1 -eq 0 ]] ; then
- update-alternatives --remove %{shortname}-bash_profile %{install_dir}/share/bash_profile
- systemctl --no-reload disable %{service_name}.service &>/dev/null || :
- systemctl stop %{service_name}.service &>/dev/null || :
-fi
-
-%postun server
-systemctl daemon-reload &>/dev/null || :
-/sbin/ldconfig
-
-%if %plperl
-%post plperl
-/sbin/ldconfig
-
-%postun plperl
-/sbin/ldconfig
-%endif
-
-%if %plpython
-%post plpython3
-/sbin/ldconfig
-
-%postun plpython3
-/sbin/ldconfig
-%endif
-
-%if %pltcl
-%post pltcl
-/sbin/ldconfig
-
-%postun pltcl
-/sbin/ldconfig
-%endif
-
-%if %test
-%post test
-chown -R -h %{username}:%{groupname} %{_datarootdir}/%{shortname}/test &>/dev/null || :
-%endif
-
-# Create alternatives entries for common binaries and man files
-%post
-update-alternatives --install %{_bindir}/psql %{shortname}-psql %{install_dir}/bin/psql %{pkgver}00
-update-alternatives --install %{_bindir}/clusterdb %{shortname}-clusterdb %{install_dir}/bin/clusterdb %{pkgver}00
-update-alternatives --install %{_bindir}/createdb %{shortname}-createdb %{install_dir}/bin/createdb %{pkgver}00
-update-alternatives --install %{_bindir}/createuser %{shortname}-createuser %{install_dir}/bin/createuser %{pkgver}00
-update-alternatives --install %{_bindir}/dropdb %{shortname}-dropdb %{install_dir}/bin/dropdb %{pkgver}00
-update-alternatives --install %{_bindir}/dropuser %{shortname}-dropuser %{install_dir}/bin/dropuser %{pkgver}00
-update-alternatives --install %{_bindir}/pg_basebackup %{shortname}-pg_basebackup %{install_dir}/bin/pg_basebackup %{pkgver}00
-update-alternatives --install %{_bindir}/pg_config %{shortname}-pg_config %{install_dir}/bin/pg_config %{pkgver}00
-update-alternatives --install %{_bindir}/pg_dump %{shortname}-pg_dump %{install_dir}/bin/pg_dump %{pkgver}00
-update-alternatives --install %{_bindir}/pg_dumpall %{shortname}-pg_dumpall %{install_dir}/bin/pg_dumpall %{pkgver}00
-update-alternatives --install %{_bindir}/pg_restore %{shortname}-pg_restore %{install_dir}/bin/pg_restore %{pkgver}00
-update-alternatives --install %{_bindir}/reindexdb %{shortname}-reindexdb %{install_dir}/bin/reindexdb %{pkgver}00
-update-alternatives --install %{_bindir}/vacuumdb %{shortname}-vacuumdb %{install_dir}/bin/vacuumdb %{pkgver}00
-
-update-alternatives --install %{_mandir}/man1/clusterdb.1 %{shortname}-clusterdbman %{install_dir}/share/man/man1/clusterdb.1 %{pkgver}00
-update-alternatives --install %{_mandir}/man1/createdb.1 %{shortname}-createdbman %{install_dir}/share/man/man1/createdb.1 %{pkgver}00
-update-alternatives --install %{_mandir}/man1/createuser.1 %{shortname}-createuserman %{install_dir}/share/man/man1/createuser.1 %{pkgver}00
-update-alternatives --install %{_mandir}/man1/dropdb.1 %{shortname}-dropdbman %{install_dir}/share/man/man1/dropdb.1 %{pkgver}00
-update-alternatives --install %{_mandir}/man1/dropuser.1 %{shortname}-dropuserman %{install_dir}/share/man/man1/dropuser.1 %{pkgver}00
-update-alternatives --install %{_mandir}/man1/pg_basebackup.1 %{shortname}-pg_basebackupman %{install_dir}/share/man/man1/pg_basebackup.1 %{pkgver}00
-update-alternatives --install %{_mandir}/man1/pg_dump.1 %{shortname}-pg_dumpman %{install_dir}/share/man/man1/pg_dump.1 %{pkgver}00
-update-alternatives --install %{_mandir}/man1/pg_dumpall.1 %{shortname}-pg_dumpallman %{install_dir}/share/man/man1/pg_dumpall.1 %{pkgver}00
-update-alternatives --install %{_mandir}/man1/pg_restore.1 %{shortname}-pg_restoreman %{install_dir}/share/man/man1/pg_restore.1 %{pkgver}00
-update-alternatives --install %{_mandir}/man1/psql.1 %{shortname}-psqlman %{install_dir}/share/man/man1/psql.1 %{pkgver}00
-update-alternatives --install %{_mandir}/man1/reindexdb.1 %{shortname}-reindexdbman %{install_dir}/share/man/man1/reindexdb.1 %{pkgver}00
-update-alternatives --install %{_mandir}/man1/vacuumdb.1 %{shortname}-vacuumdbman %{install_dir}/share/man/man1/vacuumdb.1 %{pkgver}00
-
-%post libs
-# Create link to linker configuration file
-update-alternatives --install %{_sysconfdir}/ld.so.conf.d/%{realname}-pgdg-libs.conf %{shortname}-ld-conf %{install_dir}/share/%{service_name}-libs.conf %{pkgver}00
-# Update shared libs cache
-/sbin/ldconfig
-
-%post devel
-# Create links to pkgconfig configuration files
-update-alternatives --install %{_libdir}/pkgconfig/libpq.pc %{shortname}-pkgconfig-libpq %{install_dir}/lib/pkgconfig/libpq.pc %{pkgver}00
-update-alternatives --install %{_libdir}/pkgconfig/libpgtypes.pc %{shortname}-pkgconfig-libpgtypes %{install_dir}/lib/pkgconfig/libpgtypes.pc %{pkgver}00
-update-alternatives --install %{_libdir}/pkgconfig/libecpg.pc %{shortname}-pkgconfig-libecpg %{install_dir}/lib/pkgconfig/libecpg.pc %{pkgver}00
-update-alternatives --install %{_libdir}/pkgconfig/libecpg_compat.pc %{shortname}-pkgconfig-libecpg_compat %{install_dir}/lib/pkgconfig/libecpg_compat.pc %{pkgver}00
-
-# Drop alternatives entries for common binaries and man files
-%postun
-if [[ $1 -eq 0 ]] ; then
- # Only remove these links if the package is completely removed from the system (vs. just being upgraded)
- update-alternatives --remove %{shortname}-psql %{install_dir}/bin/psql
- update-alternatives --remove %{shortname}-clusterdb %{install_dir}/bin/clusterdb
- update-alternatives --remove %{shortname}-createdb %{install_dir}/bin/createdb
- update-alternatives --remove %{shortname}-createuser %{install_dir}/bin/createuser
- update-alternatives --remove %{shortname}-dropdb %{install_dir}/bin/dropdb
- update-alternatives --remove %{shortname}-dropuser %{install_dir}/bin/dropuser
- update-alternatives --remove %{shortname}-pg_basebackup %{install_dir}/bin/pg_basebackup
- update-alternatives --remove %{shortname}-pg_config %{install_dir}/bin/pg_config
- update-alternatives --remove %{shortname}-pg_dump %{install_dir}/bin/pg_dump
- update-alternatives --remove %{shortname}-pg_dumpall %{install_dir}/bin/pg_dumpall
- update-alternatives --remove %{shortname}-pg_restore %{install_dir}/bin/pg_restore
- update-alternatives --remove %{shortname}-reindexdb %{install_dir}/bin/reindexdb
- update-alternatives --remove %{shortname}-vacuumdb %{install_dir}/bin/vacuumdb
-
- update-alternatives --remove %{shortname}-clusterdbman %{install_dir}/share/man/man1/clusterdb.1
- update-alternatives --remove %{shortname}-createdbman %{install_dir}/share/man/man1/createdb.1
- update-alternatives --remove %{shortname}-createuserman %{install_dir}/share/man/man1/createuser.1
- update-alternatives --remove %{shortname}-dropdbman %{install_dir}/share/man/man1/dropdb.1
- update-alternatives --remove %{shortname}-dropuserman %{install_dir}/share/man/man1/dropuser.1
- update-alternatives --remove %{shortname}-pg_basebackupman %{install_dir}/share/man/man1/pg_basebackup.1
- update-alternatives --remove %{shortname}-pg_dumpallman %{install_dir}/share/man/man1/pg_dumpall.1
- update-alternatives --remove %{shortname}-pg_dumpman %{install_dir}/share/man/man1/pg_dump.1
- update-alternatives --remove %{shortname}-pg_restoreman %{install_dir}/share/man/man1/pg_restore.1
- update-alternatives --remove %{shortname}-psqlman %{install_dir}/share/man/man1/psql.1
- update-alternatives --remove %{shortname}-reindexdbman %{install_dir}/share/man/man1/reindexdb.1
- update-alternatives --remove %{shortname}-vacuumdbman %{install_dir}/share/man/man1/vacuumdb.1
-fi
-
-%postun libs
-if [[ $1 -eq 0 ]] ; then
- # Remove link to linker configuration file
- update-alternatives --remove %{shortname}-ld-conf %{install_dir}/share/%{service_name}-libs.conf
- # Update shared libs cache
- /sbin/ldconfig
-fi
-
-%postun devel
-if [[ $1 -eq 0 ]] ; then
- # Remove links to pkgconfig configuration files
- update-alternatives --remove %{shortname}-pkgconfig-libpq %{install_dir}/lib/pkgconfig/libpq.pc
- update-alternatives --remove %{shortname}-pkgconfig-libpgtypes %{install_dir}/lib/pkgconfig/libpgtypes.pc
- update-alternatives --remove %{shortname}-pkgconfig-libecpg %{install_dir}/lib/pkgconfig/libecpg.pc
- update-alternatives --remove %{shortname}-pkgconfig-libecpg_compat %{install_dir}/lib/pkgconfig/libecpg_compat.pc
-fi
-
-%clean
-rm -rf %{buildroot}
-
-################################################################################
-
-%files -f pg_main.lst
-%defattr(-,root,root)
-%doc doc/KNOWN_BUGS doc/MISSING_FEATURES
-%doc COPYRIGHT doc/bug.template
-%doc README.rpm-dist
-%{install_dir}/bin/pgbench
-%{install_dir}/bin/clusterdb
-%{install_dir}/bin/createdb
-%{install_dir}/bin/createuser
-%{install_dir}/bin/dropdb
-%{install_dir}/bin/dropuser
-%{install_dir}/bin/pg_archivecleanup
-%{install_dir}/bin/pg_basebackup
-%{install_dir}/bin/pg_config
-%{install_dir}/bin/pg_dump
-%{install_dir}/bin/pg_dumpall
-%{install_dir}/bin/pg_isready
-%{install_dir}/bin/pg_restore
-%{install_dir}/bin/pg_rewind
-%{install_dir}/bin/pg_test_fsync
-%{install_dir}/bin/pg_test_timing
-%{install_dir}/bin/pg_receivewal
-%{install_dir}/bin/pg_upgrade
-%{install_dir}/bin/pg_waldump
-%{install_dir}/bin/psql
-%{install_dir}/bin/reindexdb
-%{install_dir}/bin/vacuumdb
-%{install_dir}/share/man/man1/clusterdb.*
-%{install_dir}/share/man/man1/createdb.*
-%{install_dir}/share/man/man1/createuser.*
-%{install_dir}/share/man/man1/dropdb.*
-%{install_dir}/share/man/man1/dropuser.*
-%{install_dir}/share/man/man1/pg_archivecleanup.1
-%{install_dir}/share/man/man1/pg_basebackup.*
-%{install_dir}/share/man/man1/pg_config.*
-%{install_dir}/share/man/man1/pg_dump.*
-%{install_dir}/share/man/man1/pg_dumpall.*
-%{install_dir}/share/man/man1/pg_isready.*
-%{install_dir}/share/man/man1/pg_receivewal.*
-%{install_dir}/share/man/man1/pg_restore.*
-%{install_dir}/share/man/man1/pg_rewind.*
-%{install_dir}/share/man/man1/pg_test_fsync.1
-%{install_dir}/share/man/man1/pg_test_timing.1
-%{install_dir}/share/man/man1/pg_upgrade.1
-%{install_dir}/share/man/man1/pg_waldump.1
-%{install_dir}/share/man/man1/pgbench.1
-%{install_dir}/share/man/man1/psql.*
-%{install_dir}/share/man/man1/reindexdb.*
-%{install_dir}/share/man/man1/vacuumdb.*
-%{install_dir}/share/man/man3/*
-%{install_dir}/share/man/man7/*
-
-%files docs
-%defattr(-,root,root)
-%doc doc/src/*
-%doc *-A4.pdf
-%doc src/tutorial
-%doc doc/html
-
-%files contrib
-%defattr(-,root,root)
-%doc %{install_dir}/doc/extension/*.example
-%{install_dir}/lib/_int.so
-%{install_dir}/lib/adminpack.so
-%{install_dir}/lib/amcheck.so
-%{install_dir}/lib/auth_delay.so
-%{install_dir}/lib/autoinc.so
-%{install_dir}/lib/auto_explain.so
-%{install_dir}/lib/bloom.so
-%{install_dir}/lib/btree_gin.so
-%{install_dir}/lib/btree_gist.so
-%{install_dir}/lib/chkpass.so
-%{install_dir}/lib/citext.so
-%{install_dir}/lib/cube.so
-%{install_dir}/lib/dblink.so
-%{install_dir}/lib/earthdistance.so
-%{install_dir}/lib/file_fdw.so*
-%{install_dir}/lib/fuzzystrmatch.so
-%{install_dir}/lib/insert_username.so
-%{install_dir}/lib/isn.so
-%{install_dir}/lib/hstore.so
-%if %plperl
-%{install_dir}/lib/hstore_plperl.so
-%endif
-%{install_dir}/lib/passwordcheck.so
-%{install_dir}/lib/pg_freespacemap.so
-%{install_dir}/lib/pg_stat_statements.so
-%{install_dir}/lib/pgrowlocks.so
-%{install_dir}/lib/postgres_fdw.so
-%{install_dir}/lib/sslinfo.so
-%{install_dir}/lib/lo.so
-%{install_dir}/lib/ltree.so
-%{install_dir}/lib/moddatetime.so
-%{install_dir}/lib/pageinspect.so
-%{install_dir}/lib/pgcrypto.so
-%{install_dir}/lib/pgstattuple.so
-%{install_dir}/lib/pg_buffercache.so
-%{install_dir}/lib/pg_prewarm.so
-%{install_dir}/lib/pg_trgm.so
-%{install_dir}/lib/pg_visibility.so
-%{install_dir}/lib/refint.so
-%{install_dir}/lib/seg.so
-%{install_dir}/lib/tablefunc.so
-%{install_dir}/lib/tcn.so
-%{install_dir}/lib/test_decoding.so
-%{install_dir}/lib/timetravel.so
-%{install_dir}/lib/tsm_system_rows.so
-%{install_dir}/lib/tsm_system_time.so
-%{install_dir}/lib/unaccent.so
-%if %xml
-%{install_dir}/lib/pgxml.so
-%endif
-%if %uuid
-%{install_dir}/lib/uuid-ossp.so
-%endif
-%{install_dir}/share/extension/adminpack*
-%{install_dir}/share/extension/amcheck*
-%{install_dir}/share/extension/autoinc*
-%{install_dir}/share/extension/bloom*
-%{install_dir}/share/extension/btree_gin*
-%{install_dir}/share/extension/btree_gist*
-%{install_dir}/share/extension/chkpass*
-%{install_dir}/share/extension/citext*
-%{install_dir}/share/extension/cube*
-%{install_dir}/share/extension/dblink*
-%{install_dir}/share/extension/dict_int*
-%{install_dir}/share/extension/dict_xsyn*
-%{install_dir}/share/extension/earthdistance*
-%{install_dir}/share/extension/file_fdw*
-%{install_dir}/share/extension/fuzzystrmatch*
-%{install_dir}/share/extension/hstore*
-%{install_dir}/share/extension/insert_username*
-%{install_dir}/share/extension/intagg*
-%{install_dir}/share/extension/intarray*
-%{install_dir}/share/extension/isn*
-%{install_dir}/share/extension/lo*
-%{install_dir}/share/extension/ltree*
-%{install_dir}/share/extension/moddatetime*
-%{install_dir}/share/extension/pageinspect*
-%{install_dir}/share/extension/pg_buffercache*
-%{install_dir}/share/extension/pg_freespacemap*
-%{install_dir}/share/extension/pg_prewarm*
-%{install_dir}/share/extension/pg_stat_statements*
-%{install_dir}/share/extension/pg_trgm*
-%{install_dir}/share/extension/pg_visibility*
-%{install_dir}/share/extension/pgcrypto*
-%{install_dir}/share/extension/pgrowlocks*
-%{install_dir}/share/extension/pgstattuple*
-%{install_dir}/share/extension/postgres_fdw*
-%{install_dir}/share/extension/refint*
-%{install_dir}/share/extension/seg*
-%{install_dir}/share/extension/sslinfo*
-%{install_dir}/share/extension/tablefunc*
-%{install_dir}/share/extension/tcn*
-%{install_dir}/share/extension/timetravel*
-%{install_dir}/share/extension/tsm_system*
-%{install_dir}/share/extension/unaccent*
-%if %uuid
-%{install_dir}/share/extension/uuid-ossp*
-%endif
-%{install_dir}/share/extension/xml2*
-%{install_dir}/bin/oid2name
-%{install_dir}/bin/vacuumlo
-%{install_dir}/bin/pg_recvlogical
-%{install_dir}/bin/pg_standby
-%{install_dir}/share/man/man1/oid2name.1
-%{install_dir}/share/man/man1/pg_recvlogical.1
-%{install_dir}/share/man/man1/pg_standby.1
-%{install_dir}/share/man/man1/vacuumlo.1
-
-%files libs -f pg_libpq5.lst
-%defattr(-,root,root)
-%{install_dir}/lib/libpq.so.*
-%{install_dir}/lib/libecpg.so*
-%{install_dir}/lib/libpgfeutils.a
-%{install_dir}/lib/libpgtypes.so.*
-%{install_dir}/lib/libecpg_compat.so.*
-%{install_dir}/lib/libpqwalreceiver.so
-%config(noreplace) %{install_dir}/share/%{service_name}-libs.conf
-
-%files server -f pg_server.lst
-%defattr(-,root,root)
-%config(noreplace) %{_initddir}/%{service_name}
-%config(noreplace) %{_sysconfdir}/sysconfig/%{service_name}
-%config(noreplace) %{_unitdir}/%{realname}-%{majorver}.service
-%config(noreplace) %{_tmpfilesdir}/%{realname}-%{majorver}.conf
-%attr(755,%{username},%{groupname}) %dir %{_localstatedir}/run/%{realname}
-%{_initddir}/%{tinyname}%{majorver}
-%if %pam
-%config(noreplace) %{_sysconfdir}/pam.d/%{realname}%{majorver}
-%endif
-%{install_dir}/bin/initdb
-%{install_dir}/bin/pg_controldata
-%{install_dir}/bin/pg_ctl
-%{install_dir}/bin/pg_resetwal
-%{install_dir}/bin/postgres
-%{install_dir}/bin/postmaster
-%{install_dir}/share/man/man1/initdb.*
-%{install_dir}/share/man/man1/pg_controldata.*
-%{install_dir}/share/man/man1/pg_ctl.*
-%{install_dir}/share/man/man1/pg_resetwal.*
-%{install_dir}/share/man/man1/postgres.*
-%{install_dir}/share/man/man1/postmaster.*
-%{install_dir}/share/postgres.bki
-%{install_dir}/share/postgres.description
-%{install_dir}/share/postgres.shdescription
-%{install_dir}/share/system_views.sql
-%{install_dir}/share/*.sample
-%{install_dir}/share/timezonesets/*
-%{install_dir}/share/tsearch_data/*.affix
-%{install_dir}/share/tsearch_data/*.dict
-%{install_dir}/share/tsearch_data/*.ths
-%{install_dir}/share/tsearch_data/*.rules
-%{install_dir}/share/tsearch_data/*.stop
-%{install_dir}/share/tsearch_data/*.syn
-%{install_dir}/lib/dict_int.so
-%{install_dir}/lib/dict_snowball.so
-%{install_dir}/lib/dict_xsyn.so
-%{install_dir}/lib/euc2004_sjis2004.so
-%{install_dir}/lib/pgoutput.so
-%{install_dir}/lib/plpgsql.so
-%dir %{install_dir}/share/extension
-%{install_dir}/share/extension/plpgsql*
-
-%config(noreplace) %attr(700,%{username},%{groupname}) %{install_dir}/share/bash_profile
-
-%dir %{install_dir}/lib
-%dir %{install_dir}/share
-%attr(700,%{username},%{groupname}) %dir %{_sharedstatedir}/%{shortname}
-%attr(700,%{username},%{groupname}) %dir %{_sharedstatedir}/%{shortname}/%{majorver}
-%attr(700,%{username},%{groupname}) %dir %{_sharedstatedir}/%{shortname}/%{majorver}/data
-%attr(700,%{username},%{groupname}) %dir %{_sharedstatedir}/%{shortname}/%{majorver}/backups
-%{install_dir}/lib/*_and_*.so
-%{install_dir}/share/conversion_create.sql
-%{install_dir}/share/information_schema.sql
-%{install_dir}/share/snowball_create.sql
-%{install_dir}/share/sql_features.txt
-
-%files devel -f pg_devel.lst
-%defattr(-,root,root)
-%{install_dir}/include/*
-%{install_dir}/bin/ecpg
-%{install_dir}/lib/libpq.so
-%{install_dir}/lib/libecpg.so
-%{install_dir}/lib/libpq.a
-%{install_dir}/lib/libpgcommon.a
-%{install_dir}/lib/libecpg.a
-%{install_dir}/lib/libecpg_compat.so
-%{install_dir}/lib/libecpg_compat.a
-%{install_dir}/lib/libpgport.a
-%{install_dir}/lib/libpgtypes.so
-%{install_dir}/lib/libpgtypes.a
-%{install_dir}/lib/pgxs/*
-%{install_dir}/lib/pkgconfig/*
-%{install_dir}/share/man/man1/ecpg.*
-
-%if %plperl
-%files plperl -f pg_plperl.lst
-%defattr(-,root,root)
-%{install_dir}/lib/plperl.so
-%{install_dir}/lib/hstore_plperl.so
-%{install_dir}/share/extension/plperl*
-%endif
-
-%if %pltcl
-%files pltcl -f pg_pltcl.lst
-%defattr(-,root,root)
-%{install_dir}/lib/pltcl.so
-%{install_dir}/share/extension/pltcl*
-%endif
-
-%if %plpython
-%files plpython3 -f pg_plpython.lst
-%defattr(-,root,root)
-%{install_dir}/lib/plpython*.so
-%{install_dir}/lib/hstore_plpython3.so
-%{install_dir}/lib/ltree_plpython3.so
-%{install_dir}/share/extension/plpython3u*
-%endif
-
-%if %test
-%files test
-%defattr(-,%{username},%{groupname})
-%attr(-,%{username},%{groupname}) %{install_dir}/lib/test/*
-%attr(-,%{username},%{groupname}) %dir %{install_dir}/lib/test
-%endif
-
-################################################################################
-
-%changelog
-* Sun Oct 29 2023 Anton Novojilov - 10.23-1
-- Improved init script compatibility with systemd
-
-* Thu Feb 09 2023 Anton Novojilov - 10.23-0
-- https://www.postgresql.org/docs/10/release-10-23.html
-
-* Thu Aug 18 2022 Anton Novojilov - 10.22-0
-- https://www.postgresql.org/docs/10/release-10-22.html
-
-* Thu May 19 2022 Anton Novojilov - 10.21-0
-- https://www.postgresql.org/docs/10/release-10-21.html
-
-* Thu Apr 07 2022 Anton Novojilov - 10.20-0
-- https://www.postgresql.org/docs/10/release-10-20.html
-
-* Wed Nov 17 2021 Anton Novojilov - 10.19-0
-- https://www.postgresql.org/docs/10/release-10-19.html
-
-* Sat Sep 04 2021 Anton Novojilov - 10.18-0
-- https://www.postgresql.org/docs/10/release-10-18.html
-
-* Sat Sep 04 2021 Anton Novojilov - 10.17-0
-- https://www.postgresql.org/docs/10/release-10-17.html
-
-* Thu Apr 01 2021 Anton Novojilov - 10.16-1
-- Changed bash_profile installation routine
-
-* Mon Feb 15 2021 Anton Novojilov - 10.16-0
-- Updated to the latest stable release
-
-* Tue Dec 29 2020 Anton Novojilov - 10.15-0
-- Updated to the latest stable release
-
-* Thu Aug 13 2020 Anton Novojilov - 10.14-0
-- Updated to the latest stable release
-
-* Sat May 23 2020 Anton Novojilov - 10.13-0
-- Updated to the latest stable release
-- Spec improvements
-
-* Sat Mar 07 2020 Anton Novojilov - 10.11-1
-- Fixed bug in init script
-
-* Mon Jan 20 2020 Anton Novojilov - 10.11-0
-- Updated to the latest stable release
-
-* Sun Aug 18 2019 Anton Novojilov - 10.10-0
-- Updated to the latest stable release
-
-* Sun Aug 18 2019 Anton Novojilov - 10.9-0
-- Updated to the latest stable release
-
-* Tue May 14 2019 Anton Novojilov - 10.8-0
-- Updated to the latest stable release
-
-* Tue Feb 26 2019 Anton Novojilov - 10.7-0
-- Updated to the latest stable release
-
-* Sat Nov 17 2018 Anton Novojilov - 10.6-0
-- Updated to the latest stable release
-
-* Fri Oct 26 2018 Anton Novojilov - 10.5-1
-- Fixed minor bug using pkgver macro in description's
-
-* Wed Sep 12 2018 Anton Novojilov - 10.5-0
-- Updated to the latest stable release
-
-* Tue Jun 19 2018 Anton Novojilov - 10.4-0
-- Updated to the latest stable release
-
-* Sat Mar 03 2018 Anton Novojilov - 10.3-0
-- Updated to the latest stable release
-
-* Sat Mar 03 2018 Anton Novojilov - 10.2-0
-- Updated to the latest stable release
-
-* Sat Jan 27 2018 Anton Novojilov - 10.1-1
-- Improved spec
-
-* Sun Nov 12 2017 Anton Novojilov - 10.1-0
-- Updated to the latest stable release
-
-* Thu Oct 12 2017 Anton Novojilov - 10.0-0
-- Initial build
diff --git a/specs/postgresql-10/slony1.spec b/specs/postgresql-10/slony1.spec
deleted file mode 100644
index 72d04e8eb..000000000
--- a/specs/postgresql-10/slony1.spec
+++ /dev/null
@@ -1,184 +0,0 @@
-################################################################################
-
-%global crc_check pushd ../SOURCES ; sha512sum -c %{SOURCE100} ; popd
-
-################################################################################
-
-%global __perl_requires %{SOURCE2}
-
-%define maj_ver 2.2
-%define pg_maj_ver 10
-%define pg_high_ver 10
-%define pg_low_fullver 10.23
-%define pg_dir %{_prefix}/pgsql-%{pg_high_ver}
-%define realname slony1
-%define username postgres
-%define groupname postgres
-
-################################################################################
-
-Summary: A "master to multiple slaves" replication system with cascading and failover
-Name: %{realname}-%{pg_maj_ver}
-Version: 2.2.11
-Release: 0%{?dist}
-License: BSD
-Group: Applications/Databases
-URL: https://www.slony.info
-
-Source0: https://www.slony.info/downloads/%{maj_ver}/source/%{realname}-%{version}.tar.bz2
-Source2: filter-requires-perl-Pg.sh
-Source3: %{realname}.init
-Source4: %{realname}.sysconfig
-Source5: %{realname}.service
-
-Source100: checksum.sha512
-
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-
-BuildRequires: make gcc byacc flex chrpath
-BuildRequires: postgresql%{pg_maj_ver}-devel = %{pg_low_fullver}
-BuildRequires: postgresql%{pg_maj_ver}-server = %{pg_low_fullver}
-BuildRequires: postgresql%{pg_maj_ver}-libs = %{pg_low_fullver}
-
-Requires: postgresql%{pg_maj_ver}-server perl-DBD-Pg kaosv >= 2.16
-Requires: systemd
-
-Provides: %{name} = %{version}-%{release}
-
-################################################################################
-
-%description
-Slony-I is a "master to multiple slaves" replication system for PostgreSQL with
-cascading and failover.
-
-The big picture for the development of Slony-I is to build a master-slave system
-that includes all features and capabilities needed to replicate large databases
-to a reasonably limited number of slave systems.
-
-Slony-I is a system for data centers and backup sites, where the normal mode of
-operation is that all nodes are available.
-
-################################################################################
-
-%prep
-%{crc_check}
-
-%setup -qn %{realname}-%{version}
-
-%build
-
-CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS
-CXXFLAGS="${CXXFLAGS:-%optflags}" ; export CXXFLAGS
-CPPFLAGS="${CPPFLAGS} -I%{_includedir}/et -I%{_includedir}" ; export CPPFLAGS
-CFLAGS="${CFLAGS} -I%{_includedir}/et -I%{_includedir}" ; export CFLAGS
-
-export LIBNAME=%{_lib}
-
-%configure --prefix=%{pg_dir} \
- --includedir %{pg_dir}/include \
- --with-pgconfigdir=%{pg_dir}/bin \
- --libdir=%{pg_dir}/lib \
- --with-perltools=%{pg_dir}/bin \
- --sysconfdir=%{_sysconfdir}/%{realname}-%{pg_maj_ver} \
- --datadir=%{pg_dir}/share \
- --with-pglibdir=%{pg_dir}/lib
-
-%{__make} %{?_smp_mflags}
-%{__make} %{?_smp_mflags} -C tools
-
-%install
-rm -rf %{buildroot}
-
-%{make_install}
-
-install -dm 755 %{buildroot}%{_sysconfdir}/%{realname}-%{pg_maj_ver}
-install -pm 644 share/slon.conf-sample %{buildroot}%{_sysconfdir}/%{realname}-%{pg_maj_ver}/slon.conf
-install -pm 644 tools/altperl/slon_tools.conf-sample %{buildroot}%{_sysconfdir}/%{realname}-%{pg_maj_ver}/slon_tools.conf
-
-# Fix the log path
-sed "s:\([$]LOGDIR = '/var/log/slony1\):\1-%{pg_maj_ver}:" -i %{buildroot}%{_sysconfdir}/%{realname}-%{pg_maj_ver}/slon_tools.conf
-
-install -dm 755 %{buildroot}%{_sysconfdir}/sysconfig
-install -pm 644 %{SOURCE4} %{buildroot}%{_sysconfdir}/sysconfig/%{realname}-%{pg_maj_ver}
-
-chmod 644 COPYRIGHT UPGRADING SAMPLE RELEASE
-
-install -dm 755 %{buildroot}%{_initrddir}
-install -pm 755 %{SOURCE3} %{buildroot}%{_initrddir}/%{realname}-%{pg_maj_ver}
-
-install -dm 755 %{buildroot}%{_unitdir}
-install -pm 644 %{SOURCE5} %{buildroot}%{_unitdir}/%{realname}-%{pg_maj_ver}.service
-
-sed -i 's/{{PG_MAJOR_VERSION}}/%{pg_maj_ver}/g' %{buildroot}%{_unitdir}/%{realname}-%{pg_maj_ver}.service
-sed -i 's/{{PG_MAJOR_VERSION}}/%{pg_maj_ver}/g' %{buildroot}%{_initddir}/%{realname}-%{pg_maj_ver}
-sed -i 's/{{PG_HIGH_VERSION}}/%{pg_high_ver}/g' %{buildroot}%{_initddir}/%{realname}-%{pg_maj_ver}
-
-pushd tools
- %{make_install}
-
- rm -f %{buildroot}%{_sysconfdir}/%{realname}-%{pg_maj_ver}/slon_tools.conf-sample
- rm -f %{buildroot}%{_datadir}/pgsql/*.sql
- rm -f %{buildroot}%{_libdir}/%{realname}_funcs.so
-
- chrpath --delete %{buildroot}%{pg_dir}/bin/slonik
- chrpath --delete %{buildroot}%{pg_dir}/bin/slon
- chrpath --delete %{buildroot}%{pg_dir}/bin/slony_logshipper
- chrpath --delete %{buildroot}%{pg_dir}/lib/slony1_funcs.%{version}.so
-popd
-
-install -dm 755 %{buildroot}%{_localstatedir}/log/%{realname}-%{pg_maj_ver}
-
-%clean
-rm -rf %{buildroot}
-
-%post
-if [[ $1 -eq 1 ]] ; then
- systemctl enable %{realname}-%{pg_maj_ver}.service &>/dev/null || :
-fi
-
-%preun
-if [[ $1 -eq 0 ]] ; then
- systemctl --no-reload disable %{realname}-%{pg_maj_ver}.service &>/dev/null || :
- systemctl stop %{realname}-%{pg_maj_ver}.service &>/dev/null || :
-fi
-
-%postun
-if [[ $1 -ge 1 ]] ; then
- systemctl daemon-reload &>/dev/null || :
-fi
-
-################################################################################
-
-%files
-%defattr(-,root,root,-)
-%doc COPYRIGHT UPGRADING INSTALL SAMPLE RELEASE
-%{pg_dir}/bin/slon*
-%{pg_dir}/lib/slon*
-%{pg_dir}/share/slon*
-%dir %{_localstatedir}/log/%{realname}-%{pg_maj_ver}
-%config(noreplace) %{_sysconfdir}/sysconfig/%{realname}-%{pg_maj_ver}
-%config(noreplace) %{_sysconfdir}/%{realname}-%{pg_maj_ver}/slon.conf
-%config(noreplace) %{_sysconfdir}/%{realname}-%{pg_maj_ver}/slon_tools.conf
-%attr(755,root,root) %{_initrddir}/%{realname}-%{pg_maj_ver}
-%attr(755,root,root) %{_unitdir}/%{realname}-%{pg_maj_ver}.service
-
-################################################################################
-
-%changelog
-* Thu Sep 21 2023 Anton Novojilov - 2.2.11-0
-- Add support for PG 15
-- Remove unused autoconf check
-- Fix typo in admin guide
-
-* Thu Feb 18 2021 Anton Novojilov - 2.2.10-0
-- Remove unsupported warning with PG13
-
-* Wed May 29 2019 Anton Novojilov - 2.2.6-2
-- Improved init script
-- Improved systemd unit
-
-* Sat Jan 27 2018 Anton Novojilov - 2.2.6-1
-- Improved spec
-
-* Thu Oct 12 2017 Anton Novojilov - 2.2.6-0
-- Initial build
diff --git a/specs/postgresql-11/SOURCES/Makefile.regress b/specs/postgresql-11/SOURCES/Makefile.regress
deleted file mode 100644
index 43c7ba446..000000000
--- a/specs/postgresql-11/SOURCES/Makefile.regress
+++ /dev/null
@@ -1,67 +0,0 @@
-#
-# Simplified makefile for running the PostgreSQL regression tests
-# in an RPM installation
-#
-
-# maximum simultaneous connections for parallel tests
-MAXCONNOPT =
-ifdef MAX_CONNECTIONS
-MAXCONNOPT += --max-connections=$(MAX_CONNECTIONS)
-endif
-
-# locale
-NOLOCALE =
-ifdef NO_LOCALE
-NOLOCALE += --no-locale
-endif
-
-srcdir := .
-
-REGRESS_OPTS += --dlpath=.
-
-pg_regress_locale_flags = $(if $(ENCODING),--encoding=$(ENCODING)) $(NOLOCALE)
-
-pg_regress_installcheck = ./pg_regress --inputdir=$(srcdir) --psqldir='/usr/bin' $(pg_regress_locale_flags)
-
-# Test input and expected files. These are created by pg_regress itself, so we
-# don't have a rule to create them. We do need rules to clean them however.
-ifile_list := $(subst .source,, $(notdir $(wildcard $(srcdir)/input/*.source)))
-input_files := $(foreach file, $(ifile_list), sql/$(file).sql)
-ofile_list := $(subst .source,, $(notdir $(wildcard $(srcdir)/output/*.source)))
-output_files := $(foreach file, $(ofile_list), expected/$(file).out)
-
-abs_srcdir := $(shell pwd)
-abs_builddir := $(shell pwd)
-
-check: installcheck-parallel
-
-installcheck: cleandirs
- $(pg_regress_installcheck) $(REGRESS_OPTS) --schedule=$(srcdir)/serial_schedule $(EXTRA_TESTS)
-
-installcheck-parallel: cleandirs
- $(pg_regress_installcheck) $(REGRESS_OPTS) --schedule=$(srcdir)/parallel_schedule $(MAXCONNOPT) $(EXTRA_TESTS)
-
-# The tests command the server to write into testtablespace and results.
-# On a SELinux-enabled system this will fail unless we mark those directories
-# as writable by the server.
-cleandirs:
- -rm -rf testtablespace results
- mkdir testtablespace results
- [ -x /usr/bin/chcon ] && /usr/bin/chcon -u system_u -r object_r -t postgresql_db_t testtablespace results
-
-# old interfaces follow...
-
-runcheck: check
-runtest: installcheck
-runtest-parallel: installcheck-parallel
-
-
-##
-## Clean up
-##
-
-clean distclean maintainer-clean:
- rm -f $(output_files) $(input_files)
- rm -rf testtablespace
- rm -rf results tmp_check log
- rm -f regression.diffs regression.out regress.out run_check.out
diff --git a/specs/postgresql-11/SOURCES/README.rpm-dist b/specs/postgresql-11/SOURCES/README.rpm-dist
deleted file mode 100644
index e32b0777b..000000000
--- a/specs/postgresql-11/SOURCES/README.rpm-dist
+++ /dev/null
@@ -1,353 +0,0 @@
-README.rpm-dist
------------------------------------------------------------------------------
-Version 11, for the PostgreSQL 11 RPM set.
-Devrim Gündüz
------------------------------------------------------------------------------
-
-Contents:
- 1.) Introduction and QuickStart
- 2.) Upgrading an installation
- 3.) PostgreSQL RPM packages and rationale
- 4.) Starting multiple postmasters
- 5.) Regression Testing
- 6.) Starting postmaster automatically on startup
- 7.) Grand Unified Configuration(GUC) File
- 8.) Logging set up
- 9.) Rebuilding from the source RPM
-10.) Contrib files
-11.) Further Information Resource
-
-INTRODUCTION
------------------------------------------------------------------------------
-This document exists to explain the layout of the RPMs for PostgreSQL, to
-describe various RPM specifics, and to document special features found
-in the RPMset.
-
-This document is written to be applicable to version 11 of PostgreSQL,
-which is the current version of the RPMs as of this writing. More to the
-point, versions prior to 11 are not documented here.
-
-Official PostgreSQL Global Development Group RPMs carry a 'PGDG after the
-release number. Other RPMsets as distributed with Linux distributions may
-have a different release number and initials.
-
-If you want to stay up-to-date on the PostgreSQL core itself, you may
-want to use PGDG set, instead of the binaries supplied by distribution.
-
-These RPMs do not support any sort of major version upgrading process
-other than that documented in the regular documentation. That is, you
-must dump, upgrade, initdb, and restore your data if you are
-performing a major version update. This is not needed for minor version
-updates.
-
-QUICKSTART (note that this requires postgresql11-server installed)
------------------------------------------------------------------------------
-For a fresh installation, you will need to initialize the cluster first. Run:
-
- /usr/pgsql-11/bin/postgresql11-setup initdb
-
-as root, and it will prepare a new database cluster for you. Then you will
-need to start PostgreSQL. Again as root, run:
-
- systemctl start postgresql-11.service
-
-You will probably also want to do
-
- systemctl enable postgresql-11.service
-
-so that the postmaster is automatically started during future reboots.
-
-These commands will start a postmaster that will listen on localhost and Unix
-socket 5432 only. Edit /var/lib/pgsql/11/data/postgresql.conf and pg_hba.conf
-if you want to allow remote access -- see the section on Grand Unified
-Configuration.
-
-The file /var/lib/pgsql/11/.bash_profile is packaged to help with the
-setting of environment variables. Users should not edit this file, because
-it may be overwritten during every new installation. However, you can create
-~/.pgsql_profile file, and add your customizations there.
-
-The user 'postgres' is created during installation of the server subpackage.
-This user by default is UID and GID 26. The user has the default shell set to
-bash, and the home directory set to /var/lib/pgsql. This user also has no
-default password. If you want to be able to su to it from a non-root account
-or login as 'postgres' you will need to set a password using passwd.
-
-In the default installation, only postgres user is allowed to access to
-the database server, because initdb in the RPMs pick up "peer" auth
-method in the RPMs.
-
-All the binaries are installed under /usr/pgsql-11/bin. However, the
-tools that are compatible with the previous releases are symlinked under
-/usr/bin directory. Please note that RPMs are using alternatives method
-in here, so whenever a newer major version is installed, symlinks will
-point to the new version. Here is the current list of the binaries that
-are under $PATH:
-
-- clusterdb
-- createdb
-- createlang
-- createuser
-- dropdb
-- droplang
-- dropuser
-- pg_dump
-- pg_dumpall
-- pg_restore
-- psql
-- reindexdb
-
-You may want to add /usr/pgsql-11/bin to your $PATH variable in
-/etc/profile, if you want to use them easily. However, please note that
-this may lead to some unintentional side effects, so be careful.
-
-
-UPGRADING AN INSTALLATION
------------------------------------------------------------------------------
-For a minor-version upgrade (such as 11.1 to 11.2), just install the
-new RPMs; there's usually nothing more to it than that. Upgrading
-across a major release of PostgreSQL (for example, from 9.2.x to 11.x)
-requires more effort.
-
-If you are upgrading across more than one major release of PostgreSQL
-(for example, from 9.1.x to 11.x), you will need to follow the "traditional"
-dump and reload process to bring your data into the new version. That is:
-*before* upgrading, run pg_dumpall to extract all your data into a SQL file.
-Shut down the old postmaster, upgrade to the new version RPMs, initdb,
-and run the dump file through psql to restore your data.
-
-In 9.1+, the RPMs also support in-place upgrade from the immediately
-previous major release. Currently, you can upgrade in-place
-from 9.2.x to 11.x. Just run:
-$ /usr/pgsql-11/bin/postgresql11-setup upgrade
-
-Please note that 9.2 and 11 contrib RPMs needs to be installed for this
-feature to work.
-
-POSTGRESQL RPM PACKAGES AND RATIONALE.
------------------------------------------------------------------------------
-PostgreSQL is split up into multiple packages so that users can 'pick and
-choose' what pieces are needed, and what dependencies are required.
-
-The RPMset is packaged in the following subpackages:
-
-postgresql11: Key clients and libraries, and documentation
-postgresql11-server: Server executables and data files
-postgresql11-devel: Development libraries and include files
-postgresql11-test: The regression tests and associated files
-postgresql11-libs: Client shared libraries
-postgresql11-docs: Extra documentation, such as the tutorial files
-postgresql11-contrib: The contrib source tree, as well as selected binaries
-postgresql11-plperl: PL/Perl procedural language
-postgresql11-plpython: PL/Python procedural language
-postgresql11-pltcl: PL/Tcl procedural language
-
-postgresql11-jdbc, postgresql11-python, postgresql11-tcl and postgresql11-odbc have
-been splitted into seperate (s)rpms.
-
-You have to install postgresql and postgresql11-libs to do anything.
-postgresql11-server is needed unless you only plan to use the clients to work
-with a remote PostgreSQL server. The others are optional.
-
-postgresql11-python package includes PyGreSQL, and Pgtcl is distributed
-via postgresql11-tcl package.
-
-RPM FILE LOCATIONS.
------------------------------------------------------------------------------
-To be in compliance with the Linux FHS, the PostgreSQL RPMs install files in
-a manner not consistent with most of the PostgreSQL documentation. According
-to the standard PostgreSQL documentation, PostgreSQL is installed under the
-directory /usr/local/pgsql, with executables, source, and data existing in
-various subdirectories.
-
-Different distributions have different ideas of some of these file locations.
-In particular, the documentation directory can be /usr/doc, /usr/doc/packages,
-/usr/share/doc, /usr/share/doc/packages, or some other similar path.
-
-However, the Red Hat / Scientific Linux ( CentOS / Fedora RPM's install
-the files like this:
-
-Executables: /usr/bin and /usr/pgsql-11/bin
-Libraries: /usr/pgsql-11/lib
-Documentation: /usr/pgsql-11/doc
-Contrib documentation: /usr/pgsql-11/doc
-Source: not installed
-Data: /var/lib/pgsql/11/data
-Backup area: /var/lib/pgsql/11/backups
-Templates: /usr/pgsql-11/share
-Procedural Languages: /usr/pgsql-11/lib
-Development Headers: /usr/pgsql-11/include
-Other shared data: /usr/pgsql-11/share
-Regression tests: /usr/pgsql-11/lib/test
-
-While it may seem gratuitous to place these files in different locations, the
-FHS requires it -- distributions should not ever touch /usr/local. It may
-also seem like more work to keep track of where everything is -- but, that's
-the beauty of RPM -- you don't have to keep track of the files, RPM does it
-for you.
-
-These RPMs are designed to be LSB-compliant -- if you find this not to be the
-case, please let us know by way of the pgsql-pkg-yum@postgresql.org
-mailing list.
-
--------------------------------------------------------------------------------
-MULTIPLE POSTMASTERS (For the same PostgreSQL version)
--------------------------------------------------------------------------------
-The postgresql-server RPM contains a 'unit file' that is used to start the
-postmaster. The current version of this script has logic to be able to start
-multiple postmasters, with different data areas, listening on different ports,
-etc. To use this functionality requires root access.
-
-Here are the steps:
-
-1.) First, you will need to create a new unit file for the new cluster.
- You can give any name in here. To distinguish the cluster, you can
- add the service name or port value to the unit file name:
-
- cp /lib/systemd/system/postgresql-11.service /etc/systemd/system/postgresql-11-secondary.service
-
-2.) Edit this file, and change PGDATA. Please note that you can give
- any directory name in here that postgres can access. You don't
- have to create this directory now, it will be created in the next step:
-
- Environment=PGDATA=/var/lib/pgsql/11/data-secondary
-
-3.) Initialize the cluster:
-
- /usr/pgsql-11/bin/postgresql11-setup initdb postgresql-11-secondary
-
-4.) Edit postgresql.conf to change the port, address, tcpip settings, etc.
-
-5.) Start the postmaster with 'systemctl start postgresql-11-secondary.service'
-
-When doing a major-version upgrade of a secondary postmaster, mention the
-service name in the postgresql11-setup command, for example 'postgresql11-setup
-upgrade secondary'. This will let postgresql11-setup find the correct data
-directory from the service file.
-
-REGRESSION TESTING
--------------------------------------------------------------------------------
-If you install the postgresql-test RPM then you can run the PostgreSQL
-regression tests. These tests stress your database installation and produce
-results that give you assurances that the installation is complete, and that
-your database machine is up to the task.
-
-To run the regression tests under the RPM installation, make sure that the
-postmaster has been started (if not, su to root and do "systemctl start
-postgresql-11.service"), cd to /usr/pgsql-11/lib/test/regress, su to
-postgres, and execute "make check". This command will start the
-regression tests and will both show the results to the screen and store
-the results in the file regress.out.
-
-If any tests fail, see the file regression.diffs in that directory for details,
-and read the "Regression Tests" section of the PostgreSQL documentation to
-find out whether the differences are actually significant. If you need help
-interpreting the results, contact the pgsql-general list at
-postgresql.org.
-
-After testing, say "make clean" to remove the files generated by the test
-script.
-
-STARTING POSTMASTER AUTOMATICALLY AT SYSTEM STARTUP
--------------------------------------------------------------------------------
-Fedora / Red Hat / CentOS use the systemd package to manage server startup.
-A systemd unit file for PostgreSQL is provided in the server package, as
-/lib/systemd/system/postgresql-11.service. To start the postmaster manually,
-as root run
- systemctl start postgresql-11.service
-To shut the postmaster down,
- systemctl stop postgresql-11.service
-These two commands only change the postmaster's current status. If you
-want the postmaster to be started automatically during future system startups,
-run
- systemctl enable postgresql-11.service
-To undo that again,
- systemctl disable postgresql-11.service
-See "man systemctl" for other possible subcommands.
-
-GRAND UNIFIED CONFIGURATION (GUC) FILE
--------------------------------------------------------------------------------
-The PostgreSQL server has many tunable parameters -- the file
-/var/lib/pgsql/11/data/postgresql.conf is the master configuration file for the
-whole system.
-
-The RPM ships with a mostly-default file -- you will need to tune the
-parameters for your installation. In particular, you might want to allow
-nonlocal TCP/IP socket connections -- in order to allow these, you will need
-to edit the postgresql.conf file. The line in question contains the string
-'listen_addresses' -- you need to both uncomment the line and set the value
-to '*' to get the postmaster to accept nonlocal connections. You'll also need
-to adjust pg_hba.conf appropriately.
-
-LOGGING SET UP
--------------------------------------------------------------------------------
-By default, the postmaster's stderr log is directed into files placed in a
-log subdirectory of the data directory (ie, /var/lib/pgsql/11/data/log).
-The out-of-the-box configuration rotates among seven files, one for each
-day of the week. You can adjust this by changing postgresql.conf settings.
-
-REBUILDING FROM SOURCE RPM
--------------------------------------------------------------------------------
-If your distribution is not supported by the binary RPMs from PostgreSQL.org,
-you will need to rebuild from the source RPM. Download the .src.rpm for this
-release. You will need to be root to rebuild, unless you have set up
-a non-root build environment (which is the recommended method anyway).
-
-Install the source RPM with rpm -i, then cd to the rpm building area
-(which is /usr/src/redhat by default). You will have to have a full
-development environment to rebuild the full RPM set.
-
-This release of the RPMset includes the ability to conditionally build
-sets of packages. The parameters, their defaults, and the meanings are:
-
-beta 0 #build with cassert and do not strip the binaries
-python 1 #build the postgresql-python package.
-tcl 1 #build the postgresql-tcl package.
-test 1 #build the postgresql-test package.
-plpython 1 #build the PL/Python procedural language package.
-pltcl 1 #build the PL/Tcl procedural language package.
-plperl 1 #build the PL/Perl procedural language package.
-ssl 1 #use OpenSSL support.
-kerberos 1 #use Kerberos 5 support.
-nls 1 #build with national language support.
-ldap 1 #build with LDAP support.
-pam 1 #build with PAM support.
-runselftest 1 #do "make check" during the build.
-sdt 1 #build with SystemTap support.
-xml 1 #build with XML support
-pgfts 1 #build with --enable-thread-safety
-uuid 1 #build contrib/uuid-ossp
-
-To use these defines, invoke a rebuild like this:
-rpmbuild --rebuild --define 'python 0' --define 'tcl 0' \
- --define 'test 0' --define 'runselftest 0' --define 'kerberos 0' \
- postgresql11-11.3-1PGDG.rhel7.src.rpm
-This line would disable the python, tcl, and test subpackages, disable
-the regression test run during build, and disable kerberos support.
-
-You might need to disable runselftest if there is an installed version of
-PostgreSQL that is a different major version from what you are trying to
-build. The self test tends to pick up the installed libpq.so shared library
-in place of the one being built :-(, so if that isn't compatible the test will
-fail. Also, you can't use runselftest when doing the build as root.
-
-More of these conditionals will be added in the future.
-
-CONTRIB FILES
--------------------------------------------------------------------------------
-The contents of the contrib tree are packaged into the -contrib subpackage
-and are processed with make and make install. Most of the modules are in
-/usr/pgsql-11/lib for loadable modules, and binaries are in
-/usr/pgsql-11/bin. In the future these files may be split out,
-depending upon function and dependencies.
-
-
-MORE INFORMATION
--------------------------------------------------------------------------------
-You can get more information at http://www.postgresql.org and
-https://yum.postgresql.org
-
-Please help make this packaging better -- let us know if you find problems, or
-better ways of doing things. You can reach us by e-mail at
-pgsql-pkg-yum@postgresql.org
--------------------------------------------------------------------------------
diff --git a/specs/postgresql-11/SOURCES/bash_profile b/specs/postgresql-11/SOURCES/bash_profile
deleted file mode 100644
index d05024928..000000000
--- a/specs/postgresql-11/SOURCES/bash_profile
+++ /dev/null
@@ -1,12 +0,0 @@
-if [[ -f /etc/profile ]] ; then
- source /etc/profile
-fi
-
-export PGDATA={{PGDATA}}
-
-# If you want to customize your settings use the file below.
-# This file is not overridden by PostgreSQL packages.
-
-if [[ -f /var/lib/pgsql/.pgsql_profile ]] ; then
- source /var/lib/pgsql/.pgsql_profile
-fi
diff --git a/specs/postgresql-11/SOURCES/ecpg_config.h b/specs/postgresql-11/SOURCES/ecpg_config.h
deleted file mode 100644
index 6fecfcb51..000000000
--- a/specs/postgresql-11/SOURCES/ecpg_config.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Kluge to support multilib installation of both 32- and 64-bit RPMS:
- * we need to arrange that header files that appear in both RPMs are
- * identical. Hence, this file is architecture-independent and calls
- * in an arch-dependent file that will appear in just one RPM.
- *
- * To avoid breaking arches not explicitly supported by Red Hat, we
- * use this indirection file *only* on known multilib arches.
- *
- * Note: this may well fail if user tries to use gcc's -I- option.
- * But that option is deprecated anyway.
- */
-#if defined(__x86_64__)
-#include "ecpg_config_x86_64.h"
-#elif defined(__i386__)
-#include "ecpg_config_i386.h"
-#elif defined(__ppc64__) || defined(__powerpc64__)
-#include "ecpg_config_ppc64.h"
-#elif defined(__ppc__) || defined(__powerpc__)
-#include "ecpg_config_ppc.h"
-#elif defined(__s390x__)
-#include "ecpg_config_s390x.h"
-#elif defined(__s390__)
-#include "ecpg_config_s390.h"
-#elif defined(__sparc__) && defined(__arch64__)
-#include "ecpg_config_sparc64.h"
-#elif defined(__sparc__)
-#include "ecpg_config_sparc.h"
-#endif
diff --git a/specs/postgresql-11/SOURCES/filter-requires-perl-Pg.sh b/specs/postgresql-11/SOURCES/filter-requires-perl-Pg.sh
deleted file mode 100755
index f37557f2d..000000000
--- a/specs/postgresql-11/SOURCES/filter-requires-perl-Pg.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-/usr/lib/rpm/perl.req $* | grep -v 'perl(Pg'
diff --git a/specs/postgresql-11/SOURCES/pg_comparator-Makefile.patch b/specs/postgresql-11/SOURCES/pg_comparator-Makefile.patch
deleted file mode 100644
index b73120521..000000000
--- a/specs/postgresql-11/SOURCES/pg_comparator-Makefile.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -urN pg_comparator-2.3.1-orig/Makefile pg_comparator-2.3.1/Makefile
---- pg_comparator-2.3.1-orig/Makefile 2017-09-18 00:42:12.653308101 +0200
-+++ pg_comparator-2.3.1/Makefile 2017-09-18 00:42:46.000000000 +0200
-@@ -16,7 +16,7 @@
- EXTRA_CLEAN = $(name).1 $(name).html pod2htm?.tmp $(EXTENSION).control
-
- # get postgresql extension infrastructure
--PG_CONFIG = pg_config
-+PG_CONFIG ?= pg_config
- PGXS := $(shell $(PG_CONFIG) --pgxs)
- include $(PGXS)
-
diff --git a/specs/postgresql-11/SOURCES/pg_config.h b/specs/postgresql-11/SOURCES/pg_config.h
deleted file mode 100644
index 97ef2baa0..000000000
--- a/specs/postgresql-11/SOURCES/pg_config.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Kluge to support multilib installation of both 32- and 64-bit RPMS:
- * we need to arrange that header files that appear in both RPMs are
- * identical. Hence, this file is architecture-independent and calls
- * in an arch-dependent file that will appear in just one RPM.
- *
- * To avoid breaking arches not explicitly supported by Red Hat, we
- * use this indirection file *only* on known multilib arches.
- *
- * Note: this may well fail if user tries to use gcc's -I- option.
- * But that option is deprecated anyway.
- */
-#if defined(__x86_64__)
-#include "pg_config_x86_64.h"
-#elif defined(__i386__)
-#include "pg_config_i386.h"
-#elif defined(__ppc64__) || defined(__powerpc64__)
-#include "pg_config_ppc64.h"
-#elif defined(__ppc__) || defined(__powerpc__)
-#include "pg_config_ppc.h"
-#elif defined(__s390x__)
-#include "pg_config_s390x.h"
-#elif defined(__s390__)
-#include "pg_config_s390.h"
-#elif defined(__sparc__) && defined(__arch64__)
-#include "pg_config_sparc64.h"
-#elif defined(__sparc__)
-#include "pg_config_sparc.h"
-#endif
diff --git a/specs/postgresql-11/SOURCES/postgis24-gdalfpic.patch b/specs/postgresql-11/SOURCES/postgis24-gdalfpic.patch
deleted file mode 100644
index 378c10ad0..000000000
--- a/specs/postgresql-11/SOURCES/postgis24-gdalfpic.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- configure.old 2017-05-28 09:41:00.123550140 +0300
-+++ configure 2017-05-28 09:41:15.925586108 +0300
-@@ -17171,7 +17171,7 @@
- LIBGDAL_CFLAGS=`$GDAL_CONFIG --cflags`
-
- CPPFLAGS_SAVE="$CPPFLAGS"
-- CPPFLAGS="$LIBGDAL_CFLAGS"
-+ CPPFLAGS="$LIBGDAL_CFLAGS -fPIC"
- CFLAGS_SAVE="$CFLAGS"
- CFLAGS=""
- LIBS_SAVE="$LIBS"
diff --git a/specs/postgresql-11/SOURCES/postgis24-llvm.patch b/specs/postgresql-11/SOURCES/postgis24-llvm.patch
deleted file mode 100644
index f0ab1dc9f..000000000
--- a/specs/postgresql-11/SOURCES/postgis24-llvm.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -urN postgis-2.4.5-orig/raster/rt_pg/Makefile.in postgis-2.4.5/raster/rt_pg/Makefile.in
---- postgis-2.4.5-orig/raster/rt_pg/Makefile.in 2018-09-12 19:46:37.000000000 +0300
-+++ postgis-2.4.5/raster/rt_pg/Makefile.in 2018-11-18 02:30:14.000000000 +0300
-@@ -66,7 +66,7 @@
- LIBPROJ_CFLAGS=@PROJ_CPPFLAGS@
-
- override CFLAGS := $(LIBLWGEOM_CFLAGS) @CFLAGS@
--PG_CPPFLAGS+= @CPPFLAGS@ $(LIBGDAL_CFLAGS) $(LIBPGCOMMON_CFLAGS) $(LIBPROJ_CFLAGS) -I../rt_core
-+ PG_CPPFLAGS+= @CPPFLAGS@ $(LIBGDAL_CFLAGS) $(LIBLWGEOM_CFLAGS) $(LIBPGCOMMON_CFLAGS) $(LIBPROJ_CFLAGS) -I../rt_core
- SHLIB_LINK_F = ../rt_core/librtcore.a $(LIBLWGEOM_LDFLAGS) $(LIBPGCOMMON_LDFLAGS) $(LIBGDAL_LDFLAGS) @SHLIB_LINK@
-
- # Extra files to remove during 'make clean'
diff --git a/specs/postgresql-11/SOURCES/postgis25-gdalfpic.patch b/specs/postgresql-11/SOURCES/postgis25-gdalfpic.patch
deleted file mode 100644
index 15a0687d9..000000000
--- a/specs/postgresql-11/SOURCES/postgis25-gdalfpic.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- configure.old 2017-05-28 09:41:00.123550140 +0300
-+++ configure 2017-05-28 09:41:15.925586108 +0300
-@@ -17171,7 +17171,7 @@
- LIBGDAL_CFLAGS=`$GDAL_CONFIG --cflags`
-
- CPPFLAGS_SAVE="$CPPFLAGS"
-- CPPFLAGS="$LIBGDAL_CFLAGS"
-+ CPPFLAGS="$LIBGDAL_CFLAGS -fPIC"
- CFLAGS_SAVE="$CFLAGS"
- CFLAGS=`"$PG_CONFIG" --cflags`
- CC_SAVE="$CC"
diff --git a/specs/postgresql-11/SOURCES/postgresql-11-libs.conf b/specs/postgresql-11/SOURCES/postgresql-11-libs.conf
deleted file mode 100644
index ddbe2d617..000000000
--- a/specs/postgresql-11/SOURCES/postgresql-11-libs.conf
+++ /dev/null
@@ -1 +0,0 @@
-/usr/pgsql-11/lib/
diff --git a/specs/postgresql-11/SOURCES/postgresql-logging.patch b/specs/postgresql-11/SOURCES/postgresql-logging.patch
deleted file mode 100644
index f01d3af97..000000000
--- a/specs/postgresql-11/SOURCES/postgresql-logging.patch
+++ /dev/null
@@ -1,54 +0,0 @@
---- src/backend/utils/misc/postgresql.conf.sample.old 2018-06-27 00:25:50.289570862 +0100
-+++ src/backend/utils/misc/postgresql.conf.sample 2018-06-27 00:26:02.151635283 +0100
-@@ -359,25 +359,25 @@
-
- # - Where to Log -
-
--#log_destination = 'stderr' # Valid values are combinations of
-+log_destination = 'stderr' # Valid values are combinations of
- # stderr, csvlog, syslog, and eventlog,
- # depending on platform. csvlog
- # requires logging_collector to be on.
-
- # This is used when logging to stderr:
--#logging_collector = off # Enable capturing of stderr and csvlog
-+logging_collector = on # Enable capturing of stderr and csvlog
- # into log files. Required to be on for
- # csvlogs.
- # (change requires restart)
-
- # These are only used if logging_collector is on:
--#log_directory = 'log' # directory where log files are written,
-+log_directory = 'log' # directory where log files are written,
- # can be absolute or relative to PGDATA
--#log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log' # log file name pattern,
-+log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log' # log file name pattern,
- # can include strftime() escapes
- #log_file_mode = 0600 # creation mode for log files,
- # begin with 0 to use octal notation
--#log_truncate_on_rotation = off # If on, an existing log file with the
-+log_truncate_on_rotation = on # If on, an existing log file with the
- # same name as the new log file will be
- # truncated rather than appended to.
- # But such truncation only occurs on
-@@ -385,9 +385,9 @@
- # or size-driven rotation. Default is
- # off, meaning append to existing files
- # in all cases.
--#log_rotation_age = 1d # Automatic rotation of logfiles will
-+log_rotation_age = 1d # Automatic rotation of logfiles will
- # happen after that time. 0 disables.
--#log_rotation_size = 10MB # Automatic rotation of logfiles will
-+log_rotation_size = 0 # Automatic rotation of logfiles will
- # happen after that much log output.
- # 0 disables.
-
-@@ -460,7 +460,7 @@
- #log_duration = off
- #log_error_verbosity = default # terse, default, or verbose messages
- #log_hostname = off
--#log_line_prefix = '%m [%p] ' # special values:
-+log_line_prefix = '%m [%p] ' # special values:
- # %a = application name
- # %u = user name
- # %d = database name
diff --git a/specs/postgresql-11/SOURCES/postgresql-perl-rpath.patch b/specs/postgresql-11/SOURCES/postgresql-perl-rpath.patch
deleted file mode 100644
index 5ca28f5cf..000000000
--- a/specs/postgresql-11/SOURCES/postgresql-perl-rpath.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- src/pl/plperl/GNUmakefile.old 2018-06-27 00:27:01.614958217 +0100
-+++ src/pl/plperl/GNUmakefile 2018-06-27 00:27:15.660034493 +0100
-@@ -54,6 +54,9 @@
-
- SHLIB_LINK = $(perl_embed_ldflags)
-
-+# Force rpath to be used even though we disable it everywhere else
-+SHLIB_LINK += $(rpath)
-+
- REGRESS_OPTS = --dbname=$(PL_TESTDB) --load-extension=plperl --load-extension=plperlu
- REGRESS = plperl plperl_lc plperl_trigger plperl_shared plperl_elog plperl_util plperl_init plperlu plperl_array plperl_call plperl_transaction
- # if Perl can support two interpreters in one backend,
diff --git a/specs/postgresql-11/SOURCES/postgresql-tmpfiles.d.conf b/specs/postgresql-11/SOURCES/postgresql-tmpfiles.d.conf
deleted file mode 100644
index 6c48e34ed..000000000
--- a/specs/postgresql-11/SOURCES/postgresql-tmpfiles.d.conf
+++ /dev/null
@@ -1 +0,0 @@
-d /run/postgresql 0755 postgres postgres -
diff --git a/specs/postgresql-11/SOURCES/postgresql-var-run-socket.patch b/specs/postgresql-11/SOURCES/postgresql-var-run-socket.patch
deleted file mode 100644
index d0e41f64a..000000000
--- a/specs/postgresql-11/SOURCES/postgresql-var-run-socket.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-Change the built-in default socket directory to be /var/run/postgresql.
-For backwards compatibility with (probably non-libpq-based) clients that
-might still expect to find the socket in /tmp, also create a socket in
-/tmp. This is to resolve communication problems with clients operating
-under systemd's PrivateTmp environment, which won't be using the same
-global /tmp directory as the server; see bug #825448.
-
-Note that we apply the socket directory change at the level of the
-hard-wired defaults in the C code, not by just twiddling the setting in
-postgresql.conf.sample; this is so that the change will take effect on
-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.)
-
---- src/backend/utils/misc/guc.c.old 2018-03-11 21:29:26.190708175 +0000
-+++ src/backend/utils/misc/guc.c 2018-03-11 21:29:55.083851034 +0000
-@@ -3465,7 +3465,7 @@
- },
- &Unix_socket_directories,
- #ifdef HAVE_UNIX_SOCKETS
-- DEFAULT_PGSOCKET_DIR,
-+ DEFAULT_PGSOCKET_DIR ", /tmp",
- #else
- "",
- #endif
---- src/bin/initdb/initdb.c.old 2018-03-11 21:30:10.752928508 +0000
-+++ src/bin/initdb/initdb.c 2018-03-11 21:30:30.605026665 +0000
-@@ -1051,7 +1051,7 @@
-
- #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
---- src/include/pg_config_manual.h.old 2018-03-11 21:30:50.401124544 +0000
-+++ src/include/pg_config_manual.h 2018-03-11 21:31:08.775215393 +0000
-@@ -177,7 +177,7 @@
- * here's where to twiddle it. You can also override this at runtime
- * with the postmaster's -k switch.
- */
--#define DEFAULT_PGSOCKET_DIR "/tmp"
-+#define DEFAULT_PGSOCKET_DIR "/var/run/postgresql"
-
- /*
- * This is the default event source for Windows event log.
diff --git a/specs/postgresql-11/SOURCES/postgresql.init b/specs/postgresql-11/SOURCES/postgresql.init
deleted file mode 100644
index dea4cb9de..000000000
--- a/specs/postgresql-11/SOURCES/postgresql.init
+++ /dev/null
@@ -1,249 +0,0 @@
-#!/bin/bash
-
-# postgresql This is the init script for starting up the PostgreSQL {{MAJOR_VERSION}}
-# server.
-#
-# chkconfig: - 64 36
-# description: PostgreSQL database server.
-# processname: postmaster
-
-###############################################################################
-
-source /etc/init.d/kaosv
-
-###############################################################################
-
-kv.require "2.16"
-
-###############################################################################
-
-INIT_DIR="/etc/init.d"
-
-###############################################################################
-
-VERSION="{{VERSION}}"
-MAJOR_VERSION="{{MAJOR_VERSION}}"
-PKG_VERSION="{{PKG_VERSION}}"
-PREV_VERSION="{{PREV_VERSION}}"
-USER_NAME="{{USER_NAME}}"
-GROUP_NAME="{{GROUP_NAME}}"
-
-###############################################################################
-
-short_name="pgsql"
-
-kv[prog_name]="postgresql-${PKG_VERSION}"
-
-kv.readSysconfig "postgresql-${MAJOR_VERSION}"
-
-kv[lock_file]="${kv[lock_dir]}/postgresql${PKG_VERSION}"
-kv[pid_file]="${kv[pid_dir]}/postgresql${PKG_VERSION}.pid"
-
-pg_engine="${PG_ENGINE:-/usr/${short_name}-${MAJOR_VERSION}/bin}"
-pg_postmaster="${PG_POSTMASTER:-${pg_engine}/postmaster}"
-pg_data="${PG_DATA:-/var/lib/${short_name}/${MAJOR_VERSION}/data}"
-pg_log="${PG_LOG:-/var/lib/${short_name}/${MAJOR_VERSION}/pgstartup.log}"
-pg_socket_dir="${PG_SOCKET_DIR:-/var/run/postgresql}"
-timeout="${TIMEOUT:-300}"
-disable_auto_numa="${DISABLE_AUTO_NUMA}"
-
-pg_ctl="$pg_engine/pg_ctl"
-pg_initdb="$pg_engine/initdb"
-
-export pg_data
-
-kv[user]="$USER_NAME"
-kv[search_pattern]="$pg_engine"
-
-kv[oom_adj]="$OOM_DISABLE"
-
-###############################################################################
-
-kv.addCommand "initdb" "Init new database" "initdb"
-kv.addCommand "reload" "Reload configuration files" "reload"
-
-kv.addHandler "start" "startServiceHandler"
-kv.addHandler "start" "preStartServiceHandler" "pre"
-kv.addHandler "stop" "stopServiceHandler"
-
-kv.addCommandArgs "stop" "force"
-kv.addCommandArgs "initdb" "locale"
-
-kv.disableOutputRedirect "start" "pre"
-
-###############################################################################
-
-preStartServiceHandler() {
- [[ ! -f "$pg_postmaster" ]] && return $ACTION_ERROR
- [[ ! -x "$pg_postmaster" ]] && return $ACTION_ERROR
-
- createLog || return $ACTION_ERROR
- checkData || return $ACTION_ERROR
- makeSocketDir || return $ACTION_ERROR
-
- return $ACTION_OK
-}
-
-startServiceHandler() {
- kv[log]="$pg_log"
-
- export PG_OOM_ADJUST_FILE=/proc/self/oom_score_adj
- export PG_OOM_ADJUST_VALUE=0
-
- if [[ -n "$disable_auto_numa" || $(getNumaNodesCount) == "1" ]] ; then
- kv.run "$pg_ctl" start -D "$pg_data" -s -w -t "$timeout"
- else
- kv.run numactl --interleave=all "$pg_ctl" start -D "$pg_data" -s -w -t "$timeout"
- fi
-
- [[ $? -ne 0 ]] && return $ACTION_ERROR
-
- if kv.getStartStatus "$pg_data/postmaster.pid" true ; then
- local pid=$(head -1 "$pg_data/postmaster.pid" 2>/dev/null)
-
- kv.createPid "$pid"
-
- return $ACTION_OK
- fi
-
- return $ACTION_ERROR
-}
-
-stopServiceHandler() {
- local pid=$(kv.getPid)
-
- kv.run "$pg_ctl" stop -D "$pg_data" -s -m fast
-
- if kv.getStopStatus ; then
- return $ACTION_OK
- else
- if [[ "$1" == "true" || "$1" == "force" ]] ; then
- kv.killProcess
- return $ACTION_FORCED
- else
- return $ACTION_ERROR
- fi
- fi
-}
-
-initdb() {
- if [[ -f "$pg_data/PG_VERSION" ]] ; then
- kv.error "Error! Data directory is not empty." $ACTION_ERROR
- fi
-
- kv.showProcessMessage "Initializing database"
-
- initNewDB $@
-
- local status=$?
-
- kv.showStatusMessage "$status"
-
- return $status
-}
-
-reload() {
- kv.showProcessMessage "Reloading configuration"
-
- kv.run "$pg_ctl" reload -D "$pg_data" -s
-
- local status=$?
-
- kv.showStatusMessage "$status"
-
- return $status
-}
-
-###############################################################################
-
-initNewDB() {
- kv[log]="$pg_log"
-
- local loc="$1"
-
- [[ -z "$loc" ]] && loc=$(getLocale)
-
- if [[ ! -e "$pg_data" && ! -h "$pg_data" ]] ; then
- mkdir -p "$pg_data" || return $ACTION_ERROR
- kv.chown "$USER_NAME:$GROUP_NAME" "$pg_data"
- kv.chmod go-rwx "$pg_data"
- fi
-
- kv.restoreSEContext "$pg_data"
-
- createLog || return $ACTION_ERROR
-
- kv.run "$pg_initdb" --pgdata="$pg_data" --auth="ident" --locale="$loc"
-
- mkdir "$pg_data/pg_log"
- kv.chown "$USER_NAME:$GROUP_NAME" "$pg_data/pg_log"
- kv.chmod go-rwx "$pg_data/pg_log"
-
- if [[ -f "$pg_data/PG_VERSION" ]] ; then
- return $ACTION_OK
- fi
-
- return $ACTION_ERROR
-}
-
-getLocale() {
- local lang=$(locale | head -1 | cut -f2 -d= | sed 's/"//g')
-
- if [[ -n "$lang" ]] ; then
- echo "$lang"
- else
- echo "en_US.UTF-8"
- fi
-}
-
-getNumaNodesCount() {
- if [[ ! -x /usr/bin/numactl ]] ; then
- echo 1
- fi
-
- numactl --hardware | head -1 | cut -f2 -d' '
-}
-
-###############################################################################
-
-checkData() {
- if [[ -f "$pg_data/PG_VERSION" && -d "$pg_data/base" ]] ; then
- if [[ $(cat "$pg_data/PG_VERSION") != "$MAJOR_VERSION" ]] ; then
- local docdir="(Your System's documentation directory)"
-
- [[ -d "/usr/doc/postgresql-$VERSION" ]] && docdir=/usr/doc
- [[ -d "/usr/share/doc/postgresql-$VERSION" ]] && docdir=/usr/share/doc
- [[ -d "/usr/doc/packages/postgresql-$VERSION" ]] && docdir=/usr/doc/packages
- [[ -d "/usr/share/doc/packages/postgresql-$VERSION" ]] && docdir=/usr/share/doc/packages
-
- kv.show "An old version of the database format was found."
- kv.show "You need to upgrade the data format before using PostgreSQL."
- kv.show "See $docdir/postgresql-$VERSION/README.rpm-dist for more information."
-
- return $ACTION_ERROR
- fi
- else
- kv.show "Directory <$pg_data> is missing. Use ${CL_BOLD}service ${kv[script]} initdb${CL_NORM} to initialize the cluster first."
- return $ACTION_ERROR
- fi
-}
-
-createLog() {
- if [[ ! -e "$pg_log" && ! -h "$pg_log" ]] ; then
- touch "$pg_log" || return 1
- kv.chown "$USER_NAME:$GROUP_NAME" "$pg_log"
- kv.chmod go-rwx "$pg_log"
- kv.restoreSEContext "$pg_log"
- fi
-}
-
-makeSocketDir() {
- if [[ ! -e "$pg_socket_dir" ]] ; then
- mkdir "$pg_socket_dir" || return $ACTION_ERROR
- kv.chown "$USER_NAME:$GROUP_NAME" "$pg_socket_dir" || return $ACTION_ERROR
- fi
-}
-
-###############################################################################
-
-kv.go $@
diff --git a/specs/postgresql-11/SOURCES/postgresql.pam b/specs/postgresql-11/SOURCES/postgresql.pam
deleted file mode 100644
index 1d785946d..000000000
--- a/specs/postgresql-11/SOURCES/postgresql.pam
+++ /dev/null
@@ -1,3 +0,0 @@
-#%PAM-1.0
-auth include password-auth
-account include password-auth
diff --git a/specs/postgresql-11/SOURCES/postgresql.service b/specs/postgresql-11/SOURCES/postgresql.service
deleted file mode 100644
index ed3c426aa..000000000
--- a/specs/postgresql-11/SOURCES/postgresql.service
+++ /dev/null
@@ -1,13 +0,0 @@
-[Unit]
-Description=PostgreSQL {{MAJOR_VERSION}} database server
-Documentation=https://www.postgresql.org/docs/{{MAJOR_VERSION}}/static/
-After=syslog.target network-online.target
-
-[Service]
-PIDFile=/var/run/postgresql{{PKG_VERSION}}.pid
-ExecStart=/etc/init.d/postgresql-{{MAJOR_VERSION}} start
-ExecStop=/etc/init.d/postgresql-{{MAJOR_VERSION}} stop
-ExecReload=/etc/init.d/postgresql-{{MAJOR_VERSION}} reload
-
-[Install]
-WantedBy=multi-user.target
diff --git a/specs/postgresql-11/SOURCES/postgresql.sysconfig b/specs/postgresql-11/SOURCES/postgresql.sysconfig
deleted file mode 100644
index d54914b9e..000000000
--- a/specs/postgresql-11/SOURCES/postgresql.sysconfig
+++ /dev/null
@@ -1,10 +0,0 @@
-# Sysconfig for postgresql service
-
-PG_ENGINE=""
-PG_POSTMASTER=""
-PG_DATA=""
-PG_LOG=""
-PG_UPLOG=""
-PG_SOCKET_DIR=""
-TIMEOUT=""
-DISABLE_AUTO_NUMA=""
diff --git a/specs/postgresql-11/SOURCES/rpm-pgsql.patch b/specs/postgresql-11/SOURCES/rpm-pgsql.patch
deleted file mode 100644
index 276da8e82..000000000
--- a/specs/postgresql-11/SOURCES/rpm-pgsql.patch
+++ /dev/null
@@ -1,55 +0,0 @@
---- src/Makefile.global.in.old 2018-03-11 21:25:30.148541091 +0000
-+++ src/Makefile.global.in 2018-03-11 21:26:00.365690496 +0000
-@@ -83,7 +83,7 @@
- # Installation directories
- #
- # These are set by the equivalent --xxxdir configure options. We
--# append "postgresql" to some of them, if the string does not already
-+# append "pgsql" to some of them, if the string does not already
- # contain "pgsql" or "postgres", in order to avoid directory clutter.
- #
- # In a PGXS build, we cannot use the values inserted into Makefile.global
-@@ -104,14 +104,14 @@
- datadir := @datadir@
- ifeq "$(findstring pgsql, $(datadir))" ""
- ifeq "$(findstring postgres, $(datadir))" ""
--override datadir := $(datadir)/postgresql
-+override datadir := $(datadir)/pgsql
- endif
- endif
-
- sysconfdir := @sysconfdir@
- ifeq "$(findstring pgsql, $(sysconfdir))" ""
- ifeq "$(findstring postgres, $(sysconfdir))" ""
--override sysconfdir := $(sysconfdir)/postgresql
-+override sysconfdir := $(sysconfdir)/pgsql
- endif
- endif
-
-@@ -120,7 +120,7 @@
- pkglibdir = $(libdir)
- ifeq "$(findstring pgsql, $(pkglibdir))" ""
- ifeq "$(findstring postgres, $(pkglibdir))" ""
--override pkglibdir := $(pkglibdir)/postgresql
-+override pkglibdir := $(pkglibdir)/pgsql
- endif
- endif
-
-@@ -129,7 +129,7 @@
- pkgincludedir = $(includedir)
- ifeq "$(findstring pgsql, $(pkgincludedir))" ""
- ifeq "$(findstring postgres, $(pkgincludedir))" ""
--override pkgincludedir := $(pkgincludedir)/postgresql
-+override pkgincludedir := $(pkgincludedir)/pgsql
- endif
- endif
-
-@@ -138,7 +138,7 @@
- docdir := @docdir@
- ifeq "$(findstring pgsql, $(docdir))" ""
- ifeq "$(findstring postgres, $(docdir))" ""
--override docdir := $(docdir)/postgresql
-+override docdir := $(docdir)/pgsql
- endif
- endif
-
diff --git a/specs/postgresql-11/SOURCES/slony1.init b/specs/postgresql-11/SOURCES/slony1.init
deleted file mode 100644
index f0e2f94bd..000000000
--- a/specs/postgresql-11/SOURCES/slony1.init
+++ /dev/null
@@ -1,94 +0,0 @@
-#!/bin/bash
-
-# redis init script for starting up the Slony-I
-#
-# chkconfig: - 64 36
-# description: Starts and stops the Slon daemon that handles
-# Slony-I replication.
-
-###############################################################################
-
-source /etc/init.d/kaosv
-
-###############################################################################
-
-PG_MAJOR_VERSION="{{PG_MAJOR_VERSION}}"
-PG_HIGH_VERSION="{{PG_HIGH_VERSION}}"
-
-###############################################################################
-
-kv[prog_name]="slony1"
-
-kv.readSysconfig "${kv[prog_name]}-${PG_MAJOR_VERSION}"
-
-binary=${BINARY:-/usr/pgsql-$PG_HIGH_VERSION/bin/slon}
-conf_file=${CONF_FILE:-/etc/slony1-$PG_MAJOR_VERSION/slon.conf}
-pid_dir=${PID_DIR:-/var/run/slony1-$PG_MAJOR_VERSION}
-log_dir=${LOG_DIR:-/var/log/slony1-$PG_MAJOR_VERSION}
-user=${USER:-postgres}
-
-conninfo="${SLONCONNINFO}"
-clustername="${SLONCLUSTERNAME:-sloncluster}"
-
-[[ -z "$conninfo" ]] && conninfo="host=/tmp port=5432 user=slony"
-
-kv[user]="$user"
-kv[pid_file]="$pid_dir/slon_${PG_MAJOR_VERSION}.pid"
-kv[log]="$log_dir/slonystartup.log"
-
-###############################################################################
-
-kv.addHandler "start" "preStartServiceHandler" "pre"
-kv.addHandler "start" "startServiceHandler"
-kv.addHandler "stop" "stopServiceHandler"
-
-kv.disableOutputRedirect "start" "pre"
-
-###############################################################################
-
-preStartServiceHandler() {
- local has_errors=""
-
- [[ ! -f $binary ]] && has_errors=true && kv.error "File <$binary> does not exist"
- [[ ! -x $binary ]] && has_errors=true && kv.error "File <$binary> is not executable"
-
- [[ ! -f $conf_file ]] && has_errors=true && kv.error "Configuration file <$conf_file> does not exist."
- [[ ! -r $conf_file ]] && has_errors=true && kv.error "Configuration file <$conf_file> is not readable."
-
- if ! kv.hasUser "$user" ; then
- has_errors=true && kv.error "User <$user> not found"
- fi
-
- [[ -n "$has_errors" ]] && kv.exit $ACTION_ERROR
-
- if kv.isRoot ; then
- if [[ ! -d $log_dir ]] ; then
- mkdir -p $log_dir
- chown $user: $log_dir
- fi
- fi
-
- return $ACTION_OK
-}
-
-startServiceHandler() {
- kv.run "$binary -f $conf_file -p ${kv[pid_file]} $clustername \"$conninfo\" &"
-
- [[ $? -ne $ACTION_OK ]] && return $ACTION_ERROR
-
- kv.getStartStatus
-
- return $?
-}
-
-stopServiceHandler() {
- kv.sendSignal "$SIGNAL_TERM"
-
- kv.getStopStatus
-
- return $?
-}
-
-###############################################################################
-
-kv.go $@
diff --git a/specs/postgresql-11/SOURCES/slony1.service b/specs/postgresql-11/SOURCES/slony1.service
deleted file mode 100644
index fc325718e..000000000
--- a/specs/postgresql-11/SOURCES/slony1.service
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=Slony-I
-After=syslog.target network.target
-
-[Service]
-PIDFile=/var/run/slony1-{{PG_MAJOR_VERSION}}/slon_{{PG_MAJOR_VERSION}}.pid
-ExecStart=/etc/init.d/slony1-{{PG_MAJOR_VERSION}} start
-ExecStop=/etc/init.d/slony1-{{PG_MAJOR_VERSION}} stop
-
-[Install]
-WantedBy=multi-user.target
diff --git a/specs/postgresql-11/SOURCES/slony1.sysconfig b/specs/postgresql-11/SOURCES/slony1.sysconfig
deleted file mode 100644
index ac2c68b1e..000000000
--- a/specs/postgresql-11/SOURCES/slony1.sysconfig
+++ /dev/null
@@ -1,9 +0,0 @@
-# Sysconfig file for slony
-
-BINARY=""
-CONF_FILE=""
-PID_DIR=""
-LOG_DIR=""
-USER=""
-SLONCONNINFO=""
-SLONCLUSTERNAME=""
diff --git a/specs/postgresql-11/pg_comparator.spec b/specs/postgresql-11/pg_comparator.spec
deleted file mode 100644
index e0edf7892..000000000
--- a/specs/postgresql-11/pg_comparator.spec
+++ /dev/null
@@ -1,114 +0,0 @@
-################################################################################
-
-%global crc_check pushd ../SOURCES ; sha512sum -c %{SOURCE100} ; popd
-
-################################################################################
-
-%{!?llvm:%global llvm 1}
-
-################################################################################
-
-%define pg_ver 11
-%define pg_fullver %{pg_ver}.18
-%define pg_dir %{_prefix}/pgsql-%{pg_ver}
-%define realname pg_comparator
-
-################################################################################
-
-Summary: Efficient table content comparison and synchronization for PostgreSQL %{pg_ver}
-Name: %{realname}%{pg_ver}
-Version: 2.3.2
-Release: 0%{?dist}
-License: BSD
-Group: Development/Tools
-URL: https://www.cri.ensmp.fr/people/coelho/pg_comparator
-
-Source: https://www.cri.ensmp.fr/people/coelho/pg_comparator/%{realname}-%{version}.tgz
-
-Patch0: %{realname}-Makefile.patch
-
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-
-BuildRequires: make gcc
-BuildRequires: postgresql%{pg_ver}-devel = %{pg_fullver}
-BuildRequires: postgresql%{pg_ver}-libs = %{pg_fullver}
-
-%if %llvm
-%if 0%{?rhel} >= 8
-BuildRequires: llvm-devel >= 6.0.0 clang-devel >= 6.0.0
-%endif
-%if 0%{?rhel} == 7
-BuildRequires: llvm5.0-devel >= 5.0 llvm-toolset-7-clang >= 4.0.1
-%endif
-%endif
-
-Requires: perl(Getopt::Long), perl(Time::HiRes)
-Requires: postgresql%{pg_ver}
-
-Requires(post): chkconfig
-
-Provides: %{name} = %{version}-%{release}
-
-################################################################################
-
-%description
-pg_comparator is a tool to compare possibly very big tables in
-different locations and report differences, with a network and
-time-efficient approach.
-
-################################################################################
-
-%prep
-%setup -qn %{realname}-%{version}
-
-%patch0 -p1
-
-%build
-%if %llvm
-%if 0%{?rhel} == 7
-# perfecto:ignore
-export CLANG=/opt/rh/llvm-toolset-7/root/usr/bin/clang
-export LLVM_CONFIG=%{_libdir}/llvm5.0/bin/llvm-config
-%endif
-%endif
-
-%{__make} %{?_smp_mflags} PG_CONFIG=%{pg_dir}/bin/pg_config
-
-%install
-rm -rf %{buildroot}
-
-%{make_install} PG_CONFIG=%{pg_dir}/bin/pg_config
-
-%post
-update-alternatives --install %{_bindir}/pg_comparator pgcomparator %{pg_dir}/bin/pg_comparator %{pg_ver}0
-
-%postun
-if [[ $1 -eq 0 ]] ; then
- update-alternatives --remove pgcomparator %{pg_dir}/bin/pg_comparator
-fi
-
-%clean
-rm -rf %{buildroot}
-
-################################################################################
-
-%files
-%defattr(-,root,root,-)
-%doc LICENSE
-%doc %{pg_dir}/doc/extension/README.pg_comparator
-%{pg_dir}/bin/pg_comparator
-%{pg_dir}/lib/pgcmp.so
-%{pg_dir}/share/extension/*.sql
-%{pg_dir}/share/extension/pgcmp.control
-%if %llvm
-%{pg_dir}/lib/bitcode/*
-%endif
-
-################################################################################
-
-%changelog
-* Thu Sep 21 2023 Anton Novojilov - 2.3.2-0
-- Updated to the latest stable release
-
-* Thu Oct 12 2017 Anton Novojilov - 2.3.1-0
-- Initial build
diff --git a/specs/postgresql-11/pg_repack.spec b/specs/postgresql-11/pg_repack.spec
deleted file mode 100644
index fdc1f112b..000000000
--- a/specs/postgresql-11/pg_repack.spec
+++ /dev/null
@@ -1,122 +0,0 @@
-################################################################################
-
-%global crc_check pushd ../SOURCES ; sha512sum -c %{SOURCE100} ; popd
-
-################################################################################
-
-%{!?llvm:%global llvm 1}
-
-################################################################################
-
-%define pg_ver 11
-%define pg_fullver %{pg_ver}.18
-%define pg_dir %{_prefix}/pgsql-%{pg_ver}
-%define realname pg_repack
-
-################################################################################
-
-Summary: Reorganize tables in PostgreSQL %{pg_ver} databases without any locks
-Name: %{realname}%{pg_ver}
-Version: 1.4.8
-Release: 0%{?dist}
-License: BSD
-Group: Applications/Databases
-URL: https://pgxn.org/dist/pg_repack/
-
-Source0: https://api.pgxn.org/dist/%{realname}/%{version}/%{realname}-%{version}.zip
-
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-
-BuildRequires: make gcc openssl-devel readline-devel zlib-devel
-BuildRequires: postgresql%{pg_ver}-devel = %{pg_fullver}
-BuildRequires: postgresql%{pg_ver}-libs = %{pg_fullver}
-
-%if %llvm
-%if 0%{?rhel} >= 8
-BuildRequires: llvm-devel >= 6.0.0 clang-devel >= 6.0.0
-%endif
-%if 0%{?rhel} == 7
-BuildRequires: llvm5.0-devel >= 5.0 llvm-toolset-7-clang >= 4.0.1
-%endif
-%endif
-
-Requires: postgresql%{pg_ver}
-
-Requires(post): chkconfig
-
-Provides: %{name} = %{version}-%{release}
-
-################################################################################
-
-%description
-pg_repack can re-organize tables on a postgres database without any locks so
-that you can retrieve or update rows in tables being reorganized.
-The module is developed to be a better alternative of CLUSTER and VACUUM FULL.
-
-################################################################################
-
-%prep
-%setup -qn %{realname}-%{version}
-
-%build
-%if %llvm
-%if 0%{?rhel} == 7
-# perfecto:ignore
-export CLANG=/opt/rh/llvm-toolset-7/root/usr/bin/clang
-export LLVM_CONFIG=%{_libdir}/llvm5.0/bin/llvm-config
-%endif
-%endif
-
-%{__make} %{?_smp_mflags} PG_CONFIG=%{pg_dir}/bin/pg_config
-
-%install
-rm -rf %{buildroot}
-
-%{make_install} PG_CONFIG=%{pg_dir}/bin/pg_config
-
-%post
-update-alternatives --install %{_bindir}/pg_repack pgrepack %{pg_dir}/bin/pg_repack %{pg_ver}0
-
-%postun
-if [[ $1 -eq 0 ]] ; then
- update-alternatives --remove pgrepack %{pg_dir}/bin/pg_repack
-fi
-
-%clean
-rm -rf %{buildroot}
-
-################################################################################
-
-%files
-%defattr(-,root,root,-)
-%doc COPYRIGHT doc/pg_repack.rst
-%attr(755,root,root) %{pg_dir}/bin/pg_repack
-%attr(755,root,root) %{pg_dir}/lib/pg_repack.so
-%{pg_dir}/share/extension/%{realname}--%{version}.sql
-%{pg_dir}/share/extension/%{realname}.control
-%if %llvm
-%{pg_dir}/lib/bitcode/*
-%endif
-
-################################################################################
-
-%changelog
-* Thu Sep 21 2023 Anton Novojilov - 1.4.8-0
-- Added support for PostgreSQL 15
-- Fixed --parent-table on declarative partitioned tables
-- Removed connection info from error log
-
-* Thu Nov 18 2021 Anton Novojilov - 1.4.7-0
-- Added support for PostgreSQL 14
-
-* Thu Feb 18 2021 Anton Novojilov - 1.4.6-0
-- Added support for PostgreSQL 13
-- Dropped support for PostgreSQL before 9.4
-
-* Tue Jan 21 2020 Anton Novojilov - 1.4.5-0
-- Added support for PostgreSQL 12
-- Fixed parallel processing for indexes with operators from public schema
-
-* Sat Nov 17 2018 Anton Novojilov