Re: Duplicity 3.0.7 Released

Kenneth Loafman via Duplicity-talk <[email protected]> Wed, 31 Dec 2025 13:57:27 -0600
Newsgroups gmane.comp.sysutils.backup.duplicity.general
Message-ID <CAD-_Ma2HuTkgZA1rx9t4xWGQvmqjHD-eUTjdv_cL0kR1WAKzUA@mail.gmail.com>
--===============8218928850646101605==
Content-Type: multipart/alternative; boundary="00000000000064620f064744e3ad"

--00000000000064620f064744e3ad
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Scott,

No ENV vars for options yet.  Maybe make a quick patch to *config.py* and
change line 113 from *gpg_binary =3D None* to *gpg_binary =3D gpg2*.

Just remember to reverse the patch before releasing.

...Thanks,
...Ken


On Wed, Dec 31, 2025 at 1:45=E2=80=AFPM Scott Hannahs <[email protected]> wrot=
e:

> Ken,
>
> Thanks!   I just figured it out and had specified the path in the past fo=
r
> my scripts.  What bit me was the testing failure during the build process=
.
>   I wanted to run all the tests but I don=E2=80=99t see how to pass the o=
ption to
> duplicity for all the tests.  I would like it to default to the latest gp=
g2
> that I have on the system so that if there are any issues there they come
> up.
>
> Is there an environment variable that can be passed to the testing phase?
> Here is my test script that should be fairly vanilla.  But I don=E2=80=99=
t see an
> option to pass to duplicity during the testing phase.  I can make a
> temporary link from gpg2 to gpg and since it is in my path that will work=
,
> but making sure that the link is removed to prevent a conflict with the
> gpgtools suite is just another step and possible failure mode.  It would =
be
> nice to make it a site specific default somehow?
>
>     TestScript: <<
>
>         #!/bin/sh -ev
>
>         ulimit -n 8192
>
>         %p/bin/pytest-3.10 -p no:xdist -p no:hypothesis -p no:randomly
>
>     <<
>
>
> -Scott
>
>
> On Dec 31, 2025, at 14:12, Kenneth Loafman <[email protected]> wrote:
>
> Scott,
>
> Duplicity has the option *--gpg-binary file_path* which allows the user
> to specify which gpg to use.  We don't require gpg1 or gpg2, we support
> both.
>
> ...Thanks,
> ...Ken
>
>
> On Wed, Dec 31, 2025 at 12:09=E2=80=AFPM Scott Hannahs <[email protected]> w=
rote:
>
>>  Ken,
>>
>> I seem to have run into an issue here in my Fink install package.  When =
I
>> install the newest gpg version, I install it with the =E2=80=9Cversion 2=
=E2=80=9D option so
>> that all the executables and libraries end with =E2=80=9C2=E2=80=9D such=
 as  gpg2 etc.
>> This is to avoid issues with those programs that still need gpg version =
1
>> compatibility (hopefully this is going away).  I think this causes
>> duplicity to fail.
>>
>> I don=E2=80=99t see a build option to tell duplicity to look for the gpg=
2 files.
>> The Fink structure is based on a philosophy to keep files created and
>> maintained by fink in a separate hierarchy,
>>
>> So binary files are /opt/sw/bin/gpg* (such as gpg2, gpg-agent2, etc.)
>> Helper files are in /opt/sw/lib/lib/gnupg/ (such as gpg-pair-tool2 and
>> scdaemon2)
>>
>> Is there an easy way to redirect duplicity other than editing the
>> setup.py to manually change the lines:
>>     incdir_list.append("/usr/local/include")
>>     libdir_list.append("/usr/local/lib")
>>     incdir_list.append("/usr/include")
>>     libdir_list.append("/usr/lib")
>> And even this list doesn=E2=80=99t look like it tries to find the binari=
es it
>> needs.
>>
>> I am running the setup with the command
>> /opt/sw/bin/python3.10 setup.py build  --librsync-dir=3D/opt/sw
>> Which seems to find that library but not all the gpg utilities.
>>
>> -Scott
>>
>>
>> On Dec 31, 2025, at 07:43, Kenneth Loafman via Duplicity-talk <
>> [email protected]> wrote:
>>
>> Hi,
>>
>> A new Release, 3.0.7, for duplicity was published.
>>
>> It fixes some major regressions in password handling, among other things=
.
>>
>> See CHANGELOG
>> <https://gitlab.com/duplicity/duplicity/-/blob/main/CHANGELOG.md> for
>> details.
>>
>> ...Thanks,
>> ...Ken
>>
>> rel.3.0.7 / 2025-12-31
>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
>>
>>  * ad175c22:fix: replace custom deltree with built-in shutil.rmtree.
>>  * 101be7fd:fix: delete duplicate code in DirDelta.
>>  * c0d3e72d:fix: webdavs with "--concurrency 1" failed because of missin=
g
>> auth header
>>  * a08f8bef:fix: disable s3 checksum workaround, warn only...
>>  * f7055a7a:fix: --log-timestamp no longer working.
>>  * ac163d5e:fix: Combined fix to related issues 912 and 914
>> _______________________________________________
>> Duplicity-talk mailing list
>> [email protected]
>> https://lists.nongnu.org/mailman/listinfo/duplicity-talk
>>
>>
>>
>

