Subject: [bug#74006] [PATCH] gnu: postgresql: Deprecate unsupported versions.

From: Nicolas Graves <[email-masked]>
Date: Fri, 25 Oct 2024 09:40:59 +0200

Versions 10 and 11 are unsupported according to
https://www.postgresql.org/support/versioning/

postgresql-10 also has a CVE.

* doc/guix.texi: Change default value of postgresql-service-type's
postgresql field.
* gnu/packages/databases.scm (postresql-10, postgresql-11): Use
define-deprecated/public to warn users.
* gnu/services/databases.scm (postgresql-configuration): Change the
default value of postgresql-configuration-postgresql.
* gnu/tests/guix.scm (%guix-data-service-os): Change the default value
of postgresql.
---
 doc/guix.texi              | 6 +++---
 gnu/packages/databases.scm | 5 +++--
 gnu/services/databases.scm | 2 +-
 gnu/tests/guix.scm         | 2 +-
 4 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index ac3a7adef0..5768e195b0 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -26192,7 +26192,7 @@ configuration.
 @lisp
 (service postgresql-service-type
          (postgresql-configuration
-          (postgresql postgresql-10)))
+          (postgresql postgresql)))
 @end lisp
 
 If the services fails to start, it may be due to an incompatible
@@ -26219,7 +26219,7 @@ Data type representing the configuration for the
 @code{postgresql-service-type}.
 
 @table @asis
-@item @code{postgresql} (default: @code{postgresql-10})
+@item @code{postgresql} (default: @code{postgresql})
 PostgreSQL package to use for the service.
 
 @item @code{port} (default: @code{5432})
@@ -26261,7 +26261,7 @@ configure the postgresql-service as in this example:
     (cons*
       (service postgresql-service-type
                (postgresql-configuration
-                (postgresql postgresql-10)
+                (postgresql postgresql)
                 (extension-packages (list postgis))))
       %base-services)))
 @end lisp
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 663ff8fd26..06158f19e7 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -170,6 +170,7 @@ (define-module (gnu packages databases)
   #:use-module (gnu packages web)
   #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xml)
+  #:use-module (guix deprecation)
   #:use-module (guix gexp)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
@@ -1375,7 +1376,7 @@ (define-public postgresql-13
                (base32
                 "09f99rp5q1xp769r71if9ckb4cbm0nnx2xmy8b1bhcvd8hax9va2"))))))
 
-(define-public postgresql-11
+(define-deprecated/public postgresql-11 #f
   (package
     (inherit postgresql-13)
     (name "postgresql")
@@ -1391,7 +1392,7 @@ (define-public postgresql-11
      (modify-inputs (package-native-inputs postgresql-13)
        (replace "docbook-xml" docbook-xml-4.2)))))
 
-(define-public postgresql-10
+(define-deprecated/public postgresql-10 #f
   (package
     (inherit postgresql-11)
     (version "10.23")
diff --git a/gnu/services/databases.scm b/gnu/services/databases.scm
index fa332d7978..0933eb5e79 100644
--- a/gnu/services/databases.scm
+++ b/gnu/services/databases.scm
@@ -168,7 +168,7 @@ (define-record-type* <postgresql-configuration>
   postgresql-configuration make-postgresql-configuration
   postgresql-configuration?
   (postgresql         postgresql-configuration-postgresql ;file-like
-                      (default postgresql-10))
+                      (default postgresql))
   (port               postgresql-configuration-port
                       (default 5432))
   (locale             postgresql-configuration-locale
diff --git a/gnu/tests/guix.scm b/gnu/tests/guix.scm
index 12ad1bf255..98afc4a350 100644
--- a/gnu/tests/guix.scm
+++ b/gnu/tests/guix.scm
@@ -158,7 +158,7 @@ (define %guix-data-service-os
    (service dhcp-client-service-type)
    (service postgresql-service-type
             (postgresql-configuration
-             (postgresql postgresql-10)
+             (postgresql postgresql)
              (config-file
               (postgresql-config-file
                (hba-file
-- 
2.46.0