charm-duplicity depends on fabric, this package introduced a few trouble:
1) we can not install it via apt since python3-fabric is only available on focal+
2) fabric itself depends on cryptography, it introduce new deps libffi-dev + libssl-dev and requires compiling
3) because compiling required, we can not use wheelhouse.txt to install fabric, it has to be installed at runtime via pip, which is not doable if a cloud env has no pip access, which is common for us.
In the code, fabric is actually only used in func create_remote_dir, which could easily be replaced with paramiko or just ssh shell cmd (via subprocess).
We need to modify the code, to remove fabric dependency.
charm-duplicity depends on fabric, this package introduced a few trouble:
1) we can not install it via apt since python3-fabric is only available on focal+ 2) fabric itself depends on cryptography, it introduce new deps libffi-dev + libssl-dev and requires compiling 3) because compiling required, we can not use wheelhouse.txt to install fabric, it has to be installed at runtime via pip, which is not doable if a cloud env has no pip access, which is common for us.
In the code, fabric is actually only used in func
create_remote_dir
, which could easily be replaced with paramiko or just ssh shell cmd (via subprocess).We need to modify the code, to remove fabric dependency.
Imported from Launchpad using lp2gh.
date created: 2021-02-04T21:50:17Z
owner: guoqiao
assignee: None
the launchpad url