<pre style='margin:0'>
Christopher Nielsen (mascguy) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/d3af627a1b5e66d5a583b217cbf7d7cc79102403">https://github.com/macports/macports-ports/commit/d3af627a1b5e66d5a583b217cbf7d7cc79102403</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit d3af627a1b5e66d5a583b217cbf7d7cc79102403
</span>Author: David Gilman <davidgilman1@gmail.com>
AuthorDate: Mon Aug 28 18:41:48 2023 -0400

<span style='display:block; white-space:pre;color:#404040;'>    postgresql16-server: new port
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Closes: https://trac.macports.org/ticket/24180
</span><span style='display:block; white-space:pre;color:#404040;'>    Closes: https://trac.macports.org/ticket/64286
</span>---
 databases/postgresql16-server/Portfile | 75 ++++++++++++++++++++++++++++++++++
 1 file changed, 75 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/databases/postgresql16-server/Portfile b/databases/postgresql16-server/Portfile
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..e26fce11929
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/databases/postgresql16-server/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,75 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortSystem 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+name                postgresql16-server
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             16.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories          databases
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platforms           {darwin any}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers         {gmail.com:davidgilman1 @dgilman} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    {@barracuda156 gmail.com:vital.had} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    openmaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license             Permissive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set rname           postgresql16
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description         run ${rname} as server
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description    {*}${description}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+distfiles
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage            https://www.postgresql.org/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+master_sites        postgresql
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_run         port:${rname}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+supported_archs     noarch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+use_configure       no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build    {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set libdir          ${prefix}/lib/${rname}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set dbdir           ${prefix}/var/db/${rname}/defaultdb
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set logdir          ${prefix}/var/log/${rname}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set dbuser          postgres
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set dbgrp           postgres
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set dbhome          ${prefix}/var/db/${rname}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+add_users ${dbuser} shell=/usr/bin/false group=${dbgrp} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    home=${prefix}/var/db \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    realname=PostgreSQL-16\ Server
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+startupitem.create  yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+startupitem.init    \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    "PGCTL=${libdir}/bin/pg_ctl"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+startupitem.start    \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    "su ${dbuser} -c \"\${PGCTL} -D \${POSTGRESQL16DATA:=${dbdir}} start -l ${logdir}/postgres.log\""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+startupitem.stop    \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+"su ${dbuser} -c \"\${PGCTL} -D \${POSTGRESQL16DATA:=${dbdir}} stop -s -m fast\""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -m 755 -d ${destroot}${logdir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    touch ${destroot}${logdir}/postgres.log
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    system "chown ${dbuser}:${dbgrp} ${destroot}${logdir}/postgres.log"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-activate {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # previous versions of this port set the homedir to $dbhome which
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # contains the postgresql major version in the path.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # as a migration strategy, update the user's homedir,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # and in postgresql 18+ you can remove this.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set dscl [findBinary dscl $portutil::autoconf::dscl_path]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    system "${dscl} . -delete /Users/${dbuser} NFSHomeDirectory"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    system "${dscl} . -create /Users/${dbuser} NFSHomeDirectory ${prefix}/var/db"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    system "${dscl} . -delete /Users/${dbuser} UserShell"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    system "${dscl} . -create /Users/${dbuser} UserShell /usr/bin/false"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+notes "\nTo create a database instance, after install do\n\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        sudo port select postgresql ${rname}\n\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        sudo mkdir -p ${dbdir}\n\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        sudo chown ${dbuser}:${dbgrp} ${dbdir}\n\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        sudo -u ${dbuser} /bin/sh -c \'cd ${dbhome} && ${libdir}/bin/initdb -D ${dbdir}\' "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+livecheck.type      none
</span></pre><pre style='margin:0'>

</pre>