Subject: CVS commit: pkgsrc/databases/p5-App-Sqitch
From: Amitai Schlair
Date: 2014-11-23 15:18:03
Message id: 20141123141804.070B998@cvs.netbsd.org

Log Message:
Update to 0.997. From the changelog:

[New Features]
- Added support for new target properties. In addition to the existing
  `uri`, `client`, and `registry` properties, targets may also configure
  these properties via the new `--set` option to and `set-*` actions on
  the `target` command:
  * `top_dir`
  * `plan_file`
  * `extension`
  * `deploy_dir`
  * `revert_dir`
  * `verify_dir`
- Added support for new engine configuration variables. In addition to
  the existing `target`, `client`, and `registry` variables, engine
  configuration may also include these variables:
  * `top_dir`
  * `plan_file`
  * `extension`
  * `deploy_dir`
  * `revert_dir`
  * `verify_dir`
- Rationalized the hierarchical configuration of deployment targets. The
  properties of any given target will now be determined by examining
  values in the following order:
  * Command-line options
  * Target configuration
  * Engine configuration
  * Core configuration
  * Reasonable engine-specific defaults
- Added the `engine` command to simplify engine configuration. This
  complements the newly-improved `target` command. Run `sqitch engine
  update-config` to update deprecated engine configurations and start
  using it.
- Added the sqitch-configuration guide to provide an overview of core,
  engine, and target configuration. Includes some use-case examples and
  best suggested practices.
[Improvements]
- Simplified the output of `sqitch help`, and added the more important
  options to it.
- Added the `--guide` option to `sqitch help` to list Sqitch guides.
- Renamed the `--db-client` option to `--client`. `--db-client` still
  works, but is deprecated.
- Added the `--registry` core option for parity with `--client`,
  `--top-dir`, `--plan-file`, and the rest of the hierarchical
  configuration properties.
- Updated the `init` documentation to better cover all the options
  processed.
- Incremented the version plan file format version to v1.0.0. No changes;
  it has been stable for at least a year, so it's time.
[Bug Fixes]
- At runtime, the Vertica engine now properly requires DBD::ODBC
  instead of DBD::Pg.
- The Vertica engine now supports Vertica 6, as documented.
- Fixed a warning from Type::Utils, thanks to a report from Géraud
  CONTINSOUZAS.
- The `status` command once again notices if the specified database is
  uninitialized and says as much, rather than dying with an SQL error.
- The `--etc-path` option works again.
[Deprecations]
- Deprecated `core.$engine` configuration in favor of `engine.$engine`. A
  warning will be emitted if Sqitch sees the former. Run `sqitch engine
  update-config` to update your configurations. Existing `core.$engine`
  configurations will be left in place for compatibility with older
  versions of Sqitch, but the `sqitch engine` command will not modify
  them, so they can get out-of-sync. Run `sqitch config --remove-section
  core.$engine` to remove them.
- Formally deprecated the database connection options in favor of target
  URIs. If any of these options is used, a warning will be issued. They
  will be dropped in v1.0:
  * `--db-host`
  * `--db-port`
  * `--db-username`
  * `--db-password`
  * `--db-name`
- Formally deprecated the database connection configuration variables in
  favor of target URIs. If any of these variables is used, a warning will
  be issued. Run `sqitch engine update-config` to update your
  configurations. Existing `core.$engine` configurations will be left in
  place for compatibility with older versions of Sqitch, but the `sqitch
  engine` command will not modify them, so they can get out-of-sync. Run
  `sqitch config --remove-section core.$engine` to remove them. Sqitch
  will cease to support them in v1.0:
  * `core.$engine.host`
  * `core.$engine.port`
  * `core.$engine.username`
  * `core.$engine.password`
  * `core.$engine.db_name`
- Deprecated the `--registry` and `--client` options of the `target`
  command. All target properties should now be set via the new `--set`
  option, such as `--set registry=reg`.
