[Bug 272811] sysutils/py-ansible-core: Missing dependency on textproc/py-toml
Date: Sun, 30 Jul 2023 07:57:25 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=272811 Bug ID: 272811 Summary: sysutils/py-ansible-core: Missing dependency on textproc/py-toml Product: Ports & Packages Version: Latest Hardware: Any OS: Any Status: New Severity: Affects Only Me Priority: --- Component: Individual Port(s) Assignee: ports-bugs@FreeBSD.org Reporter: madpilot@FreeBSD.org CC: 0mp@FreeBSD.org, python@FreeBSD.org CC: 0mp@FreeBSD.org, python@FreeBSD.org Created attachment 243700 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=243700&action=edit patch v1 Hi, After recent updates to the ports tree a pkg upgrade followed by pkg autoremove deleted the py-toml port considering it an orphan, on machines where I have ansible installed. After this ansible started failing with the following error: ERROR! Unexpected Exception, this is probably a bug: module 'toml' has no attribute 'loads' the full traceback was: Traceback (most recent call last): File "/usr/local/lib/python3.9/site-packages/ansible/cli/__init__.py", line 659, in cli_executor exit_code = cli.run() File "/usr/local/lib/python3.9/site-packages/ansible/cli/adhoc.py", line 117, in run loader, inventory, variable_manager = self._play_prereqs() File "/usr/local/lib/python3.9/site-packages/ansible/cli/__init__.py", line 564, in _play_prereqs inventory = InventoryManager(loader=loader, sources=options['inventory'], cache=(not options.get('flush_cache'))) File "/usr/local/lib/python3.9/site-packages/ansible/inventory/manager.py", line 167, in __init__ self.parse_sources(cache=cache) File "/usr/local/lib/python3.9/site-packages/ansible/inventory/manager.py", line 228, in parse_sources parse = self.parse_source(source, cache=cache) File "/usr/local/lib/python3.9/site-packages/ansible/inventory/manager.py", line 279, in parse_source for plugin in self._fetch_inventory_plugins(): File "/usr/local/lib/python3.9/site-packages/ansible/inventory/manager.py", line 207, in _fetch_inventory_plugins plugin = inventory_loader.get(name) File "/usr/local/lib/python3.9/site-packages/ansible/plugins/loader.py", line 855, in get return self.get_with_context(name, *args, **kwargs).object File "/usr/local/lib/python3.9/site-packages/ansible/plugins/loader.py", line 878, in get_with_context self._module_cache[path] = self._load_module_source(name, path) File "/usr/local/lib/python3.9/site-packages/ansible/plugins/loader.py", line 828, in _load_module_source spec.loader.exec_module(module) File "<frozen importlib._bootstrap_external>", line 850, in exec_module File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed File "/usr/local/lib/python3.9/site-packages/ansible/plugins/inventory/toml.py", line 161, in <module> toml_loads = toml.loads # type: ignore[assignment] AttributeError: module 'toml' has no attribute 'loads' So it looks like toml is an actual ansible unregistered dependency that happened to be installed by some other dependency an is not being anymore. I'm attaching a very simple patch I'm using locally that fixes the issue for me. Can you commit it or approve me committing it? Thanks in advance! -- You are receiving this mail because: You are the assignee for the bug.