Example:

initdb --help
...
Report bugs to <pgsql-b...@lists.postgresql.org>.
PostgreSQL home page: <https://www.postgresql.org/>

I think this is useful. You see this nowadays in other packages as well. See also <https://www.gnu.org/prep/standards/standards.html#g_t_002d_002dhelp> for a reference.

Autoconf already has a way to register the package home page and propagate it, so I used that. That also makes it easier to change it (see http: -> https:) or have third parties substitute their own contact information without destroying translations.

While at it, I also did the same refactoring for the bug reporting address (which was also recently changed, so this is a bit late, but who knows what the future holds).

--
Peter Eisentraut              http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
From b1ddee320f859555815cb3dcf11a2edd6e6152cd Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <pe...@eisentraut.org>
Date: Mon, 10 Feb 2020 20:17:58 +0100
Subject: [PATCH 1/2] Refer to bug report address by symbol rather than
 hardcoding

Use the PACKAGE_BUGREPORT macro that is created by Autoconf for
referring to the bug reporting address rather than hardcoding it
everywhere.  This makes it easier to change the address and it reduces
translation work.
---
 configure.in                                  | 2 +-
 contrib/oid2name/oid2name.c                   | 4 ++--
 contrib/pg_standby/pg_standby.c               | 2 +-
 contrib/vacuumlo/vacuumlo.c                   | 2 +-
 src/backend/main/main.c                       | 2 +-
 src/backend/postmaster/postmaster.c           | 2 +-
 src/bin/initdb/initdb.c                       | 2 +-
 src/bin/pg_archivecleanup/pg_archivecleanup.c | 2 +-
 src/bin/pg_basebackup/pg_basebackup.c         | 2 +-
 src/bin/pg_basebackup/pg_receivewal.c         | 2 +-
 src/bin/pg_basebackup/pg_recvlogical.c        | 2 +-
 src/bin/pg_checksums/pg_checksums.c           | 2 +-
 src/bin/pg_config/pg_config.c                 | 2 +-
 src/bin/pg_controldata/pg_controldata.c       | 2 +-
 src/bin/pg_ctl/pg_ctl.c                       | 2 +-
 src/bin/pg_dump/pg_dump.c                     | 2 +-
 src/bin/pg_dump/pg_dumpall.c                  | 2 +-
 src/bin/pg_dump/pg_restore.c                  | 2 +-
 src/bin/pg_resetwal/pg_resetwal.c             | 2 +-
 src/bin/pg_rewind/pg_rewind.c                 | 2 +-
 src/bin/pg_upgrade/option.c                   | 2 +-
 src/bin/pg_waldump/pg_waldump.c               | 2 +-
 src/bin/pgbench/pgbench.c                     | 4 ++--
 src/bin/psql/help.c                           | 2 +-
 src/bin/scripts/clusterdb.c                   | 2 +-
 src/bin/scripts/createdb.c                    | 2 +-
 src/bin/scripts/createuser.c                  | 2 +-
 src/bin/scripts/dropdb.c                      | 2 +-
 src/bin/scripts/dropuser.c                    | 2 +-
 src/bin/scripts/pg_isready.c                  | 2 +-
 src/bin/scripts/reindexdb.c                   | 2 +-
 src/bin/scripts/vacuumdb.c                    | 2 +-
 src/interfaces/ecpg/preproc/ecpg.c            | 2 +-
 src/interfaces/ecpg/preproc/pgc.l             | 2 +-
 src/interfaces/ecpg/preproc/type.c            | 4 ++--
 src/test/regress/pg_regress.c                 | 2 +-
 36 files changed, 39 insertions(+), 39 deletions(-)

diff --git a/configure.in b/configure.in
index 8adb409558..05a10bb833 100644
--- a/configure.in
+++ b/configure.in
@@ -79,7 +79,7 @@ PostgreSQL has apparently not been ported to your platform 
yet.
 To try a manual configuration, look into the src/template directory
 for a similar platform and use the '--with-template=' option.
 
-Please also contact <pgsql-b...@lists.postgresql.org> to see about
+Please also contact <]AC_PACKAGE_BUGREPORT[> to see about
 rectifying this.  Include the above 'checking host system type...'
 line.
 *******************************************************************
diff --git a/contrib/oid2name/oid2name.c b/contrib/oid2name/oid2name.c
index 2b53dac64a..e67f71d97d 100644
--- a/contrib/oid2name/oid2name.c
+++ b/contrib/oid2name/oid2name.c
@@ -219,8 +219,8 @@ help(const char *progname)
                   "  -p, --port=PORT            database server port number\n"
                   "  -U, --username=USERNAME    connect as specified database 
user\n"
                   "\nThe default action is to show all database OIDs.\n\n"
-                  "Report bugs to <pgsql-b...@lists.postgresql.org>.\n",
-                  progname, progname);
+                  "Report bugs to <%s>.\n",
+                  progname, progname, PACKAGE_BUGREPORT);
 }
 
 /*
diff --git a/contrib/pg_standby/pg_standby.c b/contrib/pg_standby/pg_standby.c
index 9784d7aef3..15604da765 100644
--- a/contrib/pg_standby/pg_standby.c
+++ b/contrib/pg_standby/pg_standby.c
@@ -612,7 +612,7 @@ usage(void)
                   "  restore_command = 'pg_standby [OPTION]... ARCHIVELOCATION 
%%f %%p %%r'\n"
                   "e.g.\n"
                   "  restore_command = 'pg_standby /mnt/server/archiverdir %%f 
%%p %%r'\n");
-       printf("\nReport bugs to <pgsql-b...@lists.postgresql.org>.\n");
+       printf("\nReport bugs to <%s>.\n", PACKAGE_BUGREPORT);
 }
 
 #ifndef WIN32
diff --git a/contrib/vacuumlo/vacuumlo.c b/contrib/vacuumlo/vacuumlo.c
index 8dd4238317..b8aa295665 100644
--- a/contrib/vacuumlo/vacuumlo.c
+++ b/contrib/vacuumlo/vacuumlo.c
@@ -436,7 +436,7 @@ usage(const char *progname)
        printf("  -w, --no-password         never prompt for password\n");
        printf("  -W, --password            force password prompt\n");
        printf("\n");
-       printf("Report bugs to <pgsql-b...@lists.postgresql.org>.\n");
+       printf("Report bugs to <%s>.\n", PACKAGE_BUGREPORT);
 }
 
 
diff --git a/src/backend/main/main.c b/src/backend/main/main.c
index c0d1fcde06..1bb4ae03b8 100644
--- a/src/backend/main/main.c
+++ b/src/backend/main/main.c
@@ -359,7 +359,7 @@ help(const char *progname)
        printf(_("\nPlease read the documentation for the complete list of 
run-time\n"
                         "configuration settings and how to set them on the 
command line or in\n"
                         "the configuration file.\n\n"
-                        "Report bugs to 
<pgsql-b...@lists.postgresql.org>.\n"));
+                        "Report bugs to <%s>.\n"), PACKAGE_BUGREPORT);
 }
 
 
diff --git a/src/backend/postmaster/postmaster.c 
b/src/backend/postmaster/postmaster.c
index b3986bee75..a3f52122ee 100644
--- a/src/backend/postmaster/postmaster.c
+++ b/src/backend/postmaster/postmaster.c
@@ -5130,7 +5130,7 @@ ExitPostmaster(int status)
                ereport(LOG,
                                (errcode(ERRCODE_INTERNAL_ERROR),
                                 errmsg_internal("postmaster became 
multithreaded"),
-                                errdetail("Please report this to 
<pgsql-b...@lists.postgresql.org>.")));
+                                errdetail("Please report this to <%s>.", 
PACKAGE_BUGREPORT)));
 #endif
 
        /* should cleanup shared memory and kill all backends */