- Formally deprecated the following options of the `add` command. They
  have been replaced with the `--with`, `--without`, and `--use` options
  since v0.991. Their use will emit a warning, and they will be removed
  in v1.0:
  * `--deploy-template`
  * `--revert-template`
  * `--verify-template`
  * `--deploy`
  * `--no-deploy`
  * `--revert`
  * `--no-revert`
  * `--verify`
  * `--no-verify`
- Dropped support for the long-deprecated (and likely never used outside
  ancient tests long deleted) engine configuration variables
  `core.sqlite.sqitch_db` and `core.pg.sqitch_schema`. Both have been
  replaced with `engine.$engine.registry`, which applies to all engines.
- Formally deprecated the `@FIRST` and `@LAST` symbolic tags. Their use
  will trigger a warning to use `@ROOT` and `@HEAD`, instead. They will
  be removed in v1.0.
[Internals]
- Moved target and engine configuration from App::Sqitch and
  App::Sqitch::Engine to a new class, App::Sqitch::Target. This class is
  solely responsible for finding the appropriate values for attributes on
  every run. The target knows what plan and engine to use, based on those
  properties. App::Sqitch is now responsible solely for encapsulating
  command-line options, configuration, and utilities. Classes are now
  responsible for instantiating both an App::Sqitch and
  App::Sqitch::Target options as appropriate.
- Updated all classes to create both Sqitch and Target objects as
  appropriate. This change touched almost every class.
- Replaced attributes in App::Sqitch that were previously set from
  command-line options or configuration with a single attribute,
  `options`, which is a hash only of the command-line options. Classes
  are now responsible for finding the proper values in config or options.
  Mostly this requirement is encapsulated by the new App::Sqitch::Target
  class.
- Updated the command classes to use either a "default target" derived
  from command-line options, engine configuration, and core
  configuration, or a target looked up by name in the configuration
  maintained by the `target` command.
- Fixed one more test failure due to the introduction of "Negative repeat
  count does nothing" warning in Perl 5.21.1.
- Fixed "Redundant argument in printf" warning on Perl 5.21.2.
- Switched from Digest::SHA1, which is deprecated, to Digest::SHA for
  generating SHA-1 IDs.
- Switched from Mouse and Moose to Moo. Sqitch no longer depends on any
  modules that use Moose, either. This results in an approximately 40%
  startup time speedup.
- Loading of App::Sqitch::DateTime is now deferred until it's needed.
  This is because DateTime is rather expensive to load. Since a number of
  commands don't need it, it seems silly to load it in those cases.
- Now recommend Type::Tiny::XS and Class::XSAccessor for improved
  performance.
- The `check` command now properly fails on a plan parse error, instead
  of blindly continuing on.
- Fixed a failing test on PosrgreSQL due to localization issues. Thanks
  to Sven Schoberf for the report (Issue #171).
- Added the `revert.prompt_accept`, `rebase.prompt_accept`, and
  `checkout.prompt_accept` boolean configuration variables. Set these
  variables to false to change the default answer to the revert prompt to
  "No". When rebasing or checking out, if the variables specific to those
  commands are not set, Sqitch will fall back on the value of
  `revert.prompt_accept`. Suggested by Graeme Lawton (Issue #164).
- The MySQL engine now sets the `$MYSQL_PWD` environment variable if a
  password is provided in a target. This should simplify authtentication
  when running MySQL change scripts through the `mysql` client client
  (Issue #150).
- The MySQL engine now reads `client` and `mysql` groups in the MySQL
  configuration files for a password when connecting to the registry
  database, and when the target URI includes no password. The MySQL
  client already read those files, of course, but now the internal
  database connection does as well (Issue #150).
- The Firebird engine now sets the `$ISC_PASSWORD` environment variable
  if a password is provided in a target. This should simplify
  authtentication when running Firebird change scripts through the `isql`
  client client. Patch from Ștefan Suciu.
- No longer passing URI query params as DBI params, because they are
  already included in the DSN provided by URI::db.
- Added the Vertica engine.

Files:
RevisionActionfile
1.11modifypkgsrc/databases/p5-App-Sqitch/Makefile
1.7modifypkgsrc/databases/p5-App-Sqitch/distinfo