<feed xmlns='http://www.w3.org/2005/Atom'>
<title>postgresql-setup.git/share, branch v3.1</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/praiskup/public_git/postgresql-setup.git/'/>
<entry>
<title>sysvinit: transform for SCL &amp; RHEL6 usage</title>
<updated>2015-03-17T12:52:47+00:00</updated>
<author>
<name>Pavel Raiskup</name>
<email>praiskup@redhat.com</email>
</author>
<published>2015-03-17T10:34:21+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/praiskup/public_git/postgresql-setup.git/commit/?id=81e523c0957a9bee557bf2cca25607989209ac2c'/>
<id>81e523c0957a9bee557bf2cca25607989209ac2c</id>
<content type='text'>
This is mostly about simplification of intiscript and postgresql-setup
script reuse.  Still WIP, however (some options are not applicable for
sysvinit system).

* share/postgresql-setup/library.sh.in (parse_upgrade_setup): Parse new
variable "pghost_override".
(run_cmd_as_dbadmin): New wrapper function to run something under
"postgres" user.  Cut from postgresql-setup.
* postgresql-setup.in: Optionally source software collections.  Call new
check_daemon_reload instead of in-place checking.
(upgrade): Use new library function run_cmd_as_dbadmin.  Add new hack
for $PGHOST overriding via $pghost_override.  Add more verbose output to
make clear what tool failed.
(check_daemon_reload): New function to make the systemd daemon reload
conditionally on one dedicated place.
(handle_envfile): New function to abstract environment file parsing,
works both for systemd &amp; sysvinit env-files.
(handle_service_envfiles): Use handle_envfile instead of in-place
parsing.
(service_configuration): For sysvinit supported configuration, we
support only one env file per service - take this into account and don't
try to detect many from systemctl output.
* postgresql.init.in: Switch to bash script. Parametrize metadata by
configure results.  Source software collections when needed.  Source
project library. Don't set PGDATA if admin uses non-default service
naem.  Do not define PGPORT as PGPORT should be defined in
postgresql.conf.  Allow passing parameters into initdb/upgrade targets.
($PREVMAJORVERSION, $PREVPGENGINE): Remove unused variables.
($PGENGINE): This is @bindir@ equivalent.
($PGLOG): Spell it so it will not clash with system default PostgreSQL
installation.
($pidfile): Use $NAME instead of $PID to distinguish multiple postmaster
scenarios (mainly because we do not know the PGPORT yet).
(start): Drop the checking logic and use postgresql-check-db-dir
instead.  Reuse run_cmd_as_dbadmin instead of $SU_POSTGRES.
(stop): Use run_cmd_as_dbadmin instead of $SU_POSTGRES.
(reload): Just coding style fix.
(perform_initdb): Drop unused function, done in postgresql-setup.
(__single_comand): Mostly postgresql-setup wrapper with success/failure
sugar around the call itself.
(initdb): Substitute the function body with postgresql-setup call.
(upgrade): Likewise.
* postgresql-check-db-dir.in: Fix the hint for admin about where the
service should be initialized.  Do not warn about systemd-only
unsupported configuration.  Add @bindir@ into "you need --initdb" hint.
Re-style the warning a bit.
* etc/postgresql-setup/upgrade/postgresql.conf: Mention new
configuration option pghost_override.
* configure.ac (initscriptsconfdir): New configuration directory.
(PGMAJORVERSION): Use sed and regexp for MAJOR version mining.  It
failed for micro versions of length &gt;= 2.
(SCL_SOURCE): Define to be empty by default.
* README: Document what's needed to bootstrap from git source.  WIP.
* Makefile.am (initscripts_DATA): Use noinst_DATA.  Firstly, having
initscripts_DATA installs only non-executable files.  So we needed
something with _SCRIPTS primary.  But initscripts_SCRIPTS would face the
automake's limitation that it must be "static" list of files.  So make
the installation of initscript (of dynamically generated name) via
automake's install/uninstall.
($(initscript)): Use $(INSTANTIATE_SCRIPT) instead of $(INSTANTIATE).
(install-data-hook): Call 'systemctl daemon-reload' only for
non-sysvinit systems.
* .gitignore: Ignore 'initscript' filename.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is mostly about simplification of intiscript and postgresql-setup
script reuse.  Still WIP, however (some options are not applicable for
sysvinit system).

