Subject: Re: bug#49979: Duplicity BackendException: No module named 'paramiko'
From: Leo Famulari <[email-masked]>
To: Cayetano Santos <[email-masked]>
Cc: [email-masked]
Date: Wed, 11 Aug 2021 12:25:17 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

On Wed, Aug 11, 2021 at 11:49:01AM +0200, Cayetano Santos wrote:
> Sure. Just issue a
> 
>    guix install duplicity
> 
> and then
> 
>    duplicity /tmp sftp://[email-masked]/dummy_backup
> 
> you’ll get a
> 
> BackendException: Could not initialize backend: No module named 'paramiko'

> message.

Thanks! I tested by adding python-paramiko to native-inputs [0], changed
the dummy values to something meaningful, and tried your command:

------
$ duplicity /tmp sftp://leo@domain/dummy_backup 
Local and Remote metadata are synchronized, no sync needed.
Last full backup date: none
GnuPG passphrase for decryption: %    
------

I didn't go past that point but it seems to fix the specific bug you
reported. So, I pushed the change:

https://git.savannah.gnu.org/cgit/guix.git/commit/?id=b1c97ff60b8ac8205d878fec3af8d02ffdf601fe

You can do `guix pull --commit=b1c97ff60b8 && guix package --upgrade=duplicity`
to get the new version of the package.

[0] It's unusual for run-time dependencies like paramiko to be a
native-input. Typically, native-inputs are just build-time dependencies.
Maybe there is some room for improvement in our Duplicity package...

https://guix.gnu.org/manual/en/html_node/package-Reference.html