--00000000000064620f064744e3ad
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Scott,<div><br></div><div>No ENV vars for options yet.=C2=
=A0 Maybe make a quick patch to <i style=3D"font-weight:bold">config.py</i>=
=C2=A0and change line 113 from=C2=A0<b><i>gpg_binary =3D None</i></b> to=C2=
=A0<i style=3D"font-weight:bold">gpg_binary =3D gpg2</i>.</div><div><br></d=
iv><div>Just remember to reverse the patch before releasing.</div><div><br>=
</div><div>...Thanks,</div><div>...Ken</div><div><br></div></div><br><div c=
lass=3D"gmail_quote gmail_quote_container"><div dir=3D"ltr" class=3D"gmail_=
attr">On Wed, Dec 31, 2025 at 1:45=E2=80=AFPM Scott Hannahs &lt;<a href=3D"=
mailto:[email protected]">[email protected]</a>&gt; wrote:<br></div><blockquote c=
lass=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px soli=
d rgb(204,204,204);padding-left:1ex"><div>Ken,<div><br></div><div>Thanks! =
=C2=A0 I just figured it out and had specified the path in the past for my =
scripts.=C2=A0 What bit me was the testing failure during the build process=
. =C2=A0 I wanted to run all the tests but I don=E2=80=99t see how to pass =
the option to duplicity for all the tests.=C2=A0 I would like it to default=
 to the latest gpg2 that I have on the system so that if there are any issu=
es there they come up.</div><div><br></div><div>Is there an environment var=
iable that can be passed to the testing phase?=C2=A0 Here is my test script=
 that should be fairly vanilla.=C2=A0 But I don=E2=80=99t see an option to =
pass to duplicity during the testing phase.=C2=A0 I can make a temporary li=
nk from gpg2 to gpg and since it is in my path that will work, but making s=
ure that the link is removed to prevent a conflict with the gpgtools suite =
is just another step and possible failure mode.=C2=A0 It would be nice to m=
ake it a site specific default somehow?</div><div><br></div><div><p style=
=3D"margin:0px;font-style:normal;font-variant-caps:normal;font-size:12px;li=
ne-height:normal;font-family:Menlo;font-size-adjust:none;font-kerning:auto;=
font-variant-alternates:normal;font-variant-ligatures:normal;font-variant-n=
umeric:normal;font-variant-east-asian:normal;font-feature-settings:normal">=
<span style=3D"font-variant-ligatures:no-common-ligatures">=C2=A0 =C2=A0 Te=
stScript: &lt;&lt;</span></p><p style=3D"margin:0px;font-style:normal;font-=
variant-caps:normal;font-size:12px;line-height:normal;font-family:Menlo;fon=
t-size-adjust:none;font-kerning:auto;font-variant-alternates:normal;font-va=
riant-ligatures:normal;font-variant-numeric:normal;font-variant-east-asian:=
normal;font-feature-settings:normal"><span style=3D"font-variant-ligatures:=
no-common-ligatures">=C2=A0 =C2=A0 =C2=A0 =C2=A0 #!/bin/sh -ev</span></p><p=
 style=3D"margin:0px;font-style:normal;font-variant-caps:normal;font-size:1=
