Hi,
I was just testing the imap backend on python 3 and had a couple of questions. Setup.py now has this: if sys.version_info[:2] < (3, 5): print("Sorry, duplicity requires version 3.5 or later of Python.") This check currently excludes python 2. Is that intended? I thought that the plan was for 0.8 to support both python 2 and python 3. If 0.8 will actually be python 3 only, then that would probably make it easier to tidy up the code in some places, but tox.ini still specifies that the unit tests should also be run on 2.7. Also, I've fixed a few issues with the back end in lp:~mgorse/duplicity/0.8-series (mostly string vs. bytes issues and email API changes), but I'm getting this error when running list-current-files: GPGError: GPG Failed, see log below: ===== Begin GnuPG log ===== gpg: AES encrypted data gpg: gcry_kdf_derive failed: Invalid data gpg: encrypted with 1 passphrase gpg: decryption failed: No secret key ===== End GnuPG log ===== I'm wondering whether anyone has seen this; I'm puzzled by it, since it doesn't appear to be an issue of the back end corrupting the data, and restore works correctly despite list-current-files failing. Thanks, -Mike _______________________________________________ Duplicity-talk mailing list [hidden email] https://lists.nongnu.org/mailman/listinfo/duplicity-talk |
Hello Mike,
On 2019-05-09 22:22, Mike Gorse via Duplicity-talk wrote: > I was just testing the imap backend on python 3 and had a couple of > questions. > > Setup.py now has this: > if sys.version_info[:2] < (3, 5): > print("Sorry, duplicity requires version 3.5 or later of Python.") > > This check currently excludes python 2. Is that intended? I thought > that the plan was for 0.8 to support both python 2 and python 3. If > 0.8 will actually be python 3 only, then that would probably make it > easier to tidy up the code in some places, but tox.ini still specifies > that the unit tests should also be run on 2.7. Yes, you are correct, the plan is for Duplicity 0.8 to be Python 2 and 3 and for 0.9 to be Python 3 only. We are a bit late getting a 0.8 release out the door and we are getting pretty close to Python 2 going EOL. I do not see a lot of benefit continuing to support Python 2 beyond Python 2 EOL. > Also, I've fixed a few issues with the back end in > lp:~mgorse/duplicity/0.8-series (mostly string vs. bytes issues and > email API changes), Thank you for your Python 3 work, it is really appreciated. If you do find Python 3 bugs, please do file them and reference them in the Python 3 blueprint: https://blueprints.launchpad.net/duplicity/+spec/python3 Please also feel free to add anything relevant to that blueprint (e.g. backends you have tested that work or do not work). > but I'm getting this error when running > list-current-files: > > GPGError: GPG Failed, see log below: > ===== Begin GnuPG log ===== > gpg: AES encrypted data > gpg: gcry_kdf_derive failed: Invalid data > gpg: encrypted with 1 passphrase > gpg: decryption failed: No secret key > ===== End GnuPG log ===== > > I'm wondering whether anyone has seen this; I'm puzzled by it, since > it doesn't appear to be an issue of the back end corrupting the data, > and restore works correctly despite list-current-files failing. No, it is not one I have come across. Does it work as expected if you use Python 2? Kind regards, Aaron _______________________________________________ Duplicity-talk mailing list [hidden email] https://lists.nongnu.org/mailman/listinfo/duplicity-talk |
On 10.05.2019 12:54, Aaron via Duplicity-talk wrote:
> but I'm getting this error when running > list-current-files: > > GPGError: GPG Failed, see log below: > ===== Begin GnuPG log ===== > gpg: AES encrypted data > gpg: gcry_kdf_derive failed: Invalid data > gpg: encrypted with 1 passphrase > gpg: decryption failed: No secret key > ===== End GnuPG log ===== > > I'm wondering whether anyone has seen this; I'm puzzled by it, since > it doesn't appear to be an issue of the back end corrupting the data, > and restore works correctly despite list-current-files failing. sounds like it needs the proper passphrase for symmetrically encrypted backup data. can you check that it is given and properly propagated? ..ede/duply.net _______________________________________________ Duplicity-talk mailing list [hidden email] https://lists.nongnu.org/mailman/listinfo/duplicity-talk |
On Fri, 10 May 2019, edgar.soldin--- via Duplicity-talk wrote:
>> but I'm getting this error when running >> list-current-files: >> >> GPGError: GPG Failed, see log below: >> ===== Begin GnuPG log ===== >> gpg: AES encrypted data >> gpg: gcry_kdf_derive failed: Invalid data >> gpg: encrypted with 1 passphrase >> gpg: decryption failed: No secret key >> ===== End GnuPG log ===== >> >> I'm wondering whether anyone has seen this; I'm puzzled by it, since >> it doesn't appear to be an issue of the back end corrupting the data, >> and restore works correctly despite list-current-files failing. > > sounds like it needs the proper passphrase for symmetrically encrypted backup data. can you check that it is given and properly propagated? Indeed, gpg is not being passed a passphrase. Duplicity isn't asking for one because, in theory, it shouldn't need to invoke gpg at all when listing files, once the local cache is synch. Still investigating the root cause; probably a regression from my python 3 changes. Thanks, -Mike _______________________________________________ Duplicity-talk mailing list [hidden email] https://lists.nongnu.org/mailman/listinfo/duplicity-talk |
In reply to this post by duplicity-talk mailing list
Mike,
On 2019-05-10 11:54, Aaron via Duplicity-talk wrote: > On 2019-05-09 22:22, Mike Gorse via Duplicity-talk wrote: >> Setup.py now has this: >> if sys.version_info[:2] < (3, 5): >> print("Sorry, duplicity requires version 3.5 or later of Python.") >> >> This check currently excludes python 2. Is that intended? I thought >> that the plan was for 0.8 to support both python 2 and python 3. > > Yes, you are correct, the plan is for Duplicity 0.8 to be Python 2 and > 3 and for 0.9 to be Python 3 only. Something like: if not (sys.version_info[:2] >= (3, 5) or (sys.version_info[0] == 2 and sys.version_info[:2] >= (2, 7))): print("Sorry, duplicity requires version 3.5 or later of Python.") sys.exit(1) is my understanding of how this check should work. Kind regards, Aaron _______________________________________________ Duplicity-talk mailing list [hidden email] https://lists.nongnu.org/mailman/listinfo/duplicity-talk |
Hi Aaron,
> On 2019-05-10 11:54, Aaron via Duplicity-talk wrote: > Something like: > > if not (sys.version_info[:2] >= (3, 5) or (sys.version_info[0] == 2 and > sys.version_info[:2] >= (2, 7))): > print("Sorry, duplicity requires version 3.5 or later of Python.") > sys.exit(1) > > is my understanding of how this check should work. Okay. I already have a merge request open for other reasons, so I've added that check to my branch. As for the other issue I was having, I filed it as lp#1828869 and also have a fix in my branch. It is also a regression in 0.7.19, but I haven't submitted a fix there so far--I figured I'd wait for a review first. Thanks, -Mike _______________________________________________ Duplicity-talk mailing list [hidden email] https://lists.nongnu.org/mailman/listinfo/duplicity-talk |
Free forum by Nabble | Edit this page |