osc checkout throws python stack trace errors. After initial login, it asks where to store the password. Selecting Gnome Keyring or Transient generate Python stack trace errors (I did not test with Config option). Here's an example output: ``` Your user account / password are not configured yet. You will be asked for them below, and they will be stored in /root/.config/osc/oscrc for future use. Creating osc configuration file /root/.config/osc/oscrc ... Username [api.opensuse.org]: vwbusguy Password [vwbusguy.org]: NUM NAME DESCRIPTION 1 Transient Do not store the password and always ask for it [secure, in-memory] 2 Obfuscated config Store the password in obfuscated form in the osc config file [insecure, persistent] 3 Config Store the password in plain text in the osc config file [insecure, persistent] Select credentials manager [default=1]: 1 Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/osc/commandline.py", line 418, in post_parse_args conf.get_config( File "/usr/lib/python3.12/site-packages/osc/conf.py", line 1823, in get_config raise oscerr.NoConfigfile(conffile, account_not_configured_text % conffile) osc.oscerr.NoConfigfile: Config file cannot be found: /root/.config/osc/oscrc Your user account / password are not configured yet. You will be asked for them below, and they will be stored in /root/.config/osc/oscrc for future use. During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/bin/osc", line 33, in <module> sys.exit(load_entry_point('osc==1.4.4', 'console_scripts', 'osc')()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/osc/babysitter.py", line 226, in main sys.exit(run(commandline.OscMainCommand())) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/osc/babysitter.py", line 69, in run prg.main(argv) File "/usr/lib/python3.12/site-packages/osc/commandline.py", line 545, in main cmd.run(args) File "/usr/lib/python3.12/site-packages/osc/commandline.py", line 240, in run self.post_parse_args(args) File "/usr/lib/python3.12/site-packages/osc/commandline.py", line 433, in post_parse_args conf.interactive_config_setup(e.file, args.apiurl) File "/usr/lib/python3.12/site-packages/osc/conf.py", line 2009, in interactive_config_setup write_initial_config(conffile, config, creds_mgr_descriptor=creds_mgr_descr) File "/usr/lib/python3.12/site-packages/osc/conf.py", line 1719, in write_initial_config cp.readfp(sio) ^^^^^^^^^ AttributeError: 'OscConfigParser' object has no attribute 'readfp'. Did you mean: 'read'? ``` It seems the osc shipped in Fedora 39 isn't fully python 3.12 compatible. Reproducible: Always Steps to Reproduce: 1. Install osc 2. Attempt to osc checkout 3. Authenticate 4. Pick Gnome Keyring or Transient Actual Results: osc crashes with a Python stack trace Expected Results: osc stores credentials properly and completes the operation I was able to reproduce this with or without python3-keyring installed. I replicated it in Fedora 39 workstation and in a Fedora 39 container with podman.
Upstream has fixed this via https://github.com/openSUSE/osc/pull/1446. As they'll release a new version soon, I'll fix it with that update.
FEDORA-2023-99ef508621 has been submitted as an update to Fedora 40. https://bodhi.fedoraproject.org/updates/FEDORA-2023-99ef508621
FEDORA-2023-99ef508621 has been pushed to the Fedora 40 stable repository. If problem still persists, please make note of it in this bug report.
FEDORA-2023-26a03780a7 has been submitted as an update to Fedora 39. https://bodhi.fedoraproject.org/updates/FEDORA-2023-26a03780a7
FEDORA-2023-26a03780a7 has been pushed to the Fedora 39 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2023-26a03780a7` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2023-26a03780a7 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2023-26a03780a7 has been pushed to the Fedora 39 stable repository. If problem still persists, please make note of it in this bug report.