2px;line-height:normal;font-family:Menlo;font-size-adjust:none;font-kerning=
:auto;font-variant-alternates:normal;font-variant-ligatures:normal;font-var=
iant-numeric:normal;font-variant-east-asian:normal;font-feature-settings:no=
rmal"><span style=3D"font-variant-ligatures:no-common-ligatures">=C2=A0 =C2=
=A0 =C2=A0 =C2=A0 ulimit -n 8192</span></p><p style=3D"margin:0px;font-styl=
e:normal;font-variant-caps:normal;font-size:12px;line-height:normal;font-fa=
mily:Menlo;font-size-adjust:none;font-kerning:auto;font-variant-alternates:=
normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-varia=
nt-east-asian:normal;font-feature-settings:normal"><span style=3D"font-vari=
ant-ligatures:no-common-ligatures">=C2=A0 =C2=A0 =C2=A0 =C2=A0 %p/bin/pytes=
t-3.10 -p no:xdist -p no:hypothesis -p no:randomly</span></p><p style=3D"ma=
rgin:0px;font-style:normal;font-variant-caps:normal;font-size:12px;line-hei=
ght:normal;font-family:Menlo;font-size-adjust:none;font-kerning:auto;font-v=
ariant-alternates:normal;font-variant-ligatures:normal;font-variant-numeric=
:normal;font-variant-east-asian:normal;font-feature-settings:normal"><span =
style=3D"font-variant-ligatures:no-common-ligatures">=C2=A0 =C2=A0 &lt;&lt;=
</span></p></div><div><span style=3D"font-variant-ligatures:no-common-ligat=
ures"><br></span></div><div><br></div><div>-Scott</div><div><br id=3D"m_-61=
77274009192845412lineBreakAtBeginningOfMessage"><div><br><blockquote type=
=3D"cite"><div>On Dec 31, 2025, at 14:12, Kenneth Loafman &lt;<a href=3D"ma=
ilto:[email protected]" target=3D"_blank">[email protected]</a>&gt; wro=
te:</div><br><div><div dir=3D"ltr">Scott,<div><br></div><div>Duplicity has =
the option <i style=3D"font-weight:bold">--gpg-binary file_path</i>=C2=A0wh=
ich=C2=A0allows the user to specify which gpg to use.=C2=A0 We don&#39;t re=
quire gpg1 or gpg2, we support both.</div><div><br></div><div>...Thanks,</d=
iv><div>...Ken</div><div><br></div></div><br><div class=3D"gmail_quote"><di=
v dir=3D"ltr" class=3D"gmail_attr">On Wed, Dec 31, 2025 at 12:09=E2=80=AFPM=
 Scott Hannahs &lt;<a href=3D"mailto:[email protected]" target=3D"_blank">sth@=
p-hall.net</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=
=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding=
-left:1ex"><div>=C2=A0Ken,<div><br></div><div>I seem to have run into an is=
sue here in my Fink install package.=C2=A0 When I install the newest gpg ve=
rsion, I install it with the =E2=80=9Cversion 2=E2=80=9D option so that all=
 the executables and libraries end with =E2=80=9C2=E2=80=9D such as =C2=A0g=
pg2 etc. =C2=A0 This is to avoid issues with those programs that still need=
 gpg version 1 compatibility (hopefully this is going away).=C2=A0 I think =
this causes duplicity to fail.</div><div><br></div><div>I don=E2=80=99t see=
 a build option to tell duplicity to look for the gpg2 files.=C2=A0 The Fin=
