GnuPGInterface.py

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

GnuPGInterface.py

duplicity-talk mailing list
Hello all,

Half of our current README is:

A NOTE ON GnuPGInterface.py AND MULTIPLE GPG PROCESSES: GnuPGInterface
is used to access GPG from duplicity. The original works quite well and
has no bugs, however, we have patched the one used in duplicity. Why?
Duplicity is not perfect, yet, and has a problem when handling long
chains of incremental backup or restore operations. The problem is that
the waitpid() call only happens after all the iterations complete, and
with a long chain, that can be a long while. Unless the waitpid() call
is made, the child process remains active. Duplicity's GnuPGInterface is
patched to start an immediate threaded waitpid() for each GPG task, thus
harvesting the task and freeing it's resources in a timely manner. This
does not affect the operation of duplicity, merely frees resources on
time. Why the note? Some package maintainers remove duplicity's
GnuPGInterface in error, obviously unknowing of this issue and patch
duplicity to use the old unmaintained unpatched GnuPGInterface interface
again. So, if you have the problem that lots of GPG tasks are hanging
around, check and see if this has been done in your distro, and if so,
report this matter as a bug to the distro or package maintainer. As of
october 2012 we pull the handbrake and refactor our code and rename the
class to gpginterface in the hope that package maintainers will stumble
over it and stop this problematic behaviour for good.

Does anybody know if that is still valid? Looks as though it was last
updated in October 2012.

Kind regards,

Aaron


_______________________________________________
Duplicity-talk mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/duplicity-talk
Reply | Threaded
Open this post in threaded view
|

Re: GnuPGInterface.py

duplicity-talk mailing list
Time to remove that notice!  We renamed a while back, and so far I've not seen any new problems.

...Thanks,
...Ken 


On Fri, Jun 12, 2020 at 3:21 PM Aaron via Duplicity-talk <[hidden email]> wrote:
Hello all,

Half of our current README is:

A NOTE ON GnuPGInterface.py AND MULTIPLE GPG PROCESSES: GnuPGInterface
is used to access GPG from duplicity. The original works quite well and
has no bugs, however, we have patched the one used in duplicity. Why?
Duplicity is not perfect, yet, and has a problem when handling long
chains of incremental backup or restore operations. The problem is that
the waitpid() call only happens after all the iterations complete, and
with a long chain, that can be a long while. Unless the waitpid() call
is made, the child process remains active. Duplicity's GnuPGInterface is
patched to start an immediate threaded waitpid() for each GPG task, thus
harvesting the task and freeing it's resources in a timely manner. This
does not affect the operation of duplicity, merely frees resources on
time. Why the note? Some package maintainers remove duplicity's
GnuPGInterface in error, obviously unknowing of this issue and patch
duplicity to use the old unmaintained unpatched GnuPGInterface interface
again. So, if you have the problem that lots of GPG tasks are hanging
around, check and see if this has been done in your distro, and if so,
report this matter as a bug to the distro or package maintainer. As of
october 2012 we pull the handbrake and refactor our code and rename the
class to gpginterface in the hope that package maintainers will stumble
over it and stop this problematic behaviour for good.

Does anybody know if that is still valid? Looks as though it was last
updated in October 2012.

Kind regards,

Aaron


_______________________________________________
Duplicity-talk mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/duplicity-talk

_______________________________________________
Duplicity-talk mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/duplicity-talk