I have a possible fix for this, see attached patch.  Would you mind trying
it?

Seems there was a line deleted that should not have been.  AArgh!



On Fri, Nov 28, 2025 at 11:35 PM Alexander Zangerl <[email protected]> wrote:

> On Sun, 23 Nov 2025 05:57:38 -0600, Kenneth Loafman writes:
> >Version 3.0.6.2 was just released.  It goes back to the old passphrase
> >handling and fixes other problems, so skip the 3.0.6.1 version and go to
> >3.0.6.2.
>
> unfortunately version 3.0.6.2 is broken wrt. incremental backups with
> asymmetric encryption.
> it tells me that the metadata is in sync, followed immediately by a kaboom
> when
> it attempts to decrypt a remote manifest file
>
> example invocation (which has worked fine up to and including 3.0.5.1):
>
>  duplicity backup --exclude-other-filesystems --volsize 250 --encrypt-key
> 2FCCF66BB963BD5F --archive-dir /var/lib/duplicity \
>  --name boot --full-if-older-than 7D /boot rsync://backup@REDACTED
> ::/backup/REDACTED/boot
> Local and Remote metadata are synchronized, no sync needed.
> Last full backup date: Wed Nov 26 01:04:01 2025
> Error processing remote file
> (duplicity-inc.20251127T150401Z.to.20251128T150401Z.manifest.gpg): GPG
> Failed, see log below:
> ===== Begin GnuPG log =====
> gpg: encrypted with 4096-bit RSA key, ID 0x360EEB3F4F780821, created
> 2013-11-03
> "Alexander Zangerl <[email protected]>"
> gpg: decryption failed: secret key not available
> ===== End GnuPG log =====
>
> Traceback (innermost last):
>   File "/usr/lib/python3/dist-packages/duplicity/__main__.py", line 76, in
> dup_run
>     with_tempdir(main)
>   File "/usr/lib/python3/dist-packages/duplicity/__main__.py", line 60, in
> with_tempdir
>     fn()
>   File "/usr/lib/python3/dist-packages/duplicity/dup_main.py", line 1646,
> in main
>     do_backup(action)
>   File "/usr/lib/python3/dist-packages/duplicity/dup_main.py", line 1799,
> in do_backup
>     check_last_manifest(col_stats)  # not needed for full backups
>     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   File "/usr/lib/python3/dist-packages/duplicity/dup_main.py", line 1460,
> in check_last_manifest
>     last_backup_set.check_manifests(check_remote=config.check_remote)
>   File "/usr/lib/python3/dist-packages/duplicity/dup_collections.py", line
> 271, in check_manifests
>     remote_manifest = self.get_remote_manifest() if check_remote else None
>                       ^^^^^^^^^^^^^^^^^^^^^^^^^^
>   File "/usr/lib/python3/dist-packages/duplicity/dup_collections.py", line
> 316, in get_remote_manifest
>     manifest_buffer = self.get_remote_file(self.remote_manifest_name)
>                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   File "/usr/lib/python3/dist-packages/duplicity/dup_collections.py", line
> 329, in get_remote_file
>     log.Info(_(f"Processing remote file {os.fsdecode(remote_file)}
> ({len(remote_file_buffer)})"))
>
>  ^^^^^^^^^^^^^^^^^^
>  UnboundLocalError: cannot access local variable 'remote_file_buffer'
> where it is not associated with a value
>
>
> --
> Alexander Zangerl + GPG Key 2FCCF66BB963BD5F + https://snafu.priv.at/
> Our OS who art in CPU, UNIX be thy name.
> Thy programs run, thy syscalls done, in kernel as it is in user!
>  -- BSD fortune file
>

Attachment: chg_usr__Fix_accidental_removal_of_return_value_.patch
Description: Binary data

Reply via email to