k structure is based on a philosophy to keep files created and maintained b=
y fink in a separate hierarchy,</div><div><br></div><div>So binary files ar=
e /opt/sw/bin/gpg* (such as gpg2, gpg-agent2, etc.)</div><div>Helper files =
are in /opt/sw/lib/lib/gnupg/ (such as gpg-pair-tool2 and scdaemon2)</div><=
div><br></div><div>Is there an easy way to redirect duplicity other than ed=
iting the setup.py to manually change the lines:</div><div><div style=3D"ma=
rgin:0px;font-style:normal;font-variant-caps:normal;font-size:12px;line-hei=
ght:normal;font-family:Menlo;font-size-adjust:none;font-kerning:auto;font-v=
ariant-alternates:normal;font-variant-ligatures:normal;font-variant-numeric=
:normal;font-variant-east-asian:normal;font-feature-settings:normal"><span =
style=3D"font-variant-ligatures:no-common-ligatures">=C2=A0 =C2=A0 incdir_l=
ist.append(&quot;/usr/</span><span style=3D"font-variant-ligatures:no-commo=
n-ligatures;background-color:rgb(255,255,255)">local/</span><span style=3D"=
font-variant-ligatures:no-common-ligatures">include&quot;)</span></div><div=
 style=3D"margin:0px;font-style:normal;font-variant-caps:normal;font-size:1=
2px;line-height:normal;font-family:Menlo;font-size-adjust:none;font-kerning=
:auto;font-variant-alternates:normal;font-variant-ligatures:normal;font-var=
iant-numeric:normal;font-variant-east-asian:normal;font-feature-settings:no=
rmal"><span style=3D"font-variant-ligatures:no-common-ligatures">=C2=A0 =C2=
=A0 libdir_list.append(&quot;/usr/</span><span style=3D"font-variant-ligatu=
res:no-common-ligatures;background-color:rgb(255,255,255)">local/</span><sp=
an style=3D"font-variant-ligatures:no-common-ligatures">lib&quot;)</span></=
div><div style=3D"margin:0px;font-style:normal;font-variant-caps:normal;fon=
t-size:12px;line-height:normal;font-family:Menlo;font-size-adjust:none;font=
-kerning:auto;font-variant-alternates:normal;font-variant-ligatures:normal;=
font-variant-numeric:normal;font-variant-east-asian:normal;font-feature-set=
tings:normal"><span style=3D"font-variant-ligatures:no-common-ligatures">=
=C2=A0 =C2=A0 incdir_list.append(&quot;/usr/include&quot;)</span></div><div=
 style=3D"margin:0px;font-style:normal;font-variant-caps:normal;font-size:1=
2px;line-height:normal;font-family:Menlo;font-size-adjust:none;font-kerning=
:auto;font-variant-alternates:normal;font-variant-ligatures:normal;font-var=
iant-numeric:normal;font-variant-east-asian:normal;font-feature-settings:no=
rmal"><span style=3D"font-variant-ligatures:no-common-ligatures">=C2=A0 =C2=
=A0 libdir_list.append(&quot;/usr/lib&quot;)</span></div></div><div><span s=
tyle=3D"font-variant-ligatures:no-common-ligatures">And even this list does=
n=E2=80=99t look like it tries to find the binaries it needs.</span></div><=
div><span style=3D"font-variant-ligatures:no-common-ligatures"><br></span><=
/div><div><span style=3D"font-variant-ligatures:no-common-ligatures">I am r=
unning the setup with the command</span></div><div><span style=3D"font-vari=
ant-ligatures:no-common-ligatures"><div style=3D"margin:0px;font-style:norm=
al;font-variant-caps:normal;font-size:12px;line-height:normal;font-family:M=
enlo;font-size-adjust:none;font-kerning:auto;font-variant-alternates:normal=
;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-eas=
t-asian:normal;font-feature-settings:normal"><span style=3D"font-variant-li=
gatures:no-common-ligatures"><span style=3D"white-space:pre-wrap">	</span>/=
opt/sw/bin/python3.10 </span><span style=3D"font-variant-ligatures:no-commo=
n-ligatures;background-color:rgb(255,255,255)">setup</span><span style=3D"f=
ont-variant-ligatures:no-common-ligatures"><font style=3D"background-color:=
rgb(255,255,255)">.py</font> build=C2=A0 --librsync-dir=3D/opt/sw</span></d=
iv></span></div><div>Which seems to find that library but not all the gpg u=
tilities.</div><div><br></div><div>-Scott</div><div><br id=3D"m_-6177274009=
192845412m_-1784879402816723264lineBreakAtBeginningOfMessage"><div><br><blo=
ckquote type=3D"cite"><div>On Dec 31, 2025, at 07:43, Kenneth Loafman via D=
uplicity-talk &lt;<a href=3D"mailto:[email protected]" target=3D"_b=
lank">[email protected]</a>&gt; wrote:</div><br><div><div dir=3D"lt=
r"><div>Hi,</div><div><br></div><div><div><p style=3D"color:rgb(58,56,63);f=
ont-family:&quot;Helvetica Neue&quot;,Helvetica,Arial,sans-serif;margin:0px=
 0px 1rem">A new Release, 3.0.7, for duplicity was published.</p><p style=
=3D"color:rgb(58,56,63);font-family:&quot;Helvetica Neue&quot;,Helvetica,Ar=
ial,sans-serif;margin:0px 0px 1rem">It fixes some major regressions in pass=
word handling, among other things.</p><div style=3D"color:rgb(58,56,63);fon=
t-family:&quot;Helvetica Neue&quot;,Helvetica,Arial,sans-serif;margin:0px 0=
px 1rem"><br></div><span style=3D"color:rgb(58,56,63);font-family:&quot;Hel=
vetica Neue&quot;,Helvetica,Arial,sans-serif">See=C2=A0</span><a href=3D"ht=
tps://gitlab.com/duplicity/duplicity/-/blob/main/CHANGELOG.md" style=3D"fon=
t-family:&quot;Helvetica Neue&quot;,Helvetica,Arial,sans-serif;margin-top:0=
px" target=3D"_blank">CHANGELOG</a><span style=3D"color:rgb(58,56,63);font-=
family:&quot;Helvetica Neue&quot;,Helvetica,Arial,sans-serif">=C2=A0for det=
ails.</span></div><div><span style=3D"color:rgb(58,56,63);font-family:&quot=
;Helvetica Neue&quot;,Helvetica,Arial,sans-serif"><br></span></div><div><sp=
an style=3D"color:rgb(58,56,63);font-family:&quot;Helvetica Neue&quot;,Helv=
etica,Arial,sans-serif">...Thanks,</span></div><div><span style=3D"color:rg=
b(58,56,63);font-family:&quot;Helvetica Neue&quot;,Helvetica,Arial,sans-ser=
if">...Ken</span></div></div><br><div>rel.3.0.7 / 2025-12-31<br>=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<br><br>=C2=A0* ad=
175c22:fix: replace custom deltree with built-in shutil.rmtree.<br>=C2=A0* =
101be7fd:fix: delete duplicate code in DirDelta.<br>=C2=A0* c0d3e72d:fix: w=
ebdavs with &quot;--concurrency 1&quot; failed because of missing auth head=
er<br>=C2=A0* a08f8bef:fix: disable s3 checksum workaround, warn only...<br=
>=C2=A0* f7055a7a:fix: --log-timestamp no longer working.<br>=C2=A0* ac163d=
5e:fix: Combined fix to related issues 912 and 914<br></div></div>
_______________________________________________<br>Duplicity-talk mailing l=
ist<br><a href=3D"mailto:[email protected]" target=3D"_blank">Dupli=
[email protected]</a><br><a href=3D"https://lists.nongnu.org/mailman/lis=
tinfo/duplicity-talk" target=3D"_blank">https://lists.nongnu.org/mailman/li=
stinfo/duplicity-talk</a><br></div></blockquote></div><br></div></div></blo=
ckquote></div>
</div></blockquote></div><br></div></div></blockquote></div>

--00000000000064620f064744e3ad--


--===============8218928850646101605==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KRHVwbGljaXR5
LXRhbGsgbWFpbGluZyBsaXN0CkR1cGxpY2l0eS10YWxrQG5vbmdudS5vcmcKaHR0cHM6Ly9saXN0
cy5ub25nbnUub3JnL21haWxtYW4vbGlzdGluZm8vZHVwbGljaXR5LXRhbGsK

--===============8218928850646101605==--