From: Devrim Gunduz Date: Wed, 24 Sep 2025 09:23:38 +0000 (+0300) Subject: PostgreSQL 17, 16, 15, 14 and 13: Make sure that user is created before we perform... X-Git-Url: http://git.postgresql.org/gitweb/locks.php?a=commitdiff_plain;h=982cd9a7a613d1cb6ccac24e0f8844919fc3d409;p=pgrpms.git PostgreSQL 17, 16, 15, 14 and 13: Make sure that user is created before we perform some operations with the user. Per a report from Muralikrishna Bandaru --- diff --git a/rpm/redhat/main/non-common/postgresql-13/main/postgresql-13.spec b/rpm/redhat/main/non-common/postgresql-13/main/postgresql-13.spec index b137834f5..de5733e6d 100644 --- a/rpm/redhat/main/non-common/postgresql-13/main/postgresql-13.spec +++ b/rpm/redhat/main/non-common/postgresql-13/main/postgresql-13.spec @@ -915,9 +915,13 @@ cat initdb-%{pgmajorversion}.lang pg_ctl-%{pgmajorversion}.lang psql-%{pgmajorve cat postgres-%{pgmajorversion}.lang pg_resetwal-%{pgmajorversion}.lang pg_checksums-%{pgmajorversion}.lang pg_verifybackup-%{pgmajorversion}.lang pg_controldata-%{pgmajorversion}.lang plpgsql-%{pgmajorversion}.lang pg_test_timing-%{pgmajorversion}.lang pg_test_fsync-%{pgmajorversion}.lang pg_archivecleanup-%{pgmajorversion}.lang pg_waldump-%{pgmajorversion}.lang pg_rewind-%{pgmajorversion}.lang pg_upgrade-%{pgmajorversion}.lang > pg_server.lst %endif -%if ! %sysuserd -# This is replaced by sysusers.d in recent OSes: %pre server +%if %sysuserd +# We need this user to be created ASAP so that we can set up +# ownership of some directories: +%sysusers_create_package %{name} %SOURCE20 +%else +# This is replaced by sysusers.d in recent OSes: groupadd -g 26 -o -r postgres >/dev/null 2>&1 || : useradd -M -g postgres -o -r -d /var/lib/pgsql -s /bin/bash \ -c "PostgreSQL Server" -u 26 postgres >/dev/null 2>&1 || : diff --git a/rpm/redhat/main/non-common/postgresql-14/main/postgresql-14.spec b/rpm/redhat/main/non-common/postgresql-14/main/postgresql-14.spec index 9638833b7..a8e726e38 100644 --- a/rpm/redhat/main/non-common/postgresql-14/main/postgresql-14.spec +++ b/rpm/redhat/main/non-common/postgresql-14/main/postgresql-14.spec @@ -944,9 +944,13 @@ cat initdb-%{pgmajorversion}.lang pg_ctl-%{pgmajorversion}.lang psql-%{pgmajorve cat postgres-%{pgmajorversion}.lang pg_resetwal-%{pgmajorversion}.lang pg_checksums-%{pgmajorversion}.lang pg_verifybackup-%{pgmajorversion}.lang pg_controldata-%{pgmajorversion}.lang plpgsql-%{pgmajorversion}.lang pg_test_timing-%{pgmajorversion}.lang pg_test_fsync-%{pgmajorversion}.lang pg_archivecleanup-%{pgmajorversion}.lang pg_waldump-%{pgmajorversion}.lang pg_rewind-%{pgmajorversion}.lang pg_upgrade-%{pgmajorversion}.lang > pg_server.lst %endif -%if ! %sysuserd -# This is replaced by sysusers.d in recent OSes: %pre server +%if %sysuserd +# We need this user to be created ASAP so that we can set up +# ownership of some directories: +%sysusers_create_package %{name} %SOURCE20 +%else +# This is replaced by sysusers.d in recent OSes: groupadd -g 26 -o -r postgres >/dev/null 2>&1 || : useradd -M -g postgres -o -r -d /var/lib/pgsql -s /bin/bash \ -c "PostgreSQL Server" -u 26 postgres >/dev/null 2>&1 || : diff --git a/rpm/redhat/main/non-common/postgresql-15/main/postgresql-15.spec b/rpm/redhat/main/non-common/postgresql-15/main/postgresql-15.spec index 710dc9102..349a2da9f 100644 --- a/rpm/redhat/main/non-common/postgresql-15/main/postgresql-15.spec +++ b/rpm/redhat/main/non-common/postgresql-15/main/postgresql-15.spec @@ -949,9 +949,13 @@ cat initdb-%{pgmajorversion}.lang pg_ctl-%{pgmajorversion}.lang psql-%{pgmajorve cat postgres-%{pgmajorversion}.lang pg_resetwal-%{pgmajorversion}.lang pg_checksums-%{pgmajorversion}.lang pg_verifybackup-%{pgmajorversion}.lang pg_controldata-%{pgmajorversion}.lang plpgsql-%{pgmajorversion}.lang pg_test_timing-%{pgmajorversion}.lang pg_test_fsync-%{pgmajorversion}.lang pg_archivecleanup-%{pgmajorversion}.lang pg_waldump-%{pgmajorversion}.lang pg_rewind-%{pgmajorversion}.lang pg_upgrade-%{pgmajorversion}.lang > pg_server.lst %endif -%if ! %sysuserd -# This is replaced by sysusers.d in recent OSes: %pre server +%if %sysuserd +# We need this user to be created ASAP so that we can set up +# ownership of some directories: +%sysusers_create_package %{name} %SOURCE20 +%else +# This is replaced by sysusers.d in recent OSes: groupadd -g 26 -o -r postgres >/dev/null 2>&1 || : useradd -M -g postgres -o -r -d /var/lib/pgsql -s /bin/bash \ -c "PostgreSQL Server" -u 26 postgres >/dev/null 2>&1 || : diff --git a/rpm/redhat/main/non-common/postgresql-16/main/postgresql-16.spec b/rpm/redhat/main/non-common/postgresql-16/main/postgresql-16.spec index 231df8640..f00204990 100644 --- a/rpm/redhat/main/non-common/postgresql-16/main/postgresql-16.spec +++ b/rpm/redhat/main/non-common/postgresql-16/main/postgresql-16.spec @@ -806,9 +806,13 @@ cat initdb-%{pgmajorversion}.lang pg_ctl-%{pgmajorversion}.lang psql-%{pgmajorve cat postgres-%{pgmajorversion}.lang pg_resetwal-%{pgmajorversion}.lang pg_checksums-%{pgmajorversion}.lang pg_verifybackup-%{pgmajorversion}.lang pg_controldata-%{pgmajorversion}.lang plpgsql-%{pgmajorversion}.lang pg_test_timing-%{pgmajorversion}.lang pg_test_fsync-%{pgmajorversion}.lang pg_archivecleanup-%{pgmajorversion}.lang pg_waldump-%{pgmajorversion}.lang pg_rewind-%{pgmajorversion}.lang pg_upgrade-%{pgmajorversion}.lang > pg_server.lst %endif -%if ! %sysuserd -# This is replaced by sysusers.d in recent OSes: %pre server +%if %sysuserd +# We need this user to be created ASAP so that we can set up +# ownership of some directories: +%sysusers_create_package %{name} %SOURCE20 +%else +# This is replaced by sysusers.d in recent OSes: groupadd -g 26 -o -r postgres >/dev/null 2>&1 || : useradd -M -g postgres -o -r -d /var/lib/pgsql -s /bin/bash \ -c "PostgreSQL Server" -u 26 postgres >/dev/null 2>&1 || : diff --git a/rpm/redhat/main/non-common/postgresql-17/main/postgresql-17.spec b/rpm/redhat/main/non-common/postgresql-17/main/postgresql-17.spec index d98c202ea..c37c8ef3d 100644 --- a/rpm/redhat/main/non-common/postgresql-17/main/postgresql-17.spec +++ b/rpm/redhat/main/non-common/postgresql-17/main/postgresql-17.spec @@ -779,9 +779,13 @@ cat initdb-%{pgmajorversion}.lang pg_ctl-%{pgmajorversion}.lang psql-%{pgmajorve cat postgres-%{pgmajorversion}.lang pg_resetwal-%{pgmajorversion}.lang pg_checksums-%{pgmajorversion}.lang pg_verifybackup-%{pgmajorversion}.lang pg_controldata-%{pgmajorversion}.lang plpgsql-%{pgmajorversion}.lang pg_test_timing-%{pgmajorversion}.lang pg_test_fsync-%{pgmajorversion}.lang pg_archivecleanup-%{pgmajorversion}.lang pg_waldump-%{pgmajorversion}.lang pg_rewind-%{pgmajorversion}.lang pg_upgrade-%{pgmajorversion}.lang > pg_server.lst %endif -%if ! %sysuserd -# This is replaced by sysusers.d in recent OSes: %pre server +%if %sysuserd +# We need this user to be created ASAP so that we can set up +# ownership of some directories: +%sysusers_create_package %{name} %SOURCE20 +%else +# This is replaced by sysusers.d in recent OSes: groupadd -g 26 -o -r postgres >/dev/null 2>&1 || : useradd -M -g postgres -o -r -d /var/lib/pgsql -s /bin/bash \ -c "PostgreSQL Server" -u 26 postgres >/dev/null 2>&1 || :