diff --git a/src/bin/initdb/initdb.c b/src/bin/initdb/initdb.c
index 7f1534aebb..9bdbedc694 100644
--- a/src/bin/initdb/initdb.c
+++ b/src/bin/initdb/initdb.c
@@ -2323,7 +2323,7 @@ usage(const char *progname)
        printf(_("  -?, --help                show this help, then exit\n"));
        printf(_("\nIf the data directory is not specified, the environment 
variable PGDATA\n"
                         "is used.\n"));
-       printf(_("\nReport bugs to <pgsql-b...@lists.postgresql.org>.\n"));
+       printf(_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
 }
 
 static void
diff --git a/src/bin/pg_archivecleanup/pg_archivecleanup.c 
b/src/bin/pg_archivecleanup/pg_archivecleanup.c
index 2917d7fc63..aef99eba30 100644
--- a/src/bin/pg_archivecleanup/pg_archivecleanup.c
+++ b/src/bin/pg_archivecleanup/pg_archivecleanup.c
@@ -269,7 +269,7 @@ usage(void)
                         "Or for use as a standalone archive cleaner:\n"
                         "e.g.\n"
                         "  pg_archivecleanup /mnt/server/archiverdir 
000000010000000000000010.00000020.backup\n"));
-       printf(_("\nReport bugs to <pgsql-b...@lists.postgresql.org>.\n"));
+       printf(_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
 }
 
 /*------------ MAIN ----------------------------------------*/
diff --git a/src/bin/pg_basebackup/pg_basebackup.c 
b/src/bin/pg_basebackup/pg_basebackup.c
index 2551cf38c9..b75b6d4da2 100644
--- a/src/bin/pg_basebackup/pg_basebackup.c
+++ b/src/bin/pg_basebackup/pg_basebackup.c
@@ -396,7 +396,7 @@ usage(void)
        printf(_("  -U, --username=NAME    connect as specified database 
user\n"));
        printf(_("  -w, --no-password      never prompt for password\n"));
        printf(_("  -W, --password         force password prompt (should happen 
automatically)\n"));
-       printf(_("\nReport bugs to <pgsql-b...@lists.postgresql.org>.\n"));
+       printf(_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
 }
 
 
diff --git a/src/bin/pg_basebackup/pg_receivewal.c 
b/src/bin/pg_basebackup/pg_receivewal.c
index f5acf12ae7..808078e6b7 100644
--- a/src/bin/pg_basebackup/pg_receivewal.c
+++ b/src/bin/pg_basebackup/pg_receivewal.c
@@ -102,7 +102,7 @@ usage(void)
        printf(_("\nOptional actions:\n"));
        printf(_("      --create-slot      create a new replication slot (for 
the slot's name see --slot)\n"));
        printf(_("      --drop-slot        drop the replication slot (for the 
slot's name see --slot)\n"));
-       printf(_("\nReport bugs to <pgsql-b...@lists.postgresql.org>.\n"));
+       printf(_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
 }
 
 static bool
diff --git a/src/bin/pg_basebackup/pg_recvlogical.c 
b/src/bin/pg_basebackup/pg_recvlogical.c
index c9c4eaa928..ef2d806fb3 100644
--- a/src/bin/pg_basebackup/pg_recvlogical.c
+++ b/src/bin/pg_basebackup/pg_recvlogical.c
@@ -103,7 +103,7 @@ usage(void)
        printf(_("  -U, --username=NAME    connect as specified database 
user\n"));
        printf(_("  -w, --no-password      never prompt for password\n"));
        printf(_("  -W, --password         force password prompt (should happen 
automatically)\n"));
-       printf(_("\nReport bugs to <pgsql-b...@lists.postgresql.org>.\n"));
+       printf(_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
 }
 
 /*
diff --git a/src/bin/pg_checksums/pg_checksums.c 
b/src/bin/pg_checksums/pg_checksums.c
index 46ee1f1dc3..79cfb38634 100644
--- a/src/bin/pg_checksums/pg_checksums.c
+++ b/src/bin/pg_checksums/pg_checksums.c
@@ -88,7 +88,7 @@ usage(void)
        printf(_("  -?, --help               show this help, then exit\n"));
        printf(_("\nIf no data directory (DATADIR) is specified, "
                         "the environment variable PGDATA\nis used.\n\n"));
-       printf(_("Report bugs to <pgsql-b...@lists.postgresql.org>.\n"));
+       printf(_("Report bugs to <%s>.\n"), PACKAGE_BUGREPORT);
 }
 
 /*
diff --git a/src/bin/pg_config/pg_config.c b/src/bin/pg_config/pg_config.c
index 8ed4915fee..9ff56e2fca 100644
--- a/src/bin/pg_config/pg_config.c
+++ b/src/bin/pg_config/pg_config.c
@@ -102,7 +102,7 @@ help(void)
        printf(_("  --version             show the PostgreSQL version\n"));
        printf(_("  -?, --help            show this help, then exit\n"));
        printf(_("\nWith no arguments, all known items are shown.\n\n"));
-       printf(_("Report bugs to <pgsql-b...@lists.postgresql.org>.\n"));
+       printf(_("Report bugs to <%s>.\n"), PACKAGE_BUGREPORT);
 }
 
 static void
diff --git a/src/bin/pg_controldata/pg_controldata.c 
b/src/bin/pg_controldata/pg_controldata.c
index 19e21ab491..a53794b9e6 100644
--- a/src/bin/pg_controldata/pg_controldata.c
+++ b/src/bin/pg_controldata/pg_controldata.c
@@ -41,7 +41,7 @@ usage(const char *progname)
        printf(_("  -?, --help             show this help, then exit\n"));
        printf(_("\nIf no data directory (DATADIR) is specified, "
                         "the environment variable PGDATA\nis used.\n\n"));
-       printf(_("Report bugs to <pgsql-b...@lists.postgresql.org>.\n"));
+       printf(_("Report bugs to <%s>.\n"), PACKAGE_BUGREPORT);
 }
 
 
diff --git a/src/bin/pg_ctl/pg_ctl.c b/src/bin/pg_ctl/pg_ctl.c
index 6ee8822669..a2cc52b171 100644
--- a/src/bin/pg_ctl/pg_ctl.c
+++ b/src/bin/pg_ctl/pg_ctl.c
@@ -2081,7 +2081,7 @@ do_help(void)
        printf(_("  demand     start service on demand\n"));
 #endif
 
-       printf(_("\nReport bugs to <pgsql-b...@lists.postgresql.org>.\n"));
+       printf(_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
 }
 
 
diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c
index ec3e2c63b0..2abfefd1f6 100644
--- a/src/bin/pg_dump/pg_dump.c
+++ b/src/bin/pg_dump/pg_dump.c
@@ -1047,7 +1047,7 @@ help(const char *progname)
 
        printf(_("\nIf no database name is supplied, then the PGDATABASE 
environment\n"
                         "variable value is used.\n\n"));
-       printf(_("Report bugs to <pgsql-b...@lists.postgresql.org>.\n"));
+       printf(_("Report bugs to <%s>.\n"), PACKAGE_BUGREPORT);
 }
 
 static void
diff --git a/src/bin/pg_dump/pg_dumpall.c b/src/bin/pg_dump/pg_dumpall.c
index 26ded9fe0e..de311b6ad1 100644
--- a/src/bin/pg_dump/pg_dumpall.c
+++ b/src/bin/pg_dump/pg_dumpall.c
@@ -670,7 +670,7 @@ help(void)
 
        printf(_("\nIf -f/--file is not used, then the SQL script will be 
written to the standard\n"
                         "output.\n\n"));
-       printf(_("Report bugs to <pgsql-b...@lists.postgresql.org>.\n"));
+       printf(_("Report bugs to <%s>.\n"), PACKAGE_BUGREPORT);
 }
 
 
diff --git a/src/bin/pg_dump/pg_restore.c b/src/bin/pg_dump/pg_restore.c
index d1a36b1495..3749454b97 100644
--- a/src/bin/pg_dump/pg_restore.c
+++ b/src/bin/pg_dump/pg_restore.c
@@ -519,5 +519,5 @@ usage(const char *progname)
                         "The options -I, -n, -N, -P, -t, -T, and --section can 
be combined and specified\n"
                         "multiple times to select multiple objects.\n"));
        printf(_("\nIf no input file name is supplied, then standard input is 
used.\n\n"));
-       printf(_("Report bugs to <pgsql-b...@lists.postgresql.org>.\n"));
+       printf(_("Report bugs to <%s>.\n"), PACKAGE_BUGREPORT);
 }
diff --git a/src/bin/pg_resetwal/pg_resetwal.c 
b/src/bin/pg_resetwal/pg_resetwal.c
index f9cfeae264..9175cd7c70 100644
--- a/src/bin/pg_resetwal/pg_resetwal.c
+++ b/src/bin/pg_resetwal/pg_resetwal.c
@@ -1223,5 +1223,5 @@ usage(void)
        printf(_("  -x, --next-transaction-id=XID  set next transaction ID\n"));
        printf(_("      --wal-segsize=SIZE         size of WAL segments, in 
megabytes\n"));
        printf(_("  -?, --help                     show this help, then 
exit\n"));
-       printf(_("\nReport bugs to <pgsql-b...@lists.postgresql.org>.\n"));
+       printf(_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
 }
diff --git a/src/bin/pg_rewind/pg_rewind.c b/src/bin/pg_rewind/pg_rewind.c
index c6d00bb0ab..2d9cf6075a 100644
--- a/src/bin/pg_rewind/pg_rewind.c
+++ b/src/bin/pg_rewind/pg_rewind.c
@@ -87,7 +87,7 @@ usage(const char *progname)
        printf(_("      --debug                    write a lot of debug 
messages\n"));
        printf(_("  -V, --version                  output version information, 
then exit\n"));
        printf(_("  -?, --help                     show this help, then 
exit\n"));
-       printf(_("\nReport bugs to <pgsql-b...@lists.postgresql.org>.\n"));
+       printf(_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
 }
 
 
diff --git a/src/bin/pg_upgrade/option.c b/src/bin/pg_upgrade/option.c
index 8d207b20ed..4776da2413 100644
--- a/src/bin/pg_upgrade/option.c
+++ b/src/bin/pg_upgrade/option.c
@@ -336,7 +336,7 @@ usage(void)
                         "  C:\\> set PGBINNEW=newCluster/bin\n"
                         "  C:\\> pg_upgrade\n"));
 #endif
-       printf(_("\nReport bugs to <pgsql-b...@lists.postgresql.org>.\n"));
+       printf(_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
 }
 
 
diff --git a/src/bin/pg_waldump/pg_waldump.c b/src/bin/pg_waldump/pg_waldump.c
index 83202b5b87..906f7e1f08 100644
--- a/src/bin/pg_waldump/pg_waldump.c
+++ b/src/bin/pg_waldump/pg_waldump.c
@@ -730,7 +730,7 @@ usage(void)
        printf(_("  -z, --stats[=record]   show statistics instead of records\n"
                         "                         (optionally, show per-record 
statistics)\n"));
        printf(_("  -?, --help             show this help, then exit\n"));
-       printf(_("\nReport bugs to <pgsql-b...@lists.postgresql.org>.\n"));
+       printf(_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
 }
 
 int
diff --git a/src/bin/pgbench/pgbench.c b/src/bin/pgbench/pgbench.c
index 39c1a243d5..978fca0f47 100644
--- a/src/bin/pgbench/pgbench.c
+++ b/src/bin/pgbench/pgbench.c
@@ -681,8 +681,8 @@ usage(void)
                   "  -V, --version            output version information, then 
exit\n"
                   "  -?, --help               show this help, then exit\n"
                   "\n"
-                  "Report bugs to <pgsql-b...@lists.postgresql.org>.\n",
-                  progname, progname);
+                  "Report bugs to <%s>.\n",
+                  progname, progname, PACKAGE_BUGREPORT);
 }
 
 /* return whether str matches "^\s*[-+]?[0-9]+$" */
diff --git a/src/bin/psql/help.c b/src/bin/psql/help.c
index 66b47d98cb..777d54f085 100644
--- a/src/bin/psql/help.c
+++ b/src/bin/psql/help.c
@@ -144,7 +144,7 @@ usage(unsigned short int pager)
        fprintf(output, _("\nFor more information, type \"\\?\" (for internal 
commands) or \"\\help\" (for SQL\n"
                                          "commands) from within psql, or 
consult the psql section in the PostgreSQL\n"
                                          "documentation.\n\n"));
-       fprintf(output, _("Report bugs to 
<pgsql-b...@lists.postgresql.org>.\n"));
+       fprintf(output, _("Report bugs to <%s>.\n"), PACKAGE_BUGREPORT);
 
        ClosePager(output);
 }
diff --git a/src/bin/scripts/clusterdb.c b/src/bin/scripts/clusterdb.c
index f86769d070..d9761b39b2 100644
--- a/src/bin/scripts/clusterdb.c
+++ b/src/bin/scripts/clusterdb.c
@@ -291,5 +291,5 @@ help(const char *progname)
        printf(_("  -W, --password            force password prompt\n"));
        printf(_("  --maintenance-db=DBNAME   alternate maintenance 
database\n"));
        printf(_("\nRead the description of the SQL command CLUSTER for 
details.\n"));
-       printf(_("\nReport bugs to <pgsql-b...@lists.postgresql.org>.\n"));
+       printf(_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
 }
diff --git a/src/bin/scripts/createdb.c b/src/bin/scripts/createdb.c
index 68de2078e9..50f75203ea 100644
--- a/src/bin/scripts/createdb.c
+++ b/src/bin/scripts/createdb.c
@@ -268,5 +268,5 @@ help(const char *progname)
        printf(_("  -W, --password               force password prompt\n"));
        printf(_("  --maintenance-db=DBNAME      alternate maintenance 
database\n"));
        printf(_("\nBy default, a database with the same name as the current 
user is created.\n"));
-       printf(_("\nReport bugs to <pgsql-b...@lists.postgresql.org>.\n"));
+       printf(_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
 }
diff --git a/src/bin/scripts/createuser.c b/src/bin/scripts/createuser.c
index e781ecab2f..a658701dd2 100644
--- a/src/bin/scripts/createuser.c
+++ b/src/bin/scripts/createuser.c
@@ -375,5 +375,5 @@ help(const char *progname)
        printf(_("  -U, --username=USERNAME   user name to connect as (not the 
one to create)\n"));
        printf(_("  -w, --no-password         never prompt for password\n"));
        printf(_("  -W, --password            force password prompt\n"));
-       printf(_("\nReport bugs to <pgsql-b...@lists.postgresql.org>.\n"));
+       printf(_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
 }
diff --git a/src/bin/scripts/dropdb.c b/src/bin/scripts/dropdb.c
index 20d0215ce9..1b26f9e6de 100644
--- a/src/bin/scripts/dropdb.c
+++ b/src/bin/scripts/dropdb.c
@@ -177,5 +177,5 @@ help(const char *progname)
        printf(_("  -w, --no-password         never prompt for password\n"));
        printf(_("  -W, --password            force password prompt\n"));
        printf(_("  --maintenance-db=DBNAME   alternate maintenance 
database\n"));
-       printf(_("\nReport bugs to <pgsql-b...@lists.postgresql.org>.\n"));
+       printf(_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
 }
diff --git a/src/bin/scripts/dropuser.c b/src/bin/scripts/dropuser.c
index c5200db0a4..a81d4868c4 100644
--- a/src/bin/scripts/dropuser.c
+++ b/src/bin/scripts/dropuser.c
@@ -175,5 +175,5 @@ help(const char *progname)
        printf(_("  -U, --username=USERNAME   user name to connect as (not the 
one to drop)\n"));
        printf(_("  -w, --no-password         never prompt for password\n"));
        printf(_("  -W, --password            force password prompt\n"));
-       printf(_("\nReport bugs to <pgsql-b...@lists.postgresql.org>.\n"));
+       printf(_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
 }
diff --git a/src/bin/scripts/pg_isready.c b/src/bin/scripts/pg_isready.c
index d9af2250b9..ead88a9b5a 100644
--- a/src/bin/scripts/pg_isready.c
+++ b/src/bin/scripts/pg_isready.c
@@ -235,5 +235,5 @@ help(const char *progname)
        printf(_("  -p, --port=PORT          database server port\n"));
        printf(_("  -t, --timeout=SECS       seconds to wait when attempting 
connection, 0 disables (default: %s)\n"), DEFAULT_CONNECT_TIMEOUT);
        printf(_("  -U, --username=USERNAME  user name to connect as\n"));
-       printf(_("\nReport bugs to <pgsql-b...@lists.postgresql.org>.\n"));
+       printf(_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
 }
diff --git a/src/bin/scripts/reindexdb.c b/src/bin/scripts/reindexdb.c
index da9faae562..f680c0d6bd 100644
--- a/src/bin/scripts/reindexdb.c
+++ b/src/bin/scripts/reindexdb.c
@@ -774,5 +774,5 @@ help(const char *progname)
        printf(_("  -W, --password            force password prompt\n"));
        printf(_("  --maintenance-db=DBNAME   alternate maintenance 
database\n"));
        printf(_("\nRead the description of the SQL command REINDEX for 
details.\n"));
-       printf(_("\nReport bugs to <pgsql-b...@lists.postgresql.org>.\n"));
+       printf(_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
 }
diff --git a/src/bin/scripts/vacuumdb.c b/src/bin/scripts/vacuumdb.c
index 0560f6304f..d3952f4150 100644
--- a/src/bin/scripts/vacuumdb.c
+++ b/src/bin/scripts/vacuumdb.c
@@ -949,5 +949,5 @@ help(const char *progname)
        printf(_("  -W, --password            force password prompt\n"));
        printf(_("  --maintenance-db=DBNAME   alternate maintenance 
database\n"));
        printf(_("\nRead the description of the SQL command VACUUM for 
details.\n"));
-       printf(_("\nReport bugs to <pgsql-b...@lists.postgresql.org>.\n"));
+       printf(_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
 }
diff --git a/src/interfaces/ecpg/preproc/ecpg.c 
b/src/interfaces/ecpg/preproc/ecpg.c
index d7a7c1760c..a8c93d4934 100644
--- a/src/interfaces/ecpg/preproc/ecpg.c
+++ b/src/interfaces/ecpg/preproc/ecpg.c
@@ -58,7 +58,7 @@ help(const char *progname)
        printf(_("  -?, --help     show this help, then exit\n"));
        printf(_("\nIf no output file is specified, the name is formed by 
adding .c to the\n"
                         "input file name, after stripping off .pgc if 
present.\n"));
-       printf(_("\nReport bugs to <pgsql-b...@lists.postgresql.org>.\n"));
+       printf(_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
 }
 
 static void
diff --git a/src/interfaces/ecpg/preproc/pgc.l 
b/src/interfaces/ecpg/preproc/pgc.l
index 0e8621a05e..f6052798fd 100644
--- a/src/interfaces/ecpg/preproc/pgc.l
+++ b/src/interfaces/ecpg/preproc/pgc.l
@@ -1429,7 +1429,7 @@ cppline                   
{space}*#([^i][A-Za-z]*|{if}|{ifdef}|{ifndef}|{import})((\/\*[^*/]*\*+
                                        }
                                }
 
-<INITIAL>{other}|\n    { mmfatal(PARSE_ERROR, "internal error: unreachable 
state; please report this to <pgsql-b...@lists.postgresql.org>"); }
+<INITIAL>{other}|\n    { mmfatal(PARSE_ERROR, "internal error: unreachable 
state; please report this to <%s>", PACKAGE_BUGREPORT); }
 
 %%
 
diff --git a/src/interfaces/ecpg/preproc/type.c 
b/src/interfaces/ecpg/preproc/type.c
index 6a71766ccf..d4b4da5ffc 100644
--- a/src/interfaces/ecpg/preproc/type.c
+++ b/src/interfaces/ecpg/preproc/type.c
@@ -301,7 +301,7 @@ ECPGdump_a_type(FILE *o, const char *name, struct ECPGtype 
*type, const int brac
                                        break;
                                default:
                                        if 
(!IS_SIMPLE_TYPE(type->u.element->type))
-                                               base_yyerror("internal error: 
unknown datatype, please report this to <pgsql-b...@lists.postgresql.org>");
+                                               base_yyerror("internal error: 
unknown datatype, please report this to <" PACKAGE_BUGREPORT ">");
 
                                        ECPGdump_a_simple(o, name,
                                                                          
type->u.element->type,
@@ -672,7 +672,7 @@ ECPGfree_type(struct ECPGtype *type)
                                                break;
                                        default:
                                                if 
(!IS_SIMPLE_TYPE(type->u.element->type))
-                                                       base_yyerror("internal 
error: unknown datatype, please report this to 
<pgsql-b...@lists.postgresql.org>");
+                                                       base_yyerror("internal 
error: unknown datatype, please report this to <" PACKAGE_BUGREPORT ">");
 
                                                free(type->u.element);
                                }
diff --git a/src/test/regress/pg_regress.c b/src/test/regress/pg_regress.c
index 92bd28dc5a..c89f1e7398 100644
--- a/src/test/regress/pg_regress.c
+++ b/src/test/regress/pg_regress.c
@@ -2084,7 +2084,7 @@ help(void)
        printf(_("The exit status is 0 if all tests passed, 1 if some tests 
failed, and 2\n"));
        printf(_("if the tests could not be run for some reason.\n"));
        printf(_("\n"));
-       printf(_("Report bugs to <pgsql-b...@lists.postgresql.org>.\n"));
+       printf(_("Report bugs to <%s>.\n"), PACKAGE_BUGREPORT);
 }
 
 int
-- 
2.25.0

From e49c09608a7c50d6cb4c5e6e09efcf179b47d9e9 Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <pe...@eisentraut.org>
Date: Mon, 10 Feb 2020 20:17:59 +0100
Subject: [PATCH 2/2] Add PostgreSQL home page to --help output

---
 configure                                     | 6 ++++--
 configure.in                                  | 2 +-
 contrib/oid2name/oid2name.c                   | 5 +++--
 contrib/pg_standby/pg_standby.c               | 1 +
 contrib/vacuumlo/vacuumlo.c                   | 1 +
 src/Makefile.global.in                        | 2 ++
 src/Makefile.shlib                            | 2 +-
 src/backend/main/main.c                       | 1 +
 src/bin/initdb/initdb.c                       | 1 +
 src/bin/pg_archivecleanup/pg_archivecleanup.c | 1 +
 src/bin/pg_basebackup/pg_basebackup.c         | 1 +
 src/bin/pg_basebackup/pg_receivewal.c         | 1 +
 src/bin/pg_basebackup/pg_recvlogical.c        | 1 +
 src/bin/pg_checksums/pg_checksums.c           | 1 +
 src/bin/pg_config/pg_config.c                 | 1 +
 src/bin/pg_controldata/pg_controldata.c       | 1 +
 src/bin/pg_ctl/pg_ctl.c                       | 1 +
 src/bin/pg_dump/pg_dump.c                     | 1 +
 src/bin/pg_dump/pg_dumpall.c                  | 1 +
 src/bin/pg_dump/pg_restore.c                  | 1 +
 src/bin/pg_resetwal/pg_resetwal.c             | 1 +
 src/bin/pg_rewind/pg_rewind.c                 | 1 +
 src/bin/pg_upgrade/option.c                   | 1 +
 src/bin/pg_waldump/pg_waldump.c               | 1 +
 src/bin/pgbench/pgbench.c                     | 5 +++--
 src/bin/psql/help.c                           | 1 +
 src/bin/scripts/clusterdb.c                   | 1 +
 src/bin/scripts/createdb.c                    | 1 +
 src/bin/scripts/createuser.c                  | 1 +
 src/bin/scripts/dropdb.c                      | 1 +
 src/bin/scripts/dropuser.c                    | 1 +
 src/bin/scripts/pg_isready.c                  | 1 +
 src/bin/scripts/reindexdb.c                   | 1 +
 src/bin/scripts/vacuumdb.c                    | 1 +
 src/interfaces/ecpg/preproc/ecpg.c            | 1 +
 src/test/regress/pg_regress.c                 | 1 +
 src/tools/msvc/Solution.pm                    | 7 +++++--
 37 files changed, 49 insertions(+), 10 deletions(-)

diff --git a/configure b/configure
index 37aa82dcd4..7c4551bc8b 100755
--- a/configure
+++ b/configure
@@ -585,7 +585,7 @@ PACKAGE_TARNAME='postgresql'
 PACKAGE_VERSION='13devel'
 PACKAGE_STRING='PostgreSQL 13devel'
 PACKAGE_BUGREPORT='pgsql-b...@lists.postgresql.org'
-PACKAGE_URL=''
+PACKAGE_URL='https://www.postgresql.org/'
 
 ac_unique_file="src/backend/access/common/heaptuple.c"
 ac_default_prefix=/usr/local/pgsql
@@ -1600,6 +1600,7 @@ Use these variables to override the choices made by 
`configure' or to help
 it to find libraries and programs with nonstandard names/locations.
 
 Report bugs to <pgsql-b...@lists.postgresql.org>.
+PostgreSQL home page: <https://www.postgresql.org/>.
 _ACEOF
 ac_status=$?
 fi
@@ -19753,7 +19754,8 @@ $config_links
 Configuration commands:
 $config_commands
 
-Report bugs to <pgsql-b...@lists.postgresql.org>."
+Report bugs to <pgsql-b...@lists.postgresql.org>.
+PostgreSQL home page: <https://www.postgresql.org/>."
 
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
diff --git a/configure.in b/configure.in
index 05a10bb833..73e74e0835 100644
--- a/configure.in
+++ b/configure.in
@@ -17,7 +17,7 @@ dnl Read the Autoconf manual for details.
 dnl
 m4_pattern_forbid(^PGAC_)dnl to catch undefined macros
 
-AC_INIT([PostgreSQL], [13devel], [pgsql-b...@lists.postgresql.org])
+AC_INIT([PostgreSQL], [13devel], [pgsql-b...@lists.postgresql.org], [], 
[https://www.postgresql.org/])
 
 m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.69], [], [m4_fatal([Autoconf version 
2.69 is required.
 Untested combinations of 'autoconf' and PostgreSQL versions are not
diff --git a/contrib/oid2name/oid2name.c b/contrib/oid2name/oid2name.c
index e67f71d97d..c7d0f9025a 100644
--- a/contrib/oid2name/oid2name.c
+++ b/contrib/oid2name/oid2name.c
@@ -219,8 +219,9 @@ help(const char *progname)
                   "  -p, --port=PORT            database server port number\n"
                   "  -U, --username=USERNAME    connect as specified database 
user\n"
                   "\nThe default action is to show all database OIDs.\n\n"
-                  "Report bugs to <%s>.\n",
-                  progname, progname, PACKAGE_BUGREPORT);
+                  "Report bugs to <%s>.\n"
+                  "%s home page: <%s>\n",
+                  progname, progname, PACKAGE_BUGREPORT, PACKAGE_NAME, 
PACKAGE_URL);
 }
 
 /*
diff --git a/contrib/pg_standby/pg_standby.c b/contrib/pg_standby/pg_standby.c
index 15604da765..74149060a9 100644
--- a/contrib/pg_standby/pg_standby.c
+++ b/contrib/pg_standby/pg_standby.c
@@ -613,6 +613,7 @@ usage(void)
                   "e.g.\n"
                   "  restore_command = 'pg_standby /mnt/server/archiverdir %%f 
%%p %%r'\n");
        printf("\nReport bugs to <%s>.\n", PACKAGE_BUGREPORT);
+       printf("%s home page: <%s>\n", PACKAGE_NAME, PACKAGE_URL);
 }
 
 #ifndef WIN32
diff --git a/contrib/vacuumlo/vacuumlo.c b/contrib/vacuumlo/vacuumlo.c
index b8aa295665..92bdf71356 100644
--- a/contrib/vacuumlo/vacuumlo.c
+++ b/contrib/vacuumlo/vacuumlo.c
@@ -437,6 +437,7 @@ usage(const char *progname)
        printf("  -W, --password            force password prompt\n");
        printf("\n");
        printf("Report bugs to <%s>.\n", PACKAGE_BUGREPORT);
+       printf("%s home page: <%s>\n", PACKAGE_NAME, PACKAGE_URL);
 }
 
 
diff --git a/src/Makefile.global.in b/src/Makefile.global.in
index e4db3e80af..b243443770 100644
--- a/src/Makefile.global.in
+++ b/src/Makefile.global.in
@@ -40,6 +40,8 @@ VERSION = @PACKAGE_VERSION@
 MAJORVERSION = @PG_MAJORVERSION@
 VERSION_NUM = @PG_VERSION_NUM@
 
+PACKAGE_URL = @PACKAGE_URL@
+
 # Set top_srcdir, srcdir, and VPATH.
 ifdef PGXS
 top_srcdir = $(top_builddir)
diff --git a/src/Makefile.shlib b/src/Makefile.shlib
index 526361f31b..29a7f6d38c 100644
--- a/src/Makefile.shlib
+++ b/src/Makefile.shlib
@@ -389,7 +389,7 @@ endif # PORTNAME == cygwin || PORTNAME == win32
 %.pc: $(MAKEFILE_LIST)
        echo 'Name: lib$(NAME)' >$@
        echo 'Description: PostgreSQL lib$(NAME) library' >>$@
-       echo 'Url: http://www.postgresql.org/' >>$@
+       echo 'Url: $(PACKAGE_URL)' >>$@
        echo 'Version: $(VERSION)' >>$@
        echo 'Requires: ' >>$@
        echo 'Requires.private: $(PKG_CONFIG_REQUIRES_PRIVATE)' >>$@
diff --git a/src/backend/main/main.c b/src/backend/main/main.c
index 1bb4ae03b8..da3dae9e25 100644
--- a/src/backend/main/main.c
+++ b/src/backend/main/main.c
@@ -360,6 +360,7 @@ help(const char *progname)
                         "configuration settings and how to set them on the 
command line or in\n"
                         "the configuration file.\n\n"
                         "Report bugs to <%s>.\n"), PACKAGE_BUGREPORT);
+       printf(_("%s home page: <%s>\n"), PACKAGE_NAME, PACKAGE_URL);
 }
 
 
diff --git a/src/bin/initdb/initdb.c b/src/bin/initdb/initdb.c
index 9bdbedc694..5d6b7b9ac9 100644
--- a/src/bin/initdb/initdb.c
+++ b/src/bin/initdb/initdb.c
@@ -2324,6 +2324,7 @@ usage(const char *progname)
        printf(_("\nIf the data directory is not specified, the environment 
variable PGDATA\n"
                         "is used.\n"));
        printf(_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
+       printf(_("%s home page: <%s>\n"), PACKAGE_NAME, PACKAGE_URL);
 }
 
 static void
diff --git a/src/bin/pg_archivecleanup/pg_archivecleanup.c 
b/src/bin/pg_archivecleanup/pg_archivecleanup.c
index aef99eba30..e454bae767 100644
--- a/src/bin/pg_archivecleanup/pg_archivecleanup.c
+++ b/src/bin/pg_archivecleanup/pg_archivecleanup.c
@@ -270,6 +270,7 @@ usage(void)
                         "e.g.\n"
                         "  pg_archivecleanup /mnt/server/archiverdir 
000000010000000000000010.00000020.backup\n"));
        printf(_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
+       printf(_("%s home page: <%s>\n"), PACKAGE_NAME, PACKAGE_URL);
 }
 
 /*------------ MAIN ----------------------------------------*/
diff --git a/src/bin/pg_basebackup/pg_basebackup.c 
b/src/bin/pg_basebackup/pg_basebackup.c
index b75b6d4da2..48bd838803 100644
--- a/src/bin/pg_basebackup/pg_basebackup.c
+++ b/src/bin/pg_basebackup/pg_basebackup.c
@@ -397,6 +397,7 @@ usage(void)
        printf(_("  -w, --no-password      never prompt for password\n"));
        printf(_("  -W, --password         force password prompt (should happen 
automatically)\n"));
        printf(_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
+       printf(_("%s home page: <%s>\n"), PACKAGE_NAME, PACKAGE_URL);
 }
 
 
diff --git a/src/bin/pg_basebackup/pg_receivewal.c 
b/src/bin/pg_basebackup/pg_receivewal.c
index 808078e6b7..cd05f5fede 100644
--- a/src/bin/pg_basebackup/pg_receivewal.c
+++ b/src/bin/pg_basebackup/pg_receivewal.c
@@ -103,6 +103,7 @@ usage(void)
        printf(_("      --create-slot      create a new replication slot (for 
the slot's name see --slot)\n"));
        printf(_("      --drop-slot        drop the replication slot (for the 
slot's name see --slot)\n"));
        printf(_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
+       printf(_("%s home page: <%s>\n"), PACKAGE_NAME, PACKAGE_URL);
 }
 
 static bool
diff --git a/src/bin/pg_basebackup/pg_recvlogical.c 
b/src/bin/pg_basebackup/pg_recvlogical.c
index ef2d806fb3..0da3277118 100644
--- a/src/bin/pg_basebackup/pg_recvlogical.c
+++ b/src/bin/pg_basebackup/pg_recvlogical.c
@@ -104,6 +104,7 @@ usage(void)
        printf(_("  -w, --no-password      never prompt for password\n"));
        printf(_("  -W, --password         force password prompt (should happen 
automatically)\n"));
        printf(_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
+       printf(_("%s home page: <%s>\n"), PACKAGE_NAME, PACKAGE_URL);
 }
 
 /*
diff --git a/src/bin/pg_checksums/pg_checksums.c 
b/src/bin/pg_checksums/pg_checksums.c
index 79cfb38634..74ee4764d4 100644
--- a/src/bin/pg_checksums/pg_checksums.c
+++ b/src/bin/pg_checksums/pg_checksums.c
@@ -89,6 +89,7 @@ usage(void)
        printf(_("\nIf no data directory (DATADIR) is specified, "
                         "the environment variable PGDATA\nis used.\n\n"));
        printf(_("Report bugs to <%s>.\n"), PACKAGE_BUGREPORT);
+       printf(_("%s home page: <%s>\n"), PACKAGE_NAME, PACKAGE_URL);
 }
 
 /*
diff --git a/src/bin/pg_config/pg_config.c b/src/bin/pg_config/pg_config.c
index 9ff56e2fca..f5410f6418 100644
--- a/src/bin/pg_config/pg_config.c
+++ b/src/bin/pg_config/pg_config.c
@@ -103,6 +103,7 @@ help(void)
        printf(_("  -?, --help            show this help, then exit\n"));
        printf(_("\nWith no arguments, all known items are shown.\n\n"));
        printf(_("Report bugs to <%s>.\n"), PACKAGE_BUGREPORT);
+       printf(_("%s home page: <%s>\n"), PACKAGE_NAME, PACKAGE_URL);
 }
 
 static void
diff --git a/src/bin/pg_controldata/pg_controldata.c 
b/src/bin/pg_controldata/pg_controldata.c
index a53794b9e6..e73639df74 100644
--- a/src/bin/pg_controldata/pg_controldata.c
+++ b/src/bin/pg_controldata/pg_controldata.c
@@ -42,6 +42,7 @@ usage(const char *progname)
        printf(_("\nIf no data directory (DATADIR) is specified, "
                         "the environment variable PGDATA\nis used.\n\n"));
        printf(_("Report bugs to <%s>.\n"), PACKAGE_BUGREPORT);
+       printf(_("%s home page: <%s>\n"), PACKAGE_NAME, PACKAGE_URL);
 }
 
 
diff --git a/src/bin/pg_ctl/pg_ctl.c b/src/bin/pg_ctl/pg_ctl.c
index a2cc52b171..9f80a6b565 100644
--- a/src/bin/pg_ctl/pg_ctl.c
+++ b/src/bin/pg_ctl/pg_ctl.c
@@ -2082,6 +2082,7 @@ do_help(void)
 #endif
 
        printf(_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
+       printf(_("%s home page: <%s>\n"), PACKAGE_NAME, PACKAGE_URL);
 }
 
 
diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c
index 2abfefd1f6..b1d4a4bc7d 100644
--- a/src/bin/pg_dump/pg_dump.c
+++ b/src/bin/pg_dump/pg_dump.c
@@ -1048,6 +1048,7 @@ help(const char *progname)
        printf(_("\nIf no database name is supplied, then the PGDATABASE 
environment\n"
                         "variable value is used.\n\n"));
        printf(_("Report bugs to <%s>.\n"), PACKAGE_BUGREPORT);
+       printf(_("%s home page: <%s>\n"), PACKAGE_NAME, PACKAGE_URL);
 }
 
 static void
diff --git a/src/bin/pg_dump/pg_dumpall.c b/src/bin/pg_dump/pg_dumpall.c
index de311b6ad1..0b25526d48 100644
--- a/src/bin/pg_dump/pg_dumpall.c
+++ b/src/bin/pg_dump/pg_dumpall.c
@@ -671,6 +671,7 @@ help(void)
        printf(_("\nIf -f/--file is not used, then the SQL script will be 
written to the standard\n"
                         "output.\n\n"));
        printf(_("Report bugs to <%s>.\n"), PACKAGE_BUGREPORT);
+       printf(_("%s home page: <%s>\n"), PACKAGE_NAME, PACKAGE_URL);
 }
 
 
diff --git a/src/bin/pg_dump/pg_restore.c b/src/bin/pg_dump/pg_restore.c
index 3749454b97..544ae3bc5c 100644
--- a/src/bin/pg_dump/pg_restore.c
+++ b/src/bin/pg_dump/pg_restore.c
@@ -520,4 +520,5 @@ usage(const char *progname)
                         "multiple times to select multiple objects.\n"));
        printf(_("\nIf no input file name is supplied, then standard input is 
used.\n\n"));
        printf(_("Report bugs to <%s>.\n"), PACKAGE_BUGREPORT);
+       printf(_("%s home page: <%s>\n"), PACKAGE_NAME, PACKAGE_URL);
 }
diff --git a/src/bin/pg_resetwal/pg_resetwal.c 
b/src/bin/pg_resetwal/pg_resetwal.c
index 9175cd7c70..6ee9a6aa1d 100644
--- a/src/bin/pg_resetwal/pg_resetwal.c
+++ b/src/bin/pg_resetwal/pg_resetwal.c
@@ -1224,4 +1224,5 @@ usage(void)
        printf(_("      --wal-segsize=SIZE         size of WAL segments, in 
megabytes\n"));
        printf(_("  -?, --help                     show this help, then 
exit\n"));
        printf(_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
+       printf(_("%s home page: <%s>\n"), PACKAGE_NAME, PACKAGE_URL);
 }
diff --git a/src/bin/pg_rewind/pg_rewind.c b/src/bin/pg_rewind/pg_rewind.c
index 2d9cf6075a..bf2d2983e7 100644
--- a/src/bin/pg_rewind/pg_rewind.c
+++ b/src/bin/pg_rewind/pg_rewind.c
@@ -88,6 +88,7 @@ usage(const char *progname)
        printf(_("  -V, --version                  output version information, 
then exit\n"));
        printf(_("  -?, --help                     show this help, then 
exit\n"));
        printf(_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
+       printf(_("%s home page: <%s>\n"), PACKAGE_NAME, PACKAGE_URL);
 }
 
 
diff --git a/src/bin/pg_upgrade/option.c b/src/bin/pg_upgrade/option.c
index 4776da2413..f7b9938342 100644
--- a/src/bin/pg_upgrade/option.c
+++ b/src/bin/pg_upgrade/option.c
@@ -337,6 +337,7 @@ usage(void)
                         "  C:\\> pg_upgrade\n"));
 #endif
        printf(_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
+       printf(_("%s home page: <%s>\n"), PACKAGE_NAME, PACKAGE_URL);
 }
 
 
diff --git a/src/bin/pg_waldump/pg_waldump.c b/src/bin/pg_waldump/pg_waldump.c
index 906f7e1f08..279acfa044 100644
--- a/src/bin/pg_waldump/pg_waldump.c
+++ b/src/bin/pg_waldump/pg_waldump.c
@@ -731,6 +731,7 @@ usage(void)
                         "                         (optionally, show per-record 
statistics)\n"));
        printf(_("  -?, --help             show this help, then exit\n"));
        printf(_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
+       printf(_("%s home page: <%s>\n"), PACKAGE_NAME, PACKAGE_URL);
 }
 
 int
diff --git a/src/bin/pgbench/pgbench.c b/src/bin/pgbench/pgbench.c
index 978fca0f47..b8864c6ae5 100644
--- a/src/bin/pgbench/pgbench.c
+++ b/src/bin/pgbench/pgbench.c
@@ -681,8 +681,9 @@ usage(void)
                   "  -V, --version            output version information, then 
exit\n"
                   "  -?, --help               show this help, then exit\n"
                   "\n"
-                  "Report bugs to <%s>.\n",
-                  progname, progname, PACKAGE_BUGREPORT);
+                  "Report bugs to <%s>.\n"
+                  "%s home page: <%s>\n",
+                  progname, progname, PACKAGE_BUGREPORT, PACKAGE_NAME, 
PACKAGE_URL);
 }
 
 /* return whether str matches "^\s*[-+]?[0-9]+$" */
diff --git a/src/bin/psql/help.c b/src/bin/psql/help.c
index 777d54f085..1f1f778426 100644
--- a/src/bin/psql/help.c
+++ b/src/bin/psql/help.c
@@ -145,6 +145,7 @@ usage(unsigned short int pager)
                                          "commands) from within psql, or 
consult the psql section in the PostgreSQL\n"
                                          "documentation.\n\n"));
        fprintf(output, _("Report bugs to <%s>.\n"), PACKAGE_BUGREPORT);
+       fprintf(output, _("%s home page: <%s>\n"), PACKAGE_NAME, PACKAGE_URL);
 
        ClosePager(output);
 }
diff --git a/src/bin/scripts/clusterdb.c b/src/bin/scripts/clusterdb.c
index d9761b39b2..12972de0e9 100644
--- a/src/bin/scripts/clusterdb.c
+++ b/src/bin/scripts/clusterdb.c
@@ -292,4 +292,5 @@ help(const char *progname)
        printf(_("  --maintenance-db=DBNAME   alternate maintenance 
database\n"));
        printf(_("\nRead the description of the SQL command CLUSTER for 
details.\n"));
        printf(_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
+       printf(_("%s home page: <%s>\n"), PACKAGE_NAME, PACKAGE_URL);
 }
diff --git a/src/bin/scripts/createdb.c b/src/bin/scripts/createdb.c
index 50f75203ea..babe4ca968 100644
--- a/src/bin/scripts/createdb.c
+++ b/src/bin/scripts/createdb.c
@@ -269,4 +269,5 @@ help(const char *progname)
        printf(_("  --maintenance-db=DBNAME      alternate maintenance 
database\n"));
        printf(_("\nBy default, a database with the same name as the current 
user is created.\n"));
        printf(_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
+       printf(_("%s home page: <%s>\n"), PACKAGE_NAME, PACKAGE_URL);
 }
diff --git a/src/bin/scripts/createuser.c b/src/bin/scripts/createuser.c
index a658701dd2..cf32fbe1bc 100644
--- a/src/bin/scripts/createuser.c
+++ b/src/bin/scripts/createuser.c
@@ -376,4 +376,5 @@ help(const char *progname)
        printf(_("  -w, --no-password         never prompt for password\n"));
        printf(_("  -W, --password            force password prompt\n"));
        printf(_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
+       printf(_("%s home page: <%s>\n"), PACKAGE_NAME, PACKAGE_URL);
 }
diff --git a/src/bin/scripts/dropdb.c b/src/bin/scripts/dropdb.c
index 1b26f9e6de..3d6be80ffd 100644
--- a/src/bin/scripts/dropdb.c
+++ b/src/bin/scripts/dropdb.c
@@ -178,4 +178,5 @@ help(const char *progname)
        printf(_("  -W, --password            force password prompt\n"));
        printf(_("  --maintenance-db=DBNAME   alternate maintenance 
database\n"));
        printf(_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
+       printf(_("%s home page: <%s>\n"), PACKAGE_NAME, PACKAGE_URL);
 }
diff --git a/src/bin/scripts/dropuser.c b/src/bin/scripts/dropuser.c
index a81d4868c4..fee270d4f6 100644
--- a/src/bin/scripts/dropuser.c
+++ b/src/bin/scripts/dropuser.c
@@ -176,4 +176,5 @@ help(const char *progname)
        printf(_("  -w, --no-password         never prompt for password\n"));
        printf(_("  -W, --password            force password prompt\n"));
        printf(_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
+       printf(_("%s home page: <%s>\n"), PACKAGE_NAME, PACKAGE_URL);
 }
diff --git a/src/bin/scripts/pg_isready.c b/src/bin/scripts/pg_isready.c
index ead88a9b5a..f397112906 100644
--- a/src/bin/scripts/pg_isready.c
+++ b/src/bin/scripts/pg_isready.c
@@ -236,4 +236,5 @@ help(const char *progname)
        printf(_("  -t, --timeout=SECS       seconds to wait when attempting 
connection, 0 disables (default: %s)\n"), DEFAULT_CONNECT_TIMEOUT);
        printf(_("  -U, --username=USERNAME  user name to connect as\n"));
        printf(_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
+       printf(_("%s home page: <%s>\n"), PACKAGE_NAME, PACKAGE_URL);
 }
diff --git a/src/bin/scripts/reindexdb.c b/src/bin/scripts/reindexdb.c
index f680c0d6bd..54e46181fe 100644
--- a/src/bin/scripts/reindexdb.c
+++ b/src/bin/scripts/reindexdb.c
@@ -775,4 +775,5 @@ help(const char *progname)
        printf(_("  --maintenance-db=DBNAME   alternate maintenance 
database\n"));
        printf(_("\nRead the description of the SQL command REINDEX for 
details.\n"));
        printf(_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
+       printf(_("%s home page: <%s>\n"), PACKAGE_NAME, PACKAGE_URL);
 }
diff --git a/src/bin/scripts/vacuumdb.c b/src/bin/scripts/vacuumdb.c
index d3952f4150..154084a086 100644
--- a/src/bin/scripts/vacuumdb.c
+++ b/src/bin/scripts/vacuumdb.c
@@ -950,4 +950,5 @@ help(const char *progname)
        printf(_("  --maintenance-db=DBNAME   alternate maintenance 
database\n"));
        printf(_("\nRead the description of the SQL command VACUUM for 
details.\n"));
        printf(_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
+       printf(_("%s home page: <%s>\n"), PACKAGE_NAME, PACKAGE_URL);
 }
diff --git a/src/interfaces/ecpg/preproc/ecpg.c 
b/src/interfaces/ecpg/preproc/ecpg.c
index a8c93d4934..44a6d5119b 100644
--- a/src/interfaces/ecpg/preproc/ecpg.c
+++ b/src/interfaces/ecpg/preproc/ecpg.c
@@ -59,6 +59,7 @@ help(const char *progname)
        printf(_("\nIf no output file is specified, the name is formed by 
adding .c to the\n"
                         "input file name, after stripping off .pgc if 
present.\n"));
        printf(_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
+       printf(_("%s home page: <%s>\n"), PACKAGE_NAME, PACKAGE_URL);
 }
 
 static void
diff --git a/src/test/regress/pg_regress.c b/src/test/regress/pg_regress.c
index c89f1e7398..a7f20de15f 100644
--- a/src/test/regress/pg_regress.c
+++ b/src/test/regress/pg_regress.c
@@ -2085,6 +2085,7 @@ help(void)
        printf(_("if the tests could not be run for some reason.\n"));
        printf(_("\n"));
        printf(_("Report bugs to <%s>.\n"), PACKAGE_BUGREPORT);
+       printf(_("%s home page: <%s>\n"), PACKAGE_NAME, PACKAGE_URL);
 }
 
 int
diff --git a/src/tools/msvc/Solution.pm b/src/tools/msvc/Solution.pm
index 8412ef298e..408294d56c 100644
--- a/src/tools/msvc/Solution.pm
+++ b/src/tools/msvc/Solution.pm
@@ -142,17 +142,20 @@ sub GenerateFiles
        my $package_name;
        my $package_version;
        my $package_bugreport;
+       my $package_url;
 
        # Parse configure.in to get version numbers
        open(my $c, '<', "configure.in")
          || confess("Could not open configure.in for reading\n");
        while (<$c>)
        {
-               if (/^AC_INIT\(\[([^\]]+)\], \[([^\]]+)\], \[([^\]]+)\]/)
+               if (/^AC_INIT\(\[([^\]]+)\], \[([^\]]+)\], \[([^\]]+)\], 
\[([^\]]+)\], \[([^\]]+)\]/)
                {
                        $package_name      = $1;
                        $package_version   = $2;
                        $package_bugreport = $3;
+                       #$package_tarname   = $4;
+                       $package_url       = $5;
 
                        if ($package_version !~ /^(\d+)(?:\.(\d+))?/)
                        {
@@ -441,7 +444,7 @@ sub GenerateFiles
                PACKAGE_NAME                             => qq{"$package_name"},
                PACKAGE_STRING      => qq{"$package_name $package_version"},
                PACKAGE_TARNAME     => lc qq{"$package_name"},
-               PACKAGE_URL         => undef,
+               PACKAGE_URL         => qq{"$package_url"},
                PACKAGE_VERSION     => qq{"$package_version"},
                PG_INT128_TYPE      => undef,
                PG_INT64_TYPE       => 'long long int',
-- 
2.25.0

Reply via email to