* share/postgresql-setup/library.sh.in (parse_upgrade_setup): Parse new
variable "pghost_override".
(run_cmd_as_dbadmin): New wrapper function to run something under
"postgres" user.  Cut from postgresql-setup.
* postgresql-setup.in: Optionally source software collections.  Call new
check_daemon_reload instead of in-place checking.
(upgrade): Use new library function run_cmd_as_dbadmin.  Add new hack
for $PGHOST overriding via $pghost_override.  Add more verbose output to
make clear what tool failed.
(check_daemon_reload): New function to make the systemd daemon reload
conditionally on one dedicated place.
(handle_envfile): New function to abstract environment file parsing,
works both for systemd &amp; sysvinit env-files.
(handle_service_envfiles): Use handle_envfile instead of in-place
parsing.
(service_configuration): For sysvinit supported configuration, we
support only one env file per service - take this into account and don't
try to detect many from systemctl output.
* postgresql.init.in: Switch to bash script. Parametrize metadata by
configure results.  Source software collections when needed.  Source
project library. Don't set PGDATA if admin uses non-default service
naem.  Do not define PGPORT as PGPORT should be defined in
postgresql.conf.  Allow passing parameters into initdb/upgrade targets.
($PREVMAJORVERSION, $PREVPGENGINE): Remove unused variables.
($PGENGINE): This is @bindir@ equivalent.
($PGLOG): Spell it so it will not clash with system default PostgreSQL
installation.
($pidfile): Use $NAME instead of $PID to distinguish multiple postmaster
scenarios (mainly because we do not know the PGPORT yet).
(start): Drop the checking logic and use postgresql-check-db-dir
instead.  Reuse run_cmd_as_dbadmin instead of $SU_POSTGRES.
(stop): Use run_cmd_as_dbadmin instead of $SU_POSTGRES.
(reload): Just coding style fix.
(perform_initdb): Drop unused function, done in postgresql-setup.
(__single_comand): Mostly postgresql-setup wrapper with success/failure
sugar around the call itself.
(initdb): Substitute the function body with postgresql-setup call.
(upgrade): Likewise.
* postgresql-check-db-dir.in: Fix the hint for admin about where the
service should be initialized.  Do not warn about systemd-only
unsupported configuration.  Add @bindir@ into "you need --initdb" hint.
Re-style the warning a bit.
* etc/postgresql-setup/upgrade/postgresql.conf: Mention new
configuration option pghost_override.
* configure.ac (initscriptsconfdir): New configuration directory.
(PGMAJORVERSION): Use sed and regexp for MAJOR version mining.  It
failed for micro versions of length &gt;= 2.
(SCL_SOURCE): Define to be empty by default.
* README: Document what's needed to bootstrap from git source.  WIP.
* Makefile.am (initscripts_DATA): Use noinst_DATA.  Firstly, having
initscripts_DATA installs only non-executable files.  So we needed
something with _SCRIPTS primary.  But initscripts_SCRIPTS would face the
automake's limitation that it must be "static" list of files.  So make
the installation of initscript (of dynamically generated name) via
automake's install/uninstall.
($(initscript)): Use $(INSTANTIATE_SCRIPT) instead of $(INSTANTIATE).
(install-data-hook): Call 'systemctl daemon-reload' only for
non-sysvinit systems.
* .gitignore: Ignore 'initscript' filename.
</pre>
</div>
</content>
</entry>
<entry>
<title>move library functions into library.sh</title>
<updated>2015-03-02T09:11:07+00:00</updated>
<author>
<name>Pavel Raiskup</name>
<email>praiskup@redhat.com</email>
</author>
<published>2015-03-02T09:05:49+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/praiskup/public_git/postgresql-setup.git/commit/?id=4dcf043cc8d1b4d99c64418958329c5f882f4034'/>
<id>4dcf043cc8d1b4d99c64418958329c5f882f4034</id>
<content type='text'>
* postgresql-setup.in (die, error, error_q, warn, warn_q, info)
(info_q, debug, set_var, root_prereq): Move to ..
* share/postgresql-setup/library.sh.in: .. here.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* postgresql-setup.in (die, error, error_q, warn, warn_q, info)
(info_q, debug, set_var, root_prereq): Move to ..
* share/postgresql-setup/library.sh.in: .. here.
</pre>
</div>
</content>
</entry>
<entry>
<title>postgresql-check-db-dir: match configuration approach</title>
<updated>2015-03-02T09:10:53+00:00</updated>
<author>
<name>Pavel Raiskup</name>
<email>praiskup@redhat.com</email>
</author>
<published>2015-03-02T08:41:33+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/praiskup/public_git/postgresql-setup.git/commit/?id=7b1dbe74c98f5be41ad5605260f0edbf40a9fcd1'/>
<id>7b1dbe74c98f5be41ad5605260f0edbf40a9fcd1</id>
<content type='text'>
* configure.ac (PGDATADIR): Use /var/lib/pgsql/data when prefix is
set to /usr.
(rawpkgdatadir): New directory.  Its different from pkgdatadir,
because thats often set to /usr/share/postgresql.
* Makefile.am: Include new rawpkgdatadir Makefile.inc. Fix
distcheck by mentioning legacyscripts_SCRIPTS in GENERATED_FILES.
* postgresql-check-db-dir.in: Use library.sh to give user better
advice.  Use @NAME_BINARYBASE@ prefix.
(bad_version): New function.
(PREVMAJORVERSION): Removed unused variable.
* postgresql-setup.in: Cut out the config-parsing routines into
library.sh.
* share/postgresql-setup/library.sh.in: New library file. Added
new option 'list' for parse_upgrade_setup.
* share/postgresql-setup/Makefile.inc: New file.
* share/postgresql-setup/.gitignore: Ignore library.sh.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* configure.ac (PGDATADIR): Use /var/lib/pgsql/data when prefix is
set to /usr.
(rawpkgdatadir): New directory.  Its different from pkgdatadir,
because thats often set to /usr/share/postgresql.
* Makefile.am: Include new rawpkgdatadir Makefile.inc. Fix
distcheck by mentioning legacyscripts_SCRIPTS in GENERATED_FILES.
* postgresql-check-db-dir.in: Use library.sh to give user better
advice.  Use @NAME_BINARYBASE@ prefix.
(bad_version): New function.
(PREVMAJORVERSION): Removed unused variable.
* postgresql-setup.in: Cut out the config-parsing routines into
library.sh.
* share/postgresql-setup/library.sh.in: New library file. Added
new option 'list' for parse_upgrade_setup.
* share/postgresql-setup/Makefile.inc: New file.
* share/postgresql-setup/.gitignore: Ignore library.sh.
</pre>
</div>
</content>
</entry>
<entry>
<title>configuration: define upgrade-config directory</title>
<updated>2015-02-26T15:52:25+00:00</updated>
<author>
<name>Pavel Raiskup</name>
<email>praiskup@redhat.com</email>
</author>
<published>2015-02-26T13:03:22+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/praiskup/public_git/postgresql-setup.git/commit/?id=f7f516372e2218daf18a79241d1fd271faa237cc'/>
<id>f7f516372e2218daf18a79241d1fd271faa237cc</id>
<content type='text'>
Currently under /etc/postgresql-setup/upgrade.  All '*.conf' files
are going to be loaded run-time by postgresql-setup.

