Bug 207044

Summary: security/py-keyring: Update to 8.3
Product: Ports & Packages Reporter: Douglas Thrift <douglas>
Component: Individual Port(s)Assignee: Ruslan Makhmatkhanov <rm>
Status: Closed FIXED    
Severity: Affects Only Me CC: douglas, python, rm
Priority: --- Keywords: easy, patch, patch-ready
Version: LatestFlags: koobs: maintainer-feedback? (douglas)
Hardware: Any   
OS: Any   
Bug Depends on: 207046    
Bug Blocks:    
Description Flags
douglas: maintainer-approval+
douglas: maintainer-approval+
logs/py27-keyring-8.3.log none

Description Douglas Thrift 2016-02-09 06:40:15 UTC
Created attachment 166783 [details]

Update security/py-keyring to 8.3. Since version 8.0, they have split some of the backends into a separate package so I have made a port for that as well (security/py-keyrings.atl, which I will attach here as well). There probably needs to be an UPDATING message about this.

For security/py-keyring "portlint -C" reports "looks fine."
For security/py-keyrings.alt "portlint -A" reports "looks fine."
I will attach the "poudriere testport" logs for both.


* Issue #207: Library now requires win32ctypes on Windows
  systems, which will be installed automatically by
  Setuptools 0.7 or Pip 6 (or later).
* Actually removed QtKwallet, which was meant to be dropped in
  8.0 but somehow remained.


* Update readme to include how-to use with Linux
  non-graphical environments.


* Issue #197: Add ``__version__`` attribute to keyring module.


* Issue #117: Removed all but the preferred keyring backends
  for each of the major desktop platforms:

    - keyring.backends.kwallet.DBusKeyring
    - keyring.backends.OS_X.Keyring
    - keyring.backends.SecretService.Keyring
    - keyring.backends.Windows.WinVaultKeyring

  All other keyrings
  have been moved to a new package, `keyrings.alt
  <https://pypi.python.org/pypi/keyrings.alt>`_ and
  backward-compatibility aliases removed.
  To retain
  availability of these less preferred keyrings, include
  that package in your installation (install both keyring
  and keyrings.alt).

  As these keyrings have moved, any keyrings indicated
  explicitly in configuration will need to be updated to
  replace "keyring.backends." with "keyrings.alt.". For
  example, "keyring.backends.file.PlaintextKeyring"
  becomes "keyrings.alt.file.PlaintextKeyring".


* Issue #194: Redirect away from docs until they have something
  more than the changelog. Users seeking the changelog will
  want to follow the `direct link


* Issue #117: Added support for filtering which
  backends are acceptable. To limit to only loading recommended
  keyrings (those with priority >= 1), call::



* Pull Request #190: OS X backend now exposes a ``keychain``
  attribute, which if set will be used by ``get_password`` when
  retrieving passwords. Useful in environments such as when
  running under cron where the default keychain is not the same
  as the default keychain in a login session. Example usage::

    keyring.get_keyring().keychain = '/path/to/login.keychain'
    pw = keyring.get_password(...)


* Issue #186: Removed preference for keyrings based on
  ``XDG_CURRENT_DESKTOP`` as these values are to varied
  to be a reliable indicator of which keyring implementation
  might be preferable.


* Issue #187: Restore ``Keyring`` name in ``kwallet`` backend.
  Users of keyring 6.1 or later should prefer an explicit reference
  to DBusKeyring or QtKeyring instead.


* Issue #183 and Issue #185: Gnome keyring no longer relies
  on environment variables, but instead relies on the GnomeKeyring
  library to determine viability.
Comment 1 Douglas Thrift 2016-02-09 06:41:30 UTC
Created attachment 166784 [details]

Here is the shar for security/py-keyrings.alt.
Comment 2 Douglas Thrift 2016-02-09 06:43:22 UTC
Created attachment 166785 [details]

Here is the poudriere testport log for security/py-keyring.
Comment 3 Douglas Thrift 2016-02-09 06:43:56 UTC
Created attachment 166786 [details]

Here is the poudriere testport log for security/py-keyrings.alt.
Comment 4 Kubilay Kocak freebsd_committer freebsd_triage 2016-02-09 06:49:07 UTC
Thanks Douglas!

Can you please create a separate issue for the NEW PORT that blocks this issue please.

If py-keyrings depends on keyring.alt by default, is there still a need for an UPDATING entry?
Comment 5 Douglas Thrift 2016-02-09 06:54:09 UTC
Okay, I will create a new PR for security/py-keyrings.alt.

I don't think I can make security/py-keyring depend on it since that would create a circular dependency as I have it right now, but maybe I can switch that around?
Comment 6 Kubilay Kocak freebsd_committer freebsd_triage 2016-02-09 07:07:31 UTC
(In reply to douglas from comment #5)

keyrings.alt doesn't appear to "require" keyrings:


In this case we could look to creating an OPTION and add it to OPTIONS_DEFAULT to retain the existing behaviour/implementations (if that indeed does keep the current behaviour), which precludes needing an UPDATING entry
Comment 7 Douglas Thrift 2016-02-09 07:14:49 UTC
Yep, already figuring that part out.

Regarding the UPDATING thing though there is this part from CHANGES.rst:

  As these keyrings have moved, any keyrings indicated
  explicitly in configuration will need to be updated to
  replace "keyring.backends." with "keyrings.alt.". For
  example, "keyring.backends.file.PlaintextKeyring"
  becomes "keyrings.alt.file.PlaintextKeyring".

It seems like we could have the OPTIONS_DEFAULT as well as a note about changing any configuration.
Comment 8 Douglas Thrift 2016-02-09 07:30:41 UTC
Created attachment 166789 [details]

I have updated the patch so keyring now has a default option to depend on security/py-keyrings.alt which I have made a separate PR for.
Comment 9 Douglas Thrift 2016-02-09 07:31:48 UTC
Created attachment 166790 [details]

Here is the poudriere testport log for the updated diff.
Comment 10 Ruslan Makhmatkhanov freebsd_committer 2016-02-10 19:45:43 UTC
Comment 11 commit-hook freebsd_committer 2016-02-12 21:06:22 UTC
A commit references this bug:

Author: rm
Date: Fri Feb 12 21:05:59 UTC 2016
New revision: 408763
URL: https://svnweb.freebsd.org/changeset/ports/408763

  security/py-keyring: update to 8.3

  - update to 8.3

  Since version 8.0, they have split some of the backends into a separate package
  (security/py-keyrings.alt), so change this port options accordingly.

  PR:		207044
  Submitted by:	Douglas Thrift <douglas@douglasthrift.net> (maintainer)

Comment 12 Ruslan Makhmatkhanov freebsd_committer 2016-02-12 21:06:50 UTC
Committed, thank you!