FS#65036 - [python2-boto] Apply upstream PR#3843 to fix SNI with Google

Attached to Project: Community Packages
Opened by Troy Engel (TE) - Saturday, 04 January 2020, 00:16 GMT
Last edited by Felix Yan (felixonmars) - Monday, 09 March 2020, 10:39 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Lukas Fleischer (lfleischer)
Felix Yan (felixonmars)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

Hi packagers,

I use the duply + duplicity software, which is still using this old python2-boto; there is an outstanding bugfix to the last tagged version upstream which only exists on the `devel` branch - it appears after looking at their activity upstream has not actually released a year's worth of bugfixes to the master branch and popped a release. The one we need is this one:

https://github.com/boto/boto/pull/3843
https://patch-diff.githubusercontent.com/raw/boto/boto/pull/3843.diff

I apparently patched this manually a long time ago and forgot about it, the recent python3 rebuild of this package (2.49.0-1 -> 2.49.0-3) undid my local patch but I didn't catch it so I started getting the errors again in my logs and went back down this rabbit hole to re-fix it, as I use Google Cloud Storage as a backend datastore.

Re-applying this PR diff directly (no edits) re-fixed my problem and my backups are working again. (I really should look at my logs more it was telling me it was broken for over a month. :() So, I'd like to see if we can get this added to our Arch package since upstream has basically walked away from the project and moved on to their boto3 newer version (no commits since March 2019, even to devel).

Thanks,
-te


Additional Information:

Here's the collected software stack which is emitted to the logs by duplicity:

Using installed duplicity version 0.7.19, python 2.7.17 (/usr/bin/python2), gpg 2.2.19 (Home: /home/tengel/.gnupg), awk 'GNU Awk 5.0.1, API: 2.0 (GNU MPFR 4.0.2, GNU MP 6.1.2)', grep 'grep (GNU grep) 3.3', bash '5.0.11(1)-release (x86_64-pc-linux-gnu)'.


The python SSL-to-Google crashes without the patch applied:

--- Start running command BKP at 17:46:49.590 ---
Traceback (innermost last):
File "/usr/bin/duplicity", line 1581, in <module>
with_tempdir(main)
File "/usr/bin/duplicity", line 1567, in with_tempdir
fn()
File "/usr/bin/duplicity", line 1406, in main
action = commandline.ProcessCommandLine(sys.argv[1:])
File "/usr/lib/python2.7/site-packages/duplicity/commandline.py", line 1140, in ProcessCommandLine
backup, local_pathname = set_backend(args[0], args[1])
File "/usr/lib/python2.7/site-packages/duplicity/commandline.py", line 1015, in set_backend
globals.backend = backend.get_backend(bend)
File "/usr/lib/python2.7/site-packages/duplicity/backend.py", line 223, in get_backend
obj = get_backend_object(url_string)
File "/usr/lib/python2.7/site-packages/duplicity/backend.py", line 209, in get_backend_object
return factory(pu)
File "/usr/lib/python2.7/site-packages/duplicity/backends/_boto_single.py", line 166, in __init__
self.resetConnection()
File "/usr/lib/python2.7/site-packages/duplicity/backends/_boto_single.py", line 191, in resetConnection
location=self.my_location)
File "/usr/lib/python2.7/site-packages/boto/gs/connection.py", line 95, in create_bucket
data=get_utf8_value(data))
File "/usr/lib/python2.7/site-packages/boto/s3/connection.py", line 671, in make_request
retry_handler=retry_handler
File "/usr/lib/python2.7/site-packages/boto/connection.py", line 1071, in make_request
retry_handler=retry_handler)
File "/usr/lib/python2.7/site-packages/boto/connection.py", line 1030, in _mexe
raise ex
SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:727)

This task depends upon

Closed by  Felix Yan (felixonmars)
Monday, 09 March 2020, 10:39 GMT
Reason for closing:  Upstream
Comment by Troy Engel (TE) - Friday, 17 January 2020, 14:17 GMT
Hi, this might be a "won't fix" now, 2 days ago the Duplicity packager started working on the python2 culling, so the new/fresh Duplicity releases are using python-boto (awesome). As the bug reporter, the only reason I was using python2-boto was for duplicity so this is hopefully solved now.

https://git.archlinux.org/svntogit/community.git/commit/trunk?h=packages/duplicity&id=62737b2aae650fad436c9c31872946da804ea9ad

-te
Comment by loqs (loqs) - Friday, 17 January 2020, 15:42 GMT
After  FS#64935  python2-boto can be dropped.
Comment by Troy Engel (TE) - Wednesday, 22 January 2020, 16:27 GMT
Cross-linking - python-boto is more broken than python2-boto, I just filed a new bug which is sadly the result of pushing duplicty to use python-boto. https://bugs.archlinux.org/task/65239
Comment by Felix Yan (felixonmars) - Sunday, 08 March 2020, 10:39 GMT
Sorry for the long delay. I just bumped python-boto for  FS#65239 . Anything still needs to be done here?
Comment by Troy Engel (TE) - Sunday, 08 March 2020, 14:21 GMT
Hi Felix - my use case no longer exists, the duplicity package was updated to use `python-boto` -- users of this py2 package will still need to have the upstream patch here applied if they use Google Cloud Storage to even work at all. According to the webUI, the only app left is `mc` and per  FS#64935  it's a candidate to drop as well. Kinda on the Arch Packaging team I think at this point...
Comment by Felix Yan (felixonmars) - Monday, 09 March 2020, 10:38 GMT
I see, thanks for the info.

Loading...