Those changes create issue when building with python3 on an env where python is python2 it looks like...
$ cd /tmp
$ bzr branch lp:duplicity
$ cd duplicity
$ bzr revno
1389
$ python3.7 setup.py build --force
$ PYTHONPATH=/tmp/duplicity/build/lib.linux-i686-3.7/ python3.7 ./setup.py test
(that's on an i386 chroot, path to adapt for amd64)
ends up with that error
b' File "/build/duplicity/duplicity/librsync.py", line 33, in <module>'
b' from . import _librsync'
b'ImportError: cannot import name _librsync'
which is because bin/duplicity uses python2 but the .so is built for python3 only in that scenario
Those changes create issue when building with python3 on an env where python is python2 it looks like...
$ cd /tmp /tmp/duplicity/ build/lib. linux-i686- 3.7/ python3.7 ./setup.py test
$ bzr branch lp:duplicity
$ cd duplicity
$ bzr revno
1389
$ python3.7 setup.py build --force
$ PYTHONPATH=
(that's on an i386 chroot, path to adapt for amd64)
ends up with that error
b' File "/build/ duplicity/ duplicity/ librsync. py", line 33, in <module>'
b' from . import _librsync'
b'ImportError: cannot import name _librsync'
which is because bin/duplicity uses python2 but the .so is built for python3 only in that scenario