From 7a0eac99cbe9129155c2d7590124856cc54ef1e5928a6635f496f002a76ece67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mark=C3=A9ta=20Machov=C3=A1?= Date: Thu, 21 Aug 2025 09:29:01 +0000 Subject: [PATCH] - Convert to libalternatives on SLE-16-based and newer systems only OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-keyring?expand=0&rev=137 --- .gitattributes | 23 + .gitignore | 1 + _multibuild | 3 + keyring-25.2.1.tar.gz | 3 + python-keyring.changes | 1090 ++++++++++++++++++++++++++++++++++++++++ python-keyring.spec | 117 +++++ 6 files changed, 1237 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 _multibuild create mode 100644 keyring-25.2.1.tar.gz create mode 100644 python-keyring.changes create mode 100644 python-keyring.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/_multibuild b/_multibuild new file mode 100644 index 0000000..fcc7b97 --- /dev/null +++ b/_multibuild @@ -0,0 +1,3 @@ + + test + diff --git a/keyring-25.2.1.tar.gz b/keyring-25.2.1.tar.gz new file mode 100644 index 0000000..70ee0de --- /dev/null +++ b/keyring-25.2.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:daaffd42dbda25ddafb1ad5fec4024e5bbcfe424597ca1ca452b299861e49f1b +size 60797 diff --git a/python-keyring.changes b/python-keyring.changes new file mode 100644 index 0000000..384b409 --- /dev/null +++ b/python-keyring.changes @@ -0,0 +1,1090 @@ +------------------------------------------------------------------- +Thu Aug 21 09:28:37 UTC 2025 - Markéta Machová + +- Convert to libalternatives on SLE-16-based and newer systems only + +------------------------------------------------------------------- +Fri Jul 11 10:42:52 UTC 2025 - Markéta Machová + +- Convert to libalternatives + +------------------------------------------------------------------- +Tue May 14 08:11:26 UTC 2024 - Dirk Müller + +- update to 25.2.1: + * Fix typo in CLI creds mode. + +------------------------------------------------------------------- +Fri May 10 13:32:26 UTC 2024 - Dirk Müller + +- update to 25.2.0: + * Added options for 'keyring get' command to support credential + retrieval and emit as JSON. + +------------------------------------------------------------------- +Sat Apr 6 19:38:28 UTC 2024 - Dirk Müller + +- update to 25.1.0: + * Replace ExceptionRaisedContext with ExceptionTrap. + * When completion is unavailable, exit with non-zero status and + emit message to stderr. + * Removed check for config in XDG_DATA_HOME on Linux systems. + * In platform config support, remove support for Windows XP, + now 10 years sunset. + +------------------------------------------------------------------- +Sat Mar 16 09:03:31 UTC 2024 - Dirk Müller + +- update to 24.3.1: + * Minor fixes to account for emergent typing and linter + concerns. + +------------------------------------------------------------------- +Mon Nov 27 19:29:51 UTC 2023 - Dirk Müller + +- update to 24.3.0: + * Added bash completion support. (#643) + +------------------------------------------------------------------- +Wed Jul 19 07:31:09 UTC 2023 - ecsos + +- %{?sle15_python_module_pythons} must at the beginning to work. + +------------------------------------------------------------------- +Wed Jul 12 22:53:41 UTC 2023 - Arun Persaud + +- specfile: + * require python >=3.8 + * Changelog got renamed to NEWS + +- update to version 24.2.0: + * Features + + Require Python 3.8 or later. + +- changes from version 24.1.1: + * Bugfixes + + Restore support for reading from a config file (with regression + test). (#638) + +- changes from version 24.1.0: + * Bugfixes + + Avoid logging warning when no config file is present. (#635) + + Include all operations in the error message if no operation was + supplied. (#636) + * Improved Documentation + + Correct name of macOS backend in README. (#637) + +- changes from version 24.0.0: + * #633: Added diagnose command with basic support. + * #487: Removed keyring.backends.OS_X module. + * #593: Removed keyring.util.properties module. + +- changes from version 23.14.0: + * #623: On macOS, warn the user when keychain property is indicated, + as that value can't be honored (macOS API no longer supports + indicating the target keychain). + +------------------------------------------------------------------- +Fri Apr 21 12:27:41 UTC 2023 - Dirk Müller + +- add sle15_python_module_pythons (jsc#PED-68) + +------------------------------------------------------------------- +Thu Apr 13 22:42:23 UTC 2023 - Matej Cepl + +- Make calling of %{sle15modernpython} optional. + +------------------------------------------------------------------- +Mon Jan 2 16:58:52 UTC 2023 - Dirk Müller + +- update to 23.13.1: + * #608: Added support for tab completion on the ``keyring`` command + if the ``completion`` extra is installed (``keyring[completion]``). + * #612: Prevent installation of ``pywin32-ctypes 0.1.2`` with broken + ``use2to3`` directive. + * #607: Removed PSF license as it was unused and confusing. Project + remains MIT licensed as always. + +------------------------------------------------------------------- +Wed Nov 9 14:34:46 UTC 2022 - Ben Greiner + +- Fix dependencies, remove workaround for gh#jaraco/keyring#526 + +------------------------------------------------------------------- +Tue Nov 8 17:17:53 UTC 2022 - Yogalakshmi Arunachalam + +- Update to version 23.11.0 + #603: In libsecret, check that the service is available before declaring viability. + +- Update to version 23.10.0 + #526: Bump requirement on importlib_metadata to pull in fix for improperly-normalized names on egg-info. + +------------------------------------------------------------------- +Sun Oct 30 11:35:42 UTC 2022 - Ben Greiner + +- Drop support-new-importlib.patch + * "New" importlib 5.0 dropped deprecated indexing support + gh#python/importlib_metadata#405 + * See also gh#jaraco/keyring#526 + +------------------------------------------------------------------- +Fri Sep 23 20:57:12 UTC 2022 - Ben Greiner + +- Clean specfile from setuptools cruft, this is a PEP517 package +- Only python >= 3.7 is supported +- Fix more runtime requirements + +------------------------------------------------------------------- +Tue Sep 20 16:18:23 UTC 2022 - Alexei Sorokin + +- Update to version 23.9.3 (changes since 23.9.1): + * Fix wrong name in compatibility logic for properties + (masked by the compatibility fallback). + * Add workaround for devpi_client hook with wrapped + implementation. +- Add the missing python-jaraco.classes dependency (bsc#1203659) + +------------------------------------------------------------------- +Sat Sep 17 08:34:37 UTC 2022 - Dirk Müller + +- update to 23.9.1: + * #593: Restore ``keyring.util.properties`` with deprecation warning for + backward compatibility. + * #588: Project now depends on ``jaraco.classes`` for class property support. + * #581: Corrected regression in ``libsecret`` tests (``.collection`` property). + * #587: Fix regression in ``libsecret``. + * #448: ``SecretService`` and ``libsecret`` backends now support a + new ``SelectableScheme``, allowing the keys for "username" and + "service" to be overridden for compatibility with other schemes + such as KeePassXC. + * Introduced a new ``.with_properties`` method on backends to + produce a new keyring with different properties. Use for example + to get a keyring with a different ``keychain`` (macOS) or + ``scheme`` (SecretService/libsecret). e.g.:: + keypass = keyring.get_keyring().with_properties(scheme='KeePassXC') + * ``.with_keychain`` method on macOS is superseded by ``.with_properties`` + and so is now deprecated. + +------------------------------------------------------------------- +Mon Aug 29 04:50:09 UTC 2022 - Steve Kowalik + +- Inject multibuild to prevent a build cycle + +------------------------------------------------------------------- +Sun Jul 24 09:11:56 UTC 2022 - Dirk Müller + +- update to 23.7.0: + * #582: Suppress KeyringErrors for devpi client. + +------------------------------------------------------------------- +Wed Jun 15 20:24:08 UTC 2022 - Yogalakshmi Arunachalam + +- update to 23.6.0 + #575: Only require importlib_metadata on older Pythons. + #579: Add .with_keychain method on macOS for easy reference to alternate keychains. + +------------------------------------------------------------------- +Wed Jun 8 20:01:11 UTC 2022 - Dirk Müller + +- update to 23.5.1: + * The correct config root is now used on Windows + +------------------------------------------------------------------- +Mon Jan 10 22:45:36 UTC 2022 - Dirk Müller + +- update to 23.5.0: + * Require Python 3.7 or later. + * #551: Fixed docs warnings. + * #549: EnvironCredential now allows for equality + comparison. + * #529: macOS backend is no longer viable if the API module + cannot be loaded. Prevents "symbol not found" errors on + macOS 11 (Big Sur) and later when a "universal2" binary + is not used (available for Python 3.8.7 and later). + * #547: Tests no longer attempt to run macOS backends even + on macOS when the backend is non-viable. + * #542: Change get_credential to return generic Credential. + +------------------------------------------------------------------- +Fri Sep 24 09:21:13 UTC 2021 - Steve Kowalik + +- Update to 23.2.1: + * #530: In libsecret tests, use a session collection to allow tests + to pass on Debian. + * #521: Add libsecret backend. + * #519: macOS backend APIs updated to newer, non-legacy APIs. +- Add patch support-new-importlib.patch: + * Support new importlib-metadata. + +------------------------------------------------------------------- +Thu Jun 17 14:52:19 UTC 2021 - Matej Cepl + +- Update to 23.0.1 (bsc#1184133): + * #504: Better error with invalid parameter to init_keyring. + * #505: Nicer documentation for headless Docker. + * Backends now all invoke ``set_properties_from_env`` on + self in the initializer. Derived backends should be sure + to invoke ``super().__init__()``. + * Use new entry points API from importlib_metadata 3.6. + * Added redundant type declarations for accessor functions + in ``keyring.core``. + * Added type declaration for ``keyring.core.get_keyring()``. + * #438: For better interoperability with other + applications, ``Windows`` backend now attempts to + decode passwords using UTF-8 if UTF-16 decoding fails. + Passwords are still stored as UTF-16. + * #437: Package now declares typing support. + * #403: Keyring no longer eagerly initializes the backend + on import, but instead defers the backend initialization + until a keyring is accessed. Any callers reliant on this + early intialization behavior may need to call + ``keyring.core.init_backend()`` to explicitly initialize + the detected backend. + * #474: SecretService and KWallet backends are now + disabled if the relevant names are not available on + D-Bus. Keyring should now be much more responsive + in these environments. + * #463: Fixed regression in KWallet ``get_credential`` + where a simple string was returned instead of a + SimpleCredential. + * #431: KWallet backend now supports ``get_credential``. + * #445: Suppress errors when ``sys.argv`` is not + a list of at least one element. + * #440: Keyring now honors XDG_CONFIG_HOME as + ``~/.config``. + * #452: SecretService ``get_credential`` now returns + ``None`` for unmatched query. +- Remove fix-kwallet-tests.patch, it doesn't seem to be necessary + anymore. + +------------------------------------------------------------------- +Tue Feb 16 09:47:10 UTC 2021 - Antonio Larrosa + +- On SLE/Leap, set the egg version on %prep to the package version + since it's not being set automatically. + +------------------------------------------------------------------- +Wed Sep 30 12:35:11 UTC 2020 - Hans-Peter Jansen + +- Fold -tests package into mail package again + +------------------------------------------------------------------- +Mon Sep 21 16:25:13 UTC 2020 - Hans-Peter Jansen + +- Apply fix-kwallet-tests.patch + +------------------------------------------------------------------- +Tue Jun 2 16:32:46 UTC 2020 - Dirk Mueller + +- update to 21.2.1: + * #426: Restored lenience on startup when entry point + metadata is missing. + * #423: Avoid RecursionError when initializing backends + when a limit is supplied. + +------------------------------------------------------------------- +Thu May 28 07:16:57 UTC 2020 - Tomáš Chvátal + +- Fix the requirements to match reality of setup.cfg + +------------------------------------------------------------------- +Mon May 25 06:50:30 UTC 2020 - Petr Gajdos + +- %python3_only -> %python_alternative + +------------------------------------------------------------------- +Sat May 2 17:54:41 UTC 2020 - Hans-Peter Jansen + +- fix packaging tests + +------------------------------------------------------------------- +Thu Apr 16 08:27:33 UTC 2020 - pgajdos@suse.com + +- version update to 21.2.0 + v21.2.0 + ------- + * #372: Chainer now deterministically resolves at a lower + priority than the Fail keyring (when there are no backends + to chain). + * #372: Fail keyring now raises a ``NoKeyringError`` for + easier selectability. + * #405: Keyring now logs at DEBUG rather than INFO during + backend startup. + v21.1.1 + ------- + * Refreshed package metadata. + v21.1.0 + ------- + * #380: In SecretService backend, close connections after + using them. + v21.0.0 + ------- + * Require Python 3.6 or later. + v20.0.1 + ------- + * #417: Fix TypeError when backend fails to initialize. + v20.0.0 + ------- + * Extracted ``keyring.testing`` package to contain supporting + functionality for plugin backends. ``keyring.tests`` has been + removed from the package. + v19.3.0 + ------- + * Switch to `importlib.metadata + `_ + for loading entry points. Removes one dependency on Python 3.8. + * Added new ``KeyringBackend.set_properties_from_env``. + * #382: Add support for alternate persistence scopes for Windows + backend. Set ``.persist`` to "local machine" or "session" + to enable the alternate scopes or "enterprise" to use the + default scope. + * #404: Improve import times when a backend is specifically + configured by lazily calling ``get_all_keyring``. + 19.2.0 + ------ + * Add support for get_credential() with the SecretService backend. + 19.1.0 + ------ + * #369: macOS Keyring now honors a ``KEYCHAIN_PATH`` + environment variable. If set, Keyring will use that + keychain instead of the default. + 19.0.2 + ------ + * Refresh package skeleton. + * Adopt `black `_ code style. + 19.0.1 + ------ + * Merge with 18.0.1. + +------------------------------------------------------------------- +Thu Mar 28 21:08:23 UTC 2019 - Jan Engelhardt + +- Use noun phrase in summary. + +------------------------------------------------------------------- +Thu Mar 28 15:05:12 UTC 2019 - Tomáš Chvátal + +- Update to 18.0.1: + * #386: ExceptionInfo no longer retains a reference to the traceback. + +------------------------------------------------------------------- +Wed Mar 6 08:40:32 UTC 2019 - Tomáš Chvátal + +- Revert the test removal pending fix of upstream bug: + https://github.com/jaraco/keyrings.alt/issues/33 + +------------------------------------------------------------------- +Sat Mar 2 10:41:01 UTC 2019 - Hans-Peter Jansen + +- Package tests in separate package $flavor-tests + Allows packages, that depend on these tests, to build successfully + e.g. keyrings.cryptfile + +------------------------------------------------------------------- +Tue Feb 26 13:10:57 UTC 2019 - John Vandenberg + +- Add LICENSE +- Remove tests from runtime package +- Fix test failure occurring in test_packaging.py +- Use pytest --ignore to avoid removing build directories in %check +- Remove unnecessary build dependency pytest-sugar +- Update to v18.0.0 + * On macOS, the backend now raises a ``KeyringLocked`` + when access to the keyring is denied (on get or set) instead + of ``PasswordSetError`` or ``KeyringError``. Any API users + may need to account for this change, probably by catching + the parent ``KeyringError``. + Additionally, the error message from the underying error is + now included in any errors that occur. +- from 17.1.1 + * Update packaging technique to avoid 0.0.0 releases. +- from 17.1.0 + * When calling ``keyring.core.init_backend``, if any limit function is + supplied, it is saved and later honored by the ``ChainerBackend`` as well. +- from 17.0.0 + * Remove application attribute from stored passwords + using SecretService, addressing regression introduced in + 10.5.0 (#292). Impacted Linux keyrings will once again + prompt for a password for "Python program". +- from 16.1.1 + * Fix error on import due to circular imports on Python 3.4. +- from 16.1.0 + * Refactor ChainerBackend, introduced in 16.0 to function + as any other backend, activating when relevant. +- 16.0.2 + * In Windows backend, trap all exceptions when attempting to import pywin32. +- from 16.0.1 + * Once again allow all positive, non-zero priority keyrings to participate. +- from 16.0.0 + * Fix race condition in delete_password on Windows. + * All suitable backends (priority 1 and greater) are + allowed to participate. +- from 15.2.0 + * Added new API for ``get_credentials``, for backends + that can resolve both a username and password for a service. + +------------------------------------------------------------------- +Fri Oct 12 03:19:07 UTC 2018 - Arun Persaud + +- specfile: + * removed devel from noarch + +- update to version 15.1.0: + * #340: Add the Null keyring, disabled by default. + * #340: Added --disable option to command-line interface. + * #340: Now honor a PYTHON_KEYRING_BACKEND environment variable to + select a backend. Environments may set to + keyring.backends.null.Keyring to disable keyring. + +- changes from version 15.0.0: + * Removed deprecated keyring.util.escape module. + * Fixed warning about using deprecated Abstract Base Classes from + collections module. + +- changes from version 14.0.0: + * Removed getpassbackend module and alias in + keyring.get_pass_get_password. Instead, just use: + * keyring.get_password(getpass.getuser(), 'Python') + +------------------------------------------------------------------- +Wed Sep 5 20:27:43 UTC 2018 - dmueller@suse.com + +- drop flake8 dependency + +------------------------------------------------------------------- +Mon Jul 9 13:37:36 UTC 2018 - dmueller@suse.com + +- Update to 13.2.1: + * #335: Fix regression in command line client. + * Keyring command-line interface now reads the password + directly from stdin if stdin is connected to a pipe. + * #329: Improve output of ``keyring --list-backends``. + +------------------------------------------------------------------- +Sat Jun 23 06:58:48 UTC 2018 - tchvatal@suse.com + +- Version update to 13.0.0: + * #327: In kwallet backend, if the collection or item is + locked, a ``KeyringLocked`` exception is raised. Clients + expecting a None response from ``get_password`` under + this condition will need to catch this exception. + Additionally, an ``InitError`` is now raised if the + connection cannot be established to the DBus. + * #298: In kwallet backend, when checking an existing + handle, verify that it is still valid or create a new + connection. + * Fixed issue in SecretService. Ref #226. + * #322: Fix AttributeError when ``escape.__builtins__`` + is a dict. + * Deprecated ``keyring.util.escape`` module. If you use + this module or encounter the warning (on the latest + release of your packages), please `file a ticket + `_. + * Unpin SecretStorage on Python 3.5+. Requires that + Setuptools 17.1 be used. Note that the special + handling will be unnecessary once Pip 9 can be + assumed (as it will exclude SecretStorage 3 in + non-viable environments). + * #310: Keyring now loads all backends through entry + points. + * #312: Use ``entrypoints`` instead of pkg_resources to + avoid performance hit loading pkg_resources. Adds + a dependency on ``entrypoints``. + * #294: No longer expose ``keyring.__version__`` (added + in 8.1) to avoid performance hit loading pkg_resources. + * #299: Keyring exceptions are now derived from a base + ``keyring.errors.KeyringError``. + * #296: Prevent AttributeError on import when Debian has + created broken dbus installs. + +------------------------------------------------------------------- +Wed Jan 24 10:27:23 UTC 2018 - tchvatal@suse.com + +- Fix building in py3 only enviroment +- Remove the test conditional which was always on anyway + +------------------------------------------------------------------- +Tue Nov 28 12:22:03 UTC 2017 - mimi.vx@gmail.com + +- update to 10.5.0: + * Added --list-backends option to command-line interface. + * Removed logger from keyring + * Set the appid for SecretService & KWallet to something meaningful + +------------------------------------------------------------------- +Wed Aug 23 05:19:34 UTC 2017 - tbechtold@suse.com + +- update to 10.4.0: + * #279: In Kwallet, pass mainloop to SessionBus. + * #278: Unpin pywin32-ctypes, but blacklist known + incompatible versions. + * #278: Pin to pywin32-ctypes 0.0.1 to avoid apparent + breakage introduced in 0.1.0. + +------------------------------------------------------------------- +Wed May 3 16:03:08 UTC 2017 - toddrme2178@gmail.com + +- Implement single-spec version. +- Fix source URL. +- Update to version 10.3.2 + * #267: More leniently unescape lowercased characters as + they get re-cased by ConfigParser. +- Update to version 10.3.1 + * #266: Use private compatibity model rather than six to + avoid the dependency. +- Update to version 10.3 + * #264: Implement devpi hook for supplying a password when + logging in with `devpi `_ + client. + * #260: For macOS, added initial API support for internet + passwords. + +------------------------------------------------------------------- +Mon Jan 16 18:18:33 UTC 2017 - michael@stroeder.com + +- update copyright year +- update to 10.2 (requires python-setuptools_scm>=1.15.0) + +10.2 +---- +* #259: Allow to set a custom application attribute for + SecretService backend. +10.1 +---- +* #253: Backends now expose a '.name' attribute suitable + for identifying each backend to users. + +------------------------------------------------------------------- +Sat Nov 12 15:17:19 UTC 2016 - michael@stroeder.com + +- update to 10.0.2 +- build requires python-tox instead of python-pytest-runner +10.0.2 +----- +* #247: Restored console script. +10.0.1 +------ +* Update readme to reflect test recommendations. +10.0 +---- +* Drop support for Python 3.2. +* Test suite now uses tox instead of pytest-runner. + Test requirements are now defined in tests/requirements.txt. + +------------------------------------------------------------------- +Fri Aug 12 21:41:15 UTC 2016 - michael@stroeder.com + +- updated project URL +- update to 9.3.1: + * Link to the new Gitter chat room is now in the + readme. + * Issue #235: ``kwallet`` backend now returns + string objects instead of ``dbus.String`` objects, + for less surprising reprs. + * Minor doc fixes. + +------------------------------------------------------------------- +Wed Jun 29 13:34:12 UTC 2016 - tbechtold@suse.com + +- update to 9.3: +9.3 +--- +* Pull Request #226: In SecretService backend, unlock + individual entries. +9.2.1 +----- +* Issue #230: Don't rely on dbus-python and instead + defer to SecretStorage to describe the installation + requirements. +9.2 +--- +* Issue #231 via #233: On Linux, ``secretstorage`` + is now a declared dependency, allowing recommended + keyring to work simply after installation. +9.1 +--- +* Issue #83 via #229: ``kwallet`` backend now stores + the service name as a folder name in the backend rather + than storing all passwords in a Python folder. +- Adjust Requires +- Use pypi.io for Source url +------------------------------------------------------------------- +Sat Jun 4 12:26:06 UTC 2016 - michael@stroeder.com + +- require python-setuptools (see bsc#983147) + +------------------------------------------------------------------- +Thu May 5 17:13:09 UTC 2016 - michael@stroeder.com + +- update to upstream release 9.0 + +9.0 +--- + +* Issue #217: Once again, the OS X backend uses the + Framework API for invoking the Keychain service. + As a result, applications utilizing this API will be + authorized per application, rather than relying on the + authorization of the 'security' application. Consequently, + users will be prompted to authorize the system Python + executable and also new Python executables, such as + those created by virtualenv. + +8.7 +--- + +* Changelog now links to issues and provides dates of + releases. + +8.6 +--- + +* Issue #217: Add warning in OS Keyring when 'store' + is set to 'internet' to determine if this feature is + used in the wild. + +8.5.1 +----- + +* Pull Request #216: Kwallet backend now has lower + priority than the preferred SecretService backend, + now that the desktop check is no longer in place. + +8.5 +--- + +* Issue #168: Now prefer KF5 Kwallet to KF4. Users relying + on KF4 must use prior releases. + +8.4 +--- + +* Pull Request #209: Better error message when no backend is + available (indicating keyrings.alt as a quick workaround). +* Pull Request #208: Fix pywin32-ctypes package name in + requirements. + +8.3 +--- + +* 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. + +8.2 +--- + +* Update readme to include how-to use with Linux + non-graphical environments. + +8.1 +--- + +* Issue #197: Add ``__version__`` attribute to keyring module. + +8.0 +--- + +* 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 + `_ 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". + +7.3.1 +----- + +* 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 + `_. + +7.3 +--- + +* Issue #117: Added support for filtering which + backends are acceptable. To limit to only loading recommended + keyrings (those with priority >= 1), call:: + + keyring.core.init_backend(limit=keyring.core.recommended) + +7.2 +--- + +* 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(...) + +------------------------------------------------------------------- +Tue Jan 12 16:56:53 UTC 2016 - michael@stroeder.com + +- update to upstream release 7.1.2 +- require Python 2.7+ +- require python-setuptools_scm 1.9+ + +7.1 +* 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. + +7.0.2 +* 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. + +7.0.1 +* Issue #183 and Issue #185: Gnome keyring no longer relies + on environment variables, but instead relies on the GnomeKeyring + library to determine viability. + +7.0 +* Issue #99: Keyring now expects the config file to be located + in the XDG_CONFIG_HOME rather than XDG_DATA_HOME and will + fail to start if the config is found in the old location but not + the new. On systems where the two locations are distinct, + simply copy or symlink the config to remain compatible with + older versions or move the file to work only with 7.0 and later. +* Replaced Pull Request #182 with a conditional SessionBus + construction, based on subsequent discussion. + +6.1.1 +* Pull Request #182: Prevent DBus from indicating as a viable + backend when no viable X DISPLAY variable is present. + +6.1 +* Pull Request #174: Add DBus backend for KWallet, preferred to Qt + backend. Theoretically, it should be auto-detected based on + available libraries and interchangeable with the Qt backend. + +6.0 +* Drop support for Python 2.6. + +5.7.1 +* Updated project metadata to match Github hosting and + generally refreshed the metadata structure to match + practices with other projects. + +------------------------------------------------------------------- +Fri Dec 11 14:45:37 UTC 2015 - michael@stroeder.com + +- Update to version 5.7 +- Removed CONTRIBUTORS.txt because not available in upstream + source anymore. +- dropped patches keyring-import-gi.patch and keyring-gnome-3.18.patch + because they were obsoleted by fixes in upstream source + +5.7 +--- +* Issue #177: Resolve default keyring name on Gnome using the API. +* Issue #145: Add workaround for password exposure through + process status for most passwords containing simple + characters. +5.6 +--- +* Allow keyring to be invoked from command-line with + ``python -m keyring``. +5.5.1 +----- +* Issue #156: Fixed test failures in ``pyfs`` keyring related to + 0.5 release. +5.5 +--- +* Pull Request #176: Use recommended mechanism for checking + GnomeKeyring version. + +------------------------------------------------------------------- +Mon Sep 17 11:41:56 UTC 2015 - m0ses@samaxi.de + +- Added keyring-import-gi.patch: gi.require_version is called and not + found if gi is not imported + +------------------------------------------------------------------- +Mon Sep 7 08:40:56 UTC 2015 - dimstar@opensuse.org + +- Update to version 5.4: + + Prefer setuptools_scm to hgtools. +- Replace python-hgtools BuildRequires with python-setuptools_scm, + following upstreams change back to setuptools_scm. +- Add keyring-gnome-3.18.patch: Silence a warning: on GNOME 3.18, + it is mandatory to specify the version to be imported. + +------------------------------------------------------------------- +Tue Apr 28 11:06:12 UTC 2015 - mimi.vx@gmail.com + +- update to version 5.3 ++ changed licence to Python-2.0 and MIT + * Prefer setuptools_scm to hgtools. + * Version numbering is now derived from the code repository tags via hgtools. + * Build and install now requires setuptools. + * The entry point group must look like a module name, so the group is now “keyring.backends”. + * Added preliminary support for loading keyring backends through setuptools entry points, specifically “keyring backends”. + +------------------------------------------------------------------- +Tue Nov 11 17:45:50 UTC 2014 - i@marguerite.su + +- use update-alternatives for /usr/bin/keyring because there'll be + a python3-keyring package + +------------------------------------------------------------------- +Tue Oct 14 09:57:54 UTC 2014 - kgronlund@suse.com + +- Update to version 4.0 (boo#901066): + * Removed ``keyring_path`` parameter from ``load_keyring``. See release notes + for 3.0.3 for more details. + * Issue #22: Removed support for loading the config from the current + directory. The config file must now be located in the platform-specific + config location. +- Changes from version 3.7: + * Issue #22: Deprecated loading of config from current directory. Support for + loading the config in this manner will be removed in a future version. + * Issue #131: Keyring now will prefer ``pywin32-ctypes + ``_ to pywin32 if available. +- Changes from version 3.6: + * Gnome keyring no longer relies on the GNOME_KEYRING_CONTROL environment + variable. + * Issue #140: Restore compatibility for older versions of PyWin32. + +- Switch to pytest since nose doesn't support test fixtures and fails: + - Add BuildRequires: python-pytest + - Remove BuildRequires: python-nose + +------------------------------------------------------------------- +Thu Aug 28 13:05:31 UTC 2014 - dmueller@suse.com + +- reduce/fix build requires + +------------------------------------------------------------------- +Mon Mar 17 10:12:00 UTC 2014 - speilicke@suse.com + +- Update to version 3.6: + * Add support for packages that wish to bundle keyring by using relative + imports throughout. +- Changes from version 3.5: + * Issue #49: Give the backend priorities a 1.5 multiplier bump when an + XDG_CURRENT_DESKTOP environment variable matches the keyring's target + environment. + * Issue #99: Clarified documentation on location of config and data files. + Prepared the code base to treat the two differently on Unix-based systems. + For now, the behavior is unchanged. +- Changes from version 3.4: + * Extracted FileBacked and Encrypted base classes. + * Add a pyinstaller hook to expose backend modules. Ref #124 + * Pull request #41: Use errno module instead of hardcoding error codes. + * SecretService backend: correctly handle cases when user dismissed + the collection creation or unlock prompt. + +------------------------------------------------------------------- +Sun Dec 8 18:49:56 UTC 2013 - p.drouand@gmail.com + +- Update to version 3.3 + * KWallet backend will now honor the KDE_FULL_SESSION environment + variable as found on openSUSE. +- Changes from 3.2.1 + * SecretService backend: use a different function to check that the + backend is functional. The default collection may not exist, but + the collection will remain usable in that case. + Also, make the error message more verbose. + Resolves https://bugs.launchpad.net/bugs/1242412. +- Changes from 3.2 + * Issue #120: Invoke KeyringBackend.priority during load_keyring + to ensure that any keyring loaded is actually viable (or raises + an informative exception). + * Issue #123: fix removing items. + * Correctly escape item name when removing. + * Use with statement when working with files. + * Add a test for removing one item in group. + * Issue #81: Added experimental support for third-party backends. + See keyring.core._load_library_extensions for information on + supplying a third-party backend. +- Changes from 3.1 + * All code now runs natively on both Python 2 and Python 3, + no 2to3 conversion is required. + * Testsuite: clean up, and make more use of unittest2 methods. + +------------------------------------------------------------------- +Fri Sep 27 07:11:55 UTC 2013 - dmueller@suse.com + +- update to 3.0.5: + * Simplified the implementation of ``keyring.core.load_keyring``. It now uses + ``__import__`` instead of loading modules explicitly. + * Renamed ``keyring.util.platform`` to ``keyring.util.platform_``. + * Ensure that modules are actually imported even in Mercurial's Demand Import + environment. + * Removed support for Python 2.5. + * Removed names in ``keyring.backend`` moved in 1.1 and previously retained + for compatibilty. + * GnomeKeyring: fix availability checks, and make sure the warning + message from pygobject is not printed. + * Prioritized backend support. The primary interface for Keyring backend + classes has been refactored to now emit a 'priority' based on the current + environment (operating system, libraries available, etc). These priorities + provide an indication of the applicability of that backend for the current + environment. Users are still welcome to specify a particular backend in + configuration, but the default behavior should now be to select the most + appropriate backend by default. + +------------------------------------------------------------------- +Wed Sep 4 13:35:14 UTC 2013 - speilicke@suse.com + +- Update to version 1.6.1: + + Only include pytest-runner in 'setup requirements' when ptr invocation is + indicated in the command-line (Issue #105). + +------------------------------------------------------------------- +Fri Jul 19 11:01:08 UTC 2013 - dmueller@suse.com + +- update to 1.6: + - Use the same attributes (``username`` / ``service``) as the SecretService + backend uses, allow searching for old ones for compatibility. + - Also set ``application`` attribute. + - Correctly handle all types of errors, not only ``CANCELLED`` and ``NO_MATCH``. + - Avoid printing warnings to stderr when GnomeKeyring is not available. + - Use a better label for passwords, the same as GNOME Keyring backend uses. + +------------------------------------------------------------------- +Wed Jul 3 15:45:06 UTC 2013 - dmueller@suse.com + +- update to 1.5: + * SecretService: allow deleting items created using previous python-keyring versions. + * Use secretstorage.get_default_collection if it's available. + * Switch GnomeKeyring backend to use native libgnome-keyring via GObject + Introspection, not the obsolete python-gnomekeyring module + * Use the SecretStorage library to implement the Secret Service backend + (instead of using dbus directly) + * Now the keyring supports prompting for and deleting passwords + +- do not unconditionally recommend python-kde4 +- python-gnomekeyring is not needed anymore + +------------------------------------------------------------------- +Fri Mar 22 14:07:23 UTC 2013 - speilicke@suse.com + +- Recommend both python-gnomekeyring and python-kde4 needed for + Gnome and KDE keyring implementations. + +------------------------------------------------------------------- +Mon Feb 11 09:19:27 UTC 2013 - saschpe@suse.de + +- Drop old SUSE checks +- Add python-unittest2 build requirement to make sure the testsuite + passes on SLE_11_SP2 + +------------------------------------------------------------------- +Sun Feb 10 14:33:59 UTC 2013 - p.drouand@gmail.com + +- Update to version 1.2.2: + * Fixed handling situations when user cancels kwallet dialog or denies + access for the app. +- Add new dependencies +- FIx shebang rpmlint warnings + +------------------------------------------------------------------- +Fri Jun 8 22:12:52 UTC 2012 - Nico.Laus.2001@gmx.de + +- update to version 0.9.1 + * Fix for issue where SecretServiceBackend.set_password would + raise a UnicodeError on Python 3 or when a unicode password + was provided on Python 2. + * CryptedFileKeyring now uses PBKDF2 to derive the key from the + user's password and a random hash. The IV is chosen randomly + as well. All the stored passwords are encrypted at once. Any + keyrings using the old format will be automatically converted + to the new format (but will no longer be compatible with 0.9 + and earlier). The user's password is no longer limited to 32 + characters. PyCrypto 2.5 or greater is now required for this + keyring. +- update to version 0.9 + * Add support for GTK 3 and secret service D-Bus. Fixes #52. + * Issue #60 - Use correct method for decoding. + +------------------------------------------------------------------- +Wed Apr 11 18:16:14 UTC 2012 - saschpe@gmx.de + +- Disable testsuite on SLE_11_SP2 to fix build + +------------------------------------------------------------------- +Tue Apr 3 13:46:06 UTC 2012 - adrian@suse.de + +- update to version 0.8.1 + * file keys are store in a plattform friendly location + +------------------------------------------------------------------- +Wed Feb 1 10:51:39 UTC 2012 - saschpe@suse.de + +- Spec file cleanup: + * Add proper provides/obsoletes pairs for -gnome and -kde subpackages + * Removed outdated %clean section + * Package CONTRIBUTORS.txt + * Run testsuite +- Update to version 0.7.1: + * Removed non-ASCII characters from README and CHANGES docs +- Changes from version 0.7: + * Python 3 is now supported. + * Extension modules on Mac and Windows replaced by pure-Python ctypes + implementations. Thanks to Jerome Laheurte. + * WinVaultKeyring now supports multiple passwords for the same service. + * Most of the tests don't require user interaction anymore. + * Entries stored in Gnome Keyring appears now with a meaningful name + if you try to browser your keyring (for ex. with Seahorse) + * Tests from Gnome Keyring no longer pollute the user own keyring. + * keyring.util.escape now accepts only unicode strings. Don't try + to encode strings passed to it. + +------------------------------------------------------------------- +Fri Sep 2 08:12:48 UTC 2011 - adrian@suse.de + +- update to version 0.6.2 + * Gnome keyring should not be used if there is no DISPLAY or if + the dbus is not around + (https://bugs.launchpad.net/launchpadlib/+bug/752282). + * Added keyring.http for facilitating HTTP Auth using keyring. + * Add a utility to access the keyring from the command line. + * Remove a spurious KDE debug message when using KWallet + * Fix a bug that caused an exception if the user canceled the + KWallet dialog + (https://bitbucket.org/kang/python-keyring-lib/issue/37/user-canceling-of-kde-wallet-dialogs). + * Now using the existing Gnome and KDE python libs instead of + custom C++ code. + * Using the getpass module instead of custom code + * Fixed the setup script (some subdirs were not included in + the release.) + * Fixed keyring.core when the user doesn't have a cfg, or is + not properly configured. + * Fixed escaping issues for usernames with non-ascii characters +- -gnome and -kde sub packages became obsolete + +------------------------------------------------------------------- +Fri Nov 13 12:39:06 UTC 2009 - adrian@suse.de + +- update to version 0.2 + +------------------------------------------------------------------- +Fri Sep 4 13:00:31 UTC 2009 - adrian@suse.de + +- package initial version 0.1 + diff --git a/python-keyring.spec b/python-keyring.spec new file mode 100644 index 0000000..3c15f3a --- /dev/null +++ b/python-keyring.spec @@ -0,0 +1,117 @@ +# +# spec file for package python-keyring +# +# Copyright (c) 2025 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%global flavor @BUILD_FLAVOR@%{nil} +%if "%{flavor}" == "test" +%define psuffix -test +%bcond_without test +%else +%define psuffix %{nil} +%bcond_with test +%endif +%if 0%{?suse_version} > 1500 +%bcond_without libalternatives +%else +%bcond_with libalternatives +%endif +%{?sle15_python_module_pythons} +Name: python-keyring%{psuffix} +Version: 25.2.1 +Release: 0 +Summary: System keyring service access from Python +License: MIT +URL: https://github.com/jaraco/keyring +Source: https://files.pythonhosted.org/packages/source/k/keyring/keyring-%{version}.tar.gz +BuildRequires: %{python_module base >= 3.8} +BuildRequires: %{python_module pip} +BuildRequires: %{python_module setuptools >= 56} +BuildRequires: %{python_module setuptools_scm >= 3.4.1} +BuildRequires: %{python_module wheel} +BuildRequires: fdupes +BuildRequires: python-rpm-macros +Requires: python-SecretStorage >= 3.2 +Requires: python-jaraco.classes +Requires: python-jaraco.context +Requires: python-jaraco.functools +Requires: python-jeepney >= 0.4.2 +BuildArch: noarch +%if %{with libalternatives} +BuildRequires: alts +Requires: alts +%else +Requires(post): update-alternatives +Requires(postun): update-alternatives +%endif +%if 0%{python_version_nodots} < 310 +Requires: python-importlib-resources +%endif +%if 0%{python_version_nodots} < 312 +Requires: python-importlib-metadata >= 4.11.4 +%endif +%if %{with test} +BuildRequires: %{python_module keyring = %{version}} +BuildRequires: %{python_module pytest >= 3.5} +%endif +%python_subpackages + +%description +The Python keyring lib provides a way to access the system keyring service +from python. It can be used in any application that needs safe password storage. + +%prep +%autosetup -p1 -n keyring-%{version} + +# For rpmlint warning: remove shebang from python library: +sed -i '/^#!/d' keyring/cli.py + +%build +%if !%{with test} +%pyproject_wheel +%endif + +%install +%if !%{with test} +%pyproject_install +%python_clone -a %{buildroot}%{_bindir}/keyring +%python_expand %fdupes %{buildroot}%{$python_sitelib} +%endif + +%if %{with test} +%check +%pytest +%endif + +%if !%{with test} +%post +%python_install_alternative keyring + +%postun +%python_uninstall_alternative keyring + +%pre +%python_libalternatives_reset_alternative keyring + +%files %{python_files} +%doc README.rst NEWS.rst +%license LICENSE +%python_alternative %{_bindir}/keyring +%{python_sitelib}/keyring-%{version}*-info +%{python_sitelib}/keyring/ +%endif + +%changelog