* postgresql-setup.in (read_config_file): New helper to safely
read configuration files.
(set_var): Remove comment.
(parse_upgrade_setup): Use new read_config_file().
(parse_configuration): Rename to service_configuration().
* Makefile.am: Don't include share/Makefile.inc.  Indent fixes.
Add install-data-hook helper to install config directory.
* build-helpers/Makefile.inc: Removed.
* build-helpers/build-config: Likewise.
* upgrade_config.template: Removed.
* etc/postgresql-setup/upgrade/postgresql.conf: New template.
* configure.ac: Remove --with-upgrade-config.  Package maintainers
are supposed to provide those for now.
* share/postgresql-setup/Makefile.inc: Removed.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently under /etc/postgresql-setup/upgrade.  All '*.conf' files
are going to be loaded run-time by postgresql-setup.

* postgresql-setup.in (read_config_file): New helper to safely
read configuration files.
(set_var): Remove comment.
(parse_upgrade_setup): Use new read_config_file().
(parse_configuration): Rename to service_configuration().
* Makefile.am: Don't include share/Makefile.inc.  Indent fixes.
Add install-data-hook helper to install config directory.
* build-helpers/Makefile.inc: Removed.
* build-helpers/build-config: Likewise.
* upgrade_config.template: Removed.
* etc/postgresql-setup/upgrade/postgresql.conf: New template.
* configure.ac: Remove --with-upgrade-config.  Package maintainers
are supposed to provide those for now.
* share/postgresql-setup/Makefile.inc: Removed.
</pre>
</div>
</content>
</entry>
<entry>
<title>postgresql-setup: multi-upgrade configuration</title>
<updated>2015-02-25T12:26:07+00:00</updated>
<author>
<name>Pavel Raiskup</name>
<email>praiskup@redhat.com</email>
</author>
<published>2015-02-24T12:37:52+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/praiskup/public_git/postgresql-setup.git/commit/?id=243dcab83ed93c3afd9867b3e5d014efdd0f840f'/>
<id>243dcab83ed93c3afd9867b3e5d014efdd0f840f</id>
<content type='text'>
Turns out we need to support upgrade from more than one previous
database versions.  The plan is to make this as general as easily
possible, "run-time" configurable without need to recompile.

* postgresql-setup.in: Add options --upgrade-from and
--upgrade-ids.  Require root access (as late as possible).
($USAGE_STRING): Adjust help output accordingly.
($PGMAJORVERSION, $PREVMAJORVERSION)
($PREVPGENGINE): Remove newly useless globals.
($option_upgradefrom): New option default.
(set_var, root_prereq): New helper functions.
(parse_upgrade_setup): Helper function to parse upgrade
configuration.
(print_version): Don't print PREVMAJORVERSION as it is (with
configuration) useless.
(upgrade): Create new $inplace local to handle in-place and
copy-like migrations differently.  Use the variable set generated
by parse_upgrade_setup() function.  Small err message fixes.
(handle_service_env, handle_pgconf): Remove the MODE argument.
(parse_configuration): Generalize operations which needed to be
done on two places.
* upgrade_config.template: Example of ./configure time config
file.  Based on files like this the run-time is generated.
* share/postgresql-setup/.gitignore: New file.
* share/postgresql-setup/Makefile.inc: New file.
* build-helpers/build-config: New file, generator of configuration
files.
* build-helpers/Makefile.inc: New file.
* Makefile.am: Distribute upgrade_config.template.  Start the
conversion to flat Makefile and include two new Makefile.inc
snippets.
* configure.ac: New --with-upgrade-config option.  Propagate the
rawpkgdatadir and UPGRADE_CONFIG_LIST variables into Makefile.
(INSTANTIATE): Enhance to create the leading path also.
(INSTANTIATE_CONV): Convenience helper for leading path of target
creation.
* auxdir/install_local: New (just-for-git) installation helper.
* .gitignore: Don't hide share/postgresql-setup.
* TODO: Mention that KDE folks would like to migrate somehow.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Turns out we need to support upgrade from more than one previous
database versions.  The plan is to make this as general as easily
possible, "run-time" configurable without need to recompile.

* postgresql-setup.in: Add options --upgrade-from and
--upgrade-ids.  Require root access (as late as possible).
($USAGE_STRING): Adjust help output accordingly.
($PGMAJORVERSION, $PREVMAJORVERSION)
($PREVPGENGINE): Remove newly useless globals.
($option_upgradefrom): New option default.
(set_var, root_prereq): New helper functions.
(parse_upgrade_setup): Helper function to parse upgrade
configuration.
(print_version): Don't print PREVMAJORVERSION as it is (with
configuration) useless.
(upgrade): Create new $inplace local to handle in-place and
copy-like migrations differently.  Use the variable set generated
by parse_upgrade_setup() function.  Small err message fixes.
(handle_service_env, handle_pgconf): Remove the MODE argument.
(parse_configuration): Generalize operations which needed to be
done on two places.
* upgrade_config.template: Example of ./configure time config
file.  Based on files like this the run-time is generated.
* share/postgresql-setup/.gitignore: New file.
* share/postgresql-setup/Makefile.inc: New file.
* build-helpers/build-config: New file, generator of configuration
files.
* build-helpers/Makefile.inc: New file.
* Makefile.am: Distribute upgrade_config.template.  Start the
conversion to flat Makefile and include two new Makefile.inc
snippets.
* configure.ac: New --with-upgrade-config option.  Propagate the
rawpkgdatadir and UPGRADE_CONFIG_LIST variables into Makefile.
(INSTANTIATE): Enhance to create the leading path also.
(INSTANTIATE_CONV): Convenience helper for leading path of target
creation.
* auxdir/install_local: New (just-for-git) installation helper.
* .gitignore: Don't hide share/postgresql-setup.
* TODO: Mention that KDE folks would like to migrate somehow.
</pre>
</div>
</content>
</entry>
</feed>
