-
Notifications
You must be signed in to change notification settings - Fork 14
Open
Description
Hi there!
In the latest version of ansible-lint a folder (.ansible) is created in the role directory (when linting roles) which contains a symlink to the role folder itself. However, ansible-sign doesn't like it and borks:
t$ ansible-sign project gpg-sign .
Traceback (most recent call last):
File "/home/ansible/.local/bin/ansible-sign", line 8, in <module>
sys.exit(run())
~~~^^
File "/home/ansible/.local/share/pipx/venvs/ansible-sign/lib64/python3.13/site-packages/ansible_sign/cli.py", line 374, in run
return main(sys.argv[1:])
File "/home/ansible/.local/share/pipx/venvs/ansible-sign/lib64/python3.13/site-packages/ansible_sign/cli.py", line 364, in main
exitcode = cli.run_command()
File "/home/ansible/.local/share/pipx/venvs/ansible-sign/lib64/python3.13/site-packages/ansible_sign/cli.py", line 46, in run_command
return self.args.func()
~~~~~~~~~~~~~~^^
File "/home/ansible/.local/share/pipx/venvs/ansible-sign/lib64/python3.13/site-packages/ansible_sign/cli.py", line 321, in gpg_sign
checksum_file_contents = self._generate_checksum_manifest()
File "/home/ansible/.local/share/pipx/venvs/ansible-sign/lib64/python3.13/site-packages/ansible_sign/cli.py", line 161, in _generate_checksum_manifest
manifest = checksum.generate_gnu_style()
File "/home/ansible/.local/share/pipx/venvs/ansible-sign/lib64/python3.13/site-packages/ansible_sign/checksum/base.py", line 119, in generate_gnu_style
calculated = self.calculate_checksums_from_root(verifying=False)
File "/home/ansible/.local/share/pipx/venvs/ansible-sign/lib64/python3.13/site-packages/ansible_sign/checksum/base.py", line 147, in calculate_checksums_from_root
for path in self.differ.list_files(verifying=verifying):
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
File "/home/ansible/.local/share/pipx/venvs/ansible-sign/lib64/python3.13/site-packages/ansible_sign/checksum/differ/base.py", line 51, in list_files
gathered = self.gather_files(verifying=verifying)
File "/home/ansible/.local/share/pipx/venvs/ansible-sign/lib64/python3.13/site-packages/ansible_sign/checksum/differ/distlib_manifest.py", line 42, in gather_files
manifest.process_directive(line)
~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "/home/ansible/.local/share/pipx/venvs/ansible-sign/lib64/python3.13/site-packages/distlib/manifest.py", line 163, in process_directive
if not self._include_pattern(pattern, anchor=False):
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "/home/ansible/.local/share/pipx/venvs/ansible-sign/lib64/python3.13/site-packages/distlib/manifest.py", line 280, in _include_pattern
self.findall()
~~~~~~~~~~~~^^
File "/home/ansible/.local/share/pipx/venvs/ansible-sign/lib64/python3.13/site-packages/distlib/manifest.py", line 79, in findall
stat = os.stat(fullname)
OSError: [Errno 40] Too many levels of symbolic links: '/home/ansible/roles/apt/.ansible/roles/thulium_drake.apt/.ansible/roles/thulium_drake.apt/.ansible/roles/thulium_drake.apt/.ansible/roles/thulium_drake.apt/.ansible/roles/thulium_drake.apt/.ansible/roles/thulium_drake.apt/.ansible/roles/thulium_drake.apt/.ansible/roles/thulium_drake.apt/.ansible/roles/thulium_drake.apt/.ansible/roles/thulium_drake.apt/.ansible/roles/thulium_drake.apt/.ansible/roles/thulium_drake.apt/.ansible/roles/thulium_drake.apt/.ansible/roles/thulium_drake.apt/.ansible/roles/thulium_drake.apt/.ansible/roles/thulium_drake.apt/.ansible/roles/thulium_drake.apt/.ansible/roles/thulium_drake.apt/.ansible/roles/thulium_drake.apt/.ansible/roles/thulium_drake.apt/.ansible/roles/thulium_drake.apt/.ansible/roles/thulium_drake.apt/.ansible/roles/thulium_drake.apt/.ansible/roles/thulium_drake.apt/.ansible/roles/thulium_drake.apt/.ansible/roles/thulium_drake.apt/.ansible/roles/thulium_drake.apt/.ansible/roles/thulium_drake.apt/.ansible/roles/thulium_drake.apt/.ansible/roles/thulium_drake.apt/.ansible/roles/thulium_drake.apt/.ansible/roles/thulium_drake.apt/.ansible/roles/thulium_drake.apt/.ansible/roles/thulium_drake.apt/.ansible/roles/thulium_drake.apt/.ansible/roles/thulium_drake.apt/.ansible/roles/thulium_drake.apt/.ansible/roles/thulium_drake.apt/.ansible/roles/thulium_drake.apt/.ansible/roles/thulium_drake.apt/.ansible/roles/thulium_drake.apt'
There is an issue open on ansible-lint (ansible/ansible-lint#4533) regarding the clutter, but I think it's wise to see if it's possible to teach ansible-sign not to explode this spectacularly 🎆 :-)
Metadata
Metadata
Assignees
Labels
No labels