Skip to content

provide-signature --local-file doesn't respect the provided filename

Hi,

I uploaded hello_xxx.changes to debusine for testing, then when asked to provide the signature, by mistake I used --local-file anotherpackage_xxx.changes file. Still debusine now as a hello_xxx.changes signed by me today, which got me much puzzled at first. Actually debusine-client still used hello_xxx.changes from the local directory, instead of the specified file.

Similarly, if providing a valid --local-file somethingelse_xxx.changes while debusine expects hello_xxx.changes, and the latter isn't present in the current directory, we reach an assertion error:

$ debusine --server freexian provide-signature --local-file dddep_1.0-1+deb9u1_source.changes 14846 -- ...
Traceback (most recent call last):
  File "/usr/bin/debusine", line 8, in <module>
    sys.exit(entry_point())
             ^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/debusine/client/__main__.py", line 20, in entry_point
    main.execute()
  File "/usr/lib/python3/dist-packages/debusine/client/cli.py", line 523, in execute
    self._provide_signature(
  File "/usr/lib/python3/dist-packages/debusine/client/cli.py", line 837, in _provide_signature
    self._provide_signature_debsign(
  File "/usr/lib/python3/dist-packages/debusine/client/cli.py", line 785, in _provide_signature_debsign
    self._fetch_local_file(
  File "/usr/lib/python3/dist-packages/debusine/client/cli.py", line 729, in _fetch_local_file
    assert src.exists()
AssertionError

I didn't test all configurations but I expect similar confusion if passing files from another directory like --local-file ../another-directory/xxx